diff --git a/.github/update.log b/.github/update.log index 754c513f09..f070a8f6ee 100644 --- a/.github/update.log +++ b/.github/update.log @@ -1083,3 +1083,4 @@ Update On Mon Aug 4 20:43:42 CEST 2025 Update On Tue Aug 5 20:45:16 CEST 2025 Update On Wed Aug 6 20:42:29 CEST 2025 Update On Thu Aug 7 20:45:01 CEST 2025 +Update On Fri Aug 8 20:38:56 CEST 2025 diff --git a/clash-nyanpasu/frontend/nyanpasu/package.json b/clash-nyanpasu/frontend/nyanpasu/package.json index 8e7118e2da..b16774bfd0 100644 --- a/clash-nyanpasu/frontend/nyanpasu/package.json +++ b/clash-nyanpasu/frontend/nyanpasu/package.json @@ -19,7 +19,7 @@ "@mui/icons-material": "7.3.1", "@mui/lab": "7.0.0-beta.16", "@mui/material": "7.3.1", - "@mui/x-date-pickers": "8.9.2", + "@mui/x-date-pickers": "8.10.0", "@nyanpasu/interface": "workspace:^", "@nyanpasu/ui": "workspace:^", "@tailwindcss/postcss": "4.1.11", @@ -61,7 +61,7 @@ "@tanstack/react-query": "5.84.1", "@tanstack/react-router": "1.130.12", "@tanstack/react-router-devtools": "1.130.13", - "@tanstack/router-plugin": "1.130.15", + "@tanstack/router-plugin": "1.130.16", "@tauri-apps/plugin-clipboard-manager": "2.3.0", "@tauri-apps/plugin-dialog": "2.3.0", "@tauri-apps/plugin-fs": "2.4.0", @@ -88,7 +88,7 @@ "unplugin-auto-import": "19.3.0", "unplugin-icons": "22.2.0", "validator": "13.15.15", - "vite": "7.1.0", + "vite": "7.1.1", "vite-plugin-html": "3.2.2", "vite-plugin-sass-dts": "1.3.31", "vite-plugin-svgr": "4.3.0", diff --git a/clash-nyanpasu/frontend/ui/package.json b/clash-nyanpasu/frontend/ui/package.json index 824a2fa89c..5bffd06648 100644 --- a/clash-nyanpasu/frontend/ui/package.json +++ b/clash-nyanpasu/frontend/ui/package.json @@ -30,7 +30,7 @@ "react-i18next": "15.6.1", "react-use": "17.6.0", "tailwindcss": "4.1.11", - "vite": "7.1.0", + "vite": "7.1.1", "vite-tsconfig-paths": "5.1.4" }, "devDependencies": { diff --git a/clash-nyanpasu/pnpm-lock.yaml b/clash-nyanpasu/pnpm-lock.yaml index 9d2fd5c6be..d38d88e83f 100644 --- a/clash-nyanpasu/pnpm-lock.yaml +++ b/clash-nyanpasu/pnpm-lock.yaml @@ -237,8 +237,8 @@ importers: specifier: 7.3.1 version: 7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@mui/x-date-pickers': - specifier: 8.9.2 - version: 8.9.2(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + specifier: 8.10.0 + version: 8.10.0(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@nyanpasu/interface': specifier: workspace:^ version: link:../interface @@ -286,7 +286,7 @@ importers: version: 0.4.0 material-react-table: specifier: npm:@greenhat616/material-react-table@4.0.0 - version: '@greenhat616/material-react-table@4.0.0(850745684d75ba4c905693cf1e445d5b)' + version: '@greenhat616/material-react-table@4.0.0(ee367b75520587f2d436c002311f838b)' monaco-editor: specifier: 0.52.2 version: 0.52.2 @@ -307,7 +307,7 @@ importers: version: 1.6.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react-hook-form-mui: specifier: 7.6.2 - version: 7.6.2(f2b1776a4c300bef974351de257acbbf) + version: 7.6.2(dc790e3d871a3fe7e1d22dc6e321e397) react-i18next: specifier: 15.6.1 version: 15.6.1(i18next@25.3.2(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) @@ -358,8 +358,8 @@ importers: specifier: 1.130.13 version: 1.130.13(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.130.12)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.5)(tiny-invariant@1.3.3) '@tanstack/router-plugin': - specifier: 1.130.15 - version: 1.130.15(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + specifier: 1.130.16 + version: 1.130.16(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@tauri-apps/plugin-clipboard-manager': specifier: 2.3.0 version: 2.3.0 @@ -395,13 +395,13 @@ importers: version: 13.15.2 '@vitejs/plugin-legacy': specifier: 7.2.1 - version: 7.2.1(terser@5.36.0)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 7.2.1(terser@5.36.0)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitejs/plugin-react': specifier: 4.7.0 - version: 4.7.0(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.7.0(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitejs/plugin-react-swc': specifier: 3.11.0 - version: 3.11.0(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.11.0(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) change-case: specifier: 5.4.4 version: 5.4.4 @@ -439,20 +439,20 @@ importers: specifier: 13.15.15 version: 13.15.15 vite: - specifier: 7.1.0 - version: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-html: specifier: 3.2.2 - version: 3.2.2(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.2.2(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) vite-plugin-sass-dts: specifier: 1.3.31 - version: 1.3.31(postcss@8.5.6)(prettier@3.6.2)(sass-embedded@1.90.0)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 1.3.31(postcss@8.5.6)(prettier@3.6.2)(sass-embedded@1.90.0)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) vite-plugin-svgr: specifier: 4.3.0 - version: 4.3.0(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.3.0(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) vite-tsconfig-paths: specifier: 5.1.4 - version: 5.1.4(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 5.1.4(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) zod: specifier: 4.0.15 version: 4.0.15 @@ -488,7 +488,7 @@ importers: version: 19.1.9 '@vitejs/plugin-react': specifier: 4.7.0 - version: 4.7.0(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.7.0(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) ahooks: specifier: 3.9.0 version: 3.9.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -517,11 +517,11 @@ importers: specifier: 4.1.11 version: 4.1.11 vite: - specifier: 7.1.0 - version: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vite-tsconfig-paths: specifier: 5.1.4 - version: 5.1.4(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 5.1.4(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) devDependencies: '@emotion/react': specifier: 11.14.0 @@ -546,7 +546,7 @@ importers: version: 5.2.0(typescript@5.9.2) vite-plugin-dts: specifier: 4.5.4 - version: 4.5.4(@types/node@22.17.0)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.5.4(@types/node@22.17.0)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) scripts: dependencies: @@ -1912,14 +1912,6 @@ packages: '@types/react': optional: true - '@mui/types@7.4.4': - resolution: {integrity: sha512-p63yhbX52MO/ajXC7hDHJA5yjzJekvWD3q4YDLl1rSg+OXLczMYPvTuSuviPRCgRX8+E42RXz1D/dz9SxPSlWg==} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@mui/types@7.4.5': resolution: {integrity: sha512-ZPwlAOE3e8C0piCKbaabwrqZbW4QvWz0uapVPWya7fYj6PeDkl5sSJmomT7wjOcZGPB48G/a6Ubidqreptxz4g==} peerDependencies: @@ -1928,16 +1920,6 @@ packages: '@types/react': optional: true - '@mui/utils@7.2.0': - resolution: {integrity: sha512-O0i1GQL6MDzhKdy9iAu5Yr0Sz1wZjROH1o3aoztuivdCXqEeQYnEjTDiRLGuFxI9zrUbTHBwobMyQH5sNtyacw==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@mui/utils@7.3.1': resolution: {integrity: sha512-/31y4wZqVWa0jzMnzo6JPjxwP6xXy4P3+iLbosFg/mJQowL1KIou0LC+lquWW60FKVbKz5ZUWBg2H3jausa0pw==} engines: {node: '>=14.0.0'} @@ -1948,8 +1930,8 @@ packages: '@types/react': optional: true - '@mui/x-date-pickers@8.9.2': - resolution: {integrity: sha512-xIXedP21GRL3XpuZlbz6FWqRPR7DakFN5ZQo1gHzL81BFMIuFHCF9S8DQPIW65Qc4Ms/DDXpXrkjas6ESIGHvg==} + '@mui/x-date-pickers@8.10.0': + resolution: {integrity: sha512-3nY+SS2/JtqcptQodECIyWKsTvPBDAcXKkyW65R4rQUCrnV6tuzriSrzy/FEYqTK0hyXYPIGJhQ6A0FbtQ9AkQ==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -1985,11 +1967,10 @@ packages: moment-jalaali: optional: true - '@mui/x-internals@8.9.2': - resolution: {integrity: sha512-qQl0sacWirbvQUdJOrUecsBQkI+vxI3/E1K/Wst6n/rb8ajelsGLMFLQ1PBig73xBT2vADmdcf3XerfH7TKPqQ==} + '@mui/x-internals@8.10.0': + resolution: {integrity: sha512-stYhWBeCKfV2/ltAWShZ3ZJ51otbqpMpC+krWWoIsxM8TuvGzwXw5YMU9L2fTb8hRstsiOCQfEzIn12Ii7+N0Q==} engines: {node: '>=14.0.0'} peerDependencies: - '@mui/system': ^5.15.14 || ^6.0.0 || ^7.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 '@napi-rs/wasm-runtime@0.2.11': @@ -3008,12 +2989,12 @@ packages: csstype: optional: true - '@tanstack/router-generator@1.130.15': - resolution: {integrity: sha512-2TICfuSN8oYydTHd+nATkKV4B37XRrAWrwK9+g5dPVUP9lhLy7FQy3IVcb1HRXFXvW0zr5zPNxXErTrOmrceyA==} + '@tanstack/router-generator@1.130.16': + resolution: {integrity: sha512-m2meMPHEu0YRowCfhFkQGmZ2fMlCkp4Bda0nxuvWiyo13oClOMssjReGZiSsRWHoQaYdCJm3RjUhzG8bNZhV8A==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.130.15': - resolution: {integrity: sha512-ovYGN0a5CxIPkVdbJPLAqwlE0eUYhHm0PkPCH0TxR24XpEGaCxAOw92DriLRZj9R4xTg5oeJqM+3wiZJfujx/A==} + '@tanstack/router-plugin@1.130.16': + resolution: {integrity: sha512-Kpw+WmyAUQWdrM1hmweQOoUG8h6r2PI8qZRb+AOq9zARvH1z2xoKS67sdT6DYOMQLeZvZhWW8hfMX72+3G+LtA==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -7123,9 +7104,6 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@19.1.0: - resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==} - react-is@19.1.1: resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==} @@ -8376,8 +8354,8 @@ packages: vite: optional: true - vite@7.1.0: - resolution: {integrity: sha512-3jdAy3NhBJYsa/lCFcnRfbK4kNkO/bhijFCnv5ByUQk/eekYagoV2yQSISUrhpV+5JiY5hmwOh7jNnQ68dFMuQ==} + vite@7.1.1: + resolution: {integrity: sha512-yJ+Mp7OyV+4S+afWo+QyoL9jFWD11QFH0i5i7JypnfTcA1rmgxCbiA8WwAICDEtZ1Z1hzrVhN8R8rGTqkTY8ZQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -9938,13 +9916,13 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@greenhat616/material-react-table@4.0.0(850745684d75ba4c905693cf1e445d5b)': + '@greenhat616/material-react-table@4.0.0(ee367b75520587f2d436c002311f838b)': dependencies: '@emotion/react': 11.14.0(@types/react@19.1.9)(react@19.1.1) '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) '@mui/icons-material': 7.3.1(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) '@mui/material': 7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@mui/x-date-pickers': 8.9.2(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@mui/x-date-pickers': 8.10.0(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.21.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/react-virtual': 3.13.9(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -10169,30 +10147,12 @@ snapshots: '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) '@types/react': 19.1.9 - '@mui/types@7.4.4(@types/react@19.1.9)': - dependencies: - '@babel/runtime': 7.28.2 - optionalDependencies: - '@types/react': 19.1.9 - '@mui/types@7.4.5(@types/react@19.1.9)': dependencies: '@babel/runtime': 7.28.2 optionalDependencies: '@types/react': 19.1.9 - '@mui/utils@7.2.0(@types/react@19.1.9)(react@19.1.1)': - dependencies: - '@babel/runtime': 7.28.2 - '@mui/types': 7.4.4(@types/react@19.1.9) - '@types/prop-types': 15.7.15 - clsx: 2.1.1 - prop-types: 15.8.1 - react: 19.1.1 - react-is: 19.1.0 - optionalDependencies: - '@types/react': 19.1.9 - '@mui/utils@7.3.1(@types/react@19.1.9)(react@19.1.1)': dependencies: '@babel/runtime': 7.28.2 @@ -10205,13 +10165,13 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 - '@mui/x-date-pickers@8.9.2(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@mui/x-date-pickers@8.10.0(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@babel/runtime': 7.28.2 '@mui/material': 7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@mui/system': 7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) - '@mui/utils': 7.2.0(@types/react@19.1.9)(react@19.1.1) - '@mui/x-internals': 8.9.2(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) + '@mui/utils': 7.3.1(@types/react@19.1.9)(react@19.1.1) + '@mui/x-internals': 8.10.0(@types/react@19.1.9)(react@19.1.1) '@types/react-transition-group': 4.4.12(@types/react@19.1.9) clsx: 2.1.1 prop-types: 15.8.1 @@ -10225,11 +10185,10 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@mui/x-internals@8.9.2(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1)': + '@mui/x-internals@8.10.0(@types/react@19.1.9)(react@19.1.1)': dependencies: '@babel/runtime': 7.28.2 - '@mui/system': 7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) - '@mui/utils': 7.2.0(@types/react@19.1.9)(react@19.1.1) + '@mui/utils': 7.3.1(@types/react@19.1.9)(react@19.1.1) react: 19.1.1 reselect: 5.1.1 use-sync-external-store: 1.5.0(react@19.1.1) @@ -10726,7 +10685,7 @@ snapshots: dependencies: '@types/estree': 1.0.7 estree-walker: 2.0.2 - picomatch: 4.0.2 + picomatch: 4.0.3 optionalDependencies: rollup: 4.46.2 @@ -11148,7 +11107,7 @@ snapshots: optionalDependencies: csstype: 3.1.3 - '@tanstack/router-generator@1.130.15': + '@tanstack/router-generator@1.130.16': dependencies: '@tanstack/router-core': 1.130.12 '@tanstack/router-utils': 1.130.12 @@ -11161,7 +11120,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.130.15(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': + '@tanstack/router-plugin@1.130.16(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) @@ -11170,7 +11129,7 @@ snapshots: '@babel/traverse': 7.28.0 '@babel/types': 7.28.1 '@tanstack/router-core': 1.130.12 - '@tanstack/router-generator': 1.130.15 + '@tanstack/router-generator': 1.130.16 '@tanstack/router-utils': 1.130.12 '@tanstack/virtual-file-routes': 1.129.7 babel-dead-code-elimination: 1.0.10 @@ -11179,7 +11138,7 @@ snapshots: zod: 3.25.76 optionalDependencies: '@tanstack/react-router': 1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -11477,7 +11436,7 @@ snapshots: '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/estree@1.0.7': {} @@ -11787,7 +11746,7 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.10.1': optional: true - '@vitejs/plugin-legacy@7.2.1(terser@5.36.0)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': + '@vitejs/plugin-legacy@7.2.1(terser@5.36.0)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) @@ -11802,19 +11761,19 @@ snapshots: regenerator-runtime: 0.14.1 systemjs: 6.15.1 terser: 5.36.0 - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react-swc@3.11.0(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': + '@vitejs/plugin-react-swc@3.11.0(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.27 '@swc/core': 1.13.0 - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.7.0(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': + '@vitejs/plugin-react@4.7.0(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) @@ -11822,7 +11781,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -15750,14 +15709,14 @@ snapshots: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - react-hook-form-mui@7.6.2(f2b1776a4c300bef974351de257acbbf): + react-hook-form-mui@7.6.2(dc790e3d871a3fe7e1d22dc6e321e397): dependencies: '@mui/material': 7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: 19.1.1 react-hook-form: 7.52.1(react@19.1.1) optionalDependencies: '@mui/icons-material': 7.3.1(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.9)(react@19.1.1) - '@mui/x-date-pickers': 8.9.2(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@mui/x-date-pickers': 8.10.0(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@mui/material@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mui/system@7.3.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(react@19.1.1))(@types/react@19.1.9)(dayjs@1.11.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react-hook-form@7.52.1(react@19.1.1): dependencies: @@ -15775,8 +15734,6 @@ snapshots: react-is@16.13.1: {} - react-is@19.1.0: {} - react-is@19.1.1: {} react-markdown@10.1.0(@types/react@19.1.9)(react@19.1.1): @@ -17197,7 +17154,7 @@ snapshots: - rollup - supports-color - vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@microsoft/api-extractor': 7.51.0(@types/node@22.17.0) '@rollup/pluginutils': 5.1.4(rollup@4.46.2) @@ -17210,13 +17167,13 @@ snapshots: magic-string: 0.30.17 typescript: 5.9.2 optionalDependencies: - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-html@3.2.2(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-html@3.2.2(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@rollup/pluginutils': 4.2.1 colorette: 2.0.20 @@ -17230,39 +17187,39 @@ snapshots: html-minifier-terser: 6.1.0 node-html-parser: 5.4.2 pathe: 0.2.0 - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-sass-dts@1.3.31(postcss@8.5.6)(prettier@3.6.2)(sass-embedded@1.90.0)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-sass-dts@1.3.31(postcss@8.5.6)(prettier@3.6.2)(sass-embedded@1.90.0)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: postcss: 8.5.6 postcss-js: 4.0.1(postcss@8.5.6) prettier: 3.6.2 sass-embedded: 1.90.0 - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgr@4.3.0(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgr@4.3.0(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@rollup/pluginutils': 5.1.3(rollup@4.46.2) '@svgr/core': 8.1.0(typescript@5.9.2) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.9.2)) - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - rollup - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): + vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 tsconfck: 3.0.3(typescript@5.9.2) optionalDependencies: - vite: 7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - typescript - vite@7.1.0(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0): + vite@7.1.1(@types/node@22.17.0)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.90.0)(sass@1.90.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.0 fdir: 6.4.6(picomatch@4.0.3) diff --git a/lede/target/linux/ramips/image/mt7621.mk b/lede/target/linux/ramips/image/mt7621.mk index f4771c7542..dc98fbb843 100644 --- a/lede/target/linux/ramips/image/mt7621.mk +++ b/lede/target/linux/ramips/image/mt7621.mk @@ -1464,7 +1464,7 @@ define Device/phicomm_k2p DEVICE_MODEL := K2P SUPPORTED_DEVICES += k2p DEVICE_COMPAT_VERSION := 1.1 - DEVICE_PACKAGES := kmod-mt7615-firmware -uboot-envtools + DEVICE_PACKAGES := -wpad-openssl -uboot-envtools kmod-mt7615d_dbdc wireless-tools luci-newapi endef TARGET_DEVICES += phicomm_k2p diff --git a/mieru/pkg/cli/server.go b/mieru/pkg/cli/server.go index 6c78a53384..764d6b153a 100644 --- a/mieru/pkg/cli/server.go +++ b/mieru/pkg/cli/server.go @@ -804,15 +804,17 @@ var serverGetUsersFunc = func(_ []string) error { header := []string{ "User", "LastActive", - "1DayDownload", - "1DayUpload", - "30DaysDownload", - "30DaysUpload", + "1DayDown", + "1DayUp", + "7DaysDown", + "7DaysUp", + "30DaysDown", + "30DaysUp", } table := make([][]string, 0) table = append(table, header) for _, userWithMetrics := range userWithMetricsList.GetItems() { - row := make([]string, 6) + row := make([]string, 8) row[0] = userWithMetrics.GetUser().GetName() // Collect download and upload metrics of this user. @@ -835,21 +837,26 @@ var serverGetUsersFunc = func(_ []string) error { } var lastDownloadTime, lastUploadTime time.Time + now := time.Now() if down != nil { lastDownloadTime = down.LastUpdateTime() - row[2] = common.ByteCountIEC(down.DeltaBetween(time.Now().Add(-24*time.Hour), time.Now())) - row[4] = common.ByteCountIEC(down.DeltaBetween(time.Now().Add(-720*time.Hour), time.Now())) + row[2] = common.ByteCountIEC(down.DeltaBetween(now.Add(-24*time.Hour), now)) + row[4] = common.ByteCountIEC(down.DeltaBetween(now.Add(-168*time.Hour), now)) + row[6] = common.ByteCountIEC(down.DeltaBetween(now.Add(-720*time.Hour), now)) } else { row[2] = "-" row[4] = "-" + row[6] = "-" } if up != nil { lastUploadTime = up.LastUpdateTime() - row[3] = common.ByteCountIEC(up.DeltaBetween(time.Now().Add(-24*time.Hour), time.Now())) - row[5] = common.ByteCountIEC(up.DeltaBetween(time.Now().Add(-720*time.Hour), time.Now())) + row[3] = common.ByteCountIEC(up.DeltaBetween(now.Add(-24*time.Hour), now)) + row[5] = common.ByteCountIEC(up.DeltaBetween(now.Add(-168*time.Hour), now)) + row[7] = common.ByteCountIEC(up.DeltaBetween(now.Add(-720*time.Hour), now)) } else { row[3] = "-" row[5] = "-" + row[7] = "-" } if lastDownloadTime.IsZero() && lastUploadTime.IsZero() { row[1] = "-" diff --git a/naiveproxy/.github/workflows/build.yml b/naiveproxy/.github/workflows/build.yml index 305a0f8347..9b816615de 100644 --- a/naiveproxy/.github/workflows/build.yml +++ b/naiveproxy/.github/workflows/build.yml @@ -79,7 +79,7 @@ jobs: unzip ninja-win.zip -d ~/bin fi cache-toolchains-mac: - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - uses: actions/cache@v4 @@ -327,7 +327,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} mac: needs: cache-toolchains-mac - runs-on: macos-14 + runs-on: macos-15 strategy: fail-fast: false matrix: diff --git a/naiveproxy/src/base/trace_event/malloc_dump_provider.cc b/naiveproxy/src/base/trace_event/malloc_dump_provider.cc index 9be1a1a05b..e59558b500 100644 --- a/naiveproxy/src/base/trace_event/malloc_dump_provider.cc +++ b/naiveproxy/src/base/trace_event/malloc_dump_provider.cc @@ -180,7 +180,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ (!PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ - !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) + !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !defined(__MUSL__)) void ReportMallinfoStats(ProcessMemoryDump* pmd, size_t* total_virtual_size, size_t* resident_size, diff --git a/openwrt-packages/luci-app-quickstart/Makefile b/openwrt-packages/luci-app-quickstart/Makefile index d3344cda76..92d1a8b6f5 100644 --- a/openwrt-packages/luci-app-quickstart/Makefile +++ b/openwrt-packages/luci-app-quickstart/Makefile @@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for quickstart LUCI_DEPENDS:=+quickstart +luci-app-store LUCI_PKGARCH:=all -PKG_VERSION:=0.11.1-r1 +PKG_VERSION:=0.11.2-r1 # PKG_RELEASE MUST be empty for luci.mk PKG_RELEASE:= diff --git a/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/index.js b/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/index.js index cabcd1e1e5..c1ea2429ec 100644 --- a/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/index.js +++ b/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/index.js @@ -1,3 +1,3 @@ -var Wa=Object.defineProperty,Ha=Object.defineProperties;var Za=Object.getOwnPropertyDescriptors;var ia=Object.getOwnPropertySymbols;var Ja=Object.prototype.hasOwnProperty,Ka=Object.prototype.propertyIsEnumerable;var Ve=(n,i,a)=>i in n?Wa(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,ut=(n,i)=>{for(var a in i||(i={}))Ja.call(i,a)&&Ve(n,a,i[a]);if(ia)for(var a of ia(i))Ka.call(i,a)&&Ve(n,a,i[a]);return n},mt=(n,i)=>Ha(n,Za(i));var Qa=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var le=(n,i,a)=>(Ve(n,typeof i!="symbol"?i+"":i,a),a);var L=(n,i,a)=>new Promise((d,u)=>{var r=h=>{try{_(a.next(h))}catch(p){u(p)}},c=h=>{try{_(a.throw(h))}catch(p){u(p)}},_=h=>h.done?d(h.value):Promise.resolve(h.value).then(r,c);_((a=a.apply(n,i)).next())});import{a as Xa,c as to,d as me,b as G,e as X,u as e,o as s,f as l,g as t,t as o,n as Bt,h as C,i as z,r as ft,j as ct,k as Pt,w as T,v as Rt,l as eo,m as H,p as R,q as $,s as Tt,x as At,y as rt,F as O,z as J,A as tt,B as qt,C as st,D as dt,E as pa,G as Ot,H as fa,I as ma,J as va,K as ba,L as ga,M as ha,N as _a,O as pt,T as $t,P as gt,Q as Ue,R as bt,S as Yt,U as it,V as yt,W as ve,X as ao,Y as oo,Z as qe,_ as xa,$ as Re,a0 as be,a1 as wa,a2 as Ae,a3 as no,a4 as io,a5 as Se,a6 as ro,a7 as so,a8 as lo,a9 as uo}from"./vendor.js?v=114f102b";var Dz=Qa(Qt=>{const co=function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))d(u);new MutationObserver(u=>{for(const r of u)if(r.type==="childList")for(const c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&d(c)}).observe(document,{childList:!0,subtree:!0});function a(u){const r={};return u.integrity&&(r.integrity=u.integrity),u.referrerpolicy&&(r.referrerPolicy=u.referrerpolicy),u.crossorigin==="use-credentials"?r.credentials="include":u.crossorigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function d(u){if(u.ep)return;u.ep=!0;const r=a(u);fetch(u.href,r)}};co();const Vt={language:void 0,numberFormat:new Intl.NumberFormat("en",{notation:"compact"})},po=n=>L(Qt,null,function*(){const i=window.vue_lang;new Date().getTime();let a={};try{const r=yield Xa({url:window.vue_lang_data,method:"GET"});r.data&&(a=r.data)}catch(r){console.log(r)}const d=to({defaultLanguage:i,mutedLanguages:["zh-cn"],translations:a,setGlobalProperties:!1,provideDirective:!1,provideComponent:!1});n.use(d),Vt.language=d;const{$gettext:u}=d;window.$i18n=u;try{Vt.numberFormat=new Intl.NumberFormat(i,{notation:"compact"})}catch(r){console.error("Intl.NumberFormat unsupported lang",i,r)}}),W=()=>{if(Vt.language)return Vt.language;throw new Error("I18N Uninitialized!")},ze=()=>({$gettext:(n,i,a)=>{if(Vt.language)return Vt.language.$gettext(n,i,a);throw new Error("I18N Uninitialized!")},$ngettext:(n,i,a,d,u)=>{if(Vt.language)return Vt.language.$ngettext(n,i,a,d,u);throw new Error("I18N Uninitialized!")}}),$e=n=>typeof n=="number"?Vt.numberFormat.format(n):"?",{$gettext:fo,$ngettext:Az}=ze(),ka=(n,i)=>L(Qt,null,function*(){return new Promise((a,d)=>L(Qt,null,function*(){try{const u=yield fetch(n,i);if(Math.floor(u.status/100)!=2)throw u.status+" "+u.statusText;const r=ut({},u);r.data=yield u.json(),a(r)}catch(u){const r=u;d(fo("\u7F51\u7EDC\u5F02\u5E38\uFF1A")+((r==null?void 0:r.message)||u))}}))});class We{constructor(i){le(this,"config",{baseURL:"",headers:{}});le(this,"useRequest",i=>i);le(this,"useResponse",i=>i);le(this,"useError",i=>i);i.baseURL&&(this.config.baseURL=i.baseURL),i.headers&&(this.config.headers=i.headers)}static create(i){return new We(i)}Do(i,a){return L(this,null,function*(){return new Promise((d,u)=>L(this,null,function*(){try{const r=this.useRequest({baseURL:this.config.baseURL,headers:this.config.headers});i=`${r.baseURL||""}${i}`,a.headers==null&&(a.headers={}),r.headers&&(a.headers=ut({},r.headers));const _=yield fetch(i,a),h=ut({},_);h.data=yield _.json(),d(this.useResponse(h))}catch(r){this.useError(r),u(r)}}))})}TEXT(i,a){return L(this,null,function*(){return new Promise((d,u)=>L(this,null,function*(){try{const r=this.useRequest({baseURL:this.config.baseURL,headers:this.config.headers});i=`${r.baseURL||""}${i}`,a.headers==null&&(a.headers={}),r.headers&&(a.headers=ut({},r.headers));const _=yield fetch(i,a),h=ut({},_);h.data=yield _.text(),d(h)}catch(r){this.useError(r),u(r)}}))})}interceptors(){const i=this;return{requset:{use(a){i.useRequest=a}},response:{use(a,d){i.useResponse=a,d&&(i.useError=d)}}}}}const ya=We.create({});ya.interceptors().requset.use(n=>n);ya.interceptors().response.use(n=>(n.data&&n.data.success==null&&n.data.success==0,n));const{$gettext:Fa,$ngettext:Sz}=ze(),mo="/cgi-bin/luci/istore",vo="/cgi-bin/luci/admin";let Be=!1;const j=(n,i)=>(n.indexOf("//")==-1&&(n=`${mo}${n}`),ka(n,i).then(a=>(a!=null&&a.data&&a.data.success==-1001&&a.data.error=="Forbidden"&&(Be||(Be=!0,alert(Fa("\u767B\u5F55\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55")),location.reload())),a))),bo=(n,i)=>(n.indexOf("//")==-1&&(n=`${vo}${n}`),ka(n,i).then(a=>(a!=null&&a.data&&a.data.success==-1001&&a.data.error=="Forbidden"&&(Be||(Be=!0,alert(Fa("\u767B\u5F55\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55")),location.reload())),a))),go={Statistics:{GET(){return j("/u/network/statistics/",{method:"GET"})}},Status:{GET(){return j("/u/network/status/",{method:"GET"})}},Device:{List:{GET(){return j("/network/device/list/",{method:"GET"})}}},Homebox:{Enable:{POST(){return j("/network/homebox/enable/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},CheckPublickNet:{POST(n){return j("/network/checkPublicNet/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetInterfaceConfig:{GET(){return j("/network/interface/config/",{method:"GET",headers:{"Content-Type":"application/json;charset=utf-8"}})}},POSTInterfaceConfig:{POST(n){return j("/network/interface/config/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},PortList:{GET(){return j("/network/port/list/",{method:"GET",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},ho={Version:{GET(){return j("/u/system/version/",{method:"GET"})}},CheckUpdate:{GET(){return j("/system/check-update/",{method:"GET"})}},AutoCheckUpdate:{POST(n){return j("/system/auto-check-update/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Reboot:{POST(n){return j("/system/reboot/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Status:{GET(){return j("/system/status/",{method:"GET"})}}},_o={Disk:{Status:{GET(){return j("/nas/disk/status/",{method:"GET"})}},Erase:{POST(n){return j("/nas/disk/erase",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Init:{POST:n=>j("/nas/disk/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},InitRest:{POST:n=>j("/nas/disk/initrest/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},Partition:{Format:{POST:n=>j("/nas/disk/partition/format",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},Mount:{POST:n=>j("/nas/disk/partition/mount",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Service:{Status:{GET(){return j("/u/nas/service/status/",{method:"GET"})}}},Samba:{Create:{POST(n){return j("/nas/samba/create",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Webdav:{Create:{POST(n){return j("/nas/webdav/create",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Status:{GET(){return j("/nas/webdav/status/",{method:"GET"})}}},Linkease:{Enable:{POST(){return j("/u/nas/linkease/enable",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},Sandbox:{POST(n){return j("/nas/sandbox/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetSandbox:{GET(){return j("/nas/sandbox/",{method:"GET"})}},SandboxDisks:{GET(){return j("/nas/sandbox/disks/",{method:"GET"})}},SandboxCommit:{POST(){return j("/u/nas/sandbox/commit/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify({})})}},SandboxReset:{POST(){return j("/nas/sandbox/reset/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}},SandboxExit:{POST(){return j("/nas/sandbox/exit/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},xo={Check:{POST(n){return j("/app/check/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Install:{POST(n){return j("/app/install/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},wo={Pppoe:{GET(){return j("/guide/pppoe/",{method:"GET"})},POST(n){return j("/guide/pppoe/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DnsConfig:{GET(){return j("/guide/dns-config/",{method:"GET"})},POST(n){return j("/guide/dns-config/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DhcpClient:{POST(n){return j("/guide/dhcp-client/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},ClientModel:{GET(){return j("/guide/client-mode/",{method:"GET"})},POST(n){return j("/guide/client-mode/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GatewayRouter:{POST(n){return j("/guide/gateway-router/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DockerStatus:{GET(){return j("/guide/docker/status/",{method:"GET"})}},DockerPartitionList:{GET(){return j("/guide/docker/partition/list/",{method:"GET"})}},DockerTransfer:{POST(n){return j("/guide/docker/transfer/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DockerSwitch:{POST(n){return j("/guide/docker/switch/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DownloadService:{Status:{GET(){return j("/guide/download-service/status/",{method:"GET"})}}},DownloadPartition:{List:{GET(){return j("/guide/download/partition/list/",{method:"GET"})}}},Aria2Init:{POST(n){return j("/guide/aria2/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},qbitorrentInit:{POST(n){return j("/guide/qbittorrent/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},transmissionInit:{POST(n){return j("/guide/transmission/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetLan:{GET(){return j("/guide/lan/",{method:"GET"})}},LanIp:{POST(n){return j("/guide/lan/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},SoftSource:{POST(n){return j("/guide/soft-source/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetSoftSource:{GET(){return j("/guide/soft-source/",{method:"GET"})}},SoftSourceList:{GET(){return j("/guide/soft-source/list/",{method:"GET"})}},PostDdns:{POST(n){return j("/u/guide/ddns/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetDdns:{GET(){return j("/u/guide/ddns/",{method:"GET"})}},Ddnsto:{POST(n){return j("/guide/ddnsto/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DdntoConfig:{GET(){return j("/guide/ddnsto/config/",{method:"GET"})}},DdnstoAddress:{POST(n){return j("/guide/ddnsto/address/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},ko={Create:{POST(n){return j("/raid/create/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Delete:{POST(n){return j("/raid/delete/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Add:{POST(n){return j("/raid/add/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Remove:{POST(n){return j("/raid/remove/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Recover:{POST(n){return j("/raid/recover/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Detail:{POST(n){return j("/raid/detail/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},List:{GET(){return j("/raid/list/",{method:"GET"})}},CreateList:{GET(){return j("/raid/create/list/",{method:"GET"})}},Autofix:{GET(){return j("/raid/autofix/",{method:"GET"})}}},yo={Log:{GET(){return j("/smart/log/",{method:"GET"})}},List:{GET(){return j("/u/smart/list/",{method:"GET"})}},Config:{GET(){return j("/smart/config/",{method:"GET"})},POST(n){return j("/smart/config/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Test:{POST(n){return j("/u/smart/test/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},Result:{POST(n){return j("/smart/test/result/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Attribute:{Result:{POST(n){return j("/smart/attribute/result/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Extend:{Result:{POST(n){return j("/smart/extend/result/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}}},Fo={List:{GET(){return j("/wireless/list-iface/",{method:"GET"})}},Switch:{POST(n){return j("/wireless/enable-iface/",{body:JSON.stringify(n),method:"POST"})}},Power:{POST(n){return j("/wireless/set-device-power/",{body:JSON.stringify(n),method:"POST"})}},Edit:{POST(n){return j("/wireless/edit-iface/",{body:JSON.stringify(n),method:"POST"})}},Setup:{POST(n){return j("/wireless/setup/",{body:JSON.stringify(n),method:"POST"})}}},Eo={getInstalled:{GET(){return bo("/store/installed/",{method:"GET"})}},needSetup:{GET(){return j("/guide/need/setup/",{method:"GET"})}},setPassword:{POST(n){return j("/system/setPassword/",{body:JSON.stringify(n),method:"POST"})}},completeGuide:{POST(){return j("/guide/finish/setup/",{method:"POST"})}}},$o={listDevices:{GET(){return j("/lanctrl/listDevices/",{method:"GET"})}},staticDeviceConfig:{POST(n){return j("/lanctrl/staticDeviceConfig/",{body:JSON.stringify(n),method:"POST"})}},globalConfigs:{GET(){return j("/lanctrl/globalConfigs/",{method:"GET"})}},speedLimitConfig:{POST(n){return j("/lanctrl/speedLimitConfig/",{body:JSON.stringify(n),method:"POST"})}},listStaticDevices:{GET(){return j("/lanctrl/listStaticDevices/",{method:"GET"})}},listSpeedLimitedDevices:{GET(){return j("/lanctrl/listSpeedLimitedDevices/",{method:"GET"})}},dhcpGatewayConfig:{POST(n){return j("/lanctrl/dhcpGatewayConfig/",{body:JSON.stringify(n),method:"POST"})}},dhcpTagsConfig:{POST(n){return j("/lanctrl/dhcpTagsConfig/",{body:JSON.stringify(n),method:"POST"})}},enableSpeedLimit:{POST(n){return j("/lanctrl/enableSpeedLimit/",{body:JSON.stringify(n),method:"POST"})}},enableFloatGateway:{POST(n){return j("/lanctrl/enableFloatGateway/",{body:JSON.stringify(n),method:"POST"})}},speedsForDevices:{GET(){return j("/lanctrl/speedsForDevices/",{method:"GET"})}},speedsForOneDevice:{POST(n){return j("/lanctrl/speedsForOneDevice/",{body:JSON.stringify(n),method:"POST"})}}};var Co=Object.freeze(Object.defineProperty({__proto__:null,Network:go,System:ho,Nas:_o,App:xo,Guide:wo,Raid:ko,Smart:yo,Quickwifi:Fo,GuidePage:Eo,DeviceMangement:$o},Symbol.toStringTag,{value:"Module"})),M=ut({},Co);const Ea=me("app",{state:()=>({portitemStyle:{show:!1,left:0,top:0,portitem:{name:"",macAddress:"",linkSpeed:"",linkState:"",rx_packets:"",tx_packets:"",interfaceNames:[],master:"",duplex:""}}})});me("guide",{});const $a=me("nas",{state:()=>({webdav:{}})}),ge=me("network",{state:()=>({status:{},deviceList:{},deviceShow:!1}),getters:{},actions:{updateNetworkStatus(n){this.status=n},requestDeviceList(){M.Network.Device.List.GET().then(n=>{if(n!=null&&n.data){const{result:i}=n==null?void 0:n.data;i&&(this.deviceList=i)}})},incrTime(){this.status.uptimeStamp&&this.status.uptimeStamp++},setDeviceShow(n){this.deviceShow=n}}}),He=me("system",{state:()=>({version:{},checkUpdate:null,updateChecked:!1,systemStatus:{}}),getters:{},actions:{incrTime(){var n;(n=this.systemStatus)!=null&&n.uptime&&this.systemStatus.uptime++},requestVersion(){M.System.Version.GET().then(n=>{var i;(i=n==null?void 0:n.data)!=null&&i.result&&(this.version=n.data.result)})},requestCheckUpdate(){this.updateChecked||(this.updateChecked=!0,M.System.CheckUpdate.GET().then(n=>{var i;(i=n==null?void 0:n.data)!=null&&i.result&&(this.checkUpdate=n.data.result)}).finally(()=>{this.checkUpdate==null&&(this.checkUpdate={needUpdate:!1,msg:"skip"})}))},updateSystemStatus(n){this.systemStatus=n}}});let ra=!1;const Do=()=>{if(ra)return;ra=!0;let n=!0,i=!0;const a=ge(),d=He(),u=function(){return(!n&&document.hidden?Promise.resolve():M.System.Status.GET().then(c=>{c!=null&&c.data.result&&d.updateSystemStatus(c.data.result)})).finally(()=>{setTimeout(u,5e3),n&&(setInterval(()=>{d.incrTime()},1e3),n=!1)})},r=function(){return(!i&&document.hidden?Promise.resolve():M.Network.Status.GET().then(c=>{if(c!=null&&c.data){const{result:_}=c==null?void 0:c.data;_&&a.updateNetworkStatus(_)}})).finally(()=>{setTimeout(r,5e3),i&&(setInterval(()=>{a.incrTime()},1e3),i=!1)})};r(),a.requestDeviceList(),setTimeout(()=>{d.requestVersion(),u()},1100)};var N=(n,i)=>{const a=n.__vccOpts||n;for(const[d,u]of i)a[d]=u;return a};const Bo=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=Ea(),u=X(()=>d.portitemStyle.portitem),r=X(()=>d.portitemStyle.show),c=X(()=>({bottom:`calc(100% - ${d.portitemStyle.top}px)`,left:`${d.portitemStyle.left}px`})),_=v=>{switch(v){case"full":return i("\u5168\u53CC\u5DE5");case"half":return i("\u534A\u53CC\u5DE5")}},h=v=>{d.portitemStyle.show=!0},p=v=>{d.portitemStyle.show=!1};return(v,b)=>e(r)?(s(),l("div",{key:0,class:"disk-item-tooltip",style:Bt(e(c)),onMouseenter:h,onMouseleave:p},[t("div",null,o(_(e(u).duplex)),1),t("div",null,o(e(i)("\u540D\u79F0\uFF1A"))+o(e(u).name||"--"),1),t("div",null,o(e(i)("MAC\uFF1A"))+o(e(u).macAddress||"--"),1),t("div",null,o(e(i)("\u63A5\u6536\uFF1A"))+o(e(u).rx_packets||"--"),1),t("div",null,o(e(i)("\u53D1\u9001\uFF1A"))+o(e(u).tx_packets||"--"),1)],36)):C("",!0)}});var Yo=N(Bo,[["__scopeId","data-v-41cbce66"]]);const Ao={id:"main"},So=G({setup(n){return(i,a)=>{const d=ft("router-view");return s(),l("div",Ao,[z(d),z(Yo)])}}});var zo=N(So,[["__scopeId","data-v-2d97dedc"]]);const Po={},To={t:"1640593669834",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"54870",width:"128",height:"128"},Io=t("path",{d:"M148.7872 57.4464h177.152c64.9216 0 118.0672 53.1456 118.0672 118.0672v295.2192H148.7872C83.8656 470.7328 30.72 417.5872 30.72 352.5632v-177.152C30.72 110.592 83.8656 57.4464 148.7872 57.4464z m0 531.3536h295.2192v295.2192c0 64.9216-53.1456 118.0672-118.0672 118.0672h-177.152C83.8656 1001.984 30.72 948.9408 30.72 883.9168v-177.152C30.72 641.9456 83.8656 588.8 148.7872 588.8z m0 0M768.7168 559.2064L562.0736 346.7264c-23.6544-17.7152-35.4304-53.1456-35.4304-82.6368s11.776-59.0848 35.4304-82.6368L686.08 57.4464C733.2864 10.24 810.0864 10.24 851.3536 57.4464l124.0064 124.0064c23.6544 23.6544 35.4304 53.1456 35.4304 82.6368s-11.776 59.0848-35.4304 82.6368L768.7168 559.2064z m0-478.208c-17.7152 0-29.4912 5.9392-41.3696 17.7152l-123.904 124.0064c-11.776 11.776-17.7152 23.6544-17.7152 41.3696s5.9392 29.4912 17.7152 41.3696l165.2736 165.2736 165.2736-165.2736c11.776-11.776 17.7152-23.6544 17.7152-41.3696s-5.9392-29.4912-17.7152-41.3696L809.984 98.7136c-11.776-11.776-23.552-17.7152-41.2672-17.7152z m0 0","p-id":"54871"},null,-1),Lo=t("path",{d:"M562.0736 588.8h295.2192c64.9216 0 118.0672 53.1456 118.0672 118.0672v177.152c0 64.9216-53.1456 118.0672-118.0672 118.0672h-177.152c-64.9216 0-118.0672-53.1456-118.0672-118.0672V588.8z m0 0","p-id":"54872"},null,-1),Mo=[Io,Lo];function No(n,i){return s(),l("svg",To,Mo)}var Oo=N(Po,[["render",No]]);const Vo={},Go={t:"1640598743438",class:"icon",viewBox:"0 0 1036 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"65341",width:"128",height:"128"},jo=t("path",{d:"M984.177778 432.355556l-45.511111 0c-22.755556 0-45.511111-17.066667-51.2-39.822222l-28.444444-68.266667C847.644444 312.888889 853.333333 284.444444 870.4 267.377778l34.133333-34.133333c17.066667-17.066667 17.066667-39.822222 0-56.888889l-56.888889-56.888889c-17.066667-17.066667-39.822222-17.066667-56.888889 0l-34.133333 34.133333C739.555556 170.666667 711.111111 176.355556 694.044444 164.977778L625.777778 136.533333c-22.755556-5.688889-39.822222-28.444444-39.822222-51.2L585.955556 39.822222c0-22.755556-17.066667-39.822222-39.822222-39.822222L472.177778 0C449.422222 0 432.355556 17.066667 432.355556 39.822222l0 45.511111c0 22.755556-17.066667 45.511111-39.822222 51.2L329.955556 164.977778C312.888889 176.355556 284.444444 170.666667 267.377778 153.6L233.244444 119.466667c-17.066667-17.066667-39.822222-17.066667-56.888889 0l-56.888889 56.888889c-17.066667 17.066667-17.066667 39.822222 0 56.888889l34.133333 34.133333C170.666667 284.444444 176.355556 312.888889 164.977778 329.955556L136.533333 398.222222C130.844444 415.288889 108.088889 432.355556 85.333333 432.355556l-45.511111 0C17.066667 432.355556 0 449.422222 0 472.177778l0 79.644444c0 22.755556 17.066667 39.822222 39.822222 39.822222l45.511111 0c22.755556 0 45.511111 17.066667 51.2 39.822222l28.444444 68.266667C176.355556 711.111111 170.666667 739.555556 153.6 756.622222l-34.133333 34.133333c-17.066667 17.066667-17.066667 39.822222 0 56.888889l56.888889 56.888889c17.066667 17.066667 39.822222 17.066667 56.888889 0l34.133333-34.133333C284.444444 853.333333 312.888889 847.644444 329.955556 859.022222L398.222222 887.466667c22.755556 5.688889 39.822222 28.444444 39.822222 51.2l0 45.511111c0 22.755556 17.066667 39.822222 39.822222 39.822222l79.644444 0c22.755556 0 39.822222-17.066667 39.822222-39.822222l0-45.511111c0-22.755556 17.066667-45.511111 39.822222-51.2l68.266667-28.444444c17.066667-11.377778 45.511111-5.688889 62.577778 11.377778l34.133333 34.133333c17.066667 17.066667 39.822222 17.066667 56.888889 0l56.888889-56.888889c17.066667-17.066667 17.066667-39.822222 0-56.888889l-34.133333-34.133333c-17.066667-17.066667-17.066667-45.511111-11.377778-62.577778l28.444444-68.266667c5.688889-22.755556 28.444444-39.822222 51.2-39.822222l45.511111 0c22.755556 0 39.822222-17.066667 39.822222-39.822222L1035.377778 472.177778C1024 449.422222 1006.933333 432.355556 984.177778 432.355556L984.177778 432.355556zM711.111111 512c0 108.088889-91.022222 199.111111-199.111111 199.111111-108.088889 0-199.111111-85.333333-199.111111-199.111111 0-108.088889 85.333333-199.111111 199.111111-199.111111C620.088889 312.888889 711.111111 403.911111 711.111111 512L711.111111 512zM711.111111 512","p-id":"65342"},null,-1),qo=[jo];function Uo(n,i){return s(),l("svg",Go,qo)}var Ro=N(Vo,[["render",Uo]]);const Wo={},Ho={t:"1640599890701",class:"icon",viewBox:"0 0 1565 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"76947",width:"128",height:"128"},Zo=t("path",{d:"M1206.477959 299.331595c-27.357038 0-53.867311 3.354494-79.465683 9.151581C1078.518669 130.792698 916.428217 0 723.365689 0 492.068443 0 304.575027 187.493416 304.575027 418.790662c0 16.055976 1.074741 31.786273 2.865975 47.386299-9.184149-0.911901-18.400865-1.40042-27.812989-1.40042C125.191018 464.743973 0 589.934991 0 744.371987c0 154.469563 125.191018 279.628013 279.595446 279.628013 59.990077 0 221.233764 0 394.527575 0l0-302.295274L496.986197 721.704726l285.457668-339.031868 285.457668 339.031868-177.136823 0 0 302.295274c139.748871 0 262.204185 0 315.71325 0 197.947713 0 358.40977-168.34349 358.40977-366.291203S1404.425673 299.331595 1206.477959 299.331595z","p-id":"76948"},null,-1),Jo=[Zo];function Ko(n,i){return s(),l("svg",Ho,Jo)}var Qo=N(Wo,[["render",Ko]]);const Xo={},tn={t:"1640599792937",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"68605",width:"128",height:"128"},en=t("path",{d:"M512 825.6c-211.2 0-377.6-57.6-377.6-128l0 0L134.4 896l0 0c6.4 70.4 172.8 128 377.6 128 204.8 0 371.2-57.6 377.6-128l0 0 0-204.8 0 0C889.6 768 723.2 825.6 512 825.6L512 825.6z","p-id":"68606"},null,-1),an=t("path",{d:"M512 544c-211.2 0-377.6-57.6-377.6-128l0 0 0 204.8 0 0c6.4 70.4 172.8 128 377.6 128 204.8 0 371.2-57.6 377.6-128l0 0L889.6 416l0 0C889.6 486.4 723.2 544 512 544L512 544z","p-id":"68607"},null,-1),on=t("path",{d:"M889.6 128 889.6 128c0-70.4-166.4-128-377.6-128C300.8 0 134.4 57.6 134.4 128l0 0 0 0 0 204.8 0 0c6.4 70.4 172.8 128 377.6 128 204.8 0 371.2-57.6 377.6-128l0 0L889.6 128 889.6 128 889.6 128zM512 217.6c-153.6 0-281.6-44.8-281.6-96 0-51.2 128-96 281.6-96 153.6 0 281.6 44.8 281.6 96C793.6 179.2 665.6 217.6 512 217.6L512 217.6z","p-id":"68608"},null,-1),nn=[en,an,on];function rn(n,i){return s(),l("svg",tn,nn)}var sn=N(Xo,[["render",rn]]);const dn={},ln={t:"1640575557247",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4211",width:"128",height:"128"},un=t("path",{d:"M560 800l-10.464-416h-75.072L464 800h96z m-14.144-493.984c9.44-9.312 14.144-20.672 14.144-34.016 0-13.6-4.704-24.992-14.144-34.208A46.784 46.784 0 0 0 512 224c-13.12 0-24.448 4.608-33.856 13.792A45.856 45.856 0 0 0 464 272c0 13.344 4.704 24.704 14.144 34.016 9.408 9.312 20.704 13.984 33.856 13.984 13.12 0 24.448-4.672 33.856-13.984zM512 32C246.912 32 32 246.912 32 512c0 265.088 214.912 480 480 480 265.088 0 480-214.912 480-480 0-265.088-214.912-480-480-480z m0 64c229.76 0 416 186.24 416 416s-186.24 416-416 416S96 741.76 96 512 282.24 96 512 96z","p-id":"4212"},null,-1),cn=[un];function pn(n,i){return s(),l("svg",ln,cn)}var fn=N(dn,[["render",pn]]);const mn={},vn={t:"1640681742480",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"80687",width:"128",height:"128"},bn=t("path",{d:"M899.892468 123.889088c0-44.342099-36.286708-80.620486-80.624646-80.620486H204.728017C160.385918 43.268602 124.107532 79.546988 124.107532 123.889088v802.847056c0 44.342099 36.278386 80.620486 80.620485 80.620486h614.539805c44.337938 0 80.624646-36.278386 80.624646-80.620486V123.889088z",fill:"#D0D0DB","p-id":"80688"},null,-1),gn=t("path",{d:"M169.8768 977.7772V174.930143c0-44.342099 36.278386-80.620486 80.620486-80.620485h614.539804c9.936092 0 19.426974 1.905666 28.239639 5.23434-11.525534-30.507298-40.996782-52.389169-75.398629-52.389169H203.342457c-44.342099 0-80.620486 36.278386-80.620486 80.620486v802.851217c0 34.410168 21.881871 63.873094 52.385008 75.381985A79.730065 79.730065 0 0 1 169.8768 977.7772z",fill:"#FFFFFF","p-id":"80689"},null,-1),hn=t("path",{d:"M820.657543 40.497481H206.117739c-44.342099 0-80.620486 36.278386-80.620486 80.620485v802.847057c0 44.342099 36.278386 80.620486 80.620486 80.620486h614.539804c44.337938 0 80.624646-36.278386 80.624647-80.620486V121.117966c0-44.342099-36.286708-80.620486-80.624647-80.620485z m19.60173 828.785749c0 40.846992-33.43237 74.279362-74.287684 74.279361H199.780776c-40.855313 0-74.279362-33.424048-74.279362-74.279361V129.593603c0-40.855313 33.424048-74.279362 74.279362-74.279362h566.203296c40.842831 0 74.283522 33.424048 74.283522 74.279362l-0.008321 739.689627z",fill:"#6E6E96","p-id":"80690"},null,-1),_n=t("path",{d:"M815.106979 1024H200.567175C146.933914 1024 103.303319 980.369405 103.303319 926.736144V123.889088C103.303319 70.255827 146.933914 26.625232 200.567175 26.625232h614.539804c53.633261 0 97.268017 43.630595 97.268017 97.263856v802.847056c0 53.633261-43.634756 97.263856-97.268017 97.263856zM200.567175 59.911972C165.287391 59.911972 136.590059 88.609303 136.590059 123.889088v802.847056c0 35.279784 28.697331 63.977115 63.977116 63.977115h614.539804c35.279784 0 63.981276-28.697331 63.981276-63.977115V123.889088c0-35.279784-28.701492-63.977115-63.981276-63.977116H200.567175z",fill:"#6E6E96","p-id":"80691"},null,-1),xn=t("path",{d:"M301.946104 941.515457h429.985632v65.841173H301.946104z",fill:"#8A8AA1","p-id":"80692"},null,-1),wn=t("path",{d:"M731.931736 1024H301.946104a16.64337 16.64337 0 0 1-16.64337-16.64337V941.515457a16.64337 16.64337 0 0 1 16.64337-16.64337h429.985632a16.64337 16.64337 0 0 1 16.64337 16.64337v65.841173a16.64337 16.64337 0 0 1-16.64337 16.64337z m-413.342262-33.286741h396.698892v-32.554432H318.589474v32.554432z",fill:"#6E6E96","p-id":"80693"},null,-1),kn=t("path",{d:"M337.230049 960.318304h20.804213v47.038326h-20.804213zM386.565159 960.318304h20.804213v47.038326h-20.804213zM435.891948 960.318304h20.804213v47.038326h-20.804213zM485.231219 960.318304h20.804213v47.038326h-20.804213zM534.558008 960.318304h20.804213v47.038326h-20.804213zM583.897279 960.318304h20.804213v47.038326h-20.804213zM633.224068 960.318304h20.804213v47.038326h-20.804213zM682.563339 960.318304h20.804213v47.038326h-20.804213z",fill:"#FFE599","p-id":"80694"},null,-1),yn=t("path",{d:"M219.153659 140.794591m-26.874883 0a26.874882 26.874882 0 1 0 53.749765 0 26.874882 26.874882 0 1 0-53.749765 0Z",fill:"#ADADD1","p-id":"80695"},null,-1),Fn=t("path",{d:"M219.153659 184.312843c-23.995579 0-43.518252-19.522673-43.518253-43.518252s19.522673-43.518252 43.518253-43.518253 43.518252 19.522673 43.518252 43.518253-19.522673 43.518252-43.518252 43.518252z m0-53.749764c-5.642103 0-10.231512 4.589409-10.231512 10.231512s4.589409 10.231512 10.231512 10.231512 10.231512-4.589409 10.231511-10.231512-4.589409-10.231512-10.231511-10.231512z",fill:"#6E6E96","p-id":"80696"},null,-1),En=t("path",{d:"M801.28466 140.794591m-26.870721 0a26.870721 26.870721 0 1 0 53.741442 0 26.870721 26.870721 0 1 0-53.741442 0Z",fill:"#ADADD1","p-id":"80697"},null,-1),$n=t("path",{d:"M801.28466 184.308683c-23.995579 0-43.514092-19.518512-43.514091-43.514092s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514092z m0-53.741443c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"80698"},null,-1),Cn=t("path",{d:"M801.280499 905.23291m-26.870721 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"80699"},null,-1),Dn=t("path",{d:"M801.280499 948.747001c-23.995579 0-43.514092-19.518512-43.514091-43.514091s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"80700"},null,-1),Bn=t("path",{d:"M219.153659 905.23291m-26.870722 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"80701"},null,-1),Yn=t("path",{d:"M219.153659 948.747001c-23.995579 0-43.514092-19.518512-43.514092-43.514091s19.518512-43.514092 43.514092-43.514092 43.514092 19.518512 43.514091 43.514092-19.522673 43.514092-43.514091 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"80702"},null,-1),An=t("path",{d:"M520.972857 777.43263c-142.542145 0-258.508988-115.971004-258.508988-258.52147a16.64337 16.64337 0 0 1 33.28674 0c0 124.19699 101.033579 225.23473 225.222248 225.23473s225.222248-101.03774 225.222248-225.23473c0-124.188668-101.033579-225.218087-225.222248-225.218087a16.64337 16.64337 0 0 1 0-33.286741c142.542145 0 258.508988 115.966843 258.508988 258.504828 0 142.550466-115.966843 258.521471-258.508988 258.52147z",fill:"#6E6E96","p-id":"80703"},null,-1),Sn=t("path",{d:"M520.968696 518.919481m-83.312551 0a83.312551 83.312551 0 1 0 166.625102 0 83.312551 83.312551 0 1 0-166.625102 0Z",fill:"#A9A9BA","p-id":"80704"},null,-1),zn=t("path",{d:"M520.968696 618.875402c-55.114521 0-99.955921-44.83724-99.955921-99.95176 0-55.118682 44.8414-99.955921 99.955921-99.955921s99.95176 44.8414 99.95176 99.955921c0 55.11036-44.83724 99.95176-99.95176 99.95176z m0-166.625101c-36.761044 0-66.669181 29.908136-66.66918 66.66918s29.908136 66.66502 66.66918 66.66502 66.66502-29.908136 66.66502-66.66502c0-36.761044-29.903976-66.669181-66.66502-66.66918z",fill:"#6E6E96","p-id":"80705"},null,-1),Pn=t("path",{d:"M301.946104 941.515457h429.985632v36.977408H301.946104z",fill:"#6E6E96","p-id":"80706"},null,-1),Tn=[bn,gn,hn,_n,xn,wn,kn,yn,Fn,En,$n,Cn,Dn,Bn,Yn,An,Sn,zn,Pn];function In(n,i){return s(),l("svg",vn,Tn)}var Ln=N(mn,[["render",In]]);const Mn={},Nn={t:"1640775712185",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2996",width:"128",height:"128"},On=t("path",{d:"M894.185422 128.023792 129.814578 445.743994 445.99982 577.744353 571.860343 893.929596Z","p-id":"2997"},null,-1),Vn=[On];function Gn(n,i){return s(),l("svg",Nn,Vn)}var jn=N(Mn,[["render",Gn]]);const qn={class:"progress"},Un=G({props:{value:{type:Number,required:!0},text:{type:String}},setup(n){const i=n,a=X(()=>i.value>=80?"#e45e5e":i.value>=70?"#ff9800":i.value>=60?"#297ff3":i.value>0?"#53c31b":"");return(d,u)=>(s(),l("div",qn,[t("div",{class:ct(["progress-value",`${n.value>50}`]),style:Bt({width:`${n.value}%`,backgroundColor:e(a)})},[t("span",null,o(n.text),1)],6),Pt(d.$slots,"default",{},void 0,!0)]))}});var Ca=N(Un,[["__scopeId","data-v-3ee635ef"]]);const Rn={},Wn={height:"32",width:"64",t:"1649907260906",viewBox:"-8 248 1045 537",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2793","xmlns:xlink":"http://www.w3.org/1999/xlink"},Hn=t("path",{d:"M764.904497 251.418146 259.086289 251.418146c-143.076626 0-259.065314 115.989711-259.065314 259.065314 0 143.077649 115.988688 259.063267 259.065314 259.063267l505.818207 0c143.074579 0 259.063267-115.985618 259.063267-259.063267C1023.967764 367.407857 907.980099 251.418146 764.904497 251.418146zM764.904497 747.164974c-130.507356 0-236.682537-106.175181-236.682537-236.682537S634.397141 273.798876 764.904497 273.798876s236.683561 106.176205 236.683561 236.683561S895.411853 747.164974 764.904497 747.164974z","p-id":"2794",fill:"#52C41A"},null,-1),Zn=[Hn];function Jn(n,i){return s(),l("svg",Wn,Zn)}var Kn=N(Rn,[["render",Jn]]);const Qn={},Xn={height:"32",width:"64",t:"1649907515643",viewBox:"-8 248 1045 537",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2971","xmlns:xlink":"http://www.w3.org/1999/xlink"},ti=t("path",{d:"M764.867148 249.793136 259.0735 249.793136c-143.070486 0-259.052011 115.984594-259.052011 259.052011 0 143.07151 115.982548 259.050987 259.052011 259.050987l505.793648 0c143.067416 0 259.050987-115.979478 259.050987-259.050987C1023.917112 365.778754 907.933541 249.793136 764.867148 249.793136zM259.0735 745.516428c-130.501216 0-236.671281-106.172111-236.671281-236.671281 0-130.501216 106.170065-236.671281 236.671281-236.671281S495.744781 378.344954 495.744781 508.84617C495.744781 639.34534 389.574716 745.516428 259.0735 745.516428z","p-id":"2972",fill:"#999"},null,-1),ei=[ti];function ai(n,i){return s(),l("svg",Xn,ei)}var oi=N(Qn,[["render",ai]]);const ni={class:"checkbox_switch"},ii={class:"checkbox_switch_on"},ri={class:"checkbox_switch_off"},si=G({props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],setup(n,{emit:i}){const a=n,d=X({get:()=>a.modelValue.valueOf(),set:u=>i("update:modelValue",u)});return(u,r)=>(s(),l("label",ni,[T(t("input",{type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=c=>eo(d)?d.value=c:null)},null,512),[[Rt,e(d)]]),t("span",ii,[z(Kn)]),t("span",ri,[z(oi)]),Pt(u.$slots,"default",{},void 0,!0)]))}});var Da=N(si,[["__scopeId","data-v-54af3568"]]);const di={},li={t:"1641369474206",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7685",width:"128",height:"128"},ui=t("path",{d:"M757.76 637.44l-218.88 245.76c-14.72 16.64-40.32 16.64-54.4 0L265.6 637.44C244.48 613.76 261.12 576 293.12 576l437.76 0C762.24 576 779.52 613.76 757.76 637.44z","p-id":"7686"},null,-1),ci=[ui];function pi(n,i){return s(),l("svg",li,ci)}var fi=N(di,[["render",pi]]);const mi={},vi={t:"1641369492518",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7831",width:"128",height:"128"},bi=t("path",{d:"M758.4 385.92 539.52 140.16c-14.72-16.64-40.32-16.64-54.4 0L266.24 385.92C244.48 409.6 261.76 448 293.12 448l437.76 0C762.88 448 779.52 409.6 758.4 385.92z","p-id":"7832"},null,-1),gi=[bi];function hi(n,i){return s(),l("svg",vi,gi)}var _i=N(mi,[["render",hi]]);const xi={};function wi(n,i){return s(),l("article",null,[Pt(n.$slots,"default",{},void 0,!0)])}var ki=N(xi,[["render",wi],["__scopeId","data-v-995510fc"]]);const yi={class:"cover"},Fi={class:"thumbnail"},Ei=G({emits:["click"],setup(n,{emit:i}){const a=()=>{i("click")};return(d,u)=>(s(),H(ki,null,{default:R(()=>[t("a",{onClick:a},[t("div",yi,[t("div",Fi,[Pt(d.$slots,"default",{},void 0,!0)])])])]),_:3}))}});var $i=N(Ei,[["__scopeId","data-v-782f97c0"]]);const Ci={class:"select-editable"},Di={selected:"",value:""},Bi=["value"],Yi={value:"useInput"},Ai=["placeholder"],Si=G({props:{modelValue:{type:String,required:!0},title:{type:String,default:""},options:{type:Array,default:[]}},emits:["update:modelValue"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$(""),c=$(""),_=X({get:()=>a.modelValue.valueOf(),set:b=>i("update:modelValue",b)}),h=b=>{b===r.value||r.value==="useInput"&&b===c.value||(b===""||a.options.some(x=>x.key===b)?r.value=b:(c.value=b,r.value="useInput"))};Tt(()=>a.modelValue,b=>{h(b)}),At(()=>{const b=_.value;h(b)});const p=b=>{r.value==="useInput"?_.value=c.value:_.value=r.value},v=b=>{_.value=c.value};return(b,x)=>(s(),l("label",null,[t("div",Ci,[T(t("select",{"onUpdate:modelValue":x[0]||(x[0]=y=>r.value=y),autocomplete:"off",onChange:p},[t("option",Di,o(e(d)("\u8BF7\u9009\u62E9%{title}",{title:n.title})),1),(s(!0),l(O,null,J(n.options,(y,w)=>(s(),l("option",{value:y.key,key:w},o(y.value||y.key),9,Bi))),128)),t("option",Yi,o(e(d)("- -\u81EA\u5B9A\u4E49- -")),1)],544),[[rt,r.value,void 0,{trim:!0}]]),r.value=="useInput"?T((s(),l("input",{key:0,type:"text","onUpdate:modelValue":x[1]||(x[1]=y=>c.value=y),required:"",placeholder:e(d)("\u8BF7\u8F93\u5165%{title}",{title:n.title}),onChange:v},null,40,Ai)),[[tt,c.value,void 0,{trim:!0}]]):C("",!0)])]))}});var Zt=N(Si,[["__scopeId","data-v-c446588c"]]);const zi={t:"1631799919469",class:"icon",viewBox:"0 0 1047 1047",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3453",width:"128",height:"128"},Pi=G({props:{size:{type:[Number,String],default:50},color:{type:String,default:"#fff"}},setup(n){const i=a=>{if(a==null)return;if(typeof a=="number")return a+"px";const d=a.toString();return parseInt(d)+""==d?d+"px":d};return(a,d)=>(s(),l("div",{class:"quick-loading",style:Bt({width:i(n.size),height:i(n.size)})},[(s(),l("svg",zi,[t("path",{d:"M522.695111 1.991111c-26.339556 0.170667-47.416889 21.475556-47.672889 48.753778-0.284444 26.453333-0.056889 52.963556-0.056889 79.445333 0 27.249778-0.369778 54.528 0.113778 81.777778 0.483556 27.050667 22.016 47.132444 49.351111 46.904889a47.786667 47.786667 0 0 0 47.729778-47.445333c0.284444-53.76 0.284444-107.52-0.028444-161.251556-0.170667-27.676444-21.902222-48.355556-49.436445-48.184889m-195.896889 88.092445c-8.334222-14.222222-21.646222-21.276444-38.314666-21.333334-35.128889 0-56.576 36.949333-38.968889 68.152889a11616.995556 11616.995556 0 0 0 78.961777 137.614222 44.942222 44.942222 0 0 0 61.838223 16.896c21.304889-12.202667 29.667556-38.968889 17.379555-60.871111-26.453333-47.104-53.560889-93.866667-80.896-140.458666m-228.693333 234.524444c44.316444 25.799111 88.746667 51.342222 133.176889 76.970667 6.712889 3.896889 13.681778 6.912 21.703111 6.428444 20.138667 0.142222 35.953778-11.946667 41.301333-31.573333 5.006222-18.261333-2.673778-36.721778-20.224-46.990222-44.629333-26.026667-89.372444-51.882667-134.115555-77.710223-22.528-12.999111-47.815111-7.025778-59.818667 13.909334-12.231111 21.248-4.977778 45.624889 17.948444 58.965333m34.161778 235.975111c26.396444 0 52.821333 0.199111 79.217778-0.085333 23.409778-0.256 39.139556-16.412444 38.798222-39.139556-0.341333-21.617778-16.924444-37.347556-39.594666-37.376-51.655111-0.056889-103.310222-0.056889-154.965334 0.028445-24.177778 0.056889-40.704 15.985778-40.561778 38.684444 0.142222 22.186667 16.583111 37.745778 40.192 37.859556 25.656889 0.142222 51.285333 0.028444 76.913778 0m151.722667 100.238222a34.247111 34.247111 0 0 0-46.876445-12.942222 13764.778667 13764.778667 0 0 0-139.008 80.583111c-11.093333 6.485333-16.327111 16.867556-16.497777 25.372444 0.085333 30.549333 27.249778 47.957333 50.403555 35.072 47.160889-26.197333 93.724444-53.475556 140.145778-80.924444 17.180444-10.154667 21.504-30.378667 11.832889-47.160889m91.875555 101.660444c-14.250667-4.067556-27.619556 1.422222-35.84 15.644445a24375.466667 24375.466667 0 0 0-77.312 134.485333c-10.012444 17.550222-5.859556 35.669333 9.784889 45.027556 16.014222 9.557333 34.247111 4.039111 44.714667-13.994667 25.543111-44.088889 50.915556-88.263111 76.373333-132.352 3.299556-5.745778 5.688889-11.690667 5.745778-14.933333 0-17.834667-9.272889-29.866667-23.466667-33.877334m147.456 44.288c-16.384 0.085333-27.306667 11.918222-27.448888 30.151111-0.142222 25.372444-0.028444 50.716444-0.028445 76.060445h-0.085333c0 26.112-0.113778 52.252444 0.056889 78.364444 0.113778 18.261333 11.064889 30.065778 27.448889 30.208 16.952889 0.142222 28.046222-11.832889 28.103111-30.748444 0.113778-51.086222 0.142222-102.172444 0.056889-153.258667 0-18.773333-11.207111-30.862222-28.103112-30.776889m177.208889-26.112c-7.509333-12.8-21.902222-16.014222-33.792-8.874666a23.722667 23.722667 0 0 0-8.533333 32.995555c26.282667 46.279111 52.906667 92.330667 79.644444 138.353778 4.494222 7.765333 11.633778 11.946667 20.906667 11.804444 18.545778-0.142222 30.520889-19.342222 21.219556-35.868444-26.026667-46.392889-52.650667-92.444444-79.473778-138.410667m239.957333-41.187555c-45.283556-26.254222-90.595556-52.48-135.964444-78.648889-4.693333-2.702222-9.728-4.323556-15.36-2.958222-9.102222 2.247111-14.933333 8.049778-16.497778 17.095111-1.877333 10.894222 3.84 18.204444 12.885333 23.438222 29.809778 17.180444 59.562667 34.417778 89.344 51.598222 15.217778 8.789333 30.236444 17.976889 45.738667 26.225778 14.677333 7.793778 31.061333-2.048 31.061333-18.033778-0.056889-8.448-4.096-14.592-11.207111-18.716444m48.867556-234.638222c-24.888889-0.085333-49.749333 0-74.609778 0v-0.085334c-25.258667 0-50.517333-0.056889-75.776 0.028445-13.425778 0.056889-20.963556 6.343111-21.162667 17.294222-0.199111 11.150222 7.082667 17.521778 20.679111 17.550222 50.488889 0.113778 100.977778 0.142222 151.495112 0.085333 13.368889 0 21.191111-6.485333 21.390222-17.152 0.227556-10.808889-8.106667-17.664-22.016-17.720888m-187.960889-127.146667c45.084444-26.026667 90.140444-52.110222 135.168-78.222222 4.864-2.844444 8.248889-6.855111 8.135111-12.942223-0.142222-11.036444-11.207111-17.436444-21.504-11.548444-45.511111 26.055111-90.851556 52.394667-136.135111 78.819556-7.68 4.494222-10.524444 11.52-5.575111 19.569777 4.835556 7.850667 12.088889 8.817778 19.911111 4.323556m-122.311111-115.114667c5.205333-0.256 8.220444-3.413333 10.609778-7.651555 4.920889-8.647111 10.040889-17.208889 14.990222-25.827556 20.48-35.555556 40.931556-71.025778 61.297778-106.609778 5.091556-8.874667 3.015111-16.668444-4.778667-18.517333-7.68-1.848889-10.894222 3.697778-14.051556 9.159111l-68.778666 119.495111c-2.844444 4.977778-6.030222 9.870222-8.305778 15.104-3.128889 7.196444 1.678222 14.648889 9.045333 14.848","p-id":"3454",style:Bt({fill:n.color})},null,4)]))],4))}});var Ti=N(Pi,[["__scopeId","data-v-47c6049a"]]);const Ii={},Li={t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},Mi=t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""},null,-1),Ni=[Mi];function Oi(n,i){return s(),l("svg",Li,Ni)}var Vi=N(Ii,[["render",Oi]]);const Gi={},ji={width:"128",height:"128",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},qi=qt('',1),Ui=[qi];function Ri(n,i){return s(),l("svg",ji,Ui)}var Wi=N(Gi,[["render",Ri]]);const Hi=n=>(st("data-v-0cc5bf50"),n=n(),dt(),n),Zi=["href","title"],Ji=Hi(()=>t("svg",{t:"1684144670421",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4343"},[t("path",{d:"M512 74.666667c241.066667 0 437.333333 196.266667 437.333333 437.333333S753.066667 949.333333 512 949.333333 74.666667 753.066667 74.666667 512 270.933333 74.666667 512 74.666667zM512 704c-23.466667 0-42.666667 19.2-42.666667 42.666667s19.2 42.666667 42.666667 42.666666 42.666667-19.2 42.666667-42.666666-19.2-42.666667-42.666667-42.666667z m0-458.666667c-76.8 0-138.666667 61.866667-138.666667 138.666667 0 17.066667 14.933333 32 32 32s32-14.933333 32-32c0-40.533333 34.133333-74.666667 74.666667-74.666667s74.666667 34.133333 74.666667 74.666667c0 2.133333 0 6.4-2.133334 10.666667-6.4 14.933333-19.2 32-40.533333 51.2-10.666667 10.666667-21.333333 19.2-34.133333 27.733333-2.133333 2.133333-6.4 4.266667-8.533334 6.4l-6.4 4.266667c-8.533333 6.4-14.933333 17.066667-14.933333 27.733333v108.8c2.133333 17.066667 14.933333 29.866667 32 29.866667h2.133333c17.066667-2.133333 29.866667-14.933333 29.866667-32v-89.6l12.8-10.666667c10.666667-8.533333 19.2-17.066667 29.866667-25.6 27.733333-25.6 46.933333-49.066667 57.6-74.666667 4.266667-10.666667 6.4-23.466667 6.4-34.133333 0-76.8-61.866667-138.666667-138.666667-138.666667z",fill:"#666666","p-id":"4344"})],-1)),Ki=[Ji],Qi=G({props:{type:null},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{switch(i.type){case"disk":return"https://www.linkease.com/rd/8myYAEVA/";case"store":return"https://www.linkease.com/rd/1F58VUTT/";case"docker":return"https://www.linkease.com/rd/2Q28MDtf/";case"download":return"https://www.linkease.com/rd/1tJo1KX-/";case"ddns":return"https://www.linkease.com/rd/3yFiX5-X/";case"network-interface":return"https://www.linkease.com/rd/3ca51a3G/"}});return(r,c)=>(s(),l("a",{href:e(u),target:"_blank",title:e(a)("\u8DF3\u8F6C\u6559\u7A0B")},Ki,8,Zi))}});var Xi=N(Qi,[["__scopeId","data-v-0cc5bf50"]]),Ba={install:n=>{n.component("icon-loading",Ti),n.component("icon-success",Vi),n.component("icon-error",Wi),n.component("GlHelp",Xi)}};const{$gettext:ue,$ngettext:Ce}=ze(),tr=n=>{},er=()=>new Date().getTime(),ar=n=>{if(n<1e3)return`${n} B`;let a=1e3,d=0;for(let c=n/1e3;c>=1e3;c/=1e3)a*=1e3,d++;let u=[" KB"," MB"," GB"," TB"," PB"," EB"];return(n/100/(a/100)).toFixed(1)+u[d]},or=n=>{if(n==null)return 0;if(n<1e4)return n;let a=parseInt(`${n/1e4}`),d=n%1e4;return`${a}\u4E07${d}`},nr=n=>{if(n)try{var i=new Date(n),a=i.getHours(),d=i.getMinutes(),u=i.getSeconds();return a<10&&(a=`0${a}`),d<10&&(d=`0${d}`),u<10&&(u=`0${u}`),`${a}:${d}:${u}`}catch(r){}return""},ir=n=>{if(n){let i=Math.floor(n/86400),a=Math.floor(n/3600)%24,d=Math.floor(n/60)%60,u=n%60;return(i>0?Ce("%{ days }\u5929","%{ days }\u5929",i,{days:$e(i)}):"")+Ce("%{ hours }\u5C0F\u65F6","%{ hours }\u5C0F\u65F6",a,{hours:$e(a)})+Ce("%{ minutes }\u5206","%{ minutes }\u5206",d,{minutes:$e(d)})+Ce("%{ seconds }\u79D2","%{ seconds }\u79D2",u,{seconds:$e(u)})}},rr=n=>/^\d+\.\d+\.\d+\.\d+$/.test(n),sr=n=>n.length<3?ue("\u7528\u6237\u540D\u592A\u77ED"):n.toLowerCase()!=n?ue("\u7528\u6237\u540D\u53EA\u80FD\u4E3A\u5C0F\u5199"):new RegExp("^\\d").exec(n)?ue("\u7528\u6237\u540D\u4E0D\u80FD\u4EE5\u6570\u5B57\u5F00\u5934"):new RegExp("^_").exec(n)?ue("\u7528\u6237\u540D\u4E0D\u80FD\u4EE5_\u5F00\u5934"):new RegExp("^[a-z0-9_]+$").exec(n)?!0:ue("\u975E\u6CD5\u7684\u7528\u6237\u540D"),dr=(n,i)=>{let a=!0,d=null;const u=()=>{d=null,a&&n().finally(()=>{a&&(d=setTimeout(u,i))})};return d=setTimeout(u,0),()=>{a=!1,d!=null&&clearTimeout(d)}};var lr=Object.freeze(Object.defineProperty({__proto__:null,formatDate:tr,UnixDate:er,byteToSize:ar,numberToSum:or,dateForm:nr,stampForm:ir,checkIsIP:rr,checkSmabaUserName:sr,easyInterval:dr},Symbol.toStringTag,{value:"Module"})),It=ut({},lr);const ur=()=>{var i;const n=document.body.getAttribute("theme");if(n)switch(n){case"dark":case"light":return n}return(i=window.matchMedia("(prefers-color-scheme: dark)"))!=null&&i.matches?"dark":"light"},Ya=()=>ur()=="dark",cr={class:"flow"},pr={class:"flow-data"},fr={key:0},mr={key:1},vr=G({setup(n){const{$gettext:i,$ngettext:a}=W();pa([fa,ma,va,ba,ga,ha]);const d=$(),u=k=>{var m;const f=(m=d.value)==null?void 0:m[k];return!f||f.startTime==0?"":v(f.startTime*1e3)+"-"+v(f.endTime*1e3)},r=X(()=>{var f;let k=[];return(f=d.value)==null||f.forEach(m=>{k.push({value:m.uploadSpeed})}),k}),c=X(()=>{var f;let k=[];return(f=d.value)==null||f.forEach(m=>{k.push({value:m.downloadSpeed})}),k}),_=X(()=>{var f;let k="";if(d.value){let m=((f=d.value)==null?void 0:f.length)||0;if(m>0){let g=d.value[m-1];k=b(g.uploadSpeed)+"/s"}}return k}),h=X(()=>{var f;let k="";if(d.value){let m=((f=d.value)==null?void 0:f.length)||0;if(m>0){let g=d.value[m-1];k=b(g.downloadSpeed)+"/s"}}return k});X(()=>{var f;let k=[];return(f=d.value)==null||f.forEach(m=>{k.push({value:m.downloadSpeed+m.uploadSpeed})}),k});const p=()=>L(this,null,function*(){var k;try{const f=yield M.Network.Statistics.GET();if(f.data&&(k=f.data.result)!=null&&k.items){const m=f.data.result.slots||10;if(f.data.result.items.lengthm?d.value=f.data.result.items.slice(m-f.data.result.items.length):d.value=f.data.result.items}}catch(f){console.log(f)}}),v=It.dateForm,b=It.byteToSize,x=$();let y=null;const w=k=>{const f=Ya();return y=_a(k,f?"dark":"light"),y.setOption({animation:!1,backgroundColor:f?"#88888822":"#fff",color:["transparent","transparent"],tooltip:{trigger:"axis",formatter:m=>{if(Array.isArray(m)){let g="";m.length>0&&(g=u(m[0].axisValue));for(let F=0;F${m[F].seriesName}: ${b(m[F].value)}/s`;return g.toString()}else{const g=m;return`${u(g.axisValue)}
${g.seriesName}: ${b(g.value)}/s`}}},xAxis:{type:"category",boundaryGap:!1,splitLine:{lineStyle:{color:["#999"]},show:!1},name:"",show:!1,nameGap:0,nameTextStyle:{height:0,lineHeight:0,padding:0}},title:{text:i("\u6D41\u91CF\u7EDF\u8BA1"),textStyle:{fontSize:12,color:f?"#cccccc":"rgba(0, 0, 0, 0.6)"},top:"10px",left:"10px"},yAxis:{type:"value",name:"",minInterval:1e4,interval:1e3,axisLabel:{formatter:function(m,g){return`${b(m)}/s`},color:"#fff",show:!1},nameTextStyle:{color:"#fff"},splitLine:{lineStyle:{color:["#999"]},show:!1}},series:[{name:i("\u4E0B\u8F7D"),data:c.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(32, 199, 247, 1)"},{offset:1,color:"rgba(32, 199, 247, 0.1)"}],global:!1}}},{name:i("\u4E0A\u4F20"),data:r.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(85, 58, 254, 1)"},{offset:1,color:"rgba(85, 58, 254, 0.1)"}],global:!1}}}],legend:{padding:0,align:"right",top:"10px",data:[{name:i("\u4E0A\u4F20"),itemStyle:{color:"rgb(85, 58, 254)"}},{name:i("\u4E0B\u8F7D"),itemStyle:{color:"rgb(32, 199, 247)"}}],textStyle:{color:f?"#cccccc":"rgba(0, 0, 0, 0.6)"},lineStyle:{color:"#333"}},grid:{left:"2%",right:"2%",bottom:"0%",top:"10%",containLabel:!0}}),y};return At(()=>{setTimeout(()=>L(this,null,function*(){if(x.value){yield p();const k=w(x.value),f=x.value;k.resize({width:f.clientWidth,height:f.clientHeight}),window.addEventListener("resize",()=>{k.resize({width:f.clientWidth,height:f.clientHeight})});const m=()=>L(this,null,function*(){if(y!=null){if(!document.hidden){if(yield p(),y==null)return;k.setOption({series:[{name:i("\u4E0B\u8F7D"),data:c.value,type:"line",areaStyle:{},smooth:!0},{name:i("\u4E0A\u4F20"),data:r.value,type:"line",areaStyle:{},smooth:!0}]})}setTimeout(m,5e3)}});setTimeout(m,5e3)}}),900)}),Ot(()=>{y!=null&&(y.dispose(),y=null)}),(k,f)=>(s(),l("div",cr,[t("div",{ref_key:"el",ref:x,class:"echart"},null,512),t("div",pr,[e(_)?(s(),l("span",fr,o(e(i)("\u4E0A\u4F20:"))+" "+o(e(_)),1)):C("",!0),e(h)?(s(),l("span",mr,o(e(i)("\u4E0B\u8F7D:"))+" "+o(e(h)),1)):C("",!0)])]))}});var br=N(vr,[["__scopeId","data-v-770b811c"]]);const gr={},hr={t:"1649668202191",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2338","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"28px",height:"28px"},_r=t("path",{d:"M288 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z","p-id":"2339",fill:"#666"},null,-1),xr=t("path",{d:"M512 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z","p-id":"2340",fill:"#666"},null,-1),wr=t("path",{d:"M736 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z","p-id":"2341",fill:"#666"},null,-1),kr=[_r,xr,wr];function yr(n,i){return s(),l("svg",hr,kr)}var Gt=N(gr,[["render",yr]]);let De=0;const Fr={props:{type:String,message:String|Function,Close:Function,countdown:Number},data(){return{show:!1,remain:0}},mounted(){if(window.setTimeout(()=>{this.show=!0},0),this.countdown){this.remain=this.countdown;const n=()=>{this.show&&this.remain>0&&(this.remain=this.remain-1,De=window.setTimeout(n,1e3))};De=window.setTimeout(n,1e3)}},computed:{Message(){return this.message+(this.countdown?" "+this.remain+"s":"")}},methods:{Stop(){this.type!="loading"&&(this.show=!1,De!=0&&clearTimeout(De),this.Close())}}},Pe=n=>(st("data-v-48bf84c6"),n=n(),dt(),n),Er={key:0,class:"loading icon"},$r=Pe(()=>t("svg",{t:"1631799919469",class:"icon",viewBox:"0 0 1047 1047",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3453",width:"128",height:"128"},[t("path",{d:"M522.695111 1.991111c-26.339556 0.170667-47.416889 21.475556-47.672889 48.753778-0.284444 26.453333-0.056889 52.963556-0.056889 79.445333 0 27.249778-0.369778 54.528 0.113778 81.777778 0.483556 27.050667 22.016 47.132444 49.351111 46.904889a47.786667 47.786667 0 0 0 47.729778-47.445333c0.284444-53.76 0.284444-107.52-0.028444-161.251556-0.170667-27.676444-21.902222-48.355556-49.436445-48.184889m-195.896889 88.092445c-8.334222-14.222222-21.646222-21.276444-38.314666-21.333334-35.128889 0-56.576 36.949333-38.968889 68.152889a11616.995556 11616.995556 0 0 0 78.961777 137.614222 44.942222 44.942222 0 0 0 61.838223 16.896c21.304889-12.202667 29.667556-38.968889 17.379555-60.871111-26.453333-47.104-53.560889-93.866667-80.896-140.458666m-228.693333 234.524444c44.316444 25.799111 88.746667 51.342222 133.176889 76.970667 6.712889 3.896889 13.681778 6.912 21.703111 6.428444 20.138667 0.142222 35.953778-11.946667 41.301333-31.573333 5.006222-18.261333-2.673778-36.721778-20.224-46.990222-44.629333-26.026667-89.372444-51.882667-134.115555-77.710223-22.528-12.999111-47.815111-7.025778-59.818667 13.909334-12.231111 21.248-4.977778 45.624889 17.948444 58.965333m34.161778 235.975111c26.396444 0 52.821333 0.199111 79.217778-0.085333 23.409778-0.256 39.139556-16.412444 38.798222-39.139556-0.341333-21.617778-16.924444-37.347556-39.594666-37.376-51.655111-0.056889-103.310222-0.056889-154.965334 0.028445-24.177778 0.056889-40.704 15.985778-40.561778 38.684444 0.142222 22.186667 16.583111 37.745778 40.192 37.859556 25.656889 0.142222 51.285333 0.028444 76.913778 0m151.722667 100.238222a34.247111 34.247111 0 0 0-46.876445-12.942222 13764.778667 13764.778667 0 0 0-139.008 80.583111c-11.093333 6.485333-16.327111 16.867556-16.497777 25.372444 0.085333 30.549333 27.249778 47.957333 50.403555 35.072 47.160889-26.197333 93.724444-53.475556 140.145778-80.924444 17.180444-10.154667 21.504-30.378667 11.832889-47.160889m91.875555 101.660444c-14.250667-4.067556-27.619556 1.422222-35.84 15.644445a24375.466667 24375.466667 0 0 0-77.312 134.485333c-10.012444 17.550222-5.859556 35.669333 9.784889 45.027556 16.014222 9.557333 34.247111 4.039111 44.714667-13.994667 25.543111-44.088889 50.915556-88.263111 76.373333-132.352 3.299556-5.745778 5.688889-11.690667 5.745778-14.933333 0-17.834667-9.272889-29.866667-23.466667-33.877334m147.456 44.288c-16.384 0.085333-27.306667 11.918222-27.448888 30.151111-0.142222 25.372444-0.028444 50.716444-0.028445 76.060445h-0.085333c0 26.112-0.113778 52.252444 0.056889 78.364444 0.113778 18.261333 11.064889 30.065778 27.448889 30.208 16.952889 0.142222 28.046222-11.832889 28.103111-30.748444 0.113778-51.086222 0.142222-102.172444 0.056889-153.258667 0-18.773333-11.207111-30.862222-28.103112-30.776889m177.208889-26.112c-7.509333-12.8-21.902222-16.014222-33.792-8.874666a23.722667 23.722667 0 0 0-8.533333 32.995555c26.282667 46.279111 52.906667 92.330667 79.644444 138.353778 4.494222 7.765333 11.633778 11.946667 20.906667 11.804444 18.545778-0.142222 30.520889-19.342222 21.219556-35.868444-26.026667-46.392889-52.650667-92.444444-79.473778-138.410667m239.957333-41.187555c-45.283556-26.254222-90.595556-52.48-135.964444-78.648889-4.693333-2.702222-9.728-4.323556-15.36-2.958222-9.102222 2.247111-14.933333 8.049778-16.497778 17.095111-1.877333 10.894222 3.84 18.204444 12.885333 23.438222 29.809778 17.180444 59.562667 34.417778 89.344 51.598222 15.217778 8.789333 30.236444 17.976889 45.738667 26.225778 14.677333 7.793778 31.061333-2.048 31.061333-18.033778-0.056889-8.448-4.096-14.592-11.207111-18.716444m48.867556-234.638222c-24.888889-0.085333-49.749333 0-74.609778 0v-0.085334c-25.258667 0-50.517333-0.056889-75.776 0.028445-13.425778 0.056889-20.963556 6.343111-21.162667 17.294222-0.199111 11.150222 7.082667 17.521778 20.679111 17.550222 50.488889 0.113778 100.977778 0.142222 151.495112 0.085333 13.368889 0 21.191111-6.485333 21.390222-17.152 0.227556-10.808889-8.106667-17.664-22.016-17.720888m-187.960889-127.146667c45.084444-26.026667 90.140444-52.110222 135.168-78.222222 4.864-2.844444 8.248889-6.855111 8.135111-12.942223-0.142222-11.036444-11.207111-17.436444-21.504-11.548444-45.511111 26.055111-90.851556 52.394667-136.135111 78.819556-7.68 4.494222-10.524444 11.52-5.575111 19.569777 4.835556 7.850667 12.088889 8.817778 19.911111 4.323556m-122.311111-115.114667c5.205333-0.256 8.220444-3.413333 10.609778-7.651555 4.920889-8.647111 10.040889-17.208889 14.990222-25.827556 20.48-35.555556 40.931556-71.025778 61.297778-106.609778 5.091556-8.874667 3.015111-16.668444-4.778667-18.517333-7.68-1.848889-10.894222 3.697778-14.051556 9.159111l-68.778666 119.495111c-2.844444 4.977778-6.030222 9.870222-8.305778 15.104-3.128889 7.196444 1.678222 14.648889 9.045333 14.848","p-id":"3454"})],-1)),Cr=[$r],Dr={key:1,class:"success icon"},Br=Pe(()=>t("svg",{t:"1632451272305",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2204",width:"128",height:"128"},[t("path",{d:"M1001.305115 275.874141 431.461709 845.718571c-28.221762 28.221762-73.977875 28.221762-102.20066 0L22.661116 539.116591c-28.222785-28.221762-28.222785-73.979922 0-102.20066 28.221762-28.221762 73.977875-28.221762 102.20066 0l255.500115 255.502162 518.743588-518.743588c28.221762-28.221762 73.977875-28.221762 102.199637 0C1029.5279 201.89422 1029.5279 247.65238 1001.305115 275.874141z","p-id":"2205"})],-1)),Yr=[Br],Ar={key:2,class:"error icon"},Sr=Pe(()=>t("svg",{t:"1632451325789",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2204",width:"128",height:"128"},[t("path",{d:"M823.04 840.32 524.16 540.16l296.32-294.4c12.8-12.8 12.8-33.28 0-45.44-12.8-12.8-33.28-12.8-46.08 0L478.08 494.08 184.96 200.32c-12.8-12.8-33.28-12.8-45.44 0s-12.8 33.28 0 45.44l292.48 293.76-302.72 300.8c-12.8 12.8-12.8 33.28 0 45.44 12.8 12.8 33.28 12.8 46.08 0l302.72-300.16 299.52 300.16c12.8 12.8 33.28 12.8 45.44 0C835.2 873.6 835.2 853.12 823.04 840.32z","p-id":"2205"})],-1)),zr=[Sr],Pr={key:3,class:"warning icon"},Tr=Pe(()=>t("svg",{t:"1632451401172",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1638",width:"128",height:"128"},[t("path",{d:"M512 1021.45211835a60.32985613 60.32985613 0 1 1 60.32985613-60.32985611 60.32985613 60.32985613 0 0 1-60.32985613 60.32985611z m86.85823451-924.97400238L572.32985613 719.80283775a60.32985613 60.32985613 0 0 1-120.65971226 0l-26.52837838-623.32472178c-0.16758294-2.22885301-0.28489098-4.49122263-0.284891-6.78710881a87.14312551 87.14312551 0 0 1 174.28625102 0c0 2.2958862-0.11730806 4.5582558-0.284891 6.78710881z","p-id":"1639"})],-1)),Ir=[Tr];function Lr(n,i,a,d,u,r){return s(),H($t,{name:"el-fade-in-linear"},{default:R(()=>[u.show?(s(),l("div",{key:0,class:"toast",onClick:i[1]||(i[1]=c=>r.Stop())},[a.type=="loading"?(s(),l("div",Er,Cr)):a.type=="success"?(s(),l("div",Dr,Yr)):a.type=="error"?(s(),l("div",Ar,zr)):a.type=="warning"?(s(),l("div",Pr,Ir)):C("",!0),t("div",{class:"message",onClick:i[0]||(i[0]=pt(()=>{},["stop"]))},o(r.Message),1)])):C("",!0)]),_:1})}var Mr=N(Fr,[["render",Lr],["__scopeId","data-v-48bf84c6"]]);const pe=new Map,Xt=n=>{const i=gt(Mr,mt(ut({},n),{Close:()=>{d()}})),a=document.createElement("div");document.body.append(a),i.mount(a);const d=()=>{a.remove(),pe.get(i._uid)&&pe.delete(i._uid)};return n.type=="loading"&&pe.set(i._uid,{Close:d}),(n==null?void 0:n.duration)==0||((n==null?void 0:n.duration)>0?setTimeout(()=>{d()},n==null?void 0:n.duration):setTimeout(()=>{d()},3e3)),{Close:d}},E=n=>Xt(n);E.Loading=(n,i)=>Xt({type:"loading",message:n||"\u52A0\u8F7D\u4E2D...",duration:0,countdown:i||0});E.Success=n=>Xt({type:"success",message:n});E.Error=n=>Xt({type:"error",message:n,duration:0});E.Warning=n=>Xt({type:"warning",message:n});E.Message=n=>Xt({message:n});E.Clear=()=>{pe.forEach((n,i)=>{n.Close(),pe.delete(i)})};const{$gettext:Jt,$ngettext:zz}=ze(),Et={installApp:(n,i)=>new Promise((a,d)=>{let u=0;M.App.Install.POST({name:n}).then(()=>{const r=setTimeout(()=>{u==0&&(u=1,a(!1))},(i||60)*1e3),c=()=>{u==0&&M.App.Check.POST({name:n}).then(_=>{if(u==0&&_!=null&&_.data){const{result:h}=_.data;if((h==null?void 0:h.status)=="installed"){clearTimeout(r),u=1,a(!0);return}}}).catch(_=>{}).finally(()=>{u==0&&setTimeout(c,3e3)})};setTimeout(c,3e3)}).catch(r=>{u==0&&(u=1,d(Jt("\u5B89\u88C5\u5931\u8D25\uFF0C")+r))})}),checkAndInstallApp:(n,i,a)=>L(Qt,null,function*(){let d=E.Loading(Jt("\u68C0\u67E5\u4E2D..."));try{const u=yield M.App.Check.POST({name:n});if(d.Close(),u!=null&&u.data){const{result:r,error:c}=u.data;if(c)E.Warning(c);else if(r){if(r.status=="installed")return!0;if(confirm(Jt("\u68C0\u6D4B\u5230\u4F60\u5C1A\u672A\u5B89\u88C5 %{name} \u63D2\u4EF6,\u662F\u5426\u5B89\u88C5\uFF1F",{name:i}))){d=E.Loading(Jt("\u6B63\u5728\u5B89\u88C5\u4E2D..."));const _=yield Et.installApp(a||n);if(d.Close(),_)return!0;E.Error(Jt("\u5B89\u88C5\u5931\u8D25\u6216\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8F6F\u4EF6\u6E90\u6216\u7A0D\u5019\u91CD\u8BD5"))}}else E.Warning(Jt("\u68C0\u67E5\u63D2\u4EF6\u72B6\u6001\u5931\u8D25"))}return!1}catch(u){return d.Close(),E.Warning(u),!1}}),installAndGo:(n,i,a,d)=>L(Qt,null,function*(){(yield Et.checkAndInstallApp(n,i,d))&&(location.href=a)})},Nr={},Or={t:"1640746738262",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1216",width:"128",height:"128"},Vr=t("path",{d:"M511.232 438.8352L112.9984 40.6016A51.2 51.2 0 0 0 40.6016 112.9984L438.784 511.232 40.6016 909.4656a51.2 51.2 0 1 0 72.3968 72.448l398.2336-398.2848 398.2336 398.2848a51.2 51.2 0 1 0 72.448-72.448l-398.2848-398.2336 398.2848-398.2336A51.2 51.2 0 0 0 909.4656 40.6016L511.232 438.784z","p-id":"1217"},null,-1),Gr=[Vr];function jr(n,i){return s(),l("svg",Or,Gr)}var qr=N(Nr,[["render",jr]]);const Ur=n=>(st("data-v-a96d68d4"),n=n(),dt(),n),Rr={id:"actioner"},Wr={key:0,class:"action-container"},Hr={class:"action-container_header"},Zr=Ur(()=>t("div",null,null,-1)),Jr={class:"title"},Kr=["title"],Qr={class:"action-container_body"},Xr=G({props:{Close:{type:Function},type:{type:Number},title:String},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1);At(()=>{u.value=!0,document.body.setAttribute("lock-scroll","true")}),Ot(()=>{document.body.removeAttribute("lock-scroll")});const r=()=>{i.Close&&(u.value=!1,setTimeout(()=>{i.Close&&i.Close()},300))};return(c,_)=>(s(),l("div",Rr,[t("div",{class:"bg",onClick:r}),n.type!=null?Pt(c.$slots,"default",{key:0},void 0,!0):(s(),l(O,{key:1},[u.value?(s(),l("div",Wr,[t("div",Hr,[Zr,t("div",Jr,o(n.title),1),t("button",{class:"close",title:e(a)("\u5173\u95ED"),onClick:r},[z(qr)],8,Kr)]),t("div",Qr,[Pt(c.$slots,"default",{},void 0,!0)])])):C("",!0)],64))]))}});var ts=N(Xr,[["__scopeId","data-v-a96d68d4"]]);const ht=G({props:{Close:{type:Function},type:{type:Number},title:String},setup(n){return(i,a)=>(s(),H(ts,{Close:n.Close,type:n.type,title:n.title},{default:R(()=>[Pt(i.$slots,"default")]),_:3},8,["Close","type","title"]))}}),es=["onSubmit"],as={class:"actioner-dns_header"},os={class:"actioner-dns_body"},ns={class:"label-item"},is={class:"label-item_key"},rs={class:"label-item_value"},ss=["disabled"],ds={value:"manual"},ls={class:"label-item"},us={class:"label-item_key"},cs={class:"label-item_value"},ps=["placeholder","onUpdate:modelValue"],fs={class:"label-item_key"},ms={class:"label-item_value"},vs=["placeholder","onUpdate:modelValue"],bs={key:1,class:"label-message"},gs={class:"actioner-dns_footer"},hs=["disabled"],_s={key:1,class:"actioner-dns"},xs={class:"actioner-dns_header"},ws={class:"actioner-dns_body"},ks={class:"config-message"},ys={class:"actioner-dns_footer"},Fs=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=ge(),c=r.status,_=X(()=>r.status.proto!="static"),h=()=>{let k=c.dnsList||[];for(k=k.filter(f=>f);k.length<2;)k.push("");return k},p=$({interfaceName:c.defaultInterface||"",dnsProto:c.dnsProto||"manual",manualDnsIp:h()}),v=$(""),b=$(!1),x=()=>L(this,null,function*(){v.value="";let k={};switch(p.value.dnsProto){case"auto":break;case"manual":if(k.manualDnsIp=[],!p.value.manualDnsIp[0]){E.Error(a("\u81F3\u5C11\u9700\u8981\u586B\u5199\u4E00\u4E2ADNS"));return}k.manualDnsIp=p.value.manualDnsIp.filter(m=>m);break}k.dnsProto=p.value.dnsProto,k.interfaceName=p.value.interfaceName;const f=E.Loading(a("\u914D\u7F6E\u4E2D..."));try{const m=yield M.Guide.DnsConfig.POST(k);if(m!=null&&m.data){const{success:g,error:F}=m==null?void 0:m.data;F&&(v.value=F),(g==null||g==0)&&(E.Success(a("\u914D\u7F6E\u6210\u529F")),u.value=1)}}catch(m){v.value=m}f.Close()}),y=k=>{k.preventDefault(),i.Close&&i.Close()},w=k=>{location.reload()};return(k,f)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0?(s(),l("form",{key:0,class:"actioner-dns",onSubmit:pt(x,["prevent"])},[t("div",as,[t("span",null,o(e(a)("DNS\u914D\u7F6E")),1)]),t("div",os,[t("div",ns,[t("div",is,[t("span",null,o(e(a)("DNS\u9009\u9879")),1)]),t("div",rs,[T(t("select",{"onUpdate:modelValue":f[0]||(f[0]=m=>p.value.dnsProto=m)},[t("option",{value:"auto",disabled:!e(_)},o(e(a)("\u81EA\u52A8\u83B7\u53D6DNS")),9,ss),t("option",ds,o(e(a)("\u81EA\u5B9A\u4E49DNS")),1)],512),[[rt,p.value.dnsProto]])])]),p.value.dnsProto=="manual"?(s(!0),l(O,{key:0},J(p.value.manualDnsIp,(m,g)=>(s(),l("div",ls,[g==0?(s(),l(O,{key:0},[t("div",us,[t("span",null,o(e(a)("DNS\u670D\u52A1\u5668\u5730\u5740")),1)]),t("div",cs,[T(t("input",{type:"text",placeholder:e(a)("\u8BF7\u8F93\u5165DNS\u5730\u5740"),required:"","onUpdate:modelValue":F=>p.value.manualDnsIp[g]=F},null,8,ps),[[tt,p.value.manualDnsIp[g],void 0,{trim:!0}]])])],64)):(s(),l(O,{key:1},[t("div",fs,o(e(a)("\u5907\u7528DNS\u670D\u52A1\u5668\u5730\u5740")),1),t("div",ms,[T(t("input",{type:"text",placeholder:e(a)("\u5907\u7528DNS\u5730\u5740"),"onUpdate:modelValue":F=>p.value.manualDnsIp[g]=F},null,8,vs),[[tt,p.value.manualDnsIp[g],void 0,{trim:!0}]])])],64))]))),256)):C("",!0),v.value?(s(),l("div",bs,o(v.value),1)):C("",!0)]),t("div",gs,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:b.value},o(e(a)("\u786E\u8BA4")),9,hs),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:y},o(e(a)("\u53D6\u6D88")),1)])],40,es)):u.value==1?(s(),l("div",_s,[t("div",xs,[t("span",null,o(e(a)("DNS\u914D\u7F6E")),1)]),t("div",ws,[t("div",ks,o(e(a)("DNS\u914D\u7F6E\u5DF2\u4FDD\u5B58")),1)]),t("div",ys,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:w},o(e(a)("\u5B8C\u6210")),1)])])):C("",!0)]),_:1},8,["Close"]))}});var Es=N(Fs,[["__scopeId","data-v-2ac87be2"]]);const Aa=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Es,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},$s=n=>(st("data-v-4ca82311"),n=n(),dt(),n),Cs={class:"action"},Ds={class:"action-body"},Bs=$s(()=>t("div",{class:"icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),Ys={class:"title"},As={class:"info"},Ss=["href"],zs={class:"btns"},Ps=G({props:{port:Number,Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>`http://${location.hostname}:${i.port}`),r=()=>{i.Close&&(i.Close(),location.reload())};return(c,_)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("div",Cs,[t("div",Ds,[Bs,t("h2",Ys,o(e(a)("\u670D\u52A1\u5DF2\u542F\u52A8")),1),t("div",As,[t("span",null,o(e(a)("\u524D\u5F80")),1),t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,Ss),t("span",null,o(e(a)("\u8FDB\u884C\u6D4B\u901F")),1)]),t("div",zs,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:r},o(e(a)("\u5173\u95ED")),1)])])])]),_:1})]),_:1}))}});var Ts=N(Ps,[["__scopeId","data-v-4ca82311"]]),Is=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Ts,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Sa=n=>(st("data-v-17b89cb7"),n=n(),dt(),n),Ls=Sa(()=>t("div",{class:"app-container_status-label_iconer"},[t("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:v":"https://vecta.io/nano",width:"48",height:"38",viewBox:"0 0 12.7 10.05"},[t("defs",null,[t("filter",{id:"A","color-interpolation-filters":"sRGB"},[t("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),t("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),t("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),t("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),t("g",{transform:"translate(0 -286.95)"},[t("rect",{x:".21",y:"287.25",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),t("path",{transform:"matrix(.105 0 0 .0989 -6.0834 280.6)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#999",filter:"url(#A)",stroke:"#999","stroke-width":"2.5"}),t("g",{transform:"matrix(.1048 0 0 .1048 -6.0999 280.7)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[t("use",{"xlink:href":"#B"}),t("use",{"xlink:href":"#B",x:"73.04"}),t("use",{"xlink:href":"#B",x:"52.17"}),t("use",{"xlink:href":"#B",x:"41.74"}),t("use",{"xlink:href":"#B",x:"31.3"}),t("use",{"xlink:href":"#B",x:"20.87"}),t("use",{"xlink:href":"#B",x:"10.43"}),t("use",{"xlink:href":"#B",x:"62.61"})]),t("rect",{x:"1.24",y:"294.55",width:"1.6",height:"1.38",ry:".11",fill:"#ccc",stroke:"#ccc","stroke-width":".22","paint-order":"normal"})])])],-1)),Ms={class:"app-container_status-label_text"},Ns={class:"text_status"},Os={class:"text_info"},Vs=Sa(()=>t("div",{class:"app-container_status-label_iconer"},[t("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"48",height:"38",viewBox:"0 0 12.7 10.05","xmlns:v":"https://vecta.io/nano"},[t("defs",null,[t("filter",{id:"A","color-interpolation-filters":"sRGB"},[t("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),t("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),t("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),t("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),t("g",{transform:"translate(-.03 -287.07)"},[t("rect",{x:".24",y:"287.36",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),t("path",{transform:"matrix(.105 0 0 .0989 -6.0532 280.72)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#4d4d4d",filter:"url(#A)",stroke:"#4d4d4d","stroke-width":"2.5"}),t("g",{transform:"matrix(.1048 0 0 .1048 -6.0697 280.81)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[t("use",{"xlink:href":"#B"}),t("use",{"xlink:href":"#B",x:"73.04"}),t("use",{"xlink:href":"#B",x:"52.17"}),t("use",{"xlink:href":"#B",x:"41.74"}),t("use",{"xlink:href":"#B",x:"31.3"}),t("use",{"xlink:href":"#B",x:"20.87"}),t("use",{"xlink:href":"#B",x:"10.43"}),t("use",{"xlink:href":"#B",x:"62.61"})]),t("rect",{x:"1.27",y:"294.67",width:"1.6",height:"1.38",ry:".11",fill:"#55d400",stroke:"#55d400","stroke-width":".22","paint-order":"normal"})])])],-1)),Gs={class:"app-container_status-label_text"},js={class:"text_info"},qs=G({props:{item:{type:Object,required:!0},transform:{type:Number,default:0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=Ea(),r=$(null),c=h=>{const p=h.target,{left:v,top:b}=p.getBoundingClientRect();u.portitemStyle.show=!0,u.portitemStyle.left=v,u.portitemStyle.top=b,u.portitemStyle.portitem=i.item},_=h=>{u.portitemStyle.show=!1};return(h,p)=>(s(),l("div",{class:"app-container_status-label_bg",style:Bt(`transform: translateX(${n.transform}px);`),ref_key:"el",ref:r,onMouseenter:c,onMouseleave:_},[n.item.linkState=="DOWN"?(s(),l(O,{key:0},[Ls,t("div",Ms,[t("div",Ns,o(e(a)("\u5DF2\u65AD\u5F00")),1),t("div",Os,o(n.item.name)+" "+o(n.item.interfaceNames?`(${n.item.interfaceNames.join(",").toLocaleUpperCase()})`:""),1)])],64)):(s(),l(O,{key:1},[Vs,t("div",Gs,[t("div",null,o(n.item.linkSpeed),1),t("div",js,o(n.item.name)+" "+o(n.item.interfaceNames?`(${n.item.interfaceNames.join(",").toLocaleUpperCase()})`:""),1)])],64))],36))}});var za=N(qs,[["__scopeId","data-v-17b89cb7"]]);const Pa=n=>(st("data-v-6f355f28"),n=n(),dt(),n),Us=Pa(()=>t("span",null,o("<"),-1)),Rs=[Us],Ws=Pa(()=>t("span",null,o(">"),-1)),Hs=[Ws],Zs=G({props:{portList:{type:Array,required:!0}},setup(n){const i=$(),a=$(0),d=$(0),u=$(0),r=$(!1),c=()=>{if(u.value>=0){u.value=0;return}u.value+=100},_=()=>{if(u.value<=0-a.value+d.value){u.value=0-a.value+d.value;return}u.value-=100};return At(()=>{Ue(()=>{i.value&&(a.value=i.value.scrollWidth,d.value=i.value.clientWidth,r.value=a.value>d.value)})}),(h,p)=>(s(),l("div",{class:"app-interfaces",ref_key:"el",ref:i},[r.value?(s(),l(O,{key:0},[t("a",{class:"btn-f",onClick:c},Rs),t("a",{class:"btn-r",onClick:_},Hs)],64)):C("",!0),(s(!0),l(O,null,J(n.portList,(v,b)=>(s(),H(za,{item:v,transform:u.value},null,8,["item","transform"]))),256))],512))}});var Js=N(Zs,[["__scopeId","data-v-6f355f28"]]);const Ks={},Qs={width:"82px",height:"82px",viewBox:"0 0 82 82",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Xs=qt('',1),td=[Xs];function ed(n,i){return s(),l("svg",Qs,td)}var Ze=N(Ks,[["render",ed]]);const ad=["onSubmit"],od={class:"actioner-dns_header"},nd={class:"actioner-dns_body"},id={class:"label-item"},rd={class:"label-item_key"},sd={class:"label-item_value"},dd={class:"item_info"},ld={class:"label-item"},ud={class:"label-item_key"},cd={class:"label-item_value"},pd={selected:"true",value:""},fd=["value"],md={class:"actioner-dns_footer"},vd=["disabled"],bd={key:1,class:"actioner-dns"},gd={class:"actioner-dns_header"},hd={class:"softsource_tit"},_d={class:"actioner-dns_body"},xd={class:"finished"},wd={class:"successed"},kd={class:"btns"},yd=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=$(""),c=$(),_=$();(()=>{M.Guide.SoftSourceList.GET().then(x=>{var y,w;if((y=x==null?void 0:x.data)!=null&&y.result){const k=(w=x==null?void 0:x.data)==null?void 0:w.result;_.value=k}}).then(()=>M.Guide.GetSoftSource.GET()).then(x=>{var y,w;if((y=x==null?void 0:x.data)!=null&&y.result){const k=x.data.result;c.value=k.softSource,(w=_.value)!=null&&w.softSourceList.find(f=>f.identity==k.softSource.identity)&&(r.value=k.softSource.identity)}})})();const p=x=>{x.preventDefault(),i.Close&&i.Close()},v=x=>{const y=E.Loading(a("\u6B63\u5728\u5207\u6362\u4E2D..."));M.Guide.SoftSource.POST({softSourceIdentity:r.value}).then(w=>{if(w!=null&&w.data){if((w.data.success||0)==0){u.value=1;return}else if(w.data.error)throw w.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(w=>{E.Error(w)}).finally(()=>y.Close())},b=x=>{x.preventDefault(),location.reload()};return(x,y)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>{var w,k;return[u.value==0?(s(),l("form",{key:0,class:"actioner-dns",onSubmit:pt(v,["prevent"])},[t("div",od,[t("span",null,o(e(a)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1)]),t("div",nd,[t("div",id,[t("div",rd,[t("span",null,o(e(a)("\u5F53\u524D\u8F6F\u4EF6\u6E90")),1)]),t("div",sd,[t("p",dd,o((w=c.value)==null?void 0:w.name),1)])]),t("div",ld,[t("div",ud,[t("span",null,o(e(a)("\u5207\u6362\u8F6F\u4EF6\u6E90")),1)]),t("div",cd,[T(t("select",{name:"",id:"","onUpdate:modelValue":y[0]||(y[0]=f=>r.value=f)},[t("option",pd,o(e(a)("\u8BF7\u9009\u62E9\u8F6F\u4EF6\u6E90")),1),(s(!0),l(O,null,J((k=_.value)==null?void 0:k.softSourceList,(f,m)=>(s(),l("option",{value:f.identity,key:m},o(f.name),9,fd))),128))],512),[[rt,r.value,void 0,{trim:!0}]])])])]),t("div",md,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:r.value==""},o(e(a)("\u786E\u8BA4")),9,vd),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:p},o(e(a)("\u53D6\u6D88")),1)])],40,ad)):C("",!0),u.value==1?(s(),l("form",bd,[t("div",gd,[t("span",hd,o(e(a)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1)]),t("div",_d,[t("div",xd,[z(Ze)]),t("p",wd,o(e(a)("\u914D\u7F6E\u6210\u529F\uFF01")),1),t("div",kd,[t("button",{class:"cbi-button cbi-button-apply softsource_successed",onClick:b},o(e(a)("\u786E\u5B9A")),1)])])])):C("",!0)]}),_:1},8,["Close"]))}});var Fd=N(yd,[["__scopeId","data-v-2deed63d"]]);const Ta=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Fd,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Wt=n=>(st("data-v-3e27ac04"),n=n(),dt(),n),Ed={class:"app-container_status-label"},$d={class:"app-container_status-label_item",style:{"padding-right":"10px"}},Cd={class:"app-container_status-container",style:{height:"100%"}},Dd={key:0,class:"app-container_status-container_body"},Bd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-connected",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng","fill-rule":"nonzero"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.0779329313",fill:"#553AFE"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#553AFE"}),t("path",{d:"M8,15 L13.2546984,20.2546984 C13.6452227,20.6452227 14.2783876,20.6452227 14.6689119,20.2546984 C14.6813066,20.2423037 14.6933732,20.2295853 14.7050993,20.2165563 L23,11 L23,11",id:"Path-3",stroke:"#FFFFFF","stroke-width":"2","stroke-linecap":"round"})])])])],-1)),Yd={class:"app-container_status-info"},Ad={class:"container_success"},Sd={class:"container_time"},zd={key:1,class:"app-container_status-container_body"},Pd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#FAAD14","fill-rule":"nonzero"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#FAAD14","fill-rule":"nonzero"}),t("path",{d:"M15,6 C15.8284271,6 16.5,6.67157288 16.5,7.5 L16.5,18.5 C16.5,19.3284271 15.8284271,20 15,20 C14.1715729,20 13.5,19.3284271 13.5,18.5 L13.5,7.5 C13.5,6.67157288 14.1715729,6 15,6 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"}),t("path",{d:"M15,25 C14.171875,25 13.5,24.328125 13.5,23.5 C13.5,22.671875 14.171875,22 15,22 C15.828125,22 16.5,22.671875 16.5,23.5 C16.5,24.328125 15.828125,25 15,25 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"})])])])],-1)),Td={class:"app-container_status-info"},Id={class:"container_failure"},Ld={class:"container_time"},Md={key:2,class:"app-container_status-container_body"},Nd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#FAAD14","fill-rule":"nonzero"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#FAAD14","fill-rule":"nonzero"}),t("path",{d:"M15,6 C15.8284271,6 16.5,6.67157288 16.5,7.5 L16.5,18.5 C16.5,19.3284271 15.8284271,20 15,20 C14.1715729,20 13.5,19.3284271 13.5,18.5 L13.5,7.5 C13.5,6.67157288 14.1715729,6 15,6 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"}),t("path",{d:"M15,25 C14.171875,25 13.5,24.328125 13.5,23.5 C13.5,22.671875 14.171875,22 15,22 C15.828125,22 16.5,22.671875 16.5,23.5 C16.5,24.328125 15.828125,25 15,25 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"})])])])],-1)),Od={class:"app-container_status-info"},Vd={class:"container_failure"},Gd={class:"container_time"},jd={key:3,class:"app-container_status-container_body"},qd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#FAAD14","fill-rule":"nonzero"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#FAAD14","fill-rule":"nonzero"}),t("path",{d:"M15,6 C15.8284271,6 16.5,6.67157288 16.5,7.5 L16.5,18.5 C16.5,19.3284271 15.8284271,20 15,20 C14.1715729,20 13.5,19.3284271 13.5,18.5 L13.5,7.5 C13.5,6.67157288 14.1715729,6 15,6 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"}),t("path",{d:"M15,25 C14.171875,25 13.5,24.328125 13.5,23.5 C13.5,22.671875 14.171875,22 15,22 C15.828125,22 16.5,22.671875 16.5,23.5 C16.5,24.328125 15.828125,25 15,25 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"})])])])],-1)),Ud={class:"app-container_status-info"},Rd={class:"container_failure"},Wd={class:"container_time"},Hd={key:4,class:"app-container_status-container_body"},Zd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-launching",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng","fill-rule":"nonzero"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#3ED4AB"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#3ED4AB"}),t("path",{d:"M11.5738525,15.0233901 C11.5738525,14.8431935 11.5023882,14.6703653 11.3750746,14.5429471 C11.2477609,14.4155288 11.0750745,14.3439644 10.8950258,14.3440059 L7.67882684,14.3440059 C7.49875102,14.3439644 7.326041,14.4155503 7.19872281,14.5430024 C7.07140462,14.6704545 6.99991721,14.8433228 7.00000007,15.0235465 C7.00000007,15.2037431 7.0714644,15.3765713 7.19877809,15.5039895 C7.32609178,15.6314078 7.4987781,15.7029722 7.67882684,15.7029307 L10.8950258,15.7029307 C11.0750745,15.7029722 11.2477609,15.6314078 11.3750746,15.5039895 C11.5023882,15.3765713 11.5738525,15.2037431 11.5738525,15.0235465 L11.5738525,15.0233901 Z M22.3211553,14.3440059 L19.1049564,14.3440059 C18.9248806,14.3439644 18.7521705,14.4155503 18.6248524,14.5430024 C18.4975342,14.6704545 18.4260468,14.8433228 18.4261296,15.0235465 C18.4261296,15.2037431 18.4975939,15.3765713 18.6249076,15.5039895 C18.7522213,15.6314078 18.9249076,15.7029722 19.1049564,15.7029307 L22.3211553,15.7029307 C22.5012041,15.7029722 22.6738904,15.6314078 22.8012041,15.5039895 C22.9285178,15.3765713 22.9999911,15.2037431 22.9999911,15.0235465 C23.0019042,14.6481319 22.6962619,14.3440059 22.3211553,14.3440059 Z M15.0075079,18.6494887 C14.8274565,18.6494887 14.6547678,18.7210138 14.5274536,18.8484354 C14.4001395,18.9758571 14.3286356,19.1486892 14.3286812,19.3288885 L14.3286812,22.3206158 C14.3286398,22.5008124 14.4001455,22.6736405 14.5274592,22.8010588 C14.6547729,22.928477 14.8274592,23 15.0075079,23 C15.1875567,23 15.360243,22.928477 15.4875567,22.8010588 C15.6148704,22.6736405 15.6863761,22.5008124 15.6863348,22.3206158 L15.6863348,19.3308123 C15.6866114,18.9551699 15.3828413,18.6502825 15.0075079,18.6494887 Z M15.0075079,7 C14.8274592,7 14.6547729,7.07152297 14.5274592,7.19894122 C14.4001455,7.32635946 14.3286398,7.49918761 14.3286812,7.67938422 L14.3286812,10.8982245 C14.3286398,11.0784212 14.4001455,11.2512493 14.5274592,11.3786675 C14.6547729,11.5060858 14.8274592,11.5776088 15.0075079,11.5776088 C15.1875567,11.5776088 15.360243,11.5060858 15.4875567,11.3786675 C15.6148704,11.2512493 15.6863761,11.0784212 15.6863346,10.8982245 L15.6863346,7.67938422 C15.6863761,7.49918761 15.6148704,7.32635946 15.4875567,7.19894122 C15.360243,7.07152297 15.1875567,7 15.0075079,7 Z M11.6020132,17.4145291 L9.32916742,19.6892415 C9.06467707,19.9548666 9.06467707,20.3845576 9.32916742,20.6501827 C9.45618492,20.7780764 9.62906847,20.8497648 9.80924376,20.8492554 C9.98367775,20.8492554 10.1560177,20.783579 10.2893201,20.6501827 L12.5637599,18.3738593 C12.8282503,18.1082342 12.8282503,17.6785432 12.5637599,17.4129181 C12.2975184,17.147886 11.8671244,17.1486768 11.601857,17.4146855 L11.6020132,17.4145291 Z M17.8766048,12.7750942 C18.0510388,12.7750942 18.2236912,12.7094361 18.3566811,12.5760242 L20.6314491,10.29956 C20.8959395,10.0339349 20.8959395,9.6042439 20.6314491,9.3386188 C20.366042,9.07391123 19.9367036,9.07391123 19.6712965,9.3386188 L17.3966847,11.6133312 C17.1321944,11.8789563 17.1321944,12.3086474 17.3966847,12.5742725 C17.5235351,12.7026276 17.6963754,12.7749288 17.8767611,12.7750942 L17.8766048,12.7750942 Z M18.5349595,17.572293 C18.2695524,17.3075854 17.8402139,17.3075854 17.5748068,17.572293 C17.3103165,17.8379181 17.3103165,18.2676091 17.5748068,18.5332342 L19.6882679,20.6501827 C19.8152854,20.7780764 19.988169,20.8497648 20.1683442,20.8492554 C20.342747,20.8492554 20.5152744,20.783579 20.6484206,20.6501827 C20.9129109,20.3845576 20.9129109,19.9548666 20.6484206,19.6892415 L18.5349595,17.5722773 L18.5349595,17.572293 Z M10.2891638,9.35734026 C10.0237567,9.09263269 9.59441827,9.09263269 9.32901114,9.35734026 C9.06452079,9.62296536 9.06452079,10.0526564 9.32901114,10.3182815 L11.6037635,12.594902 C11.7308042,12.7227441 11.9036849,12.7943806 12.0838399,12.7938344 C12.2582738,12.7938344 12.43077,12.7281576 12.5639162,12.594902 C12.8284065,12.3292769 12.8284065,11.8995859 12.5639162,11.6339608 L10.2891638,9.3573559 L10.2891638,9.35734026 Z",id:"Shape",fill:"#FFFFFF"})])])])],-1)),Jd={class:"app-container_status-info"},Kd={class:"container_failure"},Qd={class:"app-container_status-label_item",style:{"padding-left":"10px"}},Xd={class:"app-container_status-container",style:{height:"100%"}},tl=["title"],el={class:"DeviceBlock"},al={class:"app-container_status-container_body"},ol=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_device-number",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng","fill-rule":"nonzero"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.0804503114",fill:"#03C5FC"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#03C5FC"}),t("g",{id:"kehuduanIP",transform:"translate(5.000000, 7.000000)",fill:"#FFFFFF"},[t("path",{d:"M8.3164557,11.2822134 L2.39240506,11.2822134 C2.25316456,11.2822134 2.13924051,11.1683794 2.13924051,11.029249 L2.13924051,1.39130435 C2.13924051,1.25217391 2.25316456,1.13833992 2.39240506,1.13833992 L16.6075949,1.13833992 C16.7468354,1.13833992 16.8607595,1.25217391 16.8607595,1.39130435 L16.8607595,3.51620553 C17.2658228,3.5541502 17.6582278,3.69328063 18,3.9083004 L18,1.39130435 C18,0.619762846 17.3797468,0 16.6075949,0 L2.39240506,0 C1.62025316,0 1,0.619762846 1,1.39130435 L1,11.029249 C1,11.8007905 1.62025316,12.4205534 2.39240506,12.4205534 L7.15189873,12.4205534 L7.15189873,14.2798419 L6.40506329,14.2798419 C5.93670886,14.2798419 5.5443038,14.6592885 5.5443038,15.1399209 C5.5443038,15.6079051 5.92405063,16 6.40506329,16 L8.79746835,16 C8.48101266,15.5699605 8.3164557,15.0513834 8.3164557,14.5201581 L8.3164557,11.2822134 Z",id:"Path"}),t("path",{d:"M12.4062969,15.2371365 L12.4062969,14.0436242 L10.0074963,14.0436242 L10.0074963,6.39038031 C10.0074963,6.23042506 10.1394303,6.10738255 10.2833583,6.10738255 L15.6446777,6.10738255 C15.8005997,6.10738255 15.9205397,6.24272931 15.9205397,6.39038031 L15.9205397,8.77740492 L16.3283358,8.77740492 C16.5682159,8.77740492 16.7961019,8.85123043 17,8.97427293 L17,6.39038031 C17,5.62751678 16.3883058,5 15.6446777,5 L10.3313343,5 C9.58770615,5.0246085 9,5.63982103 9,6.39038031 L9,14.6465324 C9.02398801,15.3847875 9.61169415,15.9753915 10.3313343,16 L12.6581709,16 C12.5022489,15.7785235 12.4182909,15.50783 12.4062969,15.2371365 C12.4062969,15.2248322 12.4062969,15.2371365 12.4062969,15.2371365 L12.4062969,15.2371365 Z",id:"Path"}),t("path",{d:"M17.1515152,10 L13.8484848,10 C13.3787879,10 13,10.2857143 13,10.64 L13,15.36 C13,15.7142857 13.3787879,16 13.8484848,16 L17.1515152,16 C17.6212121,16 18,15.7142857 18,15.36 L18,10.64 C18,10.2857143 17.6212121,10 17.1515152,10 Z M14.0151515,10.7657143 L16.9848485,10.7657143 L16.9848485,14.8457143 L14.0151515,14.8457143 L14.0151515,10.7657143 L14.0151515,10.7657143 Z M15.4545455,15.6914286 C15.2575758,15.6914286 15.1060606,15.5657143 15.1060606,15.4285714 C15.1060606,15.28 15.2727273,15.1657143 15.469697,15.1657143 C15.6666667,15.1657143 15.8181818,15.2914286 15.8181818,15.44 C15.8181818,15.5085714 15.7727273,15.5885714 15.6969697,15.6342857 C15.6363636,15.68 15.5454545,15.7028571 15.4545455,15.6914286 C15.4545455,15.7028571 15.4545455,15.6914286 15.4545455,15.6914286 L15.4545455,15.6914286 Z",id:"Shape"})])])])])],-1)),nl={class:"app-container_status-info"},il={class:"container_content"},rl={class:"devise"},sl=Wt(()=>t("em",null,null,-1)),dl={class:"app-container_status-container"},ll=["title"],ul={class:"DeviceBlock"},cl={class:"app-container_title"},pl={class:"app-container_status-label_block"},fl={class:"app-container_status-label_block"},ml={class:"app-container_title"},vl={class:"app-container_status-label_block"},bl=Wt(()=>t("em",null,null,-1)),gl={class:"app-container_status-container"},hl={class:"app-container_title"},_l=["title"],xl={class:"DeviceBlock"},wl={class:"app-container_body"},kl=G({props:{homebox:{type:Object}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=ge(),u=()=>L(this,null,function*(){d.setDeviceShow(!0)}),r=()=>{Aa()},c=()=>{Ta()},_=X(()=>d.status),h=X(()=>d.deviceList),p=$(!1),v=$(!1),b=$(!1),x=bt({portList:[],load:!1}),y=D=>{switch(D){case"pppoe":return i("\u62E8\u53F7\u4E0A\u7F51");case"static":return i("\u9759\u6001\u7F51\u7EDC");case"dhcp":return"DHCP"}return D&&D.toUpperCase()},w=D=>{switch(D){case"manual":return i("\u624B\u52A8\u914D\u7F6E");case"auto":return i("\u81EA\u52A8\u83B7\u53D6");default:return""}},k=()=>{(x.load&&document.hidden?Promise.resolve():M.Network.PortList.GET().then(D=>{if(D!=null&&D.data){const{result:I}=D==null?void 0:D.data;I&&(x.portList=I.ports||[])}})).finally(()=>{x.load=!0,setTimeout(k,1e4)})};k();const f=It.stampForm,m=()=>{p.value=!p.value},g=()=>{v.value=!v.value},F=()=>{b.value=!b.value},Y=()=>{m(),Et.installAndGo("app-meta-nlbwmon",i("\u5E26\u5BBD\u76D1\u63A7"),"/cgi-bin/luci/admin/services/nlbw")},S=()=>L(this,null,function*(){var D,I,at;if(g(),yield Et.checkAndInstallApp("app-meta-homebox","Homebox"))try{const A=yield M.Network.Homebox.Enable.POST();(I=(D=A==null?void 0:A.data)==null?void 0:D.result)!=null&&I.port?Is({port:A.data.result.port,setup:0}):((at=A==null?void 0:A.data)==null?void 0:at.success)==0?location.href="/cgi-bin/luci/admin/services/homebox":E.Warning(i("\u542F\u52A8\u5931\u8D25"))}catch(A){E.Warning(i("\u542F\u52A8\u5931\u8D25"))}}),B=()=>{g(),Et.installAndGo("app-meta-systools","SysTools","/cgi-bin/luci/admin/system/systools/pages")};return(D,I)=>{var A,P;const at=ft("router-link");return s(),l(O,null,[t("div",Ed,[t("div",$d,[t("div",Cd,[e(_)!=null?(s(),l(O,{key:0},[e(_).networkInfo=="netSuccess"?(s(),l("div",Dd,[Bd,t("div",Yd,[t("span",Ad,o(e(i)("\u5DF2\u8054\u7F51")),1),t("span",Sd,o(e(f)(e(_).uptimeStamp)),1)])])):e(_).networkInfo=="dnsFailed"?(s(),l("div",zd,[Pd,t("div",Td,[t("span",Id,o(e(i)("DNS\u9519\u8BEF")),1),t("span",Ld,o(e(f)(e(_).uptimeStamp)),1),t("div",{onClick:r,class:"container_configure"},o(e(i)("DNS\u914D\u7F6E")),1)])])):e(_).networkInfo=="softSourceFailed"?(s(),l("div",Md,[Nd,t("div",Od,[t("span",Vd,o(e(i)("\u8F6F\u4EF6\u6E90\u9519\u8BEF")),1),t("span",Gd,o(e(f)(e(_).uptimeStamp)),1),t("div",{onClick:c,class:"container_configure"},o(e(i)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1)])])):e(_).networkInfo=="netFailed"?(s(),l("div",jd,[qd,t("div",Ud,[t("span",Rd,o(e(i)("\u672A\u8054\u7F51")),1),t("span",Wd,o(e(f)(e(_).uptimeStamp)),1)])])):(s(),l("div",Hd,[Zd,t("div",Jd,[t("span",Kd,o(e(i)("\u68C0\u6D4B\u4E2D...")),1)])]))],64)):C("",!0)])]),t("div",Qd,[t("div",Xd,[t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u8BBE\u5907\u4FE1\u606F")},[z(Gt,{onClick:m})],8,tl),T(t("div",el,[t("div",{class:"menu_background",onClick:m}),t("ul",null,[t("li",null,[t("a",{onClick:u},o(e(i)("\u8BBE\u5907\u7BA1\u7406")),1)]),t("li",null,[t("a",{onClick:Y},o(e(i)("\u5E26\u5BBD\u76D1\u63A7")),1)])])],512),[[Yt,p.value]]),t("div",al,[ol,t("div",nl,[t("span",il,o(((P=(A=e(h))==null?void 0:A.devices)==null?void 0:P.length)||0),1),t("span",rl,o(e(i)("\u5DF2\u8FDE\u63A5\u8BBE\u5907")),1)])])])])]),sl,t("div",dl,[t("span",{class:"more_icon",title:e(i)("\u6D4B\u901F")},[z(Gt,{onClick:g})],8,ll),T(t("div",ul,[t("div",{class:"menu_background",onClick:g}),t("ul",null,[t("li",null,[t("a",{onClick:S},o(e(i)("\u5185\u7F51\u6D4B\u901F")),1)]),t("li",null,[t("a",{onClick:B},o(e(i)("\u5916\u7F51\u6D4B\u901F")),1)])])],512),[[Yt,v.value]]),t("div",cl,[t("span",null,o(e(i)("IP\u5730\u5740"))+"\uFF08"+o(e(_).defaultInterface)+"\uFF09",1)]),t("div",pl,[t("span",null," IPv4: "+o(e(_).ipv4addr)+" \uFF08"+o(y(e(_).proto||""))+"\uFF09 ",1)]),t("div",fl,[t("span",null,"IPv6: "+o(e(_).ipv6addr),1)]),t("div",ml,[t("span",null,"DNS\uFF08"+o(w(e(_).dnsProto))+"\uFF09",1)]),(s(!0),l(O,null,J(e(_).dnsList,V=>(s(),l("div",vl,[t("span",null,o(V),1)]))),256))]),bl,t("div",gl,[t("div",hl,[t("span",null,o(e(i)("\u7F51\u7EDC\u63A5\u53E3\u72B6\u6001")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u7F51\u7EDC\u63A5\u53E3\u4FE1\u606F")},[z(Gt,{onClick:F})],8,_l),T(t("div",xl,[t("div",{class:"menu_background",onClick:F}),t("ul",null,[t("li",null,[z(at,{to:"/interfaceconfig"},{default:R(()=>[it(o(e(i)("\u7F51\u53E3\u914D\u7F6E")),1)]),_:1})])])],512),[[Yt,b.value]])]),t("div",wl,[e(x).load?(s(),H(Js,{key:0,portList:e(x).portList},null,8,["portList"])):C("",!0)])])],64)}}});var yl=N(kl,[["__scopeId","data-v-3e27ac04"]]);const Fl={class:"network-container"},El={class:"network-container_flow"},$l={class:"network-container_flow-container"},Cl={class:"network-container_status"},Dl=G({setup(n){return(i,a)=>(s(),l("div",Fl,[t("div",El,[t("div",$l,[z(br)])]),t("div",Cl,[z(yl)])]))}});var Bl=N(Dl,[["__scopeId","data-v-2d777a95"]]);const Yl={},Al={width:"14px",height:"14px",viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Sl=t("g",{id:"icon_alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"14",height:"14"}),t("path",{d:"M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])],-1),zl=[Sl];function Pl(n,i){return s(),l("svg",Al,zl)}var Lt=N(Yl,[["render",Pl]]);const Tl={},Il={width:"18px",height:"18px",viewBox:"0 0 18 18",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Ll=qt('',1),Ml=[Ll];function Nl(n,i){return s(),l("svg",Il,Ml)}var sa=N(Tl,[["render",Nl]]);const Ol={},Vl={width:"18px",height:"18px",viewBox:"0 0 18 18",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Gl=qt('',1),jl=[Gl];function ql(n,i){return s(),l("svg",Vl,jl)}var Ul=N(Ol,[["render",ql]]);const Je=n=>(st("data-v-3dae3be2"),n=n(),dt(),n),Rl=["onSubmit"],Wl={class:"action-header"},Hl={class:"action-header_title"},Zl={class:"action-body"},Jl={class:"disk-info"},Kl=Je(()=>t("div",{class:"disk-info_icon"},[t("svg",{t:"1642589762094",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"11301",width:"128",height:"128"},[t("path",{d:"M899.892468 123.889088c0-44.342099-36.286708-80.620486-80.624646-80.620486H204.728017C160.385918 43.268602 124.107532 79.546988 124.107532 123.889088v802.847056c0 44.342099 36.278386 80.620486 80.620485 80.620486h614.539805c44.337938 0 80.624646-36.278386 80.624646-80.620486V123.889088z",fill:"#D0D0DB","p-id":"11302"}),t("path",{d:"M169.8768 977.7772V174.930143c0-44.342099 36.278386-80.620486 80.620486-80.620485h614.539804c9.936092 0 19.426974 1.905666 28.239639 5.23434-11.525534-30.507298-40.996782-52.389169-75.398629-52.389169H203.342457c-44.342099 0-80.620486 36.278386-80.620486 80.620486v802.851217c0 34.410168 21.881871 63.873094 52.385008 75.381985A79.730065 79.730065 0 0 1 169.8768 977.7772z",fill:"#FFFFFF","p-id":"11303"}),t("path",{d:"M820.657543 40.497481H206.117739c-44.342099 0-80.620486 36.278386-80.620486 80.620485v802.847057c0 44.342099 36.278386 80.620486 80.620486 80.620486h614.539804c44.337938 0 80.624646-36.278386 80.624647-80.620486V121.117966c0-44.342099-36.286708-80.620486-80.624647-80.620485z m19.60173 828.785749c0 40.846992-33.43237 74.279362-74.287684 74.279361H199.780776c-40.855313 0-74.279362-33.424048-74.279362-74.279361V129.593603c0-40.855313 33.424048-74.279362 74.279362-74.279362h566.203296c40.842831 0 74.283522 33.424048 74.283522 74.279362l-0.008321 739.689627z",fill:"#6E6E96","p-id":"11304"}),t("path",{d:"M815.106979 1024H200.567175C146.933914 1024 103.303319 980.369405 103.303319 926.736144V123.889088C103.303319 70.255827 146.933914 26.625232 200.567175 26.625232h614.539804c53.633261 0 97.268017 43.630595 97.268017 97.263856v802.847056c0 53.633261-43.634756 97.263856-97.268017 97.263856zM200.567175 59.911972C165.287391 59.911972 136.590059 88.609303 136.590059 123.889088v802.847056c0 35.279784 28.697331 63.977115 63.977116 63.977115h614.539804c35.279784 0 63.981276-28.697331 63.981276-63.977115V123.889088c0-35.279784-28.701492-63.977115-63.981276-63.977116H200.567175z",fill:"#6E6E96","p-id":"11305"}),t("path",{d:"M301.946104 941.515457h429.985632v65.841173H301.946104z",fill:"#8A8AA1","p-id":"11306"}),t("path",{d:"M731.931736 1024H301.946104a16.64337 16.64337 0 0 1-16.64337-16.64337V941.515457a16.64337 16.64337 0 0 1 16.64337-16.64337h429.985632a16.64337 16.64337 0 0 1 16.64337 16.64337v65.841173a16.64337 16.64337 0 0 1-16.64337 16.64337z m-413.342262-33.286741h396.698892v-32.554432H318.589474v32.554432z",fill:"#6E6E96","p-id":"11307"}),t("path",{d:"M337.230049 960.318304h20.804213v47.038326h-20.804213zM386.565159 960.318304h20.804213v47.038326h-20.804213zM435.891948 960.318304h20.804213v47.038326h-20.804213zM485.231219 960.318304h20.804213v47.038326h-20.804213zM534.558008 960.318304h20.804213v47.038326h-20.804213zM583.897279 960.318304h20.804213v47.038326h-20.804213zM633.224068 960.318304h20.804213v47.038326h-20.804213zM682.563339 960.318304h20.804213v47.038326h-20.804213z",fill:"#FFE599","p-id":"11308"}),t("path",{d:"M219.153659 140.794591m-26.874883 0a26.874882 26.874882 0 1 0 53.749765 0 26.874882 26.874882 0 1 0-53.749765 0Z",fill:"#ADADD1","p-id":"11309"}),t("path",{d:"M219.153659 184.312843c-23.995579 0-43.518252-19.522673-43.518253-43.518252s19.522673-43.518252 43.518253-43.518253 43.518252 19.522673 43.518252 43.518253-19.522673 43.518252-43.518252 43.518252z m0-53.749764c-5.642103 0-10.231512 4.589409-10.231512 10.231512s4.589409 10.231512 10.231512 10.231512 10.231512-4.589409 10.231511-10.231512-4.589409-10.231512-10.231511-10.231512z",fill:"#6E6E96","p-id":"11310"}),t("path",{d:"M801.28466 140.794591m-26.870721 0a26.870721 26.870721 0 1 0 53.741442 0 26.870721 26.870721 0 1 0-53.741442 0Z",fill:"#ADADD1","p-id":"11311"}),t("path",{d:"M801.28466 184.308683c-23.995579 0-43.514092-19.518512-43.514091-43.514092s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514092z m0-53.741443c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11312"}),t("path",{d:"M801.280499 905.23291m-26.870721 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11313"}),t("path",{d:"M801.280499 948.747001c-23.995579 0-43.514092-19.518512-43.514091-43.514091s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11314"}),t("path",{d:"M219.153659 905.23291m-26.870722 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11315"}),t("path",{d:"M219.153659 948.747001c-23.995579 0-43.514092-19.518512-43.514092-43.514091s19.518512-43.514092 43.514092-43.514092 43.514092 19.518512 43.514091 43.514092-19.522673 43.514092-43.514091 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11316"}),t("path",{d:"M520.972857 777.43263c-142.542145 0-258.508988-115.971004-258.508988-258.52147a16.64337 16.64337 0 0 1 33.28674 0c0 124.19699 101.033579 225.23473 225.222248 225.23473s225.222248-101.03774 225.222248-225.23473c0-124.188668-101.033579-225.218087-225.222248-225.218087a16.64337 16.64337 0 0 1 0-33.286741c142.542145 0 258.508988 115.966843 258.508988 258.504828 0 142.550466-115.966843 258.521471-258.508988 258.52147z",fill:"#6E6E96","p-id":"11317"}),t("path",{d:"M520.968696 518.919481m-83.312551 0a83.312551 83.312551 0 1 0 166.625102 0 83.312551 83.312551 0 1 0-166.625102 0Z",fill:"#A9A9BA","p-id":"11318"}),t("path",{d:"M520.968696 618.875402c-55.114521 0-99.955921-44.83724-99.955921-99.95176 0-55.118682 44.8414-99.955921 99.955921-99.955921s99.95176 44.8414 99.95176 99.955921c0 55.11036-44.83724 99.95176-99.95176 99.95176z m0-166.625101c-36.761044 0-66.669181 29.908136-66.66918 66.66918s29.908136 66.66502 66.66918 66.66502 66.66502-29.908136 66.66502-66.66502c0-36.761044-29.903976-66.669181-66.66502-66.66918z",fill:"#6E6E96","p-id":"11319"}),t("path",{d:"M301.946104 941.515457h429.985632v36.977408H301.946104z",fill:"#6E6E96","p-id":"11320"})])],-1)),Ql={key:0,class:"disk-info_mount-name"},Xl={key:1,class:"disk-info_mount-name"},t0={key:0,class:"label-item"},e0={class:"label-item_key"},a0={class:"label-item_path"},o0={class:"label-item"},n0={class:"label-item_key"},i0={class:"label-item_value"},r0=["disabled"],s0={key:0,value:""},d0={value:"format"},l0={key:1,value:"default"},u0={class:"label-item_value"},c0={key:0,class:"msg"},p0={key:1,class:"msg"},f0={class:"action-footer"},m0=Je(()=>t("div",{class:"auto"},null,-1)),v0=["disabled"],b0=["disabled"],g0={key:1,class:"action result"},h0={class:"action-body"},_0=Je(()=>t("div",{class:"action-body_icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),x0={class:"action-body_msg"},w0={key:0,class:"action-body_info"},k0={key:1,class:"action-body_info"},y0={class:"btns"},F0=G({props:{action:String,disk:{type:Object,required:!0},mount:{type:Object},Close:{type:Function},Cancel:{type:Function},Next:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close&&i.Close()},r=F=>{F.preventDefault(),i.Cancel&&i.Cancel(),u()},c=F=>{i.Next&&i.Next(F),u()},_=$(!1),h=$(0),p=F=>{h.value=F},v=$(i.action=="nas"?"":"format"),b=$(),x=$(),y=()=>{switch(v.value){case"format":k();return;case"default":w();return;default:E.Warning(a("\u8BF7\u9009\u62E9\u9009\u9879"));return}},w=()=>{let F="";const Y=i.mount;if(Y!=null&&Y.mountPoint!=null&&(F=Y.mountPoint),F!=""){c(F);return}E.Warning(a("\u65E0\u6CD5\u8BC6\u522B\u8DEF\u5F84"))},k=()=>{const F=i.disk,Y=i.mount;if(Y){const S=Y.mountPoint||Y.path;if(!confirm(a("\u8B66\u544A\uFF1A\u683C\u5F0F\u5316\u4F1A\u6E05\u7A7A %{partname} \u5206\u533A\u6570\u636E\uFF0C\u8BF7\u4F60\u8C28\u614E\u64CD\u4F5C",{partname:S||""}))||!confirm(a("\u662F\u5426\u786E\u5B9A\u683C\u5F0F\u5316 %{partname}?",{partname:S||""})))return;m(Y);return}if(F){if(!confirm(a("\u8B66\u544A\uFF1A\u8BE5\u64CD\u4F5C\u5C06\u521D\u59CB\u5316 %{model} \u786C\u76D8\u5E76\u521B\u5EFA\u5206\u533A\uFF0C\u8BF7\u4F60\u8C28\u614E\u64CD\u4F5C",{model:F.venderModel||""}))||!confirm(a("\u662F\u5426\u786E\u5B9A\u521D\u59CB\u5316?")))return;f(F);return}E.Warning(a("\u65E0\u6CD5\u8BC6\u522B\u6570\u636E"))},f=F=>L(this,null,function*(){if(F.name==null||F.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u8BBE\u5907\u540D\u79F0"));return}if(F.path==null||F.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u8BBE\u5907\u8DEF\u5F84"));return}_.value=!0;const Y=E.Loading(a("\u521D\u59CB\u5316\u4E2D..."));try{const S=yield M.Nas.Disk.Init.POST({name:F.name,path:F.path});if(S!=null&&S.data){const{result:B,error:D}=S==null?void 0:S.data;D&&E.Warning(D),B&&(B.errorInfo?E.Warning(B.errorInfo):(E.Success(a("\u521D\u59CB\u5316\u6210\u529F")),B.childrens&&B.childrens.length>0&&(x.value=B.childrens[0]),b.value=B,p(1)))}}catch(S){E.Error(S)}Y.Close(),_.value=!1}),m=F=>L(this,null,function*(){if(F.path==null||F.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533A\u8DEF\u5F84"));return}_.value=!0;const Y=E.Loading(a("\u683C\u5F0F\u5316\u4E2D..."));try{const S=yield M.Nas.Disk.Partition.Format.POST({path:F.path,uuid:F.uuid,mountPoint:F.mountPoint});if(S!=null&&S.data){const{result:B,error:D}=S==null?void 0:S.data;D&&E.Warning(D),B&&(E.Success(a("\u683C\u5F0F\u5316\u6210\u529F")),x.value=B,p(1))}}catch(S){E.Error(S)}Y.Close(),_.value=!1}),g=()=>{if(x.value&&x.value.mountPoint){c(x.value.mountPoint);return}E.Warning(a("\u8BFB\u53D6\u7ED3\u679C\u5931\u8D25"))};return(F,Y)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>{var S;return[h.value==0?(s(),l("form",{key:0,class:"action format",onSubmit:pt(y,["prevent"])},[t("div",Wl,[t("div",Hl,o(e(a)("\u786C\u76D8\u914D\u7F6E")),1)]),t("div",Zl,[t("div",Jl,[Kl,n.mount?(s(),l("div",Ql,[t("span",null,"\u3010"+o(n.mount.total)+"\u3011",1),t("span",null,o(n.mount.mountPoint||n.mount.path),1)])):n.disk?(s(),l("div",Xl,[t("span",null,"\u3010"+o(n.disk.size)+"\u3011",1),t("span",null,o(n.disk.venderModel),1)])):C("",!0)]),n.mount?(s(),l("div",t0,[t("div",e0,[t("span",null,o(e(a)("\u76EE\u6807\u5206\u533A")),1)]),t("div",a0,o(n.mount.mountPoint||n.mount.path)+"\uFF08"+o(n.mount.total)+"\uFF09",1)])):C("",!0),t("div",o0,[t("div",n0,[t("span",null,o(e(a)("\u683C\u5F0F\u5316\u9009\u9879")),1)]),t("div",i0,[T(t("select",{"onUpdate:modelValue":Y[0]||(Y[0]=B=>v.value=B),required:"",disabled:n.action=="disk"},[n.mount!=null?(s(),l("option",s0,o(e(a)("\u8BF7\u9009\u62E9\u9009\u9879")),1)):C("",!0),t("option",d0,o(e(a)("\u683C\u5F0F\u5316")),1),n.mount!=null?(s(),l("option",l0,o(e(a)("\u4E0D\u683C\u5F0F\u5316,\u4F7F\u7528\u539F\u6587\u4EF6\u7CFB\u7EDF")),1)):C("",!0)],8,r0),[[rt,v.value]])]),t("div",u0,[v.value=="format"?(s(),l("p",c0,o(e(a)("\u683C\u5F0F\u5316\u4E3AEXT4\u6587\u4EF6\u7CFB\u7EDF")),1)):v.value=="default"?(s(),l("p",p0)):C("",!0)])])]),t("div",f0,[m0,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:r,type:"button",disabled:_.value},o(e(a)("\u8FD4\u56DE")),9,v0),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:_.value},o(e(a)("\u4E0B\u4E00\u6B65")),9,b0)])],40,Rl)):h.value==1?(s(),l("div",g0,[t("div",h0,[_0,t("div",x0,o(e(a)("\u683C\u5F0F\u5316\u6210\u529F")),1),b.value?(s(),l("div",w0,[it(o(e(a)("\u5DF2\u7ECF\u6210\u529F\u683C\u5F0F\u5316\u78C1\u76D8"))+" "+o(b.value.venderModel)+" "+o(e(a)("\u5E76\u6302\u8F7D\u5230"))+" ",1),t("a",null,o((S=x.value)==null?void 0:S.mountPoint),1)])):C("",!0),x.value?(s(),l("div",k0,[it(o(e(a)("\u5DF2\u7ECF\u6210\u529F\u521D\u59CB\u5316\u5206\u533A"))+" ",1),t("a",null,o(x.value.mountPoint),1)])):C("",!0),t("div",y0,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",type:"button",onClick:g},o(n.action=="nas"?e(a)("\u4E0B\u4E00\u6B65"):e(a)("\u5B8C\u6210")),1)])])])):C("",!0)]}),_:1})]),_:1}))}});var E0=N(F0,[["__scopeId","data-v-3dae3be2"]]),Ke=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(E0,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Te=n=>(st("data-v-5f5fb500"),n=n(),dt(),n),$0=["onSubmit"],C0=Te(()=>t("div",{class:"action-header"},[t("div",{class:"action-header_title"})],-1)),D0={class:"action-body"},B0={class:"disk-info"},Y0=Te(()=>t("div",{class:"disk-info_icon"},[t("svg",{t:"1642589762094",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"11301",width:"128",height:"128"},[t("path",{d:"M899.892468 123.889088c0-44.342099-36.286708-80.620486-80.624646-80.620486H204.728017C160.385918 43.268602 124.107532 79.546988 124.107532 123.889088v802.847056c0 44.342099 36.278386 80.620486 80.620485 80.620486h614.539805c44.337938 0 80.624646-36.278386 80.624646-80.620486V123.889088z",fill:"#D0D0DB","p-id":"11302"}),t("path",{d:"M169.8768 977.7772V174.930143c0-44.342099 36.278386-80.620486 80.620486-80.620485h614.539804c9.936092 0 19.426974 1.905666 28.239639 5.23434-11.525534-30.507298-40.996782-52.389169-75.398629-52.389169H203.342457c-44.342099 0-80.620486 36.278386-80.620486 80.620486v802.851217c0 34.410168 21.881871 63.873094 52.385008 75.381985A79.730065 79.730065 0 0 1 169.8768 977.7772z",fill:"#FFFFFF","p-id":"11303"}),t("path",{d:"M820.657543 40.497481H206.117739c-44.342099 0-80.620486 36.278386-80.620486 80.620485v802.847057c0 44.342099 36.278386 80.620486 80.620486 80.620486h614.539804c44.337938 0 80.624646-36.278386 80.624647-80.620486V121.117966c0-44.342099-36.286708-80.620486-80.624647-80.620485z m19.60173 828.785749c0 40.846992-33.43237 74.279362-74.287684 74.279361H199.780776c-40.855313 0-74.279362-33.424048-74.279362-74.279361V129.593603c0-40.855313 33.424048-74.279362 74.279362-74.279362h566.203296c40.842831 0 74.283522 33.424048 74.283522 74.279362l-0.008321 739.689627z",fill:"#6E6E96","p-id":"11304"}),t("path",{d:"M815.106979 1024H200.567175C146.933914 1024 103.303319 980.369405 103.303319 926.736144V123.889088C103.303319 70.255827 146.933914 26.625232 200.567175 26.625232h614.539804c53.633261 0 97.268017 43.630595 97.268017 97.263856v802.847056c0 53.633261-43.634756 97.263856-97.268017 97.263856zM200.567175 59.911972C165.287391 59.911972 136.590059 88.609303 136.590059 123.889088v802.847056c0 35.279784 28.697331 63.977115 63.977116 63.977115h614.539804c35.279784 0 63.981276-28.697331 63.981276-63.977115V123.889088c0-35.279784-28.701492-63.977115-63.981276-63.977116H200.567175z",fill:"#6E6E96","p-id":"11305"}),t("path",{d:"M301.946104 941.515457h429.985632v65.841173H301.946104z",fill:"#8A8AA1","p-id":"11306"}),t("path",{d:"M731.931736 1024H301.946104a16.64337 16.64337 0 0 1-16.64337-16.64337V941.515457a16.64337 16.64337 0 0 1 16.64337-16.64337h429.985632a16.64337 16.64337 0 0 1 16.64337 16.64337v65.841173a16.64337 16.64337 0 0 1-16.64337 16.64337z m-413.342262-33.286741h396.698892v-32.554432H318.589474v32.554432z",fill:"#6E6E96","p-id":"11307"}),t("path",{d:"M337.230049 960.318304h20.804213v47.038326h-20.804213zM386.565159 960.318304h20.804213v47.038326h-20.804213zM435.891948 960.318304h20.804213v47.038326h-20.804213zM485.231219 960.318304h20.804213v47.038326h-20.804213zM534.558008 960.318304h20.804213v47.038326h-20.804213zM583.897279 960.318304h20.804213v47.038326h-20.804213zM633.224068 960.318304h20.804213v47.038326h-20.804213zM682.563339 960.318304h20.804213v47.038326h-20.804213z",fill:"#FFE599","p-id":"11308"}),t("path",{d:"M219.153659 140.794591m-26.874883 0a26.874882 26.874882 0 1 0 53.749765 0 26.874882 26.874882 0 1 0-53.749765 0Z",fill:"#ADADD1","p-id":"11309"}),t("path",{d:"M219.153659 184.312843c-23.995579 0-43.518252-19.522673-43.518253-43.518252s19.522673-43.518252 43.518253-43.518253 43.518252 19.522673 43.518252 43.518253-19.522673 43.518252-43.518252 43.518252z m0-53.749764c-5.642103 0-10.231512 4.589409-10.231512 10.231512s4.589409 10.231512 10.231512 10.231512 10.231512-4.589409 10.231511-10.231512-4.589409-10.231512-10.231511-10.231512z",fill:"#6E6E96","p-id":"11310"}),t("path",{d:"M801.28466 140.794591m-26.870721 0a26.870721 26.870721 0 1 0 53.741442 0 26.870721 26.870721 0 1 0-53.741442 0Z",fill:"#ADADD1","p-id":"11311"}),t("path",{d:"M801.28466 184.308683c-23.995579 0-43.514092-19.518512-43.514091-43.514092s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514092z m0-53.741443c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11312"}),t("path",{d:"M801.280499 905.23291m-26.870721 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11313"}),t("path",{d:"M801.280499 948.747001c-23.995579 0-43.514092-19.518512-43.514091-43.514091s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11314"}),t("path",{d:"M219.153659 905.23291m-26.870722 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11315"}),t("path",{d:"M219.153659 948.747001c-23.995579 0-43.514092-19.518512-43.514092-43.514091s19.518512-43.514092 43.514092-43.514092 43.514092 19.518512 43.514091 43.514092-19.522673 43.514092-43.514091 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11316"}),t("path",{d:"M520.972857 777.43263c-142.542145 0-258.508988-115.971004-258.508988-258.52147a16.64337 16.64337 0 0 1 33.28674 0c0 124.19699 101.033579 225.23473 225.222248 225.23473s225.222248-101.03774 225.222248-225.23473c0-124.188668-101.033579-225.218087-225.222248-225.218087a16.64337 16.64337 0 0 1 0-33.286741c142.542145 0 258.508988 115.966843 258.508988 258.504828 0 142.550466-115.966843 258.521471-258.508988 258.52147z",fill:"#6E6E96","p-id":"11317"}),t("path",{d:"M520.968696 518.919481m-83.312551 0a83.312551 83.312551 0 1 0 166.625102 0 83.312551 83.312551 0 1 0-166.625102 0Z",fill:"#A9A9BA","p-id":"11318"}),t("path",{d:"M520.968696 618.875402c-55.114521 0-99.955921-44.83724-99.955921-99.95176 0-55.118682 44.8414-99.955921 99.955921-99.955921s99.95176 44.8414 99.95176 99.955921c0 55.11036-44.83724 99.95176-99.95176 99.95176z m0-166.625101c-36.761044 0-66.669181 29.908136-66.66918 66.66918s29.908136 66.66502 66.66918 66.66502 66.66502-29.908136 66.66502-66.66502c0-36.761044-29.903976-66.669181-66.66502-66.66918z",fill:"#6E6E96","p-id":"11319"}),t("path",{d:"M301.946104 941.515457h429.985632v36.977408H301.946104z",fill:"#6E6E96","p-id":"11320"})])],-1)),A0={key:0,class:"disk-info_mount-name"},S0={key:1,class:"disk-info_mount-name"},z0={key:0,class:"label-item"},P0={class:"label-item_key"},T0={class:"label-item_path"},I0={class:"label-item"},L0={class:"label-item_key"},M0={class:"label-item_value"},N0={class:"action-footer"},O0=Te(()=>t("div",{class:"auto"},null,-1)),V0=["disabled"],G0=["disabled"],j0={key:1,class:"action result"},q0={class:"action-body"},U0=Te(()=>t("div",{class:"action-body_icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),R0={class:"action-body_msg"},W0=["innerHTML"],H0={class:"btns"},Z0=G({props:{action:String,disk:{type:Object,required:!0},mount:{type:Object},Close:{type:Function},Cancel:{type:Function},Next:{type:Function}},setup(n){var k;const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close&&i.Close()},r=f=>{f.preventDefault(),i.Cancel&&i.Cancel(),u()},c=f=>{i.Next&&i.Next(f),u()},_=$(!1),h=$(0),p=$("/mnt/data_"+((k=i==null?void 0:i.mount)==null?void 0:k.name)),v=f=>{h.value=f};$(i.mount?"":"format"),$();const b=$(),x=()=>L(this,null,function*(){const f=i.mount;if(f==null){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533A"));return}if(f.path==null||f.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533A\u8DEF\u5F84"));return}if(f.uuid==null||f.uuid==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533AID"));return}_.value=!0;const m=E.Loading(a("\u6302\u8F7D\u4E2D..."));try{const g=yield M.Nas.Disk.Partition.Mount.POST({path:f.path,uuid:f.uuid,mountPoint:p.value});if(g!=null&&g.data){const{result:F,error:Y}=g==null?void 0:g.data;Y&&E.Warning(Y),F&&(E.Success(a("\u6302\u8F7D\u6210\u529F")),b.value=F,v(1))}}catch(g){E.Error(g)}m.Close(),_.value=!1}),y=()=>{if(b.value&&b.value.mountPoint){c(b.value.mountPoint);return}E.Warning(a("\u8BFB\u53D6\u7ED3\u679C\u5931\u8D25"))},w=()=>{};return(f,m)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>{var g,F;return[h.value==0?(s(),l("form",{key:0,class:"action format",onSubmit:pt(w,["prevent"])},[C0,t("div",D0,[t("div",B0,[Y0,n.mount?(s(),l("div",A0,[t("span",null,"\u3010"+o(n.mount.total)+"\u3011",1),t("span",null,o(n.mount.mountPoint),1)])):n.disk?(s(),l("div",S0,[t("span",null,"\u3010"+o(n.disk.size)+"\u3011",1),t("span",null,o(n.disk.venderModel),1)])):C("",!0)]),n.mount?(s(),l("div",z0,[t("div",P0,[t("span",null,o(e(a)("\u76EE\u6807\u5206\u533A")),1)]),t("div",T0,o(n.mount.path)+"\uFF08"+o(n.mount.total)+"\uFF0C"+o((F=(g=n.mount)==null?void 0:g.filesystem)==null?void 0:F.toUpperCase())+"\uFF09",1)])):C("",!0),t("div",I0,[t("div",L0,[t("span",null,o(e(a)("\u6302\u8F7D\u70B9")),1)]),t("div",M0,[T(t("input",{type:"text","onUpdate:modelValue":m[0]||(m[0]=Y=>p.value=Y)},null,512),[[tt,p.value,void 0,{trim:!0}]])])])]),t("div",N0,[O0,t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:_.value,onClick:x},o(e(a)("\u786E\u5B9A")),9,V0),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:r,type:"button",disabled:_.value},o(e(a)("\u8FD4\u56DE")),9,G0)])],40,$0)):h.value==1?(s(),l("div",j0,[t("div",q0,[U0,t("div",R0,o(e(a)("\u6302\u8F7D\u6210\u529F")),1),b.value?(s(),l("div",{key:0,class:"action-body_info",innerHTML:e(a)("\u5DF2\u6210\u529F\u5C06\u5206\u533A %{dev} \u6302\u8F7D\u5230 %{mount}",{dev:b.value.path||"",mount:b.value.mountPoint||""},!0)},null,8,W0)):C("",!0),t("div",H0,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",type:"button",onClick:y},o(n.action=="nas"?e(a)("\u5B8C\u6210"):e(a)("\u4E0B\u4E00\u6B65")),1)])])])):C("",!0)]}),_:1})]),_:1}))}});var J0=N(Z0,[["__scopeId","data-v-5f5fb500"]]),Ia=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(J0,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const K0={class:"disk-content"},Q0={class:"disk-item"},X0={class:"disk-item_name"},tu={key:0},eu={key:1},au={key:2},ou={class:"disk_value"},nu={class:"disk-item_value"},iu={class:"value-data"},ru={key:0,class:"disk-item"},su={class:"disk-item_name"},du={key:0},lu=["href"],uu={key:0},cu={class:"disk_status"},pu={key:0,class:"disk_status_item"},fu={key:0,class:"tooltip-trigger disk_tip"},mu={class:"tooltip-text tooltip-top"},vu={class:"disk_dir_tip"},bu={class:"disk_status_item"},gu={key:0,class:"tooltip-trigger disk_tip"},hu={class:"tooltip-text tooltip-top"},_u={class:"disk_dir_tip"},xu=G({props:{part:{type:Object,required:!0},disk:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>i.part.filesystem=="No FileSystem"),r=X(()=>i.part.filesystem&&["ntfs","vfat","exfat"].indexOf(i.part.filesystem)>=0),c=X(()=>i.part.mountPoint&&i.part.isReadOnly&&i.part.filesystem!="swap"),_=X(()=>u.value||!i.part.isSystemRoot&&(c.value||r.value||!i.part.mountPoint&&i.part.filesystem=="swap")),h=function(){Ke({action:"disk",disk:i.disk,mount:i.part,Cancel:()=>{},Next:y=>{location.reload()}})},p=()=>{Ia({action:"nas",disk:i.disk,mount:i.part,Cancel:()=>{},Next:()=>{location.reload()}})},v=()=>L(this,null,function*(){const y=E.Loading(a("\u5904\u7406\u4E2D..."));try{const w=yield M.Nas.Disk.InitRest.POST({name:i.disk.name,path:i.disk.path});if(w!=null&&w.data){const{result:k,error:f}=w==null?void 0:w.data;f&&E.Warning(f),k&&(E.Success(a("\u6302\u8F7D\u6210\u529F")),location.reload())}}catch(w){E.Error(w)}y.Close()}),b=X(()=>i.part.filesystem=="Free Space"),x=X(()=>{const y=i.part.mountPoint?i.part.mountPoint:"";return y.indexOf("/mnt/")==0?"/cgi-bin/luci/admin/services/linkease/file/?path=/"+y.substring(5):"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+y});return(y,w)=>{var f;const k=ft("progress-item");return s(),l("div",K0,[t("li",Q0,[t("div",X0,[e(b)?(s(),l("span",tu,o(e(a)("\u672A\u5206\u533A")),1)):(s(),l("span",eu,o(n.part.name)+o(n.part.mountPoint?"":e(u)?e(a)("\uFF08\u672A\u683C\u5F0F\u5316\uFF09"):e(a)("\uFF08\u672A\u6302\u8F7D\uFF09")),1)),n.part.isSystemRoot?(s(),l("span",au,o(e(a)("\uFF08\u7CFB\u7EDF\u5206\u533A\uFF09")),1)):C("",!0)]),t("div",ou,[t("div",nu,[t("div",iu,[z(k,{value:e(b)||!n.part.usage?0:n.part.usage,text:e(b)?e(a)("\u672A\u5206\u533A\uFF08%{total}\uFF09",{total:n.part.total||""}):(n.part.mountPoint&&n.part.filesystem!="swap"?n.part.used:e(a)("\u672A\u77E5"))+"/"+(n.part.total||""),style:{backgroundColor:"#767676"}},null,8,["value","text"])])]),e(b)?(s(),l("button",{key:0,class:"cbi-button cbi-button-apply",onClick:v},o(e(a)("\u5206\u533A\u5E76\u683C\u5F0F\u5316")),1)):e(_)?(s(),l("button",{key:1,class:"cbi-button cbi-button-apply",onClick:h},o(e(a)("\u683C\u5F0F\u5316\u5206\u533A")),1)):C("",!0)])]),!e(b)&&!e(u)?(s(),l("li",ru,[t("span",su,[n.part.mountPoint?(s(),l(O,{key:0},[n.part.filesystem=="swap"?(s(),l("span",du,o(e(a)("\u5DF2\u6302\u8F7D\u4E3A\u4EA4\u6362\u533A")),1)):(s(),l("a",{key:1,href:e(x),target:"_blank"},o(n.part.mountPoint),9,lu))],64)):(s(),l(O,{key:1},[n.part.filesystem=="swap"?(s(),l("span",uu,o(e(a)("\u4E0D\u652F\u6301\u6302\u8F7D")),1)):(s(),l("span",{key:1,class:"value-data buttondiv",onClick:p},o(e(a)("\u624B\u52A8\u6302\u8F7D")),1))],64))]),t("div",cu,[n.part.mountPoint&&n.part.filesystem!="swap"?(s(),l("div",pu,[t("div",null,o(e(a)("\u53EF\u8BFB\u5199\u72B6\u6001\uFF1A"))+o(n.part.isReadOnly?e(a)("\u53EA\u8BFB"):e(a)("\u8BFB\u5199")),1),e(c)?(s(),l("div",fu,[z(Lt),t("div",mu,[t("div",vu,o(e(a)("\u6B64\u5206\u533A\u4E3A\u53EA\u8BFB\u72B6\u6001\uFF0C\u53EF\u80FD\u65E0\u6CD5\u5199\u5165\u6570\u636E")),1)])])):C("",!0)])):C("",!0),t("div",bu,[t("div",null,o(e(a)("\u6587\u4EF6\u7CFB\u7EDF\uFF1A"))+o((f=n.part.filesystem)==null?void 0:f.toUpperCase()),1),!n.part.isSystemRoot&&e(r)?(s(),l("div",gu,[z(Lt),t("div",hu,[t("span",_u,o(e(a)("\u6B64\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u652F\u6301Docker\u7B49\u5E94\u7528\u6570\u636E\uFF0C\u5EFA\u8BAE\u683C\u5F0F\u5316\u6210EXT4\u6587\u4EF6\u7CFB\u7EDF")),1)])])):C("",!0)])])])):C("",!0)])}}});var wu=N(xu,[["__scopeId","data-v-4e7285ca"]]);const ku=n=>(st("data-v-56d0d562"),n=n(),dt(),n),yu={key:0,class:"action"},Fu={class:"title"},Eu={class:"app-container_info"},$u={class:"app-container_body"},Cu={class:"action-footer"},Du=ku(()=>t("div",{class:"auto"},null,-1)),Bu=G({props:{disk:{type:Object,required:!0},Close:{type:Function},Cancel:{type:Function},Next:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=()=>{i.Close&&i.Close()},c=_=>{_.preventDefault(),i.Cancel&&i.Cancel(),r()};return(_,h)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[u.value==0?(s(),l("div",yu,[t("h2",Fu,o(e(a)("\u5206\u533A\u4FE1\u606F"))+" - "+o((n.disk.name||"?")+(n.disk.isSystemRoot?e(a)("\uFF08\u7CFB\u7EDF\u76D8\uFF09"):"")),1),t("ul",null,[t("li",null,[t("div",Eu,[t("span",null,o(e(a)("\u5206\u533A / \u6302\u8F7D\u70B9")),1),t("span",null,o(e(a)("\u5BB9\u91CF")),1)]),t("div",$u,[(s(!0),l(O,null,J(n.disk.childrens,(p,v)=>(s(),H(wu,{key:v,part:p,disk:n.disk},null,8,["part","disk"]))),128))])])]),t("div",Cu,[Du,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:c,type:"button"},o(e(a)("\u8FD4\u56DE")),1)])])):C("",!0)]),_:1})]),_:1},8,["Close"]))}});var Yu=N(Bu,[["__scopeId","data-v-56d0d562"]]),Au=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Yu,mt(ut({},n),{Close:()=>{d()}}));a.component("progress-item",Ca),a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Su={key:0,class:"disk-item error"},zu=["title"],Pu={class:"disk-item_value"},Tu={class:"value-data"},Iu={class:"error"},Lu={key:1,class:"disk-item"},Mu=["title"],Nu={key:0,class:"disk_value"},Ou={class:"value-data"},Vu={href:"/cgi-bin/luci/admin/nas/smart"},Gu={class:"error"},ju={key:1,class:"disk_value"},qu={class:"disk-item_value"},Uu={class:"value-data"},Ru={class:"disk-item-tooltip"},Wu={class:"disk_icon"},Hu={key:0,class:"tooltip-trigger"},Zu={class:"disk_tip"},Ju={class:"tooltip-text tooltip-top"},Ku={class:"disk_dir_tip"},Qu={key:1,class:"tooltip-trigger"},Xu={class:"disk_tip"},tc={class:"tooltip-text tooltip-top"},ec={class:"disk_dir_tip"},ac={key:2,class:"disk-item load"},oc=["title"],nc={class:"disk_value"},ic={class:"disk-item_value"},rc={class:"value-data"},sc={key:3,class:"disk-item load"},dc=["title"],lc={class:"disk_value"},uc={key:0,class:"disk-item_value"},cc={class:"value-data"},pc={class:"disk_icon"},fc=G({props:{disk:{type:Object,required:!0},smartWarning:{type:Boolean}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>i.disk.errorInfo?"error":i.disk.childrens==null||i.disk.childrens.length==0||i.disk.childrens.length==1&&i.disk.childrens[0].filesystem=="No FileSystem"?"load":i.disk.childrens.filter(v=>v.mountPoint).length==0?"unmounted":"success"),r=X(()=>{const v=i.disk;let b=v.name;return v.size&&(b+=`\u3010${v.size}\u3011`),v.venderModel&&(b+=`(${v.venderModel})`),b}),c=X(()=>{var b;const v=i.disk;return!v.isSystemRoot&&(((b=v.childrens)==null?void 0:b.filter(x=>x.isReadOnly&&x.filesystem!="swap").length)||0)>0}),_=()=>{Ke({action:"disk",disk:i.disk,Cancel:()=>{},Next:()=>{location.reload()}})},h=()=>{Au({action:"disk",disk:i.disk,Cancel:()=>{},Next:()=>{location.reload()}})},p=()=>{const v=i.disk,b=v.childrens||[];Ia({action:"nas",disk:v,mount:b[0],Cancel:()=>{},Next:()=>{location.reload()}})};return(v,b)=>{var y,w,k;const x=ft("progress-item");return e(u)=="error"?(s(),l("li",Su,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,zu),t("div",Pu,[t("div",Tu,[t("span",Iu,o(n.disk.errorInfo),1)])])])):e(u)=="success"?(s(),l("li",Lu,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,Mu),n.disk.smartWarning&&n.smartWarning?(s(),l("div",Nu,[t("div",Ou,[t("a",Vu,[t("span",Gu,o(e(a)("S.M.A.R.T\u5F02\u5E38")),1)])])])):(s(),l("div",ju,[t("div",qu,[t("div",Uu,[z(x,{value:n.disk.usage||0,text:`${n.disk.used}/${n.disk.total}`,style:{backgroundColor:"#767676"}},null,8,["value","text"])]),t("div",Ru,[t("span",null,o(e(a)("\u4EC5\u7EDF\u8BA1\u5DF2\u6302\u8F7D\u5206\u533A")),1)])]),t("div",Wu,[n.disk.isDockerRoot&&n.disk.isSystemRoot&&n.disk.usage&&n.disk.usage>=90?(s(),l("span",Hu,[t("span",Zu,[z(Lt)]),t("div",null,[t("div",Ju,[t("span",Ku,o(e(a)("\u60A8\u7684\u7CFB\u7EDF\u7A7A\u95F4\u5DF2\u4E0D\u8DB3\uFF0C\u68C0\u6D4B\u5230\u60A8\u7684Docker\u6839\u76EE\u5F55\u4F4D\u4E8E\u7CFB\u7EDF\u6839\u76EE\u5F55\u4E0A\uFF0C\u53EF\u80FD\u4F1A\u5F71\u54CD\u7CFB\u7EDF\u7684\u6B63\u5E38\u8FD0\u884C\uFF0C\u5EFA\u8BAE\u4F7F\u7528Docker\u8FC1\u79FB\u5411\u5BFC\u5C06Docker\u6839\u76EE\u5F55\u8FC1\u79FB\u5230\u5916\u7F6E\u786C\u76D8\u4E0A\u3002")),1)])])])):C("",!0),e(c)?(s(),l("span",Qu,[t("span",Xu,[z(Lt)]),t("div",null,[t("div",tc,[t("span",ec,o(e(a)("\u5206\u533A\u5B58\u5728\u5F02\u5E38\uFF0C\u70B9\u51FB\u5206\u533A\u5217\u8868\u67E5\u770B\u9519\u8BEF")),1)])])])):C("",!0),e(c)&&((y=n.disk.childrens)==null?void 0:y.length)==1?(s(),l("span",{key:2,class:"disk_infoicon",onClick:b[0]||(b[0]=f=>_())},[z(Ul)])):C("",!0),t("span",{class:"disk_infoicon",onClick:b[1]||(b[1]=f=>h())},[z(sa)])])]))])):e(u)=="load"?(s(),l("li",ac,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,oc),t("div",nc,[t("div",ic,[t("div",rc,[t("button",{onClick:b[2]||(b[2]=f=>_())},o(e(a)("\u683C\u5F0F\u5316\u5E76\u6302\u8F7D")),1)])])])])):e(u)=="unmounted"?(s(),l("li",sc,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,dc),t("div",lc,[((w=n.disk.childrens)==null?void 0:w.length)==1?(s(),l("div",uc,[t("div",cc,[n.disk.childrens[0].filesystem=="swap"?(s(),l("button",{key:0,onClick:b[3]||(b[3]=f=>h())},o(e(a)("\u67E5\u770B\u8BE6\u60C5")),1)):(s(),l("button",{key:1,onClick:b[4]||(b[4]=f=>p())},o(e(a)("\u624B\u52A8\u6302\u8F7D")),1))])])):C("",!0),t("div",pc,[(((k=n.disk.childrens)==null?void 0:k.length)||0)>1?(s(),l("span",{key:0,class:"disk_infoicon",onClick:b[5]||(b[5]=f=>h())},[z(sa)])):C("",!0)])])])):C("",!0)}}});var Ge=N(fc,[["__scopeId","data-v-5e9b583e"]]);const mc=n=>(st("data-v-2b8c3ff1"),n=n(),dt(),n),vc={class:"app-container"},bc={class:"app-container_title"},gc={class:"disk_info"},hc={class:"app-container_tool"},_c=["title"],xc={class:"DeviceBlock"},wc={href:"/cgi-bin/luci/admin/nas/raid"},kc=mc(()=>t("li",null,[t("a",{href:"/cgi-bin/luci/admin/nas/smart"},"S.M.A.R.T.")],-1)),yc={href:"/cgi-bin/luci/admin/system/diskman"},Fc={href:"/cgi-bin/luci/admin/system/mounts"},Ec={key:0},$c={class:"disk_loading_icon"},Cc={class:"disk_loading_info"},Dc={key:1},Bc={class:"app-container_info"},Yc={class:"app-container_body"},Ac={key:2},Sc={class:"app-container_info"},zc={class:"app-container_body"},Pc={key:3},Tc={class:"app-container_info"},Ic={class:"app-container_body"},Lc=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=$(!1),u=bt({disks:null,raidList:null}),r=()=>{M.Nas.Disk.Status.GET().then(p=>{var v;if((v=p==null?void 0:p.data)!=null&&v.result){const b=p.data.result;u.disks=b.disks||[]}})};(()=>L(this,null,function*(){try{const p=yield M.Raid.List.GET();if(p!=null&&p.data){const{success:v,error:b,result:x}=p.data;if(x&&(u.raidList=x.disks||[]),b)throw b}}catch(p){console.log(p)}}))(),r();const _=()=>{d.value=!d.value},h=()=>{Et.installAndGo("luci-app-linkease",i("\u6613\u6709\u4E91"),"/cgi-bin/luci/admin/services/linkease/file/","app-meta-linkease")};return(p,v)=>{var y,w;const b=ft("GlHelp"),x=ft("icon-loading");return s(),l("div",vc,[t("ul",null,[t("li",null,[t("div",bc,[t("span",gc,[it(o(e(i)("\u78C1\u76D8\u4FE1\u606F"))+" ",1),z(b,{type:"disk"})]),t("div",hc,[t("div",{class:"app-container_configure",onClick:h},o(e(i)("\u6587\u4EF6\u7BA1\u7406")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u78C1\u76D8\u7BA1\u7406\u4FE1\u606F")},[z(Gt,{onClick:_})],8,_c)]),T(t("div",xc,[t("div",{class:"menu_background",onClick:_}),t("ul",null,[t("li",null,[t("a",wc,o(e(i)("RAID\u7BA1\u7406")),1)]),kc,t("li",null,[t("a",yc,o(e(i)("\u78C1\u76D8\u7BA1\u7406")),1)]),t("li",null,[t("a",Fc,o(e(i)("\u6302\u8F7D\u70B9")),1)])])],512),[[Yt,d.value]])])]),!e(u).disks&&!e(u).raidList?(s(),l("li",Ec,[t("div",$c,[z(x,{size:38,color:"currentColor"}),t("span",Cc,o(e(i)("\u6B63\u5728\u83B7\u53D6\u78C1\u76D8\u4FE1\u606F...")),1)])])):C("",!0),e(u).disks?(s(),l("li",Dc,[t("div",Bc,[t("span",null,o(e(i)("\u7CFB\u7EDF\u6839\u76EE\u5F55")),1)]),t("div",Yc,[(s(!0),l(O,null,J((y=e(u).disks)==null?void 0:y.filter(k=>k.isSystemRoot),(k,f)=>(s(),H(Ge,{key:f,disk:k},null,8,["disk"]))),128))])])):C("",!0),e(u).disks?(s(),l("li",Ac,[t("div",Sc,[t("span",null,o(e(i)("\u5DF2\u6302\u8F7D\u78C1\u76D8")),1)]),t("div",zc,[(s(!0),l(O,null,J((w=e(u).disks)==null?void 0:w.filter(k=>!k.isSystemRoot),(k,f)=>(s(),H(Ge,{key:f,disk:k,smartWarning:!0},null,8,["disk"]))),128))])])):C("",!0),e(u).raidList&&e(u).raidList.length>0?(s(),l("li",Pc,[t("div",Tc,[t("span",null,o(e(i)("RAID\u8BBE\u5907")),1)]),t("div",Ic,[(s(!0),l(O,null,J(e(u).raidList,(k,f)=>(s(),H(Ge,{key:f,disk:k},null,8,["disk"]))),128))])])):C("",!0)])])}}});var Mc=N(Lc,[["__scopeId","data-v-2b8c3ff1"]]);const Nc={class:"app-container_samba"},Oc={key:0,class:"sambas-item"},Vc={class:"sambas-item_name"},Gc={class:"sambas-item_value"},jc={class:"sambas-item"},qc={class:"sambas-item_name tit"},Uc={class:"sambas-item_value tit"},Rc={class:"samba-item"},Wc={class:"samba-item_name"},Hc=["title"],Zc=["href"],Jc=G({props:{sambas:{type:Array}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=window.location.hostname;return(u,r)=>{var c;return s(),l("ul",Nc,[n.sambas?(s(),l("li",Oc,[t("div",Vc,[t("span",null,o(e(i)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",Gc,[t("span",null,o((c=n.sambas)!=null&&c.length?e(i)("\u5DF2\u542F\u7528"):e(i)("\u672A\u542F\u7528")),1)])])):C("",!0),t("li",jc,[t("div",qc,[t("span",null,o(e(i)("\u5730\u5740")),1)]),t("div",Uc,[t("span",null,o(e(i)("\u76EE\u5F55")),1)])]),(s(!0),l(O,null,J(n.sambas,_=>(s(),l("li",Rc,[t("div",Wc,[t("span",null,"smb://"+o(e(d))+"/"+o(_.shareName),1)]),t("div",{class:"samba-item_value",title:_.path},[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+_.path},o(_.path),9,Zc)],8,Hc)]))),256))])}}});var Kc=N(Jc,[["__scopeId","data-v-8166802a"]]);const Qc={class:"webdav-item"},Xc={class:"webdav-item_name"},t1={class:"webdav-item_value"},e1={key:0,class:"webdav-item"},a1={class:"webdav-item_name"},o1={class:"webdav-item_value"},n1=["href"],i1={key:1,class:"webdav-item"},r1={class:"webdav-item_name"},s1={class:"webdav-item_value"},d1=["href"],l1={key:2,class:"webdav-item"},u1={class:"webdav-item_name"},c1={class:"webdav-item_value"},p1=G({props:{webdav:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var r;return`http://${location.hostname}:${(r=i.webdav)==null?void 0:r.port}`});return(r,c)=>{var _,h,p,v,b,x,y;return s(),l(O,null,[t("li",Qc,[t("div",Xc,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",t1,[t("span",null,o((_=n.webdav)!=null&&_.path?e(a)("\u5DF2\u542F\u7528"):e(a)("\u672A\u542F\u7528")),1)])]),(h=n.webdav)!=null&&h.path?(s(),l("li",e1,[t("div",a1,[t("span",null,o(e(a)("\u6302\u8F7D\u8DEF\u5F84:")),1)]),t("div",o1,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((p=n.webdav)==null?void 0:p.path)},o((v=n.webdav)==null?void 0:v.path),9,n1)])])):C("",!0),(b=n.webdav)!=null&&b.port?(s(),l("li",i1,[t("div",r1,[t("span",null,o(e(a)("\u670D\u52A1\u8DEF\u5F84:")),1)]),t("div",s1,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,d1)])])):C("",!0),(x=n.webdav)!=null&&x.username?(s(),l("li",l1,[t("div",u1,[t("span",null,o(e(a)("\u8D26\u53F7:")),1)]),t("div",c1,[t("span",null,o((y=n.webdav)==null?void 0:y.username),1)])])):C("",!0)],64)}}});var f1=N(p1,[["__scopeId","data-v-45def11c"]]);const Qe=n=>(st("data-v-0bd83418"),n=n(),dt(),n),m1={class:"disk-item"},v1=Qe(()=>t("div",{class:"disk-item_icon"},[t("svg",{t:"1642563338465",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2216",width:"128",height:"128"},[t("path",{d:"M998.4 711.68l-119.467-512c-6.826-42.667-42.666-75.093-87.04-76.8H232.107c-44.374 1.707-80.214 35.84-87.04 78.507L25.6 711.68c-5.12 13.653-6.827 29.013-6.827 42.667 0 76.8 63.147 139.946 141.654 139.946H865.28c78.507 0 141.653-63.146 141.653-139.946 0-13.654-3.413-29.014-8.533-42.667zM394.24 366.933c1.707-51.2 56.32-92.16 124.587-92.16S640 315.733 640 365.227c44.373-1.707 81.92 23.893 83.627 58.026s-34.134 63.147-78.507 64.854h-6.827l-245.76 1.706c-44.373 0-80.213-27.306-80.213-59.733 0-35.84 37.547-63.147 81.92-63.147z m471.04 459.094H160.427c-39.254 0-69.974-30.72-69.974-69.974s32.427-69.973 69.974-69.973H865.28c39.253 0 69.973 30.72 69.973 69.973 1.707 37.547-30.72 69.974-69.973 69.974z m-35.84-92.16c-11.947 0-22.187 8.533-23.893 20.48 0 11.946 8.533 22.186 20.48 23.893h3.413c11.947 0 22.187-10.24 22.187-22.187 0-13.653-8.534-22.186-22.187-22.186z m-46.08 22.186c0-25.6 20.48-46.08 46.08-46.08s46.08 20.48 46.08 46.08-20.48 46.08-46.08 46.08-46.08-20.48-46.08-46.08z","p-id":"2217"})])],-1)),b1={class:"disk-item_f"},g1={class:"disk-item_venderModel"},h1={class:"disk-item_used"},_1=Qe(()=>t("div",{class:"auto"},null,-1)),x1={class:"disk-item-r"},w1={class:"disk-children"},k1=["onClick"],y1=Qe(()=>t("div",{class:"disk-item_icon"},[t("svg",{t:"1642563581459",class:"icon",viewBox:"0 0 1228 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7132",width:"128",height:"128"},[t("path",{d:"M525.2096 145.3568c1.9968-45.568-35.6864-99.1232-57.4976-99.1232H57.4976C15.872 79.9232 17.8176 145.408 17.8176 145.408h507.392z",fill:"#ECC049","p-id":"7133"}),t("path",{d:"M21.8112 143.36L19.8144 825.1392c0 75.3152 75.3152 152.576 150.6304 152.576h887.9104c75.264 0 150.6304-75.264 150.6304-152.576V297.984c0-75.264-75.3152-152.576-150.6304-152.576h-434.0224L21.8112 143.36z",fill:"#FFD658","p-id":"7134"})])],-1)),F1={key:0},E1={key:1},$1=G({props:{disk:{type:Object,required:!0},currDisk:{type:Object},currMountPoint:{type:Object},onDisk:{type:Function,required:!0}},setup(n){var c,_;const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1);i.currDisk!=null&&((c=i.currDisk)==null?void 0:c.venderModel)==((_=i.disk)==null?void 0:_.venderModel)&&(u.value=!0);const r=h=>{u.value=!u.value,i.onDisk(h,null)};return(h,p)=>{var v;return s(),l("ul",m1,[t("li",{class:ct(["disk-info",{on:n.disk.venderModel==((v=n.currDisk)==null?void 0:v.venderModel),nopoint:n.disk.childrens==null||n.disk.childrens.length==0}]),onClick:p[0]||(p[0]=b=>r(n.disk))},[v1,t("div",b1,[t("div",g1,o(n.disk.venderModel),1),t("div",h1,o(n.disk.used)+"/"+o(n.disk.size),1)]),_1,t("div",x1,o(n.disk.path),1)],2),T(t("div",w1,[(s(!0),l(O,null,J(n.disk.childrens,b=>{var x,y;return s(),l("li",{class:ct(["disk-children_item",{on:b.uuid==((x=n.currMountPoint)==null?void 0:x.uuid)&&b.path==((y=n.currMountPoint)==null?void 0:y.path)}]),onClick:w=>n.onDisk(n.disk,b)},[y1,b.mountPoint?(s(),l("span",F1," \u3010"+o(b.filesystem)+"\u3011 "+o(b.mountPoint)+" \uFF08"+o(b.used)+"/"+o(b.total)+"\uFF09 ["+o(b.uuid)+"] ",1)):(s(),l("span",E1," \u3010"+o(b.filesystem)+"\u3011 "+o(b.mountPoint||b.path||e(a)("\u672A\u6302\u8F7D\u78C1\u76D8"))+" ["+o(b.uuid)+"] ",1))],10,k1)}),256))],512),[[Yt,u.value]])])}}});var da=N($1,[["__scopeId","data-v-0bd83418"]]);const C1=n=>(st("data-v-b222ef5e"),n=n(),dt(),n),D1={class:"action list"},B1={class:"action-header"},Y1={class:"action-header_title"},A1={class:"action-body"},S1={class:"disk-list"},z1={class:"action-msg"},P1={href:"/cgi-bin/luci/admin/system/diskman"},T1={class:"action-footer"},I1=C1(()=>t("div",{class:"auto"},null,-1)),L1=G({props:{Cancel:{type:Function},Next:{type:Function},Close:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!0),r=bt({disks:[],raids:[]});(()=>L(this,null,function*(){const w=yield Promise.all([M.Nas.Disk.Status.GET(),M.Raid.List.GET()]);try{if(w[0]){const k=w[0];k!=null&&k.data.result&&(r.disks=(k==null?void 0:k.data.result.disks)||[])}if(w[1]){const k=w[1];k.data.result&&(r.raids=k.data.result.disks||[])}}catch(k){E.Warning(k)}}))();const _=$(),h=$(),p=(w,k)=>{_.value=w,h.value=k},v=()=>{i.Close&&i.Close()},b=()=>{i.Cancel&&i.Cancel(),v()},x=w=>{i.Next&&i.Next(w),v()},y=()=>{if(_.value==null){E.Warning(a("\u8BF7\u9009\u62E9\u76EE\u6807\u786C\u76D8"));return}if(_.value.childrens!=null&&_.value.childrens.length>0&&h.value==null){E.Warning(a("\u8BF7\u9009\u62E9\u786C\u76D8\u5206\u533A"));return}if(h.value!=null&&(h.value.mountPoint==null||h.value.mountPoint=="")){E.Warning(a("\u8BE5\u5206\u533A\u5C1A\u672A\u6302\u8F7D\uFF0C\u8BF7\u5148\u53BB\u6302\u8F7D"));return}u.value=!1,Ke({action:"nas",disk:_.value,mount:h.value,Cancel:()=>{u.value=!0},Next:w=>{x(w)}})};return(w,k)=>u.value?(s(),H(ht,{key:0,type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("div",D1,[t("div",B1,[t("div",Y1,o(e(a)("\u8BF7\u9009\u62E9\u4E00\u4E2A\u786C\u76D8\u6216\u5206\u533A")),1)]),t("div",A1,[t("div",S1,[(s(!0),l(O,null,J(e(r).disks,f=>(s(),H(da,{disk:f,onDisk:p,currDisk:_.value,currMountPoint:h.value},null,8,["disk","currDisk","currMountPoint"]))),256)),(s(!0),l(O,null,J(e(r).raids,f=>(s(),H(da,{disk:f,onDisk:p,currDisk:_.value,currMountPoint:h.value},null,8,["disk","currDisk","currMountPoint"]))),256))])]),t("div",z1,[t("span",null,[it(o(e(a)("\u60F3\u8981\u66F4\u7CBE\u786E\u7684\u914D\u7F6E\uFF1F\u8BF7\u524D\u5F80"))+" ",1),t("a",P1,o(e(a)("\u9AD8\u7EA7\u8BBE\u7F6E")),1)])]),t("div",T1,[I1,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:b,type:"button"},o(e(a)("\u8FD4\u56DE")),1),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:y,type:"button"},o(e(a)("\u4E0B\u4E00\u6B65")),1)])])]),_:1})]),_:1})):C("",!0)}});var M1=N(L1,[["__scopeId","data-v-b222ef5e"]]),N1=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(M1,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const O1=n=>(st("data-v-45926ac6"),n=n(),dt(),n),V1={class:"action"},G1={class:"action-body"},j1=O1(()=>t("div",{class:"icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),q1={class:"title"},U1={class:"info"},R1=["href"],W1={class:"btns"},H1=G({props:{Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(""),r=X(()=>`http://${location.hostname}:${u.value}`);(()=>{M.Nas.Linkease.Enable.POST().then(h=>{var p,v;(p=h==null?void 0:h.data)!=null&&p.result&&(u.value=((v=h.data.result)==null?void 0:v.port)||"")})})();const _=()=>{i.Close&&i.Close(),location.reload()};return(h,p)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("div",V1,[t("div",G1,[j1,t("h2",q1,o(e(a)("\u670D\u52A1\u5DF2\u542F\u52A8")),1),t("div",U1,[t("span",null,o(e(a)("\u524D\u5F80")),1),t("a",{href:e(r),target:"_blank",rel:"noopener noreferrer"},o(e(r)),9,R1),t("span",null,o(e(a)("\u7EE7\u7EED\u914D\u7F6E")),1)]),t("div",W1,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:_},o(e(a)("\u5173\u95ED")),1)])])])]),_:1})]),_:1}))}});var Z1=N(H1,[["__scopeId","data-v-45926ac6"]]),J1=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Z1,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const K1=n=>(st("data-v-2b3974a4"),n=n(),dt(),n),Q1=["onSubmit"],X1={class:"action-header"},t2={class:"action-header_title"},e2={class:"action-body"},a2={class:"label-item"},o2={class:"label-item_key"},n2={class:"label-item_value"},i2=["value"],r2={class:"label-item"},s2={class:"label-item_key"},d2={class:"label-item_value"},l2=["placeholder"],u2={class:"label-item"},c2={class:"label-item_key"},p2={class:"label-item_value"},f2={class:"action-footer"},m2=K1(()=>t("div",{class:"auto"},null,-1)),v2=["disabled"],b2=["disabled"],g2=G({props:{rootPath:{type:String,required:!0},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=v=>{v.preventDefault(),i.Close&&i.Close()},r=$(!1),c=$({username:"root",password:"",rootPath:i.rootPath});(()=>L(this,null,function*(){const v=E.Loading(a("\u52A0\u8F7D\u4E2D..."));r.value=!0;try{const b=yield M.Nas.Webdav.Status.GET();if(b!=null&&b.data){const{result:x,error:y}=b.data;if(y){E.Warning(y);return}x&&(x.username&&(c.value.username=x.username),x.password&&(c.value.password=x.password))}}catch(b){E.Error(b)}r.value=!1,v.Close()}))();const h=()=>{const v=c.value;if(v.rootPath==""){E.Warning(a("\u5171\u4EAB\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A"));return}if(v.username==""){E.Warning(a("\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"));return}if(v.password==""){E.Warning(a("\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"));return}p(v)},p=v=>L(this,null,function*(){r.value=!0;const b=E.Loading(a("\u521B\u5EFA\u4E2D..."));try{const x=yield M.Nas.Webdav.Create.POST(v);if(x!=null&&x.data){const{error:y,result:w}=x.data;y&&E.Warning(y),w&&(E.Success(a("\u521B\u5EFA\u6210\u529F")),window.setTimeout(()=>{location.reload()},1e3))}}catch(x){E.Error(x)}b.Close(),r.value=!1});return(v,b)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("form",{class:"action",onSubmit:pt(h,["prevent"])},[t("div",X1,[t("div",t2,o(e(a)("Webdav\u5171\u4EAB\u914D\u7F6E")),1)]),t("div",e2,[t("div",a2,[t("div",o2,[t("span",null,o(e(a)("\u670D\u52A1\u76EE\u5F55\u8DEF\u5F84")),1)]),t("div",n2,[t("input",{type:"text",value:c.value.rootPath,disabled:"",required:"",style:{backgroundColor:"#eee"}},null,8,i2)])]),t("div",r2,[t("div",s2,[t("span",null,o(e(a)("\u7528\u6237\u540D")),1)]),t("div",d2,[T(t("input",{type:"text",required:"",placeholder:e(a)("\u8D26\u53F7\u7528\u6237\u540D"),"onUpdate:modelValue":b[0]||(b[0]=x=>c.value.username=x)},null,8,l2),[[tt,c.value.username,void 0,{trim:!0}]])])]),t("div",u2,[t("div",c2,[t("span",null,o(e(a)("\u5BC6\u7801")),1)]),t("div",p2,[T(t("input",{type:"password","onUpdate:modelValue":b[1]||(b[1]=x=>c.value.password=x)},null,512),[[tt,c.value.password,void 0,{trim:!0}]])])])]),t("div",f2,[m2,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:u,disabled:r.value},o(e(a)("\u5173\u95ED")),9,v2),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:r.value},o(e(a)("\u521B\u5EFA")),9,b2)])],40,Q1)]),_:1})]),_:1}))}});var h2=N(g2,[["__scopeId","data-v-2b3974a4"]]),_2=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(h2,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const x2=n=>(st("data-v-88275da0"),n=n(),dt(),n),w2=["onSubmit"],k2={class:"action-header"},y2={class:"action-header_title"},F2={class:"action-body"},E2={class:"label-item"},$2={class:"label-item_key"},C2={class:"label-item_value"},D2=["value"],B2={class:"label-item"},Y2={class:"label-item_key"},A2={class:"label-item_value"},S2=["placeholder"],z2={class:"label-item"},P2={class:"label-item_key"},T2={class:"label-item_value"},I2=["placeholder"],L2={class:"label-item"},M2={class:"label-item_key"},N2={class:"label-item_value"},O2={class:"samba-item"},V2={class:"samba-item_allow"},G2={for:"allow",class:"samba-allow"},j2={class:"samba-item_tips"},q2={class:"tooltip-trigger"},U2={class:"samba_tip"},R2={class:"samba_dir_tip"},W2={class:"action-footer"},H2=x2(()=>t("div",{class:"auto"},null,-1)),Z2=["disabled"],J2=["disabled"],K2=G({props:{rootPath:{type:String,required:!0},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=p=>{p.preventDefault(),i.Close&&i.Close()},r=$(!1),c=$({shareName:"",username:"",password:"",rootPath:i.rootPath,allowLegacy:!1}),_=()=>{const p=c.value;if(p.rootPath==""){E.Warning(a("\u5171\u4EAB\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A"));return}if(p.shareName==""){E.Warning(a("\u5171\u4EAB\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"));return}if(p.username==""){E.Warning(a("\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"));return}if(p.password==""){E.Warning(a("\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"));return}const v=It.checkSmabaUserName(p.username);if(v!==!0){E.Warning(`${v}`);return}h(p)},h=p=>L(this,null,function*(){r.value=!0;const v=E.Loading(a("\u521B\u5EFA\u4E2D..."));try{const b=yield M.Nas.Samba.Create.POST(p);if(b!=null&&b.data){const{error:x,result:y}=b.data;x&&E.Warning(x),y&&(E.Success(a("\u521B\u5EFA\u6210\u529F")),window.setTimeout(()=>{location.reload()},1e3))}}catch(b){E.Error(b)}v.Close(),r.value=!1});return(p,v)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("form",{class:"action",onSubmit:pt(_,["prevent"])},[t("div",k2,[t("div",y2,o(e(a)("Samba\u5171\u4EAB\u914D\u7F6E")),1)]),t("div",F2,[t("div",E2,[t("div",$2,[t("span",null,o(e(a)("\u670D\u52A1\u76EE\u5F55\u8DEF\u5F84")),1)]),t("div",C2,[t("input",{type:"text",value:c.value.rootPath,disabled:"",required:"",style:{backgroundColor:"#eee"}},null,8,D2)])]),t("div",B2,[t("div",Y2,[t("span",null,o(e(a)("\u5171\u4EAB\u540D\uFF08\u5EFA\u8BAE\u4F7F\u7528\u82F1\u6587\u5B57\u6BCD\uFF09")),1)]),t("div",A2,[T(t("input",{type:"text","onUpdate:modelValue":v[0]||(v[0]=b=>c.value.shareName=b),required:"",placeholder:e(a)("\u5171\u4EAB\u540D\u79F0")},null,8,S2),[[tt,c.value.shareName,void 0,{trim:!0}]])])]),t("div",z2,[t("div",P2,[t("span",null,o(e(a)("\u7528\u6237\u540D")),1)]),t("div",T2,[T(t("input",{type:"text",required:"",placeholder:e(a)("\u8D26\u53F7\u7528\u6237\u540D"),"onUpdate:modelValue":v[1]||(v[1]=b=>c.value.username=b)},null,8,I2),[[tt,c.value.username,void 0,{trim:!0}]])])]),t("div",L2,[t("div",M2,[t("span",null,o(e(a)("\u5BC6\u7801")),1)]),t("div",N2,[T(t("input",{type:"password","onUpdate:modelValue":v[2]||(v[2]=b=>c.value.password=b)},null,512),[[tt,c.value.password,void 0,{trim:!0}]])])]),t("div",O2,[t("div",V2,[T(t("input",{type:"checkbox",id:"allow","onUpdate:modelValue":v[3]||(v[3]=b=>c.value.allowLegacy=b)},null,512),[[Rt,c.value.allowLegacy]]),t("label",G2,o(e(a)("\u5141\u8BB8\u65E7\u534F\u8BAE\u4E0E\u8EAB\u4EFD\u9A8C\u8BC1(\u4E0D\u5B89\u5168)")),1)]),t("div",j2,[t("span",q2,[t("span",U2,[z(Lt)]),t("span",R2,o(e(a)("\u517C\u5BB9\u4E00\u4E9B\u7535\u89C6\u6216\u8005\u7535\u89C6\u76D2\u5B50")),1)])])])]),t("div",W2,[H2,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:u,disabled:r.value},o(e(a)("\u5173\u95ED")),9,Z2),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:r.value},o(e(a)("\u521B\u5EFA")),9,J2)])],40,w2)]),_:1})]),_:1}))}});var Q2=N(K2,[["__scopeId","data-v-88275da0"]]),X2=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Q2,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Kt=n=>!Array.isArray(window.quickstart_features)||window.quickstart_features.indexOf(n)!=-1,t5={key:0,class:"action"},e5={class:"title"},a5={class:"desc"},o5={value:"linkease"},n5={value:"samba"},i5={value:"webdav"},r5=["innerHTML"],s5={class:"btns"},d5=["disabled"],l5=G({props:{setup:Number,Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!0),r=$("linkease"),c=$(!1),_=$(i.setup||0),h=()=>{i.Close&&i.Close()},p=()=>L(this,null,function*(){switch(r.value){case"webdav":yield v();break;case"samba":yield x();break;case"linkease":yield b();break}}),v=()=>L(this,null,function*(){c.value=!0,(yield Et.checkAndInstallApp("app-meta-gowebdav","GoWebdav"))&&y(),c.value=!1}),b=()=>L(this,null,function*(){c.value=!0,(yield Et.checkAndInstallApp("linkease",a("\u6613\u6709\u4E91"),"app-meta-linkease"))&&w(),c.value=!1}),x=()=>L(this,null,function*(){c.value=!0;const m=E.Loading(a("\u914D\u7F6E\u4E2D..."));y(),m.Close(),c.value=!1}),y=()=>{c.value=!1,u.value=!1,N1({Cancel:()=>{u.value=!0},Next:m=>{switch(r.value){case"webdav":k(m);break;case"samba":f(m);break}}})},w=()=>{J1({}),h()},k=m=>{_2({rootPath:m}),h()},f=m=>{X2({rootPath:m}),h()};return(m,g)=>u.value?(s(),H(ht,{key:0,Close:n.Close,type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[_.value==0?(s(),l("div",t5,[t("h2",e5,o(e(a)("\u6B22\u8FCE\u4F7F\u7528 NAS \u914D\u7F6E\u5411\u5BFC")),1),t("h3",a5,o(e(a)("\u8BF7\u9009\u62E9\u9700\u8981\u6DFB\u52A0\u7684NAS\u670D\u52A1")),1),t("form",null,[t("label",null,[T(t("select",{"onUpdate:modelValue":g[0]||(g[0]=F=>r.value=F)},[t("option",o5,o(e(a)("\u8DE8\u8BBE\u5907\u5171\u4EAB\uFF08\u6613\u6709\u4E91\uFF09")),1),t("option",n5,o(e(a)("\u5C40\u57DF\u7F51\u6587\u4EF6\u5171\u4EAB\uFF08Samba\uFF09")),1),t("option",i5,o(e(a)("\u5C40\u57DF\u7F51\u6587\u4EF6\u5171\u4EAB\uFF08WebDAV\uFF09")),1)],512),[[rt,r.value]])])]),e(Kt)("unishare")?(s(),l("div",{key:0,class:"tips",innerHTML:e(a)("\u5982\u9700\u5BF9 Samba \u6216 WebDAV \u8FDB\u884C\u66F4\u7EC6\u81F4\u7684\u6743\u9650\u63A7\u5236\uFF0C\u8BF7\u4F7F\u7528\u201C%{unishare}\u201D",{unishare:''+e(a)("\u7EDF\u4E00\u6587\u4EF6\u5171\u4EAB")+""},!0)},null,8,r5)):C("",!0),t("div",s5,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:p,type:"button",disabled:c.value},o(e(a)("\u4E0B\u4E00\u6B65")),9,d5),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:h,type:"button"},o(e(a)("\u53D6\u6D88")),1)])])):C("",!0)]),_:1})]),_:1},8,["Close"])):C("",!0)}});var u5=N(l5,[["__scopeId","data-v-3f686017"]]),La=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(u5,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const c5={class:"app-container_linkease"},p5={class:"linkease-item"},f5={class:"linkease-item_name"},m5={class:"linkease-item_value"},v5={key:0,class:"configure"},b5={key:0,class:"linkease-item"},g5={class:"linkease-item_name"},h5={class:"linkease-item_value"},_5=["href"],x5={href:" https://app.linkease.com/",target:"_blank"},w5=G({props:{linkease:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var c;return`http://${location.hostname}:${(c=i.linkease)==null?void 0:c.port}`}),r=()=>{La({setup:0})};return(c,_)=>{var h,p,v;return s(),l("ul",c5,[t("li",p5,[t("div",f5,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",m5,[(h=n.linkease)!=null&&h.enabel?(s(),l("span",v5,o(e(a)("\u5DF2\u914D\u7F6E")),1)):(s(),l("span",{key:1,class:"configure enabel",onClick:_[0]||(_[0]=b=>r())},o(e(a)("\u672A\u914D\u7F6E")),1))])]),(p=n.linkease)!=null&&p.enabel?(s(),l(O,{key:0},[(v=n.linkease)!=null&&v.port?(s(),l("li",b5,[t("div",g5,[t("span",null,o(e(a)("\u670D\u52A1\u5730\u5740:")),1)]),t("div",h5,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,_5)])])):C("",!0)],64)):C("",!0),t("div",null,[t("a",x5,o(e(a)("\u4E0B\u8F7D\u6613\u6709\u4E91\u5BA2\u6237\u7AEF\uFF0C\u968F\u65F6\u968F\u5730\u76F8\u518C\u5907\u4EFD\u3001\u8FDC\u7A0B\u8BBF\u95EE")),1)])])}}});var k5=N(w5,[["__scopeId","data-v-8b8d01c2"]]);const y5={class:"app-container"},F5={class:"app-container_title"},E5={class:"app-container_tool"},$5=["title"],C5={class:"DeviceBlock"},D5={href:"/cgi-bin/luci/admin/services/samba4"},B5={class:"app-container_body"},Y5={class:"app-container_nas-menu"},A5=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=$(!1),u=$("linkease"),r=$(),c=$a();(()=>{M.Nas.Service.Status.GET().then(b=>{var x;if((x=b==null?void 0:b.data)!=null&&x.result){const y=b.data.result;r.value=y,y.webdav&&(c.webdav=y.webdav)}})})();const h=()=>{La({setup:0})},p=()=>{d.value=!d.value},v=()=>{p(),Et.installAndGo("app-meta-gowebdav","GoWebDAV","/cgi-bin/luci/admin/nas/gowebdav")};return(b,x)=>{var w,k,f;const y=ft("GlHelp");return s(),l("div",y5,[t("div",F5,[t("span",null,[t("span",null,o(e(i)("\u5B58\u50A8\u670D\u52A1")),1),z(y,{type:"store"})]),t("div",E5,[t("div",{class:"app-container_configure",onClick:h},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u5B58\u50A8\u670D\u52A1\u4FE1\u606F")},[z(Gt,{onClick:p})],8,$5)]),T(t("div",C5,[t("div",{class:"menu_background",onClick:p}),t("ul",null,[t("li",null,[t("a",D5,o(e(i)("SAMBA\u9AD8\u7EA7\u914D\u7F6E")),1)]),t("li",null,[t("a",{onClick:v},o(e(i)("WebDAV\u9AD8\u7EA7\u914D\u7F6E")),1)])])],512),[[Yt,d.value]])]),t("div",B5,[t("ul",Y5,[t("button",{onClick:x[0]||(x[0]=m=>u.value="linkease"),class:ct({on:u.value=="linkease"})},o(e(i)("\u6613\u6709\u4E91")),3),t("button",{onClick:x[1]||(x[1]=m=>u.value="samba"),class:ct({on:u.value=="samba"})},o(e(i)("SAMBA")),3),t("button",{onClick:x[2]||(x[2]=m=>u.value="webdav"),class:ct({on:u.value=="webdav"})},o(e(i)("WEBDAV")),3)]),u.value=="samba"?(s(),H(Kc,{key:0,sambas:(w=r.value)==null?void 0:w.sambas},null,8,["sambas"])):u.value=="webdav"?(s(),H(f1,{key:1,webdav:(k=r.value)==null?void 0:k.webdav},null,8,["webdav"])):u.value=="linkease"?(s(),H(k5,{key:2,linkease:(f=r.value)==null?void 0:f.linkease},null,8,["linkease"])):C("",!0)])])}}});var S5=N(A5,[["__scopeId","data-v-008c9ca2"]]);const z5=n=>(st("data-v-b0e9cad0"),n=n(),dt(),n),P5={class:"app-container_docker"},T5={class:"docker-item"},I5={class:"docker-item_name"},L5={key:0,class:"docker-item_value"},M5={class:"configure"},N5={key:1,class:"docker-item_value"},O5={class:"input-switch"},V5=["value","disabled"],G5=z5(()=>t("em",null,null,-1)),j5=[G5],q5={key:0,class:"docker-item"},U5={class:"docker-item_name"},R5={class:"docker-item_value"},W5={class:"configure enabel"},H5={key:0},Z5={class:"tooltip-trigger"},J5={class:"docker_tip"},K5={class:"tooltip-text tooltip-top"},Q5={class:"docker_dir_tip"},X5=G({props:{docker:{type:Object}},setup(n){var _;const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var h;return((h=i.docker)==null?void 0:h.status)!="not installed"}),r=bt({enable:((_=i.docker)==null?void 0:_.status)=="running",disabled:!1}),c=()=>L(this,null,function*(){r.disabled=!0;try{const h=yield M.Guide.DockerSwitch.POST({enable:r.enable});if(h!=null&&h.data){const{success:p,error:v}=h.data;if(v)throw r.enable=!r.enable,v;(p||0)==0}}catch(h){E.Warning(`${h}`)}finally{r.disabled=!1}});return(h,p)=>{var v,b,x,y;return s(),l("ul",P5,[t("li",T5,[t("div",I5,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),(v=i.docker)!=null&&v.status?(s(),l(O,{key:0},[e(u)?(s(),l("div",N5,[t("label",O5,[T(t("input",{type:"checkbox",hidden:"",value:!e(r).enable,"onUpdate:modelValue":p[0]||(p[0]=w=>e(r).enable=w),disabled:e(r).disabled,onChange:c},null,40,V5),[[Rt,e(r).enable]]),t("span",{class:ct(e(r).enable?"enable":"close")},j5,2)])])):(s(),l("div",L5,[t("span",M5,o(e(a)("\u672A\u5B89\u88C5")),1)]))],64)):C("",!0)]),((b=n.docker)==null?void 0:b.status)=="running"?(s(),l("li",q5,[t("div",U5,[t("span",null,o(e(a)("Docker\u6839\u76EE\u5F55\uFF1A")),1)]),t("div",R5,[t("span",W5,o((x=n.docker)==null?void 0:x.path),1),(y=n.docker)!=null&&y.errorInfo?(s(),l("span",H5,[t("span",Z5,[t("span",J5,[z(Lt)]),t("div",null,[t("div",K5,[t("span",Q5,o(n.docker.errorInfo),1)])])])])):C("",!0)])])):C("",!0)])}}});var t6=N(X5,[["__scopeId","data-v-b0e9cad0"]]);const e6={},a6={width:"128px",height:"128px",viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},o6=t("g",{id:"icon_yellow",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"128",height:"128"}),t("path",{d:"M64,8 C33.075,8 8,33.075 8,64 C8,94.925 33.075,120 64,120 C94.925,120 120,94.925 120,64 C120,33.075 94.925,8 64,8 Z M60,37 C60,36.45 60.45,36 61,36 L67,36 C67.55,36 68,36.45 68,37 L68,71 C68,71.55 67.55,72 67,72 L61,72 C60.45,72 60,71.55 60,71 L60,37 Z M64,92 C60.6875,92 58,89.3125 58,86 C58,82.6875 60.6875,80 64,80 C67.3125,80 70,82.6875 70,86 C70,89.3125 67.3125,92 64,92 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])],-1),n6=[o6];function i6(n,i){return s(),l("svg",a6,n6)}var r6=N(e6,[["render",i6]]);const s6={key:0,class:"action"},d6={class:"title"},l6={class:"desc"},u6={class:"roots"},c6={class:"roots_tit"},p6={class:"root"},f6={class:"move"},m6={class:"roots_tit"},v6={key:0},b6=["onSubmit"],g6={class:"select-editable"},h6={selected:"",value:null},_6=["value"],x6={value:"useInput"},w6=["placeholder"],k6={key:1,class:"tips"},y6={class:"tips_content"},F6={class:"tip"},E6={key:0,class:"btns"},$6={key:1,class:"btns"},C6={key:1,class:"action docker_success"},D6={class:"title"},B6={class:"finished"},Y6={class:"successed"},A6={class:"btns"},S6={key:2,class:"action docker_download"},z6={class:"title"},P6={class:"finished"},T6={class:"successed"},I6={class:"docker_moves"},L6={class:"moves change"},M6={for:"move"},N6={class:"moves"},O6={for:"cover"},V6={class:"btns"},G6=G({props:{rootPath:{type:String,required:!0},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(),r=$(),c=$(0),_=$("null"),h=$(""),p=$(),v=$(!1),b=$("");(()=>{M.Nas.Disk.Status.GET().then(F=>{F!=null&&F.data.result&&(p.value=F==null?void 0:F.data.result)}),M.Guide.DockerStatus.GET().then(F=>{var Y;if((Y=F==null?void 0:F.data)!=null&&Y.result){const S=F.data.result;u.value=S}}),M.Guide.DockerPartitionList.GET().then(F=>{var Y;if((Y=F==null?void 0:F.data)!=null&&Y.result){const S=F.data.result;r.value=S}})})();const y=F=>{let Y=_.value;if(Y=="useInput"&&(Y=h.value),Y==null||Y=="null"||Y=="")return;const S=E.Loading(a("\u6B63\u5728\u8FC1\u79FB\u4E2D..."));M.Guide.DockerTransfer.POST({path:Y,force:F,overwriteDir:!!b.value}).then(B=>{var D;if(B!=null&&B.data){if((B.data.success||0)==0){if((D=B.data.result)!=null&&D.emptyPathWarning){v.value=!0,c.value=2;return}c.value=1;return}else if(B.data.error)throw B.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(B=>{E.Error(B)}).finally(()=>S.Close())},w=()=>{v.value=!1,y(!1)},k=F=>{F.preventDefault(),i.Close&&i.Close()},f=F=>{F.preventDefault(),location.reload()},m=F=>{F.preventDefault(),c.value=0},g=F=>{F.preventDefault(),y(!0)};return(F,Y)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>{var S,B,D,I,at,A;return[c.value==0?(s(),l("div",s6,[t("h2",d6,o(e(a)("Docker\u8FC1\u79FB\u5411\u5BFC")),1),t("p",l6,o(e(a)("\u5F53\u7CFB\u7EDF\u6839\u76EE\u5F55\u7A7A\u95F4\u4E0D\u8DB3\u65F6\uFF0C\u53EF\u5C06Docker\u6839\u76EE\u5F55\u8FC1\u79FB\u5230\u5916\u7F6E\u786C\u76D8\uFF0C\u4EE5\u4FDD\u8BC1\u7CFB\u7EDF\u7684\u6B63\u5E38\u8FD0\u884C\uFF08\u76EE\u6807\u5206\u533A\u4E0D\u652F\u6301NTFS\uFF0CFAT\u7B49\u6587\u4EF6\u7CFB\u7EDF\uFF09")),1),t("div",u6,[t("span",c6,o(e(a)("Docker\u6839\u76EE\u5F55\uFF1A")),1),t("span",p6,o((S=u.value)==null?void 0:S.path),1)]),t("div",f6,[t("span",m6,o(e(a)("\u8FC1\u79FB\u5230\uFF1A")),1),(D=(B=r.value)==null?void 0:B.partitionList)!=null&&D.length?(s(),l("div",v6,[t("form",{onSubmit:pt(w,["prevent"])},[t("label",null,[t("div",g6,[T(t("select",{"onUpdate:modelValue":Y[0]||(Y[0]=P=>_.value=P)},[t("option",h6,o(e(a)("\u8BF7\u9009\u62E9\u8FC1\u79FB\u8DEF\u5F84")),1),(s(!0),l(O,null,J((I=r.value)==null?void 0:I.partitionList,(P,V)=>(s(),l("option",{value:P,key:V},o(P),9,_6))),128)),t("option",x6,o(e(a)("- -\u81EA\u5B9A\u4E49- -")),1)],512),[[rt,_.value,void 0,{trim:!0}]]),_.value=="useInput"?T((s(),l("input",{key:0,type:"text","onUpdate:modelValue":Y[1]||(Y[1]=P=>h.value=P),required:"",placeholder:e(a)("\u8BF7\u8F93\u5165\u8FC1\u79FB\u8DEF\u5F84")},null,8,w6)),[[tt,h.value,void 0,{trim:!0}]]):C("",!0)])])],40,b6)])):r.value?(s(),l("div",k6,[t("div",y6,[z(Lt),t("span",F6,o(e(a)("\u68C0\u6D4B\u5230\u60A8\u8FD8\u6CA1\u6709\u6302\u8F7D\u5916\u7F6E\u786C\u76D8\u6216\u5206\u533A\u5C0F\u4E8E8GB\uFF0C\u9700\u8981\u60A8\u63A5\u4E0A\u786C\u76D8\u5E76\u683C\u5F0F\u5316\u6216\u624B\u52A8\u6302\u8F7D\u786C\u76D8\u540E\uFF0C\u518D\u6267\u884CDocker\u8FC1\u79FB\u5411\u5BFC\uFF0C\u5C06Docker\u8FC1\u79FB\u5230\u76EE\u6807\u786C\u76D8\u3002")),1)])])):C("",!0)]),(A=(at=r.value)==null?void 0:at.partitionList)!=null&&A.length?(s(),l("div",E6,[t("button",{class:"cbi-button cbi-button-apply",onClick:w},o(e(a)("\u786E\u5B9A")),1),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:k},o(e(a)("\u53D6\u6D88")),1)])):(s(),l("div",$6,[t("button",{class:"cbi-button cbi-button-apply",onClick:k},o(e(a)("\u786E\u5B9A")),1)]))])):c.value==1?(s(),l("div",C6,[t("h2",D6,o(e(a)("Docker\u8FC1\u79FB\u5411\u5BFC")),1),t("div",B6,[z(Ze)]),t("p",Y6,o(e(a)("\u8FC1\u79FB\u6210\u529F\uFF01")),1),t("div",A6,[t("button",{class:"cbi-button cbi-button-apply",onClick:f},o(e(a)("\u786E\u5B9A")),1)])])):c.value==2?(s(),l("div",S6,[t("h2",z6,o(e(a)("Docker\u8FC1\u79FB\u5411\u5BFC")),1),t("div",P6,[z(r6)]),t("p",T6,o(e(a)("\u8BE5\u76EE\u6807\u8DEF\u5F84\u4E0D\u4E3A\u7A7A")),1),t("div",I6,[t("div",L6,[T(t("input",{type:"radio",id:"move",name:"moves","onUpdate:modelValue":Y[2]||(Y[2]=P=>b.value=P),value:""},null,512),[[yt,b.value]]),t("label",M6,o(e(a)("\u66F4\u6362\u76EE\u5F55\uFF08\u4E0D\u8986\u76D6\u76EE\u6807\u8DEF\u5F84\uFF0C\u4EC5\u5C06Docker\u76EE\u5F55\u4FEE\u6539\u4E3A\u76EE\u6807\u8DEF\u5F84\uFF09")),1)]),t("div",N6,[T(t("input",{type:"radio",id:"cover",name:"moves","onUpdate:modelValue":Y[3]||(Y[3]=P=>b.value=P),value:"true"},null,512),[[yt,b.value]]),t("label",O6,o(e(a)("\u8986\u76D6\u8FC1\u79FB\uFF08\u8986\u76D6\u76EE\u6807\u8DEF\u5F84\uFF0C\u7EE7\u7EED\u8FC1\u79FB\u4F1A\u6E05\u7A7A\u8BE5\u76EE\u6807\u8DEF\u5F84\u4E0B\u7684\u6587\u4EF6\uFF09")),1)])]),t("div",V6,[v.value?(s(),l("button",{key:0,class:"cbi-button cbi-button-apply",onClick:g},o(e(a)("\u786E\u5B9A")),1)):C("",!0),t("button",{class:"cbi-button cbi-button-apply",onClick:m},o(e(a)("\u8FD4\u56DE")),1),v.value?C("",!0):(s(),l("button",{key:1,class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:f},o(e(a)("\u53D6\u6D88")),1))])])):C("",!0)]}),_:1},8,["Close"]))}});var j6=N(G6,[["__scopeId","data-v-81932f72"]]);const q6=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(j6,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},U6=n=>(st("data-v-3b60633e"),n=n(),dt(),n),R6={class:"app-container"},W6={class:"app-container_title"},H6=U6(()=>t("span",null,"Docker",-1)),Z6={key:0,class:"app-container_tool"},J6=["title"],K6={class:"DeviceBlock"},Q6={href:"/cgi-bin/luci/admin/docker/overview"},X6={key:1,class:"loading_placeholder"},tp=G({props:{docker:{type:Object}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=$(!1),u=$(),r=$(!1),c=()=>{r.value=!r.value},_=()=>{q6()};return setTimeout(()=>{M.Guide.DockerStatus.GET().then(p=>{var v;if((v=p==null?void 0:p.data)!=null&&v.result){const b=p.data.result;u.value=b}}).finally(()=>{d.value=!0})},1100),(p,v)=>{var y,w;const b=ft("GlHelp"),x=ft("icon-loading");return s(),l("div",R6,[t("div",W6,[t("span",null,[H6,z(b,{type:"docker"})]),d.value?(s(),l("div",Z6,[((y=u.value)==null?void 0:y.status)!="not installed"?(s(),l("div",{key:0,class:"app-container_configure",onClick:_},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),1)):C("",!0),((w=u.value)==null?void 0:w.status)==="running"?(s(),l("span",{key:1,class:"more_icon",title:e(i)("Docker\u7BA1\u7406")},[z(Gt,{onClick:c})],8,J6)):C("",!0)])):C("",!0),T(t("div",K6,[t("div",{class:"menu_background",onClick:c}),t("ul",null,[t("li",null,[t("a",Q6,o(e(i)("Docker\u9AD8\u7EA7\u914D\u7F6E")),1)])])],512),[[Yt,r.value]])]),t("div",null,[d.value?(s(),H(t6,{key:0,docker:u.value},null,8,["docker"])):(s(),l("div",X6,[z(x,{size:50,color:"currentColor"})]))])])}}});var ep=N(tp,[["__scopeId","data-v-3b60633e"]]);const ap={class:"app-container_aria2"},op={class:"aria2-item"},np={class:"aria2-item_name"},ip={class:"aria2-item_value"},rp={key:0,class:"configure"},sp={key:1,class:"configure enabel"},dp={class:"aria2-item"},lp={class:"aria2-item_name"},up={class:"aria2-item_value"},cp=["href"],pp={class:"aria2-item"},fp={class:"aria2-item_name"},mp={class:"aria2-item_value"},vp=["href"],bp={class:"aria2-item"},gp={class:"aria2-item_name right"},hp={class:"aria2-item_value"},_p=["href"],xp={class:"use-url_app"},wp={href:"https://doc.linkease.com/zh/guide/linkease_app/tutorial.html#%E8%BF%9C%E7%A8%8B%E4%B8%8B%E8%BD%BD",target:"_blank"},kp=G({props:{aria2:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var c;return`${location.origin}${(c=i.aria2)==null?void 0:c.webPath}`}),r=X(()=>{var h,p,v;let c=(h=i.aria2)==null?void 0:h.rpcToken;c?c=encodeURIComponent(btoa(c)):c="";const _=encodeURIComponent(location.hostname);return`${location.origin}${(p=i.aria2)==null?void 0:p.webPath}/#!/settings/rpc/set/http/${_}/${(v=i.aria2)==null?void 0:v.rpcPort}/jsonrpc/${c}`});return(c,_)=>{var h,p,v,b;return s(),l("ul",ap,[t("li",op,[t("div",np,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",ip,[((h=n.aria2)==null?void 0:h.status)=="running"?(s(),l("span",rp,o(e(a)("\u5DF2\u542F\u52A8")),1)):(s(),l("span",sp,o(e(a)("\u672A\u542F\u52A8")),1))])]),((p=n.aria2)==null?void 0:p.status)=="running"?(s(),l(O,{key:0},[t("li",dp,[t("div",lp,[t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55:")),1)]),t("div",up,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((v=n.aria2)==null?void 0:v.downloadPath)},o((b=n.aria2)==null?void 0:b.downloadPath),9,cp)])]),t("li",pp,[t("div",fp,[t("span",null,o(e(a)("\u7F51\u7EDC\u5730\u5740:")),1)]),t("div",mp,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,vp)])]),t("li",bp,[t("div",gp,[t("span",null,o(e(a)("\u8BA4\u8BC1\u5931\u8D25\uFF1F")),1)]),t("div",hp,[t("a",{href:e(r),target:"_blank",rel:"noopener noreferrer"},o(e(a)("\u70B9\u6B64\u81EA\u52A8\u914D\u7F6E AriaNg")),9,_p)])])],64)):C("",!0),t("div",xp,[t("a",wp,o(e(a)("\u4F7F\u7528\u6613\u6709\u4E91APP\uFF0C\u968F\u65F6\u968F\u5730\u8FDC\u7A0B\u4E0B\u8F7D")),1)])])}}});var yp=N(kp,[["__scopeId","data-v-4d31c3c4"]]);const Fp={class:"app-container_qbittorrent"},Ep={class:"qbittorrent-item"},$p={class:"qbittorrent-item_name"},Cp={class:"qbittorrent-item_value"},Dp={key:0,class:"configure"},Bp={key:1,class:"configure enabel"},Yp={class:"qbittorrent-item"},Ap={class:"qbittorrent-item_name"},Sp={class:"qbittorrent-item_value"},zp=["href"],Pp={class:"qbittorrent-item"},Tp={class:"qbittorrent-item_name"},Ip={class:"qbittorrent-item_value"},Lp=["href"],Mp={class:"qbittorrent-item"},Np={class:"qbittorrent-item_name right"},Op={class:"qbittorrent-item_value"},Vp=G({props:{qbittorrent:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var r;return`http://${location.hostname}${(r=i.qbittorrent)==null?void 0:r.webPath}`});return(r,c)=>{var _,h,p,v;return s(),l("ul",Fp,[t("li",Ep,[t("div",$p,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",Cp,[((_=n.qbittorrent)==null?void 0:_.status)=="running"?(s(),l("span",Dp,o(e(a)("\u5DF2\u542F\u52A8")),1)):(s(),l("span",Bp,o(e(a)("\u672A\u542F\u52A8")),1))])]),((h=n.qbittorrent)==null?void 0:h.status)=="running"?(s(),l(O,{key:0},[t("li",Yp,[t("div",Ap,[t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55:")),1)]),t("div",Sp,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((p=n.qbittorrent)==null?void 0:p.downloadPath)},o((v=n.qbittorrent)==null?void 0:v.downloadPath),9,zp)])]),t("li",Pp,[t("div",Tp,[t("span",null,o(e(a)("\u7F51\u7EDC\u5730\u5740:")),1)]),t("div",Ip,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,Lp)])]),t("li",Mp,[t("div",Np,[t("span",null,o(e(a)("\u9ED8\u8BA4\u7528\u6237\u540D\uFF1A"))+"admin",1)]),t("div",Op,[t("span",null,o(e(a)("\u9ED8\u8BA4\u5BC6\u7801\uFF1A"))+"adminadmin",1)])])],64)):C("",!0)])}}});var Gp=N(Vp,[["__scopeId","data-v-44bc5d56"]]);const jp={class:"app-container_transmission"},qp={class:"transmission-item"},Up={class:"transmission-item_name"},Rp={class:"transmission-item_value"},Wp={key:0,class:"configure"},Hp={key:1,class:"configure enabel"},Zp={class:"transmission-item"},Jp={class:"transmission-item_name"},Kp={class:"transmission-item_value"},Qp=["href"],Xp={class:"transmission-item"},t3={class:"transmission-item_name"},e3={class:"transmission-item_value"},a3=["href"],o3=G({props:{transmission:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var r;return`http://${location.hostname}${(r=i.transmission)==null?void 0:r.webPath}`});return(r,c)=>{var _,h,p,v;return s(),l("ul",jp,[t("li",qp,[t("div",Up,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",Rp,[((_=n.transmission)==null?void 0:_.status)=="running"?(s(),l("span",Wp,o(e(a)("\u5DF2\u542F\u52A8")),1)):(s(),l("span",Hp,o(e(a)("\u672A\u542F\u52A8")),1))])]),((h=n.transmission)==null?void 0:h.status)=="running"?(s(),l(O,{key:0},[t("li",Zp,[t("div",Jp,[t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55:")),1)]),t("div",Kp,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((p=n.transmission)==null?void 0:p.downloadPath)},o((v=n.transmission)==null?void 0:v.downloadPath),9,Qp)])]),t("li",Xp,[t("div",t3,[t("span",null,o(e(a)("\u7F51\u7EDC\u5730\u5740:")),1)]),t("div",e3,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,a3)])])],64)):C("",!0)])}}});var n3=N(o3,[["__scopeId","data-v-ab5c1db0"]]);const i3={},r3={width:"14px",height:"14px",viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},s3=t("path",{d:"M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z",id:"\u5F62\u72B6","fill-opacity":"0.65"},null,-1),d3=[s3];function l3(n,i){return s(),l("svg",r3,d3)}var Ht=N(i3,[["render",l3]]);const Ie=n=>(st("data-v-395b81d2"),n=n(),dt(),n),u3={key:0,class:"action"},c3={class:"title"},p3={class:"load_service input_row"},f3={class:"left"},m3={class:"radios"},v3=Ie(()=>t("label",{for:"Aria2"},"Aria2",-1)),b3={class:"radios"},g3=Ie(()=>t("label",{for:"qB"},"qBittorrent",-1)),h3={class:"radios"},_3=Ie(()=>t("label",{for:"Tr"},"Transmission",-1)),x3=["onSubmit"],w3={class:"input_row"},k3={class:"left"},y3={class:"tooltip-trigger"},F3={class:"tooltip-text tooltip-top"},E3={class:"dowload_dir_tip"},$3={class:"myinput_wrap"},C3={class:"input_row"},D3={class:"left"},B3={class:"tooltip-trigger"},Y3={class:"tooltip-text tooltip-top"},A3={class:"dowload_dir_tip"},S3={class:"myinput_wrap"},z3={class:"input_row"},P3={class:"left"},T3={class:"tooltip-trigger"},I3={class:"tooltip-text tooltip-bottom"},L3={class:"dowload_rpc_tip"},M3=["placeholder"],N3={class:"input_row"},O3={class:""},V3={class:"radios"},G3={for:"default"},j3={class:"radios"},q3={for:"add"},U3={class:"input_row"},R3=Ie(()=>t("div",{class:"left"},null,-1)),W3={class:"myinput_wrap Tracker_input"},H3=["placeholder"],Z3=["onSubmit"],J3={class:"input_row"},K3={class:"left"},Q3={class:"tooltip-trigger"},X3={class:"tooltip-text tooltip-top"},t8={class:"dowload_dir_tip"},e8={class:"myinput_wrap"},a8={class:"input_row"},o8={class:"left"},n8={class:"tooltip-trigger"},i8={class:"tooltip-text tooltip-top"},r8={class:"dowload_dir_tip"},s8={class:"myinput_wrap"},d8=["onSubmit"],l8={class:"input_row"},u8={class:"left"},c8={class:"tooltip-trigger"},p8={class:"tooltip-text tooltip-top"},f8={class:"dowload_dir_tip"},m8={class:"myinput_wrap"},v8={class:"input_row"},b8={class:"left"},g8={class:"tooltip-trigger"},h8={class:"tooltip-text tooltip-top"},_8={class:"dowload_dir_tip"},x8={class:"myinput_wrap"},w8={class:"btns"},k8={key:1,class:"action"},y8={class:"title"},F8={class:"finished"},E8={class:"successed"},$8={class:"btns"},C8=G({props:{services:{type:Object,required:!0},partitionList:{type:Array,required:!0},defaultTab:{type:String,required:!1},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(""),r=$(""),c=$(""),_=$(""),h=$("default"),p=$("Aria2"),v=$(""),b=$(""),x=$(""),y=$(""),w=$([]),k=$([]),f=$(0);At(()=>{var A,P,V,ot,Ct,Dt,vt,nt,U,xt;switch(i.defaultTab){case"aria2":p.value="Aria2";break;case"qbittorrent":p.value="qBittorrent";break;case"transmission":p.value="Transmission";break}w.value=i.partitionList.map(lt=>({key:lt})),k.value=i.partitionList.filter(lt=>lt.startsWith("/mnt/")).map(lt=>lt.replace(/(\/mnt\/[^/]+).*/,"$1")),c.value=((A=i.services.aria2)==null?void 0:A.configPath)||"";const B=((P=i.services.aria2)==null?void 0:P.downloadPath)||((V=i.services.qbittorrent)==null?void 0:V.downloadPath)||((ot=i.services.transmission)==null?void 0:ot.downloadPath);B&&(_.value=B);const D=(Ct=i.services.aria2)==null?void 0:Ct.rpcToken;D&&(u.value=D),v.value=((Dt=i.services.qbittorrent)==null?void 0:Dt.configPath)||"";const I=((vt=i.services.qbittorrent)==null?void 0:vt.downloadPath)||B||((nt=i.services.transmission)==null?void 0:nt.downloadPath);I&&(b.value=I),x.value=((U=i.services.transmission)==null?void 0:U.configPath)||"";const at=((xt=i.services.transmission)==null?void 0:xt.downloadPath)||B||I;at&&(y.value=at)});const m=()=>{let B=c.value,D=_.value;B==null||B==""||D==null||D==""||L(this,null,function*(){if(yield Et.checkAndInstallApp("app-meta-aria2","Aria2")){const at=E.Loading(a("\u914D\u7F6E\u4E2D..."));M.Guide.Aria2Init.POST({configPath:B,downloadPath:D,rpcToken:u.value,btTracker:h.value=="add"?r.value:""}).then(A=>{var P;if(A!=null&&A.data){if((A.data.success||0)==0){f.value=1;return}else if((P=A.data)!=null&&P.error)throw A.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(A=>E.Error(A)).finally(()=>at.Close())}})},g=()=>{let B=v.value,D=b.value;B==null||B==""||D==null||D==""||L(this,null,function*(){if(yield Et.checkAndInstallApp("app-meta-qbittorrent","qBittorrent")){const at=E.Loading(a("\u914D\u7F6E\u4E2D..."));M.Guide.qbitorrentInit.POST({configPath:B,downloadPath:D}).then(A=>{var P;if(A!=null&&A.data){if((A.data.success||0)==0){f.value=1;return}else if((P=A.data)!=null&&P.error)throw A.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(A=>E.Error(A)).finally(()=>at.Close())}})},F=()=>{let B=x.value,D=y.value;B==null||B==""||D==null||D==""||L(this,null,function*(){if(yield Et.checkAndInstallApp("app-meta-transmission","Transmission")){const at=E.Loading(a("\u914D\u7F6E\u4E2D..."));M.Guide.transmissionInit.POST({configPath:B,downloadPath:D}).then(A=>{var P;if(A!=null&&A.data){if((A.data.success||0)==0){f.value=1;return}else if((P=A.data)!=null&&P.error)throw A.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(A=>E.Error(A)).finally(()=>at.Close())}})},Y=B=>{B.preventDefault(),i.Close&&i.Close()},S=B=>{B.preventDefault(),location.reload()};return(B,D)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[f.value==0?(s(),l("div",u3,[t("h2",c3,o(e(a)("\u4E0B\u8F7D\u670D\u52A1\u914D\u7F6E\u5411\u5BFC")),1),t("ul",null,[t("li",null,[t("div",p3,[t("div",f3,[t("span",null,o(e(a)("\u4E0B\u8F7D\u670D\u52A1\uFF1A")),1)]),t("div",m3,[T(t("input",{type:"radio",value:"Aria2","onUpdate:modelValue":D[0]||(D[0]=I=>p.value=I),name:"download",id:"Aria2"},null,512),[[yt,p.value]]),v3]),t("div",b3,[T(t("input",{type:"radio",value:"qBittorrent","onUpdate:modelValue":D[1]||(D[1]=I=>p.value=I),name:"download",id:"qB"},null,512),[[yt,p.value]]),g3]),t("div",h3,[T(t("input",{type:"radio",value:"Transmission","onUpdate:modelValue":D[2]||(D[2]=I=>p.value=I),name:"download",id:"Tr"},null,512),[[yt,p.value]]),_3])])])]),p.value=="Aria2"?(s(),l("form",{key:0,onSubmit:pt(m,["prevent"])},[t("ul",null,[t("li",null,[t("div",w3,[t("div",k3,[t("span",y3,[z(Ht),t("div",null,[t("div",F3,[t("span",E3,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u914D\u7F6E\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/Configs/aria2\uFF1B\u8BF7\u52FF\u4F7F\u7528 /tmp \u6216 /var \uFF0C\u4EE5\u514D\u91CD\u542F\u4EE5\u540E\u4EFB\u52A1\u4E22\u5931")),1)])])]),t("span",null,o(e(a)("\u914D\u7F6E\u76EE\u5F55\uFF1A")),1)]),t("div",$3,[z(Zt,{modelValue:c.value,"onUpdate:modelValue":D[3]||(D[3]=I=>c.value=I),modelModifiers:{trim:!0},title:e(a)("\u914D\u7F6E\u76EE\u5F55"),options:k.value.concat("/root").map(I=>({key:I+"/Configs/aria2"}))},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",C3,[t("div",D3,[t("span",B3,[z(Ht),t("div",null,[t("div",Y3,[t("span",A3,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/download")),1)])])]),t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55\uFF1A")),1)]),t("div",S3,[z(Zt,{modelValue:_.value,"onUpdate:modelValue":D[4]||(D[4]=I=>_.value=I),modelModifiers:{trim:!0},title:e(a)("\u4E0B\u8F7D\u76EE\u5F55"),options:w.value},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",z3,[t("div",P3,[t("span",T3,[z(Ht),t("div",null,[t("div",I3,[t("span",L3,o(e(a)("\u7528\u4E8E\u8FDC\u7A0B\u8BBF\u95EE\u7684\u4EE4\u724C\u3002")),1)])])]),t("span",null,o(e(a)("RPC \u4EE4\u724C\uFF1A")),1)]),T(t("input",{type:"text",class:"RPC_input",placeholder:e(a)("\u8BF7\u8F93\u5165RPC\u4EE4\u724C"),"onUpdate:modelValue":D[5]||(D[5]=I=>u.value=I)},null,8,M3),[[tt,u.value,void 0,{trim:!0}]])])]),t("li",null,[t("div",N3,[t("div",O3,[t("span",null,o(e(a)("\u9644\u52A0\u7684 BT Tracker\uFF1A")),1)]),t("div",V3,[T(t("input",{type:"radio",value:"default",name:"BT",id:"default","onUpdate:modelValue":D[6]||(D[6]=I=>h.value=I)},null,512),[[yt,h.value]]),t("label",G3,o(e(a)("\u9ED8\u8BA4")),1)]),t("div",j3,[T(t("input",{type:"radio",value:"add",name:"BT",id:"add","onUpdate:modelValue":D[7]||(D[7]=I=>h.value=I)},null,512),[[yt,h.value]]),t("label",q3,o(e(a)("\u81EA\u5DF1\u6DFB\u52A0")),1)])])]),t("li",null,[t("div",U3,[R3,t("div",W3,[h.value=="add"?T((s(),l("textarea",{key:0,"onUpdate:modelValue":D[8]||(D[8]=I=>r.value=I),rows:"4",placeholder:e(a)("\u8BF7\u8F93\u5165BT Tracker\u670D\u52A1\u5668\u5730\u5740\uFF0C\u591A\u4E2A\u5730\u5740\u4F7F\u7528\u6362\u884C\u6216\u8005\u82F1\u6587\u9017\u53F7\u5206\u9694")},null,8,H3)),[[tt,r.value,void 0,{trim:!0}]]):C("",!0)])])])])],40,x3)):C("",!0),p.value=="qBittorrent"?(s(),l("form",{key:1,onSubmit:pt(g,["prevent"])},[t("ul",null,[t("li",null,[t("div",J3,[t("div",K3,[t("span",Q3,[z(Ht),t("div",null,[t("div",X3,[t("span",t8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u914D\u7F6E\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/Configs/qb\uFF1B\u8BF7\u52FF\u4F7F\u7528 /tmp \u6216 /var \uFF0C\u4EE5\u514D\u91CD\u542F\u4EE5\u540E\u4EFB\u52A1\u4E22\u5931")),1)])])]),t("span",null,o(e(a)("\u914D\u7F6E\u76EE\u5F55\uFF1A")),1)]),t("div",e8,[z(Zt,{modelValue:v.value,"onUpdate:modelValue":D[9]||(D[9]=I=>v.value=I),modelModifiers:{trim:!0},title:e(a)("\u914D\u7F6E\u76EE\u5F55"),options:k.value.concat("/root").map(I=>({key:I+"/Configs/qb"}))},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",a8,[t("div",o8,[t("span",n8,[z(Ht),t("div",null,[t("div",i8,[t("span",r8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/download")),1)])])]),t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55\uFF1A")),1)]),t("div",s8,[z(Zt,{modelValue:b.value,"onUpdate:modelValue":D[10]||(D[10]=I=>b.value=I),modelModifiers:{trim:!0},title:e(a)("\u4E0B\u8F7D\u76EE\u5F55"),options:w.value},null,8,["modelValue","title","options"])])])])])],40,Z3)):C("",!0),p.value=="Transmission"?(s(),l("form",{key:2,onSubmit:pt(F,["prevent"])},[t("ul",null,[t("li",null,[t("div",l8,[t("div",u8,[t("span",c8,[z(Ht),t("div",null,[t("div",p8,[t("span",f8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u914D\u7F6E\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/Configs/tr\uFF1B\u8BF7\u52FF\u4F7F\u7528 /tmp \u6216 /var \uFF0C\u4EE5\u514D\u91CD\u542F\u4EE5\u540E\u4EFB\u52A1\u4E22\u5931")),1)])])]),t("span",null,o(e(a)("\u914D\u7F6E\u76EE\u5F55\uFF1A")),1)]),t("div",m8,[z(Zt,{modelValue:x.value,"onUpdate:modelValue":D[11]||(D[11]=I=>x.value=I),modelModifiers:{trim:!0},title:e(a)("\u914D\u7F6E\u76EE\u5F55"),options:k.value.concat("/root").map(I=>({key:I+"/Configs/transmission"}))},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",v8,[t("div",b8,[t("span",g8,[z(Ht),t("div",null,[t("div",h8,[t("span",_8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/download")),1)])])]),t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55\uFF1A")),1)]),t("div",x8,[z(Zt,{modelValue:y.value,"onUpdate:modelValue":D[12]||(D[12]=I=>y.value=I),modelModifiers:{trim:!0},title:e(a)("\u4E0B\u8F7D\u76EE\u5F55"),options:w.value},null,8,["modelValue","title","options"])])])])])],40,d8)):C("",!0),t("div",w8,[p.value=="Aria2"?(s(),l("button",{key:0,class:"cbi-button cbi-button-apply",onClick:m},o(e(a)("\u542F\u7528")),1)):C("",!0),p.value=="qBittorrent"?(s(),l("button",{key:1,class:"cbi-button cbi-button-apply",onClick:g},o(e(a)("\u542F\u7528")),1)):C("",!0),p.value=="Transmission"?(s(),l("button",{key:2,class:"cbi-button cbi-button-apply",onClick:F},o(e(a)("\u542F\u7528")),1)):C("",!0),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:Y},o(e(a)("\u53D6\u6D88")),1)])])):f.value==1?(s(),l("div",k8,[t("h2",y8,o(e(a)("%{status}\u4E0B\u8F7D\u670D\u52A1\u914D\u7F6E\u5411\u5BFC",{status:p.value})),1),t("div",F8,[z(Ze)]),t("p",E8,o(e(a)("\u914D\u7F6E\u6210\u529F\uFF01")),1),t("div",$8,[t("button",{class:"cbi-button cbi-button-apply",onClick:S},o(e(a)("\u786E\u5B9A")),1)])])):C("",!0)]),_:1},8,["Close"]))}});var D8=N(C8,[["__scopeId","data-v-395b81d2"]]);const B8=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(D8,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},Y8={class:"app-container"},A8={class:"app-container_title"},S8={class:"app-container_tool"},z8=["disabled"],P8=["title"],T8={class:"DeviceBlock"},I8={class:"app-container_body"},L8={class:"app-container_nas-menu"},M8=G({setup(n){const{$gettext:i,$ngettext:a}=W();$(!1);const d=$("aria2"),u=$();$a(),setTimeout(()=>{M.Guide.DownloadService.Status.GET().then(w=>{var k;if((k=w==null?void 0:w.data)!=null&&k.result){const f=w.data.result;u.value=f}})},800);const c=$(!1),_=$(!1),h=()=>{_.value=!_.value},p=()=>{M.Guide.DownloadPartition.List.GET().then(w=>{var f,m;let k=[];(m=(f=w==null?void 0:w.data)==null?void 0:f.result)!=null&&m.partitionList&&(k=w.data.result.partitionList),B8({services:u.value,partitionList:k,defaultTab:d.value})})},v=(w,k,f)=>L(this,null,function*(){h(),Et.installAndGo(w,k,f)}),b=()=>{v("app-meta-aria2","Aria2","/cgi-bin/luci/admin/services/aria2")},x=()=>{v("app-meta-qbittorrent","qBittorrent","/cgi-bin/luci/admin/nas/qBittorrent")},y=()=>{v("app-meta-transmission","Transmission","/cgi-bin/luci/admin/services/transmission")};return(w,k)=>{var m,g,F;const f=ft("GlHelp");return s(),l("div",Y8,[t("div",A8,[t("span",null,[t("span",null,o(e(i)("\u4E0B\u8F7D\u670D\u52A1")),1),z(f,{type:"download"})]),t("div",S8,[u.value?(s(),l("div",{key:0,class:"app-container_configure",onClick:p,disabled:c.value},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),9,z8)):C("",!0),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u9AD8\u7EA7\u914D\u7F6E")},[z(Gt,{onClick:h})],8,P8)]),T(t("div",T8,[t("div",{class:"menu_background",onClick:h}),t("ul",null,[t("li",null,[t("a",{onClick:b},o(e(i)("Aria2\u9AD8\u7EA7\u914D\u7F6E")),1)]),t("li",null,[t("a",{onClick:x},o(e(i)("qBittorrent\u9AD8\u7EA7\u914D\u7F6E")),1)]),t("li",null,[t("a",{onClick:y},o(e(i)("Transmission\u9AD8\u7EA7\u914D\u7F6E")),1)])])],512),[[Yt,_.value]])]),t("div",I8,[t("ul",L8,[t("button",{onClick:k[0]||(k[0]=Y=>d.value="aria2"),class:ct({on:d.value=="aria2"})},"Aria2",2),t("button",{onClick:k[1]||(k[1]=Y=>d.value="qbittorrent"),class:ct({on:d.value=="qbittorrent"})},"qBittorrent",2),t("button",{onClick:k[2]||(k[2]=Y=>d.value="transmission"),class:ct({on:d.value=="transmission"})},"Transmission",2)]),d.value=="aria2"?(s(),H(yp,{key:0,aria2:(m=u.value)==null?void 0:m.aria2},null,8,["aria2"])):d.value=="qbittorrent"?(s(),H(Gp,{key:1,qbittorrent:(g=u.value)==null?void 0:g.qbittorrent},null,8,["qbittorrent"])):d.value=="transmission"?(s(),H(n3,{key:2,transmission:(F=u.value)==null?void 0:F.transmission},null,8,["transmission"])):C("",!0)])])}}});var N8=N(M8,[["__scopeId","data-v-17fab0f2"]]);const O8={class:"actioner-container"},V8={class:"actioner-container_header"},G8={class:"actioner-container_body"},j8={class:"label-item"},q8={class:"label_info"},U8={class:"label-item"},R8={class:"label_info"},W8={class:"label-item"},H8={class:"label_info"},Z8={class:"label-item"},J8={class:"label_info"},K8={class:"actioner-container_footer"},Q8=G({props:{onSetup:{type:Function,required:!0},active:{type:String,default:"ddnsto"}},emits:["update:active"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=()=>{a.onSetup()},c=$(a.active),_=()=>{switch(i("update:active",c.value),c.value){case"ddnsto":a.onSetup("ddnsto");break;case"ali":a.onSetup("ddns-ali");break;case"dnspod":a.onSetup("ddns-dnspod");break;case"oray":a.onSetup("ddns-oray");break}};return(h,p)=>(s(),l("div",O8,[t("div",V8,[t("span",null,o(e(d)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",G8,[t("div",j8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":p[0]||(p[0]=v=>c.value=v),value:"ddnsto"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("DDNSTO")),1)]),t("p",q8,o(e(d)("DDNSTO \u662F\u4E00\u4E2A\u4E0D\u9700\u8981\u516C\u7F51IP\u4E5F\u53EF\u4EE5\u5728\u5916\u7F51\u8BBF\u95EE\u7684\u7A7F\u900F\u57DF\u540D\u670D\u52A1\uFF0C\u4E00\u4E2A\u6D4F\u89C8\u5668\u641E\u5B9A\u5185\u7F51\u7A7F\u900F\uFF0C\u8FDC\u7A0B\u8BBF\u95EEOpenwrt\u3001\u8FDC\u7A0B\u7EC8\u7AEF\u3001\u8FDC\u7A0B\u684C\u9762...")),1)]),t("div",U8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":p[1]||(p[1]=v=>c.value=v),value:"ali"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("\u963F\u91CC\u4E91")),1)]),t("p",R8,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1)]),t("div",W8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":p[2]||(p[2]=v=>c.value=v),value:"dnspod"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("Dnspod")),1)]),t("p",H8,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1)]),t("div",Z8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":p[3]||(p[3]=v=>c.value=v),value:"oray"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("\u82B1\u751F\u58F3")),1)]),t("p",J8,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1)])]),t("div",K8,[t("div",{class:"close",onClick:r},o(e(d)("\u53D6\u6D88")),1),t("div",{class:"next",onClick:_},o(e(d)("\u4E0B\u4E00\u6B65")),1)])]))}});var X8=N(Q8,[["__scopeId","data-v-73552138"]]);const t4=n=>(st("data-v-b9ee57da"),n=n(),dt(),n),e4={class:"actioner-container"},a4={class:"actioner-container_body"},o4=t4(()=>t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})],-1)),n4={class:"body-title"},i4={class:"body-tips"},r4={class:"body-info"},s4=["href"],d4={href:"/cgi-bin/luci/admin/services/ddns",target:"_blank"},l4={class:"actioner-container_footer"},u4=G({props:{target:{type:String,required:!0},onSetup:{type:Function,required:!0}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=()=>{localStorage.setItem("firstOpen",JSON.stringify(!0)),location.reload()};return(u,r)=>(s(),l("div",e4,[t("div",a4,[o4,t("div",n4,o(e(i)("\u6DFB\u52A0\u6210\u529F")),1),t("p",i4,o(e(i)("\u8BF7\u7A0D\u7B491\u5206\u949F\u751F\u6548\u540E\u518D\u4F7F\u7528\u3002")),1),t("div",r4,[t("span",null,o(e(i)("\u8BBF\u95EE\u5730\u5740\uFF1A")),1),t("a",{href:n.target,target:"_blank",rel:"noopener noreferrer"},o(n.target),9,s4)]),t("div",null,[t("span",null,o(e(i)("\u53EF\u524D\u5F80")),1),t("a",d4,o(e(i)("\u670D\u52A1-\u52A8\u6001DNS")),1),t("span",null,o(e(i)("\u67E5\u770B\u66F4\u591A\u8BE6\u60C5")),1)])]),t("div",l4,[t("div",{class:"close",onClick:d},o(e(i)("\u5173\u95ED")),1)])]))}});var c4=N(u4,[["__scopeId","data-v-b9ee57da"]]);const p4=n=>(st("data-v-aefb6fdc"),n=n(),dt(),n),f4={class:"actioner-container"},m4={class:"actioner-container_header"},v4=p4(()=>t("div",{class:"actioner-container_body ddnsto-login"},[t("iframe",{src:"https://www.kooldns.cn/bind/#/auth?send=1&source=openwrt&callback=*"})],-1)),b4={class:"actioner-container_footer"},g4=G({props:{onSetup:{type:Function,required:!0},onDdnstoConfig:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.onSetup()},r=c=>{if(c.data.auth=="ddnsto"){const _=c.data.sign,h=c.data.token;_&&h&&(removeEventListener("message",r),i.onDdnstoConfig(_,h),i.onSetup("ddnsto-run"))}};return At(()=>{window.addEventListener("message",r)}),Ot(()=>{removeEventListener("message",r)}),(c,_)=>(s(),l("div",f4,[t("div",m4,[t("span",null,o(e(a)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),v4,t("div",b4,[t("div",{class:"close",onClick:u},o(e(a)("\u53D6\u6D88")),1)])]))}});var h4=N(g4,[["__scopeId","data-v-aefb6fdc"]]);const _4={class:"actioner-container"},x4={class:"actioner-container_header"},w4={class:"actioner-container_body ddnsto-bind"},k4=["src"],y4=G({props:{onSetup:{type:Function,required:!0},config:{type:Object,required:!0},domain:{type:String,required:!0}},emits:["update:domain"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=X(()=>{const{domain:h,token:p,sign:v,routerId:b,netaddr:x}=a.config,y=encodeURIComponent(h),w=encodeURIComponent(x);return`https://www.kooldns.cn/bind/#/domain?domain=${y}&sign=${v}&token=${p}&routerId=${b}&netaddr=${w}`}),c=h=>{if(h.data){const{auth:p,url:v}=h.data;p==="ddnsto"&&v&&_(v)}},_=h=>L(this,null,function*(){var p;try{const v=yield M.Guide.DdnstoAddress.POST({address:h});v!=null&&v.data&&(((p=v==null?void 0:v.data)==null?void 0:p.success)||0)==0&&(i("update:domain",h),a.onSetup("ddnsto-save"))}catch(v){}});return At(()=>{window.addEventListener("message",c)}),Ot(()=>{removeEventListener("message",c)}),(h,p)=>(s(),l("div",_4,[t("div",x4,[t("span",null,o(e(d)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",w4,[t("iframe",{src:e(r)},null,8,k4)])]))}});var F4=N(y4,[["__scopeId","data-v-0e2b47e6"]]);const E4=n=>(st("data-v-29e2aec8"),n=n(),dt(),n),$4={class:"actioner-container"},C4={class:"actioner-container_body"},D4=E4(()=>t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})],-1)),B4={class:"body-title"},Y4={class:"body-tips"},A4={class:"body-info"},S4=["href"],z4={href:"https://www.ddnsto.com/app/#/devices",target:"_blank"},P4={class:"actioner-container_footer"},T4=G({props:{onSetup:{type:Function,required:!0},target:{type:String,required:!0}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=()=>{localStorage.setItem("firstOpen",JSON.stringify(!0)),location.reload()};return(u,r)=>(s(),l("div",$4,[t("div",C4,[D4,t("div",B4,o(e(i)("\u6DFB\u52A0\u6210\u529F")),1),t("p",Y4,o(e(i)("\u8BF7\u7A0D\u7B491\u5206\u949F\u751F\u6548\u540E\u518D\u4F7F\u7528\u3002")),1),t("div",A4,[t("span",null,o(e(i)("\u8BBF\u95EE\u5730\u5740\uFF1A")),1),t("a",{href:n.target,target:"_blank",rel:"noopener noreferrer"},o(n.target),9,S4)]),t("div",null,[t("span",null,o(e(i)("\u53EF\u524D\u5F80")),1),t("a",z4,o(e(i)("DDNSTO\u63A7\u5236\u53F0")),1),t("span",null,o(e(i)("\u67E5\u770B\u66F4\u591A\u8BE6\u60C5")),1)])]),t("div",P4,[t("div",{class:"close",onClick:d},o(e(i)("\u5173\u95ED")),1)])]))}});var I4=N(T4,[["__scopeId","data-v-29e2aec8"]]);const L4={class:"actioner-container"},M4={class:"actioner-container_header"},N4={class:"actioner-container_body"},O4={class:"actioner-container_footer"},V4=G({props:{onSetup:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.onSetup()},r=()=>L(this,null,function*(){if(h.value)return;h.value=!0;const v=E.Loading(a("\u5B89\u88C5\u4E2D..."));try{if(yield Et.installApp("app-meta-ddnsto",30)){i.onSetup("ddnsto-login");return}else c.value=a("\u5B89\u88C5\u5931\u8D25")}catch(b){c.value=b}finally{v.Close()}h.value=!1}),c=$(a("\u6B63\u5728\u68C0\u6D4B\u4E2D...")),_=$(!1),h=$(!1);return(()=>L(this,null,function*(){try{const v=yield M.App.Check.POST({name:"ddnsto"});if(v!=null&&v.data){const{result:b,error:x}=v.data;if(x){c.value=x;return}if(b){if(b.status=="installed"){i.onSetup("ddnsto-login");return}b.status=="uninstalled"&&(c.value=a("\u9700\u8981\u5B89\u88C5DDNSTO\u63D2\u4EF6\uFF0C\u70B9\u51FB\u201C\u786E\u5B9A\u201D\u5F00\u59CB\u5B89\u88C5"))}}}catch(v){c.value=v}_.value=!0}))(),(v,b)=>(s(),l("div",L4,[t("div",M4,[t("span",null,o(e(a)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",N4,[t("span",null,o(c.value),1)]),t("div",O4,[_.value?(s(),l(O,{key:0},[t("div",{class:"close",onClick:u},o(e(a)("\u53D6\u6D88")),1),t("div",{class:"next",onClick:r},o(e(a)("\u786E\u5B9A")),1)],64)):C("",!0)])]))}});var G4=N(V4,[["__scopeId","data-v-169b4450"]]);const j4={class:"actioner-container"},q4={class:"actioner-container_header"},U4={class:"actioner-container_body"},R4=G({props:{onSetup:{type:Function,required:!0},token:{type:String,required:!0},onDdnstoLocalConfig:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(a("\u6B63\u5728\u68C0\u6D4B\u63D2\u4EF6\u662F\u5426\u5DF2\u542F\u52A8..."));(v=>L(this,null,function*(){var b;try{const x=yield M.Guide.Ddnsto.POST({token:i.token});x!=null&&x.data&&(x.data.error&&(u.value=x.data.error),(((b=x==null?void 0:x.data)==null?void 0:b.success)||0)==0&&_())}catch(x){u.value=x}}))(i.token);const c=$(),_=()=>{const v=()=>L(this,null,function*(){if((yield h())===!0){p();return}c.value=window.setTimeout(v,2e3)});v()},h=()=>L(this,null,function*(){try{const v=yield M.App.Check.POST({name:"ddnsto",checkRunning:!0});if(v!=null&&v.data){v.data.error&&(u.value=v.data.error);const b=v.data.result;if((b==null?void 0:b.status)=="running")return!0}}catch(v){u.value=v}return!1});Ot(()=>{c.value&&clearInterval(c.value)});const p=()=>L(this,null,function*(){var v;try{const b=yield M.Guide.DdntoConfig.GET();if(b!=null&&b.data&&(b.data.error&&(u.value=b.data.error),(((v=b==null?void 0:b.data)==null?void 0:v.success)||0)==0&&b.data.result)){const x=b.data.result;i.onDdnstoLocalConfig(x.netAddr,x.deviceId),i.onSetup("ddnsto-bind")}}catch(b){u.value=b}});return(v,b)=>(s(),l("div",j4,[t("div",q4,[t("span",null,o(e(a)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",U4,o(u.value),1)]))}});var W4=N(R4,[["__scopeId","data-v-6590a3fa"]]);const H4={class:"action-main"},Z4=G({props:{Close:{type:Function,required:!0},url:{type:String,required:!0}},setup(n){const i=n,a=$("ddnsto-install"),d=h=>{h!=null?a.value=h:u()},u=()=>{i.Close&&i.Close()},r=bt({sign:"",token:"",domain:i.url,netaddr:"",routerId:""}),c=(h,p)=>{r.sign=h,r.token=p},_=(h,p)=>{r.netaddr=h,r.routerId=p};return(h,p)=>(s(),H(ht,{type:1},{default:R(()=>[t("div",H4,[a.value=="ddnsto-install"?(s(),H(G4,{key:0,onSetup:d})):a.value=="ddnsto-login"?(s(),H(h4,{key:1,onSetup:d,onDdnstoConfig:c})):a.value=="ddnsto-run"?(s(),H(W4,{key:2,onSetup:d,token:e(r).token,onDdnstoLocalConfig:_},null,8,["token"])):a.value=="ddnsto-bind"?(s(),H(F4,{key:3,onSetup:d,config:{token:e(r).token,sign:e(r).sign,domain:e(r).domain,netaddr:e(r).netaddr,routerId:e(r).routerId},domain:e(r).domain,"onUpdate:domain":p[0]||(p[0]=v=>e(r).domain=v)},null,8,["config","domain"])):a.value=="ddnsto-save"?(s(),H(I4,{key:4,onSetup:d,target:e(r).domain},null,8,["target"])):C("",!0)])]),_:1}))}});var J4=N(Z4,[["__scopeId","data-v-3b80943c"]]);const K4=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(J4,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},Q4={class:"action"},X4={class:"action-header"},tf=["innerHTML"],ef={class:"action-footer"},af=G({props:{Close:Function,next:{type:Function},clear:{type:Function},continuer:{type:Function},nextTitle:{type:String},clearTitle:{type:String},continuerTitle:{type:String},title:{type:String},content:{type:String}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.next&&i.next(),i.Close&&i.Close()},r=()=>{i.clear&&i.clear(),i.Close&&i.Close()},c=()=>{i.continuer&&i.continuer(),i.Close&&i.Close()};return(_,h)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[t("div",Q4,[t("div",X4,o(n.title||e(a)("\u63D0\u793A")),1),t("div",{class:"action-body",innerHTML:n.content},null,8,tf),t("div",ef,[n.clear?(s(),l("div",{key:0,class:"clear",onClick:r},o(n.clearTitle||e(a)("\u8FD4\u56DE")),1)):C("",!0),t("div",{class:"next",onClick:u},o(n.nextTitle||e(a)("\u786E\u5B9A")),1),n.continuer?(s(),l("div",{key:1,class:"next",onClick:c},o(n.continuerTitle||e(a)("\u7EE7\u7EED\u4FDD\u5B58")),1)):C("",!0)])])]),_:1},8,["Close"]))}});var of=N(af,[["__scopeId","data-v-145a3c50"]]);const Ye=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(of,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},nf=n=>(st("data-v-2c659599"),n=n(),dt(),n),rf={class:"actioner-container"},sf=["onSubmit"],df={class:"actioner-container_header"},lf={key:0,class:"title_info"},uf={href:"https://doc.linkease.com/zh/guide/istoreos/basic/domain.html#%E9%98%BF%E9%87%8C%E4%BA%91",target:"_blank"},cf={key:1,class:"title_info"},pf={href:"https://doc.linkease.com/zh/guide/istoreos/basic/domain.html#dnspod",target:"_blank"},ff={key:2,class:"title_info"},mf={href:"https://doc.linkease.com/zh/guide/istoreos/basic/domain.html#%E8%8A%B1%E7%94%9F%E5%A3%B3",target:"_blank"},vf={class:"label-item"},bf={class:"label-item_key"},gf={class:"label-item_value"},hf={value:"ipv4"},_f={value:"ipv6"},xf={class:"label_tips"},wf=nf(()=>t("svg",{width:"14px",height:"14px",viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"14",height:"14"}),t("path",{d:"M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])])],-1)),kf={class:"info"},yf={class:"label-item"},Ff={class:"label-item_key"},Ef={class:"label-item_value"},$f={class:"label-item"},Cf={class:"label-item_key"},Df={class:"label-item_value"},Bf=["placeholder"],Yf={class:"label-item"},Af={class:"label-item_key"},Sf={class:"label-item_value"},zf=["placeholder"],Pf={class:"actioner-container_footer"},Tf=["disabled"],If=G({props:{name:{type:String,default:"ali"},onSetup:{type:Function,required:!0},target:{type:String,required:!0}},emits:["update:target"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$("ipv4"),c=$(a.name),_=$(""),h=$(""),p=$(""),v=$(!1),b=()=>{a.onSetup("index")},x=()=>{v.value=!0;const f=E.Loading(d("\u68C0\u6D4B\u4E2D..."));M.Network.CheckPublickNet.POST({ipVersion:r.value}).then(m=>{var g,F;if(m!=null&&m.data){if((g=m==null?void 0:m.data)!=null&&g.error){E.Warning(m==null?void 0:m.data.error);return}if((((F=m==null?void 0:m.data)==null?void 0:F.success)||0)==0){const Y=m.data.result;Y&&Y.address?k():y();return}}throw d("\u672A\u77E5\u9519\u8BEF")}).catch(m=>{E.Error(m)}).finally(()=>{f.Close(),v.value=!1})},y=()=>{Ye({title:d("\u6E29\u99A8\u63D0\u793A"),nextTitle:d("\u4F7F\u7528DDNSTO"),continuerTitle:d("\u7EE7\u7EED\u4FDD\u5B58"),content:d("\u68C0\u6D4B\u5230\u60A8\u7684wan\u53E3\u6CA1\u6709\u516C\u7F51IP\u6216\u8005IPv6\u5730\u5740\uFF0C\u53EF\u4EE5\u4F7F\u7528DDNSTO\u914D\u7F6E\u8FDC\u7A0B\u57DF\u540D\u8BBF\u95EE"),next(){w()},continuer(){k()},clear(){}})},w=()=>{a.onSetup("ddnsto")},k=()=>{v.value=!0;const f=E.Loading(d("\u914D\u7F6E\u4E2D..."));M.Guide.PostDdns.POST({ipVersion:r.value,serviceName:c.value,domain:_.value,userName:h.value,password:p.value}).then(m=>{if(m!=null&&m.data){const{error:g,scope:F,success:Y}=m.data;if(g=="-100"&&F=="guide.ddns"){Ye({title:d("\u6E29\u99A8\u63D0\u793A"),content:d("\u68C0\u6D4B\u5230\u4F60\u6709\u672A\u4FDD\u5B58\u7684\u914D\u7F6E\uFF0C\u53EF\u524D\u5F80\u9875\u9762\u53F3\u4E0A\u89D2\u70B9\u51FB\u67E5\u770B\uFF0C\u4FDD\u5B58\u5E76\u5E94\u7528\u6216\u8005\u6062\u590D\u914D\u7F6E\u540E\u7EE7\u7EED"),next(){}});return}if(g){E.Warning(g);return}if((Y||0)==0){i("update:target",_.value),a.onSetup("ddns-success");return}}throw d("\u672A\u77E5\u9519\u8BEF")}).catch(m=>{E.Error(m)}).finally(()=>{f.Close(),v.value=!1})};return(f,m)=>(s(),l("div",rf,[t("form",{class:"actioner-dns",onSubmit:pt(x,["prevent"])},[t("div",df,[t("span",null,o(e(d)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",{class:ct(["actioner-container_body",n.name])},[n.name=="ali"?(s(),l("div",lf,[t("p",null,o(e(d)("\u963F\u91CC\u4E91")),1),t("span",null,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1),t("a",uf,o(e(d)("\u67E5\u770B\u6559\u7A0B"))+">>",1)])):n.name=="dnspod"?(s(),l("div",cf,[t("p",null,o(e(d)("dnspod")),1),t("span",null,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1),t("a",pf,o(e(d)("\u67E5\u770B\u6559\u7A0B"))+">>",1)])):n.name=="oray"?(s(),l("div",ff,[t("p",null,o(e(d)("\u82B1\u751F\u58F3")),1),t("span",null,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1),t("a",mf,o(e(d)("\u67E5\u770B\u6559\u7A0B"))+">>",1)])):C("",!0),t("div",vf,[t("div",bf,[t("span",null,o(e(d)("IP\u5730\u5740\u7248\u672C\uFF1A")),1)]),t("div",gf,[T(t("select",{name:"",id:"","onUpdate:modelValue":m[0]||(m[0]=g=>r.value=g)},[t("option",hf,o(e(d)("IPv4\u5730\u5740")),1),t("option",_f,o(e(d)("IPv6\u5730\u5740")),1)],512),[[rt,r.value]])]),t("div",xf,[wf,t("span",kf,o(e(d)("\u8BBE\u5B9A\u54EA\u4E00\u4E2A IP \u5730\u5740\uFF08IPv4 \u6216 IPv6\uFF09\u4F1A\u88AB\u53D1\u9001\u7ED9 DDNS \u63D0\u4F9B\u5546")),1)])]),t("div",yf,[t("div",Ff,[t("span",null,o(e(d)("\u57DF\u540D\uFF1A")),1)]),t("div",Ef,[T(t("input",{type:"text",placeholder:"myhost.example.com","onUpdate:modelValue":m[1]||(m[1]=g=>_.value=g),required:""},null,512),[[tt,_.value,void 0,{trim:!0}]])])]),t("div",$f,[t("div",Cf,[t("span",null,o(e(d)("\u7528\u6237\u540D\uFF1A")),1)]),t("div",Df,[T(t("input",{type:"text","onUpdate:modelValue":m[2]||(m[2]=g=>h.value=g),placeholder:e(d)("\u8BF7\u8F93\u5165\u7528\u6237\u540D"),required:""},null,8,Bf),[[tt,h.value,void 0,{trim:!0}]])])]),t("div",Yf,[t("div",Af,[t("span",null,o(e(d)("\u5BC6\u7801\uFF1A")),1)]),t("div",Sf,[T(t("input",{type:"password","onUpdate:modelValue":m[3]||(m[3]=g=>p.value=g),placeholder:e(d)("\u8BF7\u8F93\u5165\u5BC6\u7801"),required:""},null,8,zf),[[tt,p.value,void 0,{trim:!0}]])])])],2),t("div",Pf,[t("div",{class:"close",onClick:b,type:"button"},o(e(d)("\u8FD4\u56DE")),1),t("button",{class:"next save",type:"submit",disabled:v.value},o(e(d)("\u4FDD\u5B58")),9,Tf)])],40,sf)]))}});var je=N(If,[["__scopeId","data-v-2c659599"]]);const Lf={class:"action-main"},Mf=G({props:{Close:{type:Function,required:!0},url:{type:String,required:!0}},setup(n){const i=n,a=$(""),d=$("index"),u=h=>{if(h!=null){if(h=="ddnsto"){r();return}d.value=h}else c()},r=()=>{c(),K4({url:i.url})},c=()=>{i.Close&&i.Close()},_=$("ddnsto");return(h,p)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[t("div",Lf,[d.value=="index"?(s(),H(X8,{key:0,onSetup:u,active:_.value,"onUpdate:active":p[0]||(p[0]=v=>_.value=v)},null,8,["active"])):d.value=="ddns-ali"?(s(),H(je,{key:1,onSetup:u,target:a.value,"onUpdate:target":p[1]||(p[1]=v=>a.value=v),name:"ali"},null,8,["target"])):d.value=="ddns-dnspod"?(s(),H(je,{key:2,onSetup:u,target:a.value,"onUpdate:target":p[2]||(p[2]=v=>a.value=v),name:"dnspod"},null,8,["target"])):d.value=="ddns-oray"?(s(),H(je,{key:3,onSetup:u,target:a.value,"onUpdate:target":p[3]||(p[3]=v=>a.value=v),name:"oray"},null,8,["target"])):d.value=="ddns-success"?(s(),H(c4,{key:4,onSetup:u,target:a.value},null,8,["target"])):C("",!0)])]),_:1},8,["Close"]))}});var Nf=N(Mf,[["__scopeId","data-v-8a1e6470"]]);const Ma=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Nf,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},he=n=>(st("data-v-c59010b0"),n=n(),dt(),n),Of={class:"app-container"},Vf={class:"app-container_title"},Gf={class:"app-container_tool"},jf={class:"app-container_domain"},qf={class:"domain-item"},Uf=he(()=>t("div",{class:"domain-item_name"},[t("span",null,"DDNSTO: ")],-1)),Rf={class:"domain-item_value"},Wf=["href","title"],Hf={key:1,class:"configure"},Zf={class:"item_btn",href:"https://www.kooldns.cn/app/#/devices",target:"_blank"},Jf={key:0,class:"domain-item"},Kf=he(()=>t("div",{class:"domain-item_name"},[t("span",null,"myddns_ipv4: ")],-1)),Qf={class:"domain-item_value"},Xf={key:0},t7=["href"],e7={key:2,href:"/cgi-bin/luci/admin/services/ddns"},a7=he(()=>t("svg",{t:"1653625385794",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4476",width:"28",height:"28"},[t("path",{d:"M145.83060282785186 873.7309800675556h650.2280809434073c24.411293468444445 0 44.384169832296294-19.97287636385185 44.38416861866666-44.384169832296294V500.90395784533337c0-13.315251313777777-8.876834209185184-22.19208430933333-22.19208430933333-22.19208430933333s-22.19208430933333 8.876834209185184-22.19208430933333 22.19208430933333v326.22364444444446H145.83060282785186V179.1187305054815h616.9399532657777c13.315251313777777 0 22.19208430933333-8.876834209185184 22.19208552296296-22.19208552296296s-8.876834209185184-22.19208430933333-22.19208552296296-22.19208430933333H145.83060282785186c-24.411293468444445 0-44.384169832296294 19.97287636385185-44.38416861866666 44.384169832296294v650.2280797297777c0 24.411293468444445 19.97287636385185 44.384169832296294 44.38416861866666 44.384169832296294z",fill:"#666","p-id":"4477"}),t("path",{d:"M887.0462301677038 203.53002276029633l-488.225862087111 488.2258633007407c-8.876834209185184 8.876834209185184-8.876834209185184 22.19208430933333 0 31.06891851851852 4.438417104592592 4.438417104592592 11.096042154666666 6.657625050074073 15.53445925925926 6.657625050074073s11.096042154666666-2.2192079454814815 15.53445925925926-6.657625050074073l490.4450712462222-490.4450712462222c8.876834209185184-8.876834209185184 8.876834209185184-22.19208430933333 0-31.06891851851852s-24.411293468444445-6.657625050074073-33.288127677629625 2.2192079454814815z",fill:"#666","p-id":"4478"})],-1)),o7=[a7],n7={key:1,class:"domain-item"},i7=he(()=>t("div",{class:"domain-item_name"},[t("span",null,"myddns_ipv6: ")],-1)),r7={class:"domain-item_value"},s7={key:0},d7=["href"],l7={key:2,href:"/cgi-bin/luci/admin/services/ddns"},u7=he(()=>t("svg",{t:"1653625385794",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4476",width:"28",height:"28"},[t("path",{d:"M145.83060282785186 873.7309800675556h650.2280809434073c24.411293468444445 0 44.384169832296294-19.97287636385185 44.38416861866666-44.384169832296294V500.90395784533337c0-13.315251313777777-8.876834209185184-22.19208430933333-22.19208430933333-22.19208430933333s-22.19208430933333 8.876834209185184-22.19208430933333 22.19208430933333v326.22364444444446H145.83060282785186V179.1187305054815h616.9399532657777c13.315251313777777 0 22.19208430933333-8.876834209185184 22.19208552296296-22.19208552296296s-8.876834209185184-22.19208430933333-22.19208552296296-22.19208430933333H145.83060282785186c-24.411293468444445 0-44.384169832296294 19.97287636385185-44.38416861866666 44.384169832296294v650.2280797297777c0 24.411293468444445 19.97287636385185 44.384169832296294 44.38416861866666 44.384169832296294z",fill:"#666","p-id":"4477"}),t("path",{d:"M887.0462301677038 203.53002276029633l-488.225862087111 488.2258633007407c-8.876834209185184 8.876834209185184-8.876834209185184 22.19208430933333 0 31.06891851851852 4.438417104592592 4.438417104592592 11.096042154666666 6.657625050074073 15.53445925925926 6.657625050074073s11.096042154666666-2.2192079454814815 15.53445925925926-6.657625050074073l490.4450712462222-490.4450712462222c8.876834209185184-8.876834209185184 8.876834209185184-22.19208430933333 0-31.06891851851852s-24.411293468444445-6.657625050074073-33.288127677629625 2.2192079454814815z",fill:"#666","p-id":"4478"})],-1)),c7=[u7],p7=G({setup(n){const{$gettext:i,$ngettext:a}=W();let d=!1,u;const r=$({}),c=function(){!d||(document.hidden?Promise.resolve():M.Guide.GetDdns.GET().then(v=>{var b;v!=null&&v.data&&(((b=v==null?void 0:v.data)==null?void 0:b.success)||0)==0&&v.data.result&&(r.value=v.data.result)})).then(()=>{!d||(u=window.setTimeout(c,3e3))})};At(()=>{d=!0,u=window.setTimeout(c,1100)}),Ot(()=>{u!==void 0&&window.clearTimeout(u),d=!1});const _=()=>{Ma({url:r.value.ddnstoDomain})},h=X(()=>{const v=r.value.ipv4Domain;return!v||v=="Stopped"||v=="Disabled"?v:`http://${v}`}),p=X(()=>{const v=r.value.ipv6Domain;return!v||v=="Stopped"||v=="Disabled"?v:`http://${v}`});return(v,b)=>{var y,w,k,f;const x=ft("GlHelp");return s(),l("div",Of,[t("div",Vf,[t("span",null,[t("span",null,o(e(i)("\u8FDC\u7A0B\u57DF\u540D")),1),z(x,{type:"ddns"})]),t("div",Gf,[t("div",{class:"app-container_configure",onClick:_},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),1)])]),t("ul",jf,[t("li",qf,[Uf,t("div",Rf,[(y=r.value)!=null&&y.ddnstoDomain?(s(),l("a",{key:0,class:"configure",href:(w=r.value)==null?void 0:w.ddnstoDomain,target:"_blank",rel:"noopener noreferrer",title:(k=r.value)==null?void 0:k.ddnstoDomain},o((f=r.value)==null?void 0:f.ddnstoDomain),9,Wf)):(s(),l("span",Hf,o(e(i)("\u672A\u5B89\u88C5\u6216\u672A\u914D\u7F6E")),1)),t("a",Zf,o(e(i)("\u63A7\u5236\u53F0")),1)])]),e(h)?(s(),l("li",Jf,[Kf,t("div",Qf,[e(h)=="Stopped"||e(h)=="Disabled"?(s(),l("span",Xf,o(e(h)),1)):(s(),l("a",{key:1,class:"configure",href:e(h),target:"_blank",rel:"noopener noreferrer"},o(e(h)),9,t7)),e(h)?(s(),l("a",e7,o7)):C("",!0)])])):C("",!0),e(p)?(s(),l("li",n7,[i7,t("div",r7,[e(p)=="Stopped"||e(p)=="Disabled"?(s(),l("span",s7,o(e(p)),1)):(s(),l("a",{key:1,class:"configure",href:e(p),target:"_blank",rel:"noopener noreferrer"},o(e(p)),9,d7)),e(p)?(s(),l("a",l7,c7)):C("",!0)])])):C("",!0)])])}}});var f7=N(p7,[["__scopeId","data-v-c59010b0"]]);const m7={class:"nas-container"},v7={class:"nas-container_card"},b7={class:"nas-container_card"},g7={key:0,class:"nas-container_card"},h7={class:"nas-container_card"},_7={class:"nas-container_card"},x7=G({setup(n){return(i,a)=>(s(),l("div",m7,[t("div",v7,[z(Mc)]),t("div",b7,[z(S5)]),e(Kt)("dockerd")?(s(),l("div",g7,[z(ep)])):C("",!0),t("div",h7,[z(N8)]),t("div",_7,[z(f7)])]))}});var w7=N(x7,[["__scopeId","data-v-a221efb4"]]);const k7={class:"app-container"},y7={class:"app-container_title"},F7=["title"],E7={class:"DeviceBlock"},$7={href:"/cgi-bin/luci/admin/system/flash"},C7={href:"/cgi-bin/luci/admin/store/pages/maintance"},D7={class:"item-label"},B7={class:"item-label_key"},Y7={class:"item-label_value"},A7={class:"item-label"},S7={class:"item-label_key"},z7={class:"item-label_value"},P7={class:"item-label"},T7={class:"item-label_key"},I7={class:"item-label_value"},L7={class:"item-label"},M7={class:"item-label_key"},N7={class:"item-label_value"},O7={class:"item-label"},V7={class:"item-label_key"},G7={class:"item-label_value"},j7={class:"item-label"},q7={class:"item-label_key"},U7={class:"item-label_value"},R7={class:"item-label"},W7={class:"item-label_key"},H7={class:"item-label_value"},Z7={class:"item-label"},J7={class:"item-label_key"},K7={class:"item-label_value"},Q7=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=He(),u=X(()=>d.version),r=X(()=>d.systemStatus),c=$(!1),_=X(()=>{var y;return((y=r.value)==null?void 0:y.cpuUsage)||0}),h=X(()=>{var y;return((y=r.value)==null?void 0:y.cpuTemperature)||0}),p=X(()=>{var w;const y=((w=r.value)==null?void 0:w.memAvailablePercentage)||100;return 100-y}),v=It.stampForm;At(()=>{});const b=()=>{c.value=!c.value},x=()=>{b(),Et.installAndGo("app-meta-netdata","NetData","/cgi-bin/luci/admin/status/netdata")};return(y,w)=>{var f,m,g,F,Y;const k=ft("progress-item");return s(),l("div",k7,[t("div",y7,[t("span",null,o(e(i)("\u7CFB\u7EDF\u4FE1\u606F")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u7CFB\u7EDF\u4FE1\u606F")},[z(Gt,{onClick:b})],8,F7),T(t("div",E7,[t("div",{class:"menu_background",onClick:b}),t("ul",null,[t("li",null,[t("a",{onClick:x},o(e(i)("\u7CFB\u7EDF\u76D1\u63A7")),1)]),t("li",null,[t("a",$7,o(e(i)("\u5907\u4EFD\u5347\u7EA7")),1)]),t("li",null,[t("a",C7,o(e(i)("\u63D2\u4EF6\u5907\u4EFD")),1)])])],512),[[Yt,c.value]])]),t("div",D7,[t("div",B7,[t("span",null,o(e(i)("CPU\u6E29\u5EA6")),1)]),t("div",Y7,[z(k,{value:e(h)/1.5,text:`${e(h)}\u2103`},null,8,["value","text"])])]),t("div",A7,[t("div",S7,[t("span",null,o(e(i)("CPU\u4F7F\u7528\u7387")),1)]),t("div",z7,[z(k,{value:e(_),text:`${e(_)}%`},null,8,["value","text"])])]),t("div",P7,[t("div",T7,[t("span",null,o(e(i)("\u5185\u5B58\u4F7F\u7528\u7387")),1)]),t("div",I7,[z(k,{value:e(p),text:`${e(p)}%`},null,8,["value","text"])])]),t("div",L7,[t("div",M7,[t("span",null,o(e(i)("\u8BBE\u5907\u578B\u53F7")),1)]),t("div",N7,[t("span",null,o((f=e(u))==null?void 0:f.model),1)])]),t("div",O7,[t("div",V7,[t("span",null,o(e(i)("\u56FA\u4EF6\u7248\u672C")),1)]),t("div",G7,[t("span",null,o((m=e(u))==null?void 0:m.firmwareVersion),1)])]),t("div",j7,[t("div",q7,[t("span",null,o(e(i)("\u5185\u6838\u7248\u672C")),1)]),t("div",U7,[t("span",null,o((g=e(u))==null?void 0:g.kernelVersion),1)])]),t("div",R7,[t("div",W7,[t("span",null,o(e(i)("\u5DF2\u542F\u52A8")),1)]),t("div",H7,[t("span",null,o(e(v)((F=e(r))==null?void 0:F.uptime)),1)])]),t("div",Z7,[t("div",J7,[t("span",null,o(e(i)("\u7CFB\u7EDF\u65F6\u95F4")),1)]),t("div",K7,[t("span",null,o((Y=e(r))==null?void 0:Y.localtime),1)])])])}}});var X7=N(Q7,[["__scopeId","data-v-2baf3f98"]]);const Na=/\d+\.\d+\.\d+\.\d+/,tm=n=>Na.test(n)&&ve.IPv4.isValid(n),Ut=n=>{const i=ve.IPv4.parse(n).toByteArray();return i[0]<<24|i[1]<<16|i[2]<<8|i[3]},la=n=>ve.fromByteArray([n>>24&255,n>>16&255,n>>8&255,n&255]).toString(),em=n=>{if(!Na.test(n)||!ve.IPv4.isIPv4(n))return!1;let i=0,a=Ut(n);for(let d=31;d>=0&&(a&1<{let u=Ut(n)&Ut(i),r=Ut(a),c=Ut(d),h=~Ut(i);return ru+1&&c{let a=Ut(i),d=Ut(n)&a,u=~a,r;return u>=105?(r=d|u-5,d=d|100):u>=3?(r=d|u-1,d=d|2):(d=d|1,r=d),[la(d),la(r)]},nm=n=>ve.IPv4.subnetMaskFromPrefixLength(n).toString();var Nt={isValidMask:em,isValidIPv4:tm,isValidMaskRange:am,calcMaskRange:om,prefixToMask:nm};const Xe=n=>(st("data-v-0d919a1e"),n=n(),dt(),n),im=["onSubmit"],rm={class:"actioner-dns_header"},sm={class:"actioner-dns_body"},dm={class:"label-item"},lm={class:"label-item_key"},um={class:"label-item_value"},cm={class:"label-item"},pm={class:"label-item_key"},fm={class:"label-item_value"},mm={key:0,class:"chose_dhcp"},vm={key:0,class:"dhcp_info"},bm={key:1,class:"dhcp_info"},gm={class:"label-item"},hm={class:"label-item_key"},_m={class:"label-item_value"},xm={class:"label-item"},wm={class:"label-item_key"},km={class:"label-item_value"},ym={class:"actioner-dns_footer"},Fm=["disabled"],Em={key:1,class:"actioner-dns"},$m={class:"actioner-dns_header"},Cm={class:"actioner-dns_body"},Dm={key:0,class:"setting_status"},Bm=Xe(()=>t("div",{class:"success_icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128"},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063"})])],-1)),Ym={class:"config-message"},Am=["href"],Sm={key:1,class:"setting_status"},zm=Xe(()=>t("div",{class:"success_icon"},[t("svg",{t:"1642063200324",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5898",width:"128",height:"128"},[t("path",{d:"M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z",fill:"#E84335","p-id":"5899"})])],-1)),Pm={class:"config-message"},Tm={key:2,class:"setting_status"},Im=Xe(()=>t("div",{class:"success_icon"},[t("svg",{width:"128px",height:"128px",viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_yellow",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"128",height:"128"}),t("path",{d:"M64,8 C33.075,8 8,33.075 8,64 C8,94.925 33.075,120 64,120 C94.925,120 120,94.925 120,64 C120,33.075 94.925,8 64,8 Z M60,37 C60,36.45 60.45,36 61,36 L67,36 C67.55,36 68,36.45 68,37 L68,71 C68,71.55 67.55,72 67,72 L61,72 C60.45,72 60,71.55 60,71 L60,37 Z M64,92 C60.6875,92 58,89.3125 58,86 C58,82.6875 60.6875,80 64,80 C67.3125,80 70,82.6875 70,86 C70,89.3125 67.3125,92 64,92 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])])])],-1)),Lm={class:"config-message"},Mm=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=$({lanIp:"",netMask:"255.255.255.0",enableDhcp:!1,dhcpStart:"",dhcpEnd:""});$("");const c=$(!1);$(!0),$(!1);const _=$(""),h=$(2),p=$(!1),v=$("timeout");let b=!0;(()=>{M.Guide.GetLan.GET().then(m=>{m.data.result&&(p.value=m.data.result.enableDhcp||!1,m.data.result.enableDhcp=!1,r.value=m.data.result,m.data.result.lanIp!==location.hostname&&(b=!1))})})();const y=()=>{const m=r.value;if(!Nt.isValidIPv4(m.lanIp)){E.Warning(a("IPv4\u5730\u5740\u683C\u5F0F\u9519\u8BEF"));return}if(!Nt.isValidMask(m.netMask)){E.Warning(a("IPv4\u5B50\u7F51\u63A9\u7801\u683C\u5F0F\u9519\u8BEF"));return}const g=Nt.calcMaskRange(m.lanIp,m.netMask);m.dhcpStart=g[0],m.dhcpEnd=g[1],r.value=m},w=()=>{const m=r.value;if(!Nt.isValidIPv4(m.lanIp)){E.Warning(a("IPv4\u5730\u5740\u683C\u5F0F\u9519\u8BEF"));return}if(!Nt.isValidMask(m.netMask)){E.Warning(a("IPv4\u5B50\u7F51\u63A9\u7801\u683C\u5F0F\u9519\u8BEF"));return}if(m.enableDhcp&&!(Nt.isValidIPv4(m.dhcpStart)&&Nt.isValidIPv4(m.dhcpEnd)&&Nt.isValidMaskRange(m.lanIp,m.netMask,m.dhcpStart,m.dhcpEnd))){E.Warning(a("DHCP\u7684IP\u6C60\u683C\u5F0F\u9519\u8BEF\u6216\u8D85\u51FA\u5B50\u7F51\u8303\u56F4"));return}const g=E.Loading(a("\u6B63\u5728\u914D\u7F6E\u2026\u8BF7\u7A0D\u7B49"),30);let F=0;const Y=B=>{v.value=B,u.value=1,F=1,g.Close()},S=()=>{const B=new Date().getTime()+3e4,D=b?location.protocol+"//"+m.lanIp+(location.port?":"+location.port:""):location.origin,I=D+"/luci-static/resources/icons/loading.gif",at=()=>{F==0&&(new Date().getTime()>B?Y("timeout"):window.setTimeout(P,2e3))},A=()=>{F==0&&(_.value=D+location.pathname,Y("success"),window.setTimeout(()=>{h.value=1},1e3),window.setTimeout(()=>{location.href=_.value},2e3))},P=()=>{if(F!=0)return;console.log("check online ",I);const V=new Image;V.onload=A,V.onerror=at,V.src=I};window.setTimeout(P,5e3)};M.Guide.LanIp.POST(m).then(B=>{var D;if(B!=null&&B.data){if((B.data.success||0)==0)return;if((D=B.data)!=null&&D.error)throw B.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(B=>{F==0&&(Y("fail"),E.Error(B))}),S(),window.setTimeout(()=>{F==0&&Y("timeout")},3e4)},k=m=>{m.preventDefault(),i.Close&&i.Close()},f=m=>{location.reload()};return(m,g)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0?(s(),l("form",{key:0,class:"actioner-dns",onSubmit:pt(w,["prevent"])},[t("div",rm,[t("span",null,o(e(a)("\u5185\u7F51\u914D\u7F6E")),1)]),t("div",sm,[t("div",dm,[t("div",lm,[t("span",null,o(e(a)("IPv4\u5730\u5740")),1)]),t("div",um,[T(t("input",{type:"text",placeholder:"192.168.100.1",required:"","onUpdate:modelValue":g[0]||(g[0]=F=>r.value.lanIp=F),onChange:y},null,544),[[tt,r.value.lanIp,void 0,{trim:!0}]])])]),t("div",cm,[t("div",pm,[t("span",null,o(e(a)("IPv4\u5B50\u7F51\u63A9\u7801")),1)]),t("div",fm,[T(t("input",{type:"text",placeholder:"255.255.255.0",required:"","onUpdate:modelValue":g[1]||(g[1]=F=>r.value.netMask=F),onChange:y},null,544),[[tt,r.value.netMask,void 0,{trim:!0}]])])]),p.value?(s(),l("div",mm,[z(Da,{modelValue:r.value.enableDhcp,"onUpdate:modelValue":g[2]||(g[2]=F=>r.value.enableDhcp=F)},{default:R(()=>[r.value.enableDhcp?(s(),l("span",vm,o(e(a)("\u4FEE\u6539DHCP\u670D\u52A1")),1)):(s(),l("span",bm,o(e(a)("\u4FDD\u6301DHCP\u670D\u52A1\u8BBE\u7F6E")),1))]),_:1},8,["modelValue"])])):C("",!0),r.value.enableDhcp?(s(),l(O,{key:1},[t("div",gm,[t("div",hm,[t("span",null,o(e(a)("IP\u6C60\u8D77\u59CB\u5730\u5740")),1)]),t("div",_m,[T(t("input",{type:"text",placeholder:"192.168.100.100",required:"","onUpdate:modelValue":g[3]||(g[3]=F=>r.value.dhcpStart=F)},null,512),[[tt,r.value.dhcpStart,void 0,{trim:!0}]])])]),t("div",xm,[t("div",wm,[t("span",null,o(e(a)("IP\u6C60\u7ED3\u675F\u5730\u5740")),1)]),t("div",km,[T(t("input",{type:"text",placeholder:"192.168.100.100",required:"","onUpdate:modelValue":g[4]||(g[4]=F=>r.value.dhcpEnd=F)},null,512),[[tt,r.value.dhcpEnd,void 0,{trim:!0}]])])])],64)):C("",!0)]),t("div",ym,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:c.value},o(e(a)("\u786E\u8BA4")),9,Fm),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:k},o(e(a)("\u53D6\u6D88")),1)])],40,im)):u.value==1?(s(),l("div",Em,[t("div",$m,[t("span",null,o(e(a)("\u66F4\u6362\u914D\u7F6E")),1)]),t("div",Cm,[v.value=="success"?(s(),l("div",Dm,[Bm,t("div",Ym,o(e(a)("\u914D\u7F6E\u6210\u529F")),1),t("a",{href:_.value,class:"NewAdress"},o(e(a)("%{ countdown }s\u540E \u8DF3\u8F6C\u65B0\u5730\u5740",{countdown:""+h.value})),9,Am)])):v.value=="fail"?(s(),l("div",Sm,[zm,t("div",Pm,o(e(a)("\u914D\u7F6E\u5931\u8D25")),1),t("p",null,o(e(a)("\u8BF7\u5C1D\u8BD5\u91CD\u65B0\u914D\u7F6E")),1),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:f},o(e(a)("\u6211\u77E5\u9053\u4E86")),1)])):v.value=="timeout"?(s(),l("div",Tm,[Im,t("div",Lm,o(e(a)("\u914D\u7F6E\u8D85\u65F6")),1),t("p",null,o(e(a)("\u8DEF\u7531\u5668 IP \u53EF\u80FD\u5DF2\u7ECF\u4FEE\u6539\u6210\u529F\u3002\u82E5\u5237\u65B0\u9875\u9762\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u8FDE\u63A5\u8DEF\u7531\u5668\uFF0C\u5426\u5219\u8BF7\u5C1D\u8BD5\u91CD\u65B0\u914D\u7F6E\u3002")),1),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:f},o(e(a)("\u5237\u65B0\u9875\u9762")),1)])):C("",!0)])])):C("",!0)]),_:1},8,["Close"]))}});var Nm=N(Mm,[["__scopeId","data-v-0d919a1e"]]);const Om=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Nm,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Vm={key:0,class:"actioner-dns"},Gm={class:"actioner-dns_header"},jm={class:"actioner-dns_body"},qm={class:"sandbox_info"},Um={key:0,class:"disk_loading_icon"},Rm={class:"disk_loading_info"},Wm={key:1,class:"disk_tips"},Hm={class:"label-item"},Zm={class:"label-item_key"},Jm={class:"label-item_value"},Km={value:""},Qm=["value"],Xm={class:"label-item"},tv={class:"label-item_key"},ev={class:"label-item_value"},av={selected:"true",value:""},ov=["value","disabled"],nv={class:"sandbox_tips"},iv={class:"sandbox_info timeout"},rv={class:"sandbox_roboot_tips"},sv={class:"sandbox_roboot_refresh"},dv={key:0,class:"actioner-dns_footer"},lv=["disabled"],uv={key:1,class:"actioner-tips"},cv={class:"actioner-tips_header"},pv={class:"actioner-tips_body"},fv={class:"sandbox_info"},mv={class:"actioner-tips_footer"},vv={key:2,class:"actioner-tips"},bv={class:"actioner-tips_header"},gv={class:"actioner-tips_body"},hv={class:"sandbox_info"},_v={class:"actioner-tips_footer"},xv=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0);$("disk");const r=$(""),c=$(3),_=$(""),h=$([]),p=$(""),v=$(null);(()=>{M.Nas.SandboxDisks.GET().then(F=>{var Y;if(F!=null&&F.data&&(Y=F.data)!=null&&Y.result){v.value=F.data.result;return}throw a("\u52A0\u8F7D\u78C1\u76D8\u4FE1\u606F\u5931\u8D25")}).catch(F=>{r.value=F,u.value=3})})();const x=()=>M.System.Reboot.POST({name:_.value,path:p.value}).then(F=>{var Y;if(!(F!=null&&F.data&&(((Y=F==null?void 0:F.data)==null?void 0:Y.success)||0)==0))throw a("\u672A\u77E5\u9519\u8BEF")}),y=F=>{var Y,S;p.value="",h.value=_.value&&((S=(Y=v.value)==null?void 0:Y.disks.find(B=>B.path==_.value))==null?void 0:S.childrens)||[]},w=()=>{c.value>0&&(c.value-=1,window.setTimeout(w,1e3))},k=F=>{F.preventDefault(),i.Close&&i.Close()},f=()=>{new Promise((F,Y)=>{const S="/luci-static/resources/icons/loading.gif",B=()=>{window.setTimeout(D,2e3)},D=()=>{const I=new Image;I.onload=F,I.onerror=B,I.src=S};window.setTimeout(D,1e4)}).then(()=>{window.setTimeout(()=>{location.reload()},2e3)})},m=F=>{const Y=E.Loading(a("\u914D\u7F6E\u6C99\u7BB1\u91CD\u542F\u4E2D..."));M.Nas.Sandbox.POST({path:p.value}).then(S=>{var B;if(S!=null&&S.data){if((S.data.success||0)==0)return u.value=2,window.setTimeout(w,1e3),x();if((B=S.data)!=null&&B.error)throw S.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).then(f).catch(S=>E.Warning(S)).finally(()=>Y.Close())},g=()=>{u.value=0};return(F,Y)=>{const S=ft("icon-loading");return s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0||u.value==2?(s(),l("div",Vm,[t("div",Gm,[t("span",null,o(e(a)("\u6C99\u7BB1\u6A21\u5F0F\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",jm,[t("p",qm,o(e(a)("\u4E00\u4E2A\u7B80\u6613\u6C99\u7BB1\uFF0C\u65B9\u4FBF\u7528\u6765\u5B9E\u9A8C\u7CFB\u7EDF\u914D\u7F6E\u548C\u7A0B\u5E8F\uFF0C\u65B9\u4FBF\u5F00\u53D1\u672A\u5B8C\u6210\u7684\u8F6F\u4EF6\uFF0C\u4F46\u4E0D\u4FDD\u62A4 Docker \u548C\u786C\u76D8\u7684\u6570\u636E")),1),u.value==0?(s(),l(O,{key:0},[v.value?C("",!0):(s(),l("div",Um,[z(S,{size:38,color:"currentColor"}),t("span",Rm,o(e(a)("\u6B63\u5728\u52A0\u8F7D\u4E2D...")),1)])),v.value&&v.value.disks.length==0?(s(),l("div",Wm,[z(Lt),t("span",null,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u6302\u8F7D\u7684\u78C1\u76D8\u4FE1\u606F\uFF0C\u8BF7\u5148\u63D2\u4E0A\u78C1\u76D8\uFF0C\u5EFA\u8BAE\u4F7F\u7528U\u76D8\u6216\u8005\u79FB\u52A8\u786C\u76D8\uFF0C\u65B9\u4FBF\u88C5\u5378")),1)])):C("",!0),v.value&&v.value.disks.length>0?(s(),l(O,{key:2},[t("div",Hm,[t("div",Zm,[t("span",null,o(e(a)("\u76EE\u6807\u78C1\u76D8\uFF08\u5EFA\u8BAE\u9009\u62E9U\u76D8\u6216\u8005\u79FB\u52A8\u786C\u76D8\uFF0C\u65B9\u4FBF\u88C5\u5378\uFF09")),1)]),t("div",Jm,[T(t("select",{name:"",id:"",onChange:y,"onUpdate:modelValue":Y[0]||(Y[0]=B=>_.value=B)},[t("option",Km,o(e(a)("\u8BF7\u9009\u62E9\u76EE\u6807\u78C1\u76D8")),1),(s(!0),l(O,null,J(v.value.disks,(B,D)=>(s(),l("option",{value:B.path,key:D},o(B.venderModel)+"\uFF08"+o(B.size)+"\uFF09 ",9,Qm))),128))],544),[[rt,_.value]])])]),t("div",Xm,[t("div",tv,[t("span",null,o(e(a)("\u76EE\u6807\u5206\u533A\uFF08\u5206\u533A\u5927\u5C0F\u987B\u5927\u4E8E2G\uFF0C\u5C06\u6B64\u5206\u533A\u4F5C\u4E3A\u5916\u90E8 overlay \u4F7F\u7528\uFF09")),1)]),t("div",ev,[T(t("select",{name:"",id:"","onUpdate:modelValue":Y[1]||(Y[1]=B=>p.value=B)},[t("option",av,o(e(a)("\u8BF7\u9009\u62E9\u76EE\u6807\u5206\u533A")),1),(s(!0),l(O,null,J(h.value,(B,D)=>(s(),l("option",{value:B.path,key:D,disabled:B.sizeInt<(1<<30)*1||B.isSystemRoot},o(B.name)+"\uFF08"+o(B.filesystem||e(a)("\u672A\u683C\u5F0F\u5316"))+"\uFF09"+o(B.total),9,ov))),128))],512),[[rt,p.value]])])]),t("div",nv,[z(Lt),t("span",null,o(e(a)("\u6B64\u64CD\u4F5C\u4F1A\u5C06\u4F1A\u5220\u9664\u8BE5\u5206\u533A\u5168\u90E8\u6570\u636E")),1)])],64)):C("",!0)],64)):C("",!0),u.value==2?(s(),l(O,{key:1},[t("p",iv,[it(o(e(a)("\u5373\u5C06\u91CD\u542F\u8BBE\u5907"))+" ",1),t("span",null,"\uFF08"+o(c.value)+"s\uFF09",1)]),t("p",rv,[it(o(e(a)("\u7B49\u5F85\u8BBE\u5907\u91CD\u542F\uFF0C\u91CD\u542F\u5B8C\u6210\u540E")),1),t("span",sv,o(e(a)("\u8BF7\u5237\u65B0\u754C\u9762")),1)])],64)):C("",!0)]),u.value==0?(s(),l("div",dv,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:!p.value,onClick:Y[2]||(Y[2]=B=>u.value=1)},o(e(a)("\u5F00\u542F\u6C99\u7BB1")),9,lv),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:k},o(e(a)("\u53D6\u6D88")),1)])):C("",!0)])):C("",!0),u.value==1?(s(),l("div",uv,[t("div",cv,[t("span",null,o(e(a)("\u6E29\u99A8\u63D0\u793A")),1)]),t("div",pv,[t("p",fv,o(e(a)("\u6B64\u64CD\u4F5C\u4F1A\u5C06\u4F1A\u5220\u9664\u8BE5\u5206\u533A\u5168\u90E8\u6570\u636E\uFF0C\u5E76\u683C\u5F0F\u5316\u6210EXT4\uFF0C\u968F\u540E\u81EA\u52A8\u91CD\u542F\u8FDB\u5165\u6C99\u7BB1\u6A21\u5F0F\uFF0C\u662F\u5426\u7EE7\u7EED\uFF1F")),1)]),t("div",mv,[t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:m},o(e(a)("\u7EE7\u7EED")),1),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(a)("\u53D6\u6D88")),1)])])):C("",!0),u.value==3?(s(),l("div",vv,[t("div",bv,[t("span",null,o(e(a)("\u9519\u8BEF")),1)]),t("div",gv,[t("p",hv,o(r.value),1)]),t("div",_v,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(a)("\u53D6\u6D88")),1)])])):C("",!0)]),_:1},8,["Close"])}}});var wv=N(xv,[["__scopeId","data-v-59ad49e6"]]);const kv=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(wv,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},yv={key:0,class:"actioner-dns"},Fv={class:"actioner-dns_header"},Ev={class:"actioner-dns_body"},$v={class:"sandbox_info"},Cv={class:"sandbox_environment"},Dv={class:"sandbox_environment_info"},Bv={class:"sandbox_environment_reboot"},Yv=["innerHTML"],Av={class:"actioner-dns_footer"},Sv=["disabled"],zv=["disabled"],Pv=["disabled"],Tv=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=$(!1),c=()=>{new Promise((b,x)=>{const y="/luci-static/resources/icons/loading.gif",w=()=>{window.setTimeout(k,2e3)},k=()=>{const f=new Image;f.onload=b,f.onerror=w,f.src=y};window.setTimeout(k,1e4)}).then(()=>{window.setTimeout(()=>{location.reload()},2e3)})},_=()=>{r.value=!0;const b=E.Loading(a("\u63D0\u4EA4\u4E2D..."));M.Nas.SandboxCommit.POST().then(x=>{var y,w;if(x!=null&&x.data)if((((y=x==null?void 0:x.data)==null?void 0:y.success)||0)==0){E.Loading(a("\u8BBE\u5907\u91CD\u542F\u4E2D..."));return}else(w=x==null?void 0:x.data)!=null&&w.error&&alert(x.data.error);throw a("\u672A\u77E5\u9519\u8BEF")}).then(c).catch(x=>{E.Error(x),r.value=!1}).finally(()=>b.Close())},h=()=>{r.value=!0;const b=E.Loading(a("\u91CD\u7F6E\u4E2D..."));M.Nas.SandboxReset.POST().then(x=>{var y,w;if(x!=null&&x.data)if((((y=x==null?void 0:x.data)==null?void 0:y.success)||0)==0){E.Loading(a("\u8BBE\u5907\u91CD\u542F\u4E2D... \u82E5\u9875\u9762\u957F\u65F6\u95F4\u672A\u5237\u65B0\u53EF\u80FD\u9700\u8981\u624B\u52A8\u586B\u5199\u5730\u5740"));return}else(w=x==null?void 0:x.data)!=null&&w.error&&alert(x.data.error);throw a("\u672A\u77E5\u9519\u8BEF")}).then(c).catch(x=>{E.Error(x),r.value=!1}).finally(()=>b.Close())},p=()=>{if(!confirm(a("\u786E\u5B9A\u653E\u5F03\u6C99\u7BB1\u4E2D\u7684\u6570\u636E\uFF1F\u518D\u6B21\u8FDB\u5165\u6C99\u7BB1\u9700\u8981\u91CD\u65B0\u683C\u5F0F\u5316\u76F8\u5E94\u78C1\u76D8\u5206\u533A")))return;r.value=!0;const b=E.Loading(a("\u6267\u884C\u4E2D..."));M.Nas.SandboxExit.POST().then(x=>{var y,w;if(x!=null&&x.data)if((((y=x==null?void 0:x.data)==null?void 0:y.success)||0)==0){E.Loading(a("\u8BBE\u5907\u91CD\u542F\u4E2D... \u82E5\u9875\u9762\u957F\u65F6\u95F4\u672A\u5237\u65B0\u53EF\u80FD\u9700\u8981\u624B\u52A8\u586B\u5199\u5730\u5740"));return}else(w=x==null?void 0:x.data)!=null&&w.error&&alert(x.data.error);throw a("\u672A\u77E5\u9519\u8BEF")}).then(c).catch(x=>{E.Error(x),r.value=!1}).finally(()=>b.Close())},v=b=>{b.preventDefault(),i.Close&&i.Close()};return(b,x)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0?(s(),l("div",yv,[t("div",Fv,[t("span",null,o(e(a)("\u6C99\u7BB1\u6A21\u5F0F\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",Ev,[t("p",$v,o(e(a)("\u4E00\u4E2A\u7B80\u6613\u6C99\u7BB1\uFF0C\u65B9\u4FBF\u7528\u6765\u5B9E\u9A8C\u7CFB\u7EDF\u914D\u7F6E\u548C\u7A0B\u5E8F\uFF0C\u65B9\u4FBF\u5F00\u53D1\u672A\u5B8C\u6210\u7684\u8F6F\u4EF6\uFF0C\u4F46\u4E0D\u4FDD\u62A4 Docker \u548C\u786C\u76D8\u7684\u6570\u636E")),1),t("div",Cv,[t("p",null,o(e(a)("\u5F53\u524D\u5904\u4E8E\u6C99\u7BB1\u73AF\u5883\uFF1A")),1),t("p",null,o(e(a)("1\u3001\u70B9\u51FB\u201C\u63D0\u4EA4\u201D\u53EF\u5C06\u53D8\u66F4\u5408\u5E76\u5230\u975E\u6C99\u7BB1\u73AF\u5883")),1),t("p",null,o(e(a)("2\u3001\u70B9\u51FB\u201C\u91CD\u7F6E\u201D\u53EF\u5C06\u6C99\u7BB1\u6062\u590D\u5230\u521D\u59CB\u72B6\u6001")),1),t("p",null,o(e(a)("3\u3001\u70B9\u51FB\u201C\u9000\u51FA\u201D\u53EF\u9000\u51FA\u6C99\u7BB1\u73AF\u5883\uFF0C\u5E76\u653E\u5F03\u6C99\u7BB1\u4E2D\u7684\u6570\u636E")),1)]),t("div",Dv,[it(o(e(a)("\u4EE5\u4E0A\u64CD\u4F5C\u90FD\u5C06\u91CD\u542F\u8BBE\u5907\uFF0C\u8BBE\u5907\u91CD\u542F\u5B8C\u6210\u540E\u4F1A\u81EA\u52A8\u5237\u65B0\u9875\u9762\u3002\u5982\u679C IP \u53D8\u5316\u53EF\u80FD\u9700\u8981")),1),t("span",Bv,o(e(a)("\u624B\u52A8\u5728\u5730\u5740\u680F\u8F93\u5165\u5730\u5740")),1),t("p",{class:"sandbox_environment_tex",innerHTML:e(a)("\u5982\u9700\u4E34\u65F6\u9000\u51FA\u6C99\u7BB1\u73AF\u5883\uFF0C\u8BF7\u5C06\u8BBE\u5907\u5173\u673A\u540E\u62D4\u51FA\u76F8\u5173\u78C1\u76D8\uFF0C\u542F\u52A8\u524D\u63D2\u5165\u76F8\u5173\u78C1\u76D8\u53EF\u518D\u6B21\u8FDB\u5165\u6C99\u7BB1\u3002
\u6CE8\u610F\u4E34\u65F6\u9000\u51FA\u6C99\u7BB1\u73AF\u5883\u4EE5\u540E\u5347\u7EA7\u56FA\u4EF6\u4F1A\u5BFC\u81F4\u4E4B\u524D\u7684\u6C99\u7BB1\u6570\u636E\u65E0\u6548",{},!0)},null,8,Yv)])]),t("div",Av,[t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:_,disabled:r.value},o(e(a)("\u63D0\u4EA4")),9,Sv),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:h,disabled:r.value},o(e(a)("\u91CD\u7F6E")),9,zv),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:p,disabled:r.value},o(e(a)("\u9000\u51FA")),9,Pv),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:v},o(e(a)("\u53D6\u6D88")),1)])])):C("",!0)]),_:1},8,["Close"]))}});var Iv=N(Tv,[["__scopeId","data-v-3e084f0f"]]);const Lv=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Iv,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Mv={class:"nav-container"},Nv=["onClick"],Ov={key:1,class:"btn_styles color3 app-update-button-combind"},Vv={class:"app-update-button",onclick:"window.location.href='/cgi-bin/luci/admin/system/ota'"},Gv={class:"app-update-button-text"},jv={key:0,style:{display:"inline-block"}},qv={key:1},Uv=["title"],Rv={class:"app-update-button-menu"},Wv={class:"app-update-menu-item"},Hv={key:0,class:"app-update-menu-item-loading"},Zv=["disabled"],Jv={key:0,style:{display:"inline-block"}},Kv=G({setup(n){var F,Y;const{$gettext:i,$ngettext:a}=W(),d=$(!0);(Y=(F=window.quickstart_configs)==null?void 0:F.update)!=null&&Y.disable&&(d.value=!1);const u=$(!1),r=$(d.value),c=$(!1),_=He(),h=ge(),p=X(()=>h.status);$(!1),$(!0);const v=$(),b=()=>{Aa()};Tt(r,S=>{c.value=!0,M.System.AutoCheckUpdate.POST({enable:S}).catch(B=>{E.Warning(B)}).finally(()=>{c.value=!1})});const x=()=>{kv()},y=()=>{Lv()},w=()=>{alert(i("\u8BE5\u56FA\u4EF6\u4E0D\u652F\u6301\u6C99\u7BB1\u6A21\u5F0F"))},k=()=>{Om()},f=()=>{Ta()},m=()=>{var S,B,D,I;window.open(`${(B=(S=window.quickstart_configs)==null?void 0:S.ttyd)!=null&&B.ssl?"https":"http"}://${window.location.hostname}:${((I=(D=window.quickstart_configs)==null?void 0:D.ttyd)==null?void 0:I.port)||7681}/`,"_blank")},g=()=>{u.value=!u.value};return d.value&&setTimeout(()=>{_.requestCheckUpdate()},1100),Kt("sandbox")&&M.Nas.GetSandbox.GET().then(B=>{var D,I,at;B!=null&&B.data&&((((D=B==null?void 0:B.data)==null?void 0:D.success)||0)==0?(I=B==null?void 0:B.data)!=null&&I.result&&(v.value=B.data.result):(at=B==null?void 0:B.data)!=null&&at.error&&alert(B.data.error))}).catch(B=>E.Warning(B)),(S,B)=>{var A,P,V,ot,Ct,Dt;const D=ft("router-link"),I=ft("icon-loading"),at=ft("switch-box");return s(),l("div",Mv,[z(D,{to:"/network",custom:""},{default:R(({navigate:vt})=>[t("button",{class:"btn_styles color1",onClick:vt},o(e(i)("\u7F51\u7EDC\u5411\u5BFC")),9,Nv)]),_:1}),e(Kt)("ttyd")?(s(),l("button",{key:0,class:"btn_styles color2 app-btn-ttyd",onClick:m},o(e(i)("\u7EC8\u7AEF")),1)):C("",!0),e(Kt)("ota")?(s(),l("button",Ov,[t("div",Vv,[t("div",Gv,[it(o(e(i)("\u56FA\u4EF6\u66F4\u65B0"))+" ",1),d.value&&e(_).checkUpdate==null?(s(),l("span",jv,[z(I,{size:"0.8em",color:"currentColor"})])):C("",!0),(A=e(_).checkUpdate)!=null&&A.needUpdate?(s(),l("i",qv)):C("",!0)])]),t("span",{class:"app-update-button-more",onClick:g,title:e(i)("\u56FA\u4EF6\u66F4\u65B0\u9009\u9879")},[z(Gt)],8,Uv),T(t("div",Rv,[t("div",{class:"menu_background",onClick:g}),t("ul",null,[t("li",null,[z(at,{modelValue:r.value,"onUpdate:modelValue":B[0]||(B[0]=vt=>r.value=vt)},{default:R(()=>[t("span",Wv,o(e(i)("\u81EA\u52A8\u68C0\u67E5\u66F4\u65B0")),1)]),_:1},8,["modelValue"]),c.value?(s(),l("span",Hv,[z(I,{size:"1em",color:"currentColor"})])):C("",!0)])])],512),[[Yt,u.value]])])):C("",!0),t("button",{class:"btn_styles color4",onClick:k},o(e(i)("\u5185\u7F51\u914D\u7F6E")),1),t("button",{class:"btn_styles color5",onClick:b,disabled:!((P=e(p))!=null&&P.proto)},[it(o(e(i)("DNS\u914D\u7F6E"))+" ",1),(V=e(p))!=null&&V.proto?C("",!0):(s(),l("span",Jv,[z(I,{size:"0.8em",color:"currentColor"})]))],8,Zv),t("button",{class:"btn_styles color1",onClick:f},o(e(i)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1),e(Kt)("sandbox")?(s(),l(O,{key:2},[((ot=v.value)==null?void 0:ot.status)=="unsupport"?(s(),l("button",{key:0,class:"btn_styles color2",onClick:w},o(e(i)("\u5F00\u542F\u6C99\u7BB1")),1)):((Ct=v.value)==null?void 0:Ct.status)=="stopped"?(s(),l("button",{key:1,class:"btn_styles color3",onClick:x},o(e(i)("\u5F00\u542F\u6C99\u7BB1")),1)):((Dt=v.value)==null?void 0:Dt.status)=="running"?(s(),l("button",{key:2,class:"btn_styles color4",onClick:y},o(e(i)("\u6C99\u7BB1\u5DF2\u5F00\u542F")),1)):C("",!0)],64)):C("",!0)])}}});var Qv=N(Kv,[["__scopeId","data-v-501131da"]]);const Xv={name:"CustomTable",props:{data:{type:Array,default:()=>[]},columns:{type:Array,required:!0,validator:n=>n.every(i=>i.label&&i.prop)},showSelection:{type:Boolean,default:!1},rowKey:{type:String,default:"id"},showPagination:{type:Boolean,default:!0},pageSize:{type:Number,default:10},currentPage:{type:Number,default:1},emptyText:{type:String,default:"\u6682\u65E0\u6570\u636E"},maxPagerCount:{type:Number,default:5},theadBgColor:{type:String,default:"#F8F8F8"}},emits:["selection-change","update:currentPage","page-change"],setup(n,{emit:i}){const{$gettext:a}=W(),d=$([]),u=$(!1),r=$(!1);$(null);const c=X(()=>n.data.length),_=X(()=>Math.ceil(c.value/n.pageSize)),h=X(()=>{if(!n.showPagination)return n.data;const Y=(n.currentPage-1)*n.pageSize,S=Y+n.pageSize;return n.data.slice(Y,S)}),p=X(()=>(n.currentPage-1)*n.pageSize+1),v=X(()=>{const Y=n.currentPage*n.pageSize;return Y>c.value?c.value:Y}),b=X(()=>({minWidth:`${n.columns.reduce((S,B)=>S+(parseInt(B.width)||50),n.showSelection?50:0)}px`})),x=X(()=>{const Y=[],S=Math.floor(n.maxPagerCount/2);let B=n.currentPage-S,D=n.currentPage+S;B<1&&(B=1,D=Math.min(n.maxPagerCount,_.value)),D>_.value&&(D=_.value,B=Math.max(1,D-n.maxPagerCount+1));for(let I=B;I<=D;I++)Y.push(I);return Y}),y=Y=>({width:Y.width?`${Math.max(50,parseInt(Y.width))}px`:"auto",minWidth:"50px",textAlign:Y.align||"center"}),w=()=>{u.value?d.value=[...h.value.map(Y=>Y[n.rowKey])]:d.value=[],m()},k=()=>{u.value=d.value.length===h.value.length&&h.value.length>0,m()},f=(Y,S)=>{S?d.value.includes(Y)||d.value.push(Y):d.value=d.value.filter(B=>B!==Y),k()},m=()=>{const Y=n.data.filter(S=>d.value.includes(S[n.rowKey]));i("selection-change",Y)},g=Y=>{Y<1||Y>_.value||(i("update:currentPage",Y),i("page-change",Y))},F=()=>{r.value=window.innerWidth<=768};return Tt(()=>n.data,()=>{d.value=[],u.value=!1},{deep:!0}),At(()=>{F(),window.addEventListener("resize",F)}),Ot(()=>{window.removeEventListener("resize",F)}),{selectedRows:d,allSelected:u,isMobile:r,total:c,totalPages:_,paginatedData:h,startItem:p,endItem:v,visiblePages:x,tableStyle:b,gettext:a,getColumnStyle:y,toggleAllSelection:w,handleSelectionChange:k,changePage:g,updateSelection:f}}},tb={class:"custom-table-container"},eb={key:0,class:"selection-header"},ab={key:0,class:"selection-cell"},ob=["checked","onChange"],nb={key:0,class:"empty-row"},ib=["colspan"],rb={key:0,class:"pagination-wrapper"},sb={class:"pagination-info"},db={class:"pagination-controls"},lb=["disabled"],ub=["onClick"],cb=["disabled"];function pb(n,i,a,d,u,r){return s(),l("div",tb,[t("div",{class:"custom-table-wrapper",style:Bt({overflowX:d.isMobile?"auto":"hidden"})},[t("table",{class:ct(["custom-table",{"has-selection":a.showSelection}]),style:Bt(d.tableStyle)},[t("thead",{style:Bt({background:a.theadBgColor})},[t("tr",null,[a.showSelection?(s(),l("th",eb,[T(t("input",{type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=c=>d.allSelected=c),onChange:i[1]||(i[1]=(...c)=>d.toggleAllSelection&&d.toggleAllSelection(...c))},null,544),[[Rt,d.allSelected]])])):C("",!0),(s(!0),l(O,null,J(a.columns,(c,_)=>(s(),l("th",{key:_,style:Bt(d.getColumnStyle(c))},o(d.gettext(c.label)),5))),128))])],4),t("tbody",null,[(s(!0),l(O,null,J(d.paginatedData,(c,_)=>(s(),l("tr",{key:_,class:ct({"last-row":_===d.paginatedData.length-1})},[a.showSelection?(s(),l("td",ab,[t("input",{type:"checkbox",checked:d.selectedRows.includes(c[a.rowKey]),onChange:h=>d.updateSelection(c[a.rowKey],h.target.checked)},null,40,ob)])):C("",!0),(s(!0),l(O,null,J(a.columns,(h,p)=>(s(),l("td",{key:p,style:Bt({textAlign:h.align||"center"})},[h.slot?Pt(n.$slots,h.slot,{key:0,row:c,index:_},void 0,!0):(s(),l(O,{key:1},[it(o(c[h.prop]),1)],64))],4))),128))],2))),128)),d.paginatedData.length===0?(s(),l("tr",nb,[t("td",{colspan:a.showSelection?a.columns.length+1:a.columns.length},o(a.emptyText),9,ib)])):C("",!0)])],6)],4),a.showPagination?(s(),l("div",rb,[t("div",sb,o(d.gettext("\u663E\u793A"))+" "+o(d.startItem)+" "+o(d.gettext("\u5230"))+" "+o(d.endItem)+" "+o(d.gettext("\u6761"))+"\uFF0C"+o(d.gettext("\u5171"))+" "+o(d.total)+" "+o(d.gettext("\u6761")),1),t("div",db,[t("button",{disabled:a.currentPage===1,onClick:i[2]||(i[2]=c=>d.changePage(a.currentPage-1))},o(d.gettext("\u4E0A\u4E00\u9875")),9,lb),(s(!0),l(O,null,J(d.visiblePages,c=>(s(),l("button",{key:c,class:ct({active:c===a.currentPage}),onClick:_=>d.changePage(c)},o(c),11,ub))),128)),t("button",{disabled:a.currentPage===d.totalPages,onClick:i[3]||(i[3]=c=>d.changePage(a.currentPage+1))},o(d.gettext("\u4E0B\u4E00\u9875")),9,cb)])])):C("",!0)])}var Le=N(Xv,[["render",pb],["__scopeId","data-v-5baea60c"]]);const Oa=n=>(st("data-v-78f3be5c"),n=n(),dt(),n),fb={style:{display:"flex","align-items":"center"}},mb={class:"search_box"},vb={class:"search_container"},bb={class:"search_input_wrapper"},gb=["onKeyup","placeholder"],hb=Oa(()=>t("path",{d:"M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},null,-1)),_b=[hb],xb=Oa(()=>t("svg",{class:"refresh_icon",viewBox:"0 0 24 24",width:"26",height:"26"},[t("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"})],-1)),wb=[xb],kb=G({props:{showBatchDelete:{type:Boolean,default:!0},showAdd:{type:Boolean,default:!0}},emits:["refresh","batch-delete","search","handleAdd"],setup(n,{emit:i}){const a=n,{$gettext:d}=W(),u=$(""),r=$(!1),c=$(a.showBatchDelete),_=$(a.showAdd),h=()=>{i("refresh",{data:"\u8FD9\u662F\u5B50\u7EC4\u4EF6\u7684\u6570\u636E"})},p=()=>{i("search",String(u.value))},v=()=>{i("batch-delete",{data:"\u8FD9\u662F\u5B50\u7EC4\u4EF6\u7684\u6570\u636E"})},b=()=>{i("handleAdd")};return(x,y)=>(s(),l("div",fb,[_.value?(s(),l("button",{key:0,class:"del-button add-button--danger",style:{},onClick:b},[t("span",null,o(e(d)("\u6DFB\u52A0")),1)])):C("",!0),c.value?(s(),l("button",{key:1,class:"del-button del-button--danger",onClick:v},[t("span",null,o(e(d)("\u6279\u91CF\u5220\u9664")),1)])):C("",!0),t("div",mb,[t("div",vb,[t("div",bb,[T(t("input",{type:"text",onKeyup:ao(p,["enter"]),"onUpdate:modelValue":y[0]||(y[0]=w=>u.value=w),class:"search_input",placeholder:e(d)("\u8BF7\u8F93\u5165\u540D\u79F0/IP/MAC\u2026")},null,40,gb),[[tt,u.value,void 0,{trim:!0}]]),t("svg",{class:"search_icon",viewBox:"0 0 24 24",width:"24",height:"24",onClick:p},_b)]),t("button",{class:ct(["refresh_button",{rotate:r.value}]),onClick:h},wb,2)])])]))}});var ta=N(kb,[["__scopeId","data-v-78f3be5c"]]);const yb=n=>(st("data-v-77e6f338"),n=n(),dt(),n),Fb=yb(()=>t("span",{class:"switch__button"},null,-1)),Eb=[Fb],$b=["checked","disabled"],Cb=G({props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},activeColor:{default:"#409EFF"},inactiveColor:{default:"#DCDFE6"}},emits:["update:modelValue","change","beforeChange"],setup(n,{emit:i}){const a=n,d=()=>{if(i("beforeChange",!a.modelValue),a.disabled)return;const u=!a.modelValue;i("update:modelValue",u),i("change",u)};return X(()=>a.modelValue),(u,r)=>(s(),l("div",{class:ct(["switch",{"is-checked":n.modelValue,"is-disabled":n.disabled}]),onClick:d},[t("span",{class:"switch__core",style:Bt({backgroundColor:n.modelValue?n.activeColor:n.inactiveColor,borderColor:n.modelValue?n.activeColor:n.inactiveColor})},Eb,4),t("input",{type:"checkbox",class:"switch__input",checked:n.modelValue,disabled:n.disabled},null,8,$b)],2))}});var jt=N(Cb,[["__scopeId","data-v-77e6f338"]]);const Db={class:"flow"},Bb={class:"flow-data"},Yb={key:0},Ab={key:1},Sb=G({props:{ipParam:{type:String}},setup(n){const i=n,{$gettext:a}=W();pa([fa,ma,va,ba,ga,ha]);const d=$(i.ipParam),u=$(),r=f=>{var g;const m=(g=u.value)==null?void 0:g[f];return!m||m.startTime==0?"":b(m.startTime*1e3)+"-"+b(m.endTime*1e3)},c=X(()=>{var m;let f=[];return(m=u.value)==null||m.forEach(g=>{f.push({value:g.uploadSpeed})}),f}),_=X(()=>{var m;let f=[];return(m=u.value)==null||m.forEach(g=>{f.push({value:g.downloadSpeed})}),f}),h=X(()=>{var m;let f="";if(u.value){let g=((m=u.value)==null?void 0:m.length)||0;if(g>0){let F=u.value[g-1];f=x(F.uploadSpeed)+"/s"}}return f}),p=X(()=>{var m;let f="";if(u.value){let g=((m=u.value)==null?void 0:m.length)||0;if(g>0){let F=u.value[g-1];f=x(F.downloadSpeed)+"/s"}}return f}),v=()=>L(this,null,function*(){var f;try{const m=yield M.DeviceMangement.speedsForOneDevice.POST({ip:d.value});if(m.data&&(f=m.data.result)!=null&&f.items){const g=m.data.result.slots||10;if(m.data.result.items.lengthg?u.value=m.data.result.items.slice(g-m.data.result.items.length):u.value=m.data.result.items}}catch(m){console.log(m)}}),b=It.dateForm,x=It.byteToSize,y=$();let w=null;const k=f=>{const m=Ya();return w=_a(f,m?"dark":"light"),w.setOption({animation:!1,backgroundColor:m?"#88888822":"#fff",color:["transparent","transparent"],tooltip:{trigger:"axis",formatter:g=>{if(Array.isArray(g)){let F="";g.length>0&&(F=r(g[0].axisValue));for(let Y=0;Y${g[Y].seriesName}: ${x(g[Y].value)}/s`;return F.toString()}else{const F=g;return`${r(F.axisValue)}
${F.seriesName}: ${x(F.value)}/s`}}},xAxis:{type:"category",boundaryGap:!1,splitLine:{lineStyle:{color:["#999"]},show:!1},name:"",show:!1,nameGap:0,nameTextStyle:{height:0,lineHeight:0,padding:0}},title:{text:a("\u6D41\u91CF\u7EDF\u8BA1"),textStyle:{fontSize:12,color:m?"#cccccc":"rgba(0, 0, 0, 0.6)"},top:"10px",left:"10px"},yAxis:{type:"value",name:"",minInterval:1e4,interval:1e3,axisLabel:{formatter:function(g,F){return`${x(g)}/s`},color:"#fff",show:!1},nameTextStyle:{color:"#fff"},splitLine:{lineStyle:{color:["#999"]},show:!1}},series:[{name:a("\u4E0B\u8F7D"),data:_.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(32, 199, 247, 1)"},{offset:1,color:"rgba(32, 199, 247, 0.1)"}],global:!1}}},{name:a("\u4E0A\u4F20"),data:c.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(85, 58, 254, 1)"},{offset:1,color:"rgba(85, 58, 254, 0.1)"}],global:!1}}}],legend:{padding:0,align:"right",top:"10px",data:[{name:a("\u4E0A\u4F20"),itemStyle:{color:"rgb(85, 58, 254)"}},{name:a("\u4E0B\u8F7D"),itemStyle:{color:"rgb(32, 199, 247)"}}],textStyle:{color:m?"#cccccc":"rgba(0, 0, 0, 0.6)"},lineStyle:{color:"#333"}},grid:{left:"2%",right:"2%",bottom:"0%",top:"10%",containLabel:!0}}),w};return At(()=>{setTimeout(()=>L(this,null,function*(){if(y.value){yield v();const f=k(y.value),m=y.value;f.resize({width:m.clientWidth,height:m.clientHeight}),window.addEventListener("resize",()=>{f.resize({width:m.clientWidth,height:m.clientHeight})});const g=()=>L(this,null,function*(){if(w!=null){if(!document.hidden){if(yield v(),w==null)return;f.setOption({series:[{name:a("\u4E0B\u8F7D"),data:_.value,type:"line",areaStyle:{},smooth:!0},{name:a("\u4E0A\u4F20"),data:c.value,type:"line",areaStyle:{},smooth:!0}]})}setTimeout(g,5e3)}});setTimeout(g,5e3)}}),900)}),Ot(()=>{w!=null&&(w.dispose(),w=null)}),(f,m)=>(s(),l("div",Db,[t("div",{ref_key:"el",ref:y,class:"echart"},null,512),t("div",Bb,[e(h)?(s(),l("span",Yb,o(e(a)("\u4E0A\u4F20:"))+" "+o(e(h)),1)):C("",!0),e(p)?(s(),l("span",Ab,o(e(a)("\u4E0B\u8F7D:"))+" "+o(e(p)),1)):C("",!0)])]))}});var zb=N(Sb,[["__scopeId","data-v-55d205aa"]]);const Pb=["onClick"],Tb={class:"modal-header"},Ib={class:"modal-title"},Lb={class:"modal-content"},Mb={key:0,class:"modal-footer"},fe=G({props:{modelValue:{type:Boolean},title:{default:"\u63D0\u793A"},showClose:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!1},footerShow:{type:Boolean,default:!0},width:{default:"500px"}},emits:["update:modelValue","confirm","cancel","close"],setup(n,{expose:i,emit:a}){const d=n;oo(b=>({"1df87c10":e(r)}));const{$gettext:u}=W(),r=X(()=>typeof d.width=="number"?`${d.width}px`:d.width),c=$(d.modelValue);Tt(()=>d.modelValue,b=>{c.value=b}),Tt(c,b=>{a("update:modelValue",b),b||a("close")}),X(()=>typeof d.width=="number"?`${d.width}px`:d.width);const _=()=>{c.value=!1},h=()=>{d.closeOnClickOverlay&&v()},p=()=>{a("confirm")},v=()=>{a("cancel"),_()};return i({show:()=>c.value=!0,hide:()=>c.value=!1}),(b,x)=>(s(),H($t,{name:"fade"},{default:R(()=>[c.value?(s(),l("div",{key:0,class:"modal-overlay",onClick:pt(h,["self"])},[z($t,{name:"slide"},{default:R(()=>[t("div",{class:"modal-container",style:Bt({maxWidth:e(r)})},[t("div",Tb,[t("h3",Ib,o(e(u)(n.title)),1),n.showClose?(s(),l("button",{key:0,class:"modal-close",onClick:v,"aria-label":"Close"}," \xD7 ")):C("",!0)]),t("div",Lb,[Pt(b.$slots,"default")]),n.footerShow?(s(),l("div",Mb,[Pt(b.$slots,"footer",{},()=>[t("button",{class:"modal-button cancel",onClick:v},o(e(u)("\u53D6\u6D88")),1),t("button",{class:"modal-button confirm",onClick:p},o(e(u)("\u4FDD\u5B58")),1)])])):C("",!0)],4)]),_:3})],8,Pb)):C("",!0)]),_:3}))}}),_e=n=>(st("data-v-46592916"),n=n(),dt(),n),Nb={class:"container"},Ob={style:{display:"flex","justify-content":"end"}},Vb=["onClick"],Gb=["onClick"],jb=["onClick"],qb={class:"custom-content"},Ub={class:"IP_address"},Rb={class:"item_box"},Wb={class:"item_left"},Hb={key:0,class:"tip"},Zb=["onClick"],Jb={key:1},Kb={class:"item_box"},Qb={class:"item_left"},Xb={class:"item_box"},tg={class:"item_left"},eg=["placeholder"],ag={class:"item_box"},og={class:"item_left"},ng=["placeholder"],ig={class:"item_box"},rg={class:"item_left"},sg=["placeholder"],dg={class:"custom-content"},lg=_e(()=>t("div",{class:"img_box"},[t("img",{src:"https://fwindex.koolcenter.com/cover/x86_64/cover.png",alt:""})],-1)),ug={class:"item_box"},cg={class:"item_left"},pg=["placeholder"],fg={class:"item_box"},mg=_e(()=>t("div",{class:"item_left"},"MAC\uFF1A",-1)),vg=["placeholder"],bg={class:"item_box"},gg={class:"item_left"},hg={key:0,value:null,disabled:""},_g=["value"],xg={class:"item_box"},wg={class:"item_left"},kg={key:0,class:"item_box"},yg=_e(()=>t("div",{class:"item_left"},"IP\uFF1A",-1)),Fg=["placeholder"],Eg={class:"custom-content"},$g={class:"info-content"},Cg=_e(()=>t("div",{class:"img_box"},[t("img",{src:"https://fwindex.koolcenter.com/cover/x86_64/cover.png",alt:""})],-1)),Dg={style:{"margin-bottom":"16px",flex:"1"}},Bg={class:"item_box"},Yg={class:"item_left"},Ag={class:"item_box"},Sg={class:"item_left"},zg={class:"item_box"},Pg=_e(()=>t("div",{class:"item_left"}," MAC\uFF1A",-1)),Tg={class:"item_box"},Ig={class:"item_left"},Lg={class:"item_box"},Mg={class:"item_left"},Ng={class:"item_box"},Og={class:"item_left"},Vg=G({emits:["openGloba"],setup(n,{emit:i}){const{$gettext:a}=W(),d=$(null),u=()=>{r(),S(),d.value=setInterval(S,3e3)},r=()=>{d.value&&(clearInterval(d.value),d.value=null)};At(()=>L(this,null,function*(){yield F(),u()})),Ot(()=>{r()});const c=$({});(()=>L(this,null,function*(){try{const{data:q}=yield M.DeviceMangement.globalConfigs.GET();q.result&&(c.value=q.result||{})}catch(q){}}))();const h=$([]),p=$([]),v=$(!1),b=$(!1),x=$(!1),y=X(()=>!I.dhcpGateway),w=$([{label:"\u4E3B\u673A\u540D\u79F0",prop:"hostname"},{label:"IP\u5730\u5740",prop:"ip"},{label:"MAC\u5730\u5740",prop:"mac"},{label:"\u4E0A\u4F20\u901F\u5EA6",prop:"uploadSpeedStr"},{label:"\u4E0B\u8F7D\u901F\u5EA6",prop:"downloadSpeedStr"},{label:"\u6807\u7B7E",prop:"staticAssigned",slot:"staticAssigned"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),k=q=>({default:a("\u9ED8\u8BA4\u7F51\u5173"),parent:a("\u4E0A\u7EA7\u8DEF\u7531"),myself:a("\u672C\u8BBE\u5907"),bypass:a("\u65C1\u8DEF\u7531"),floatip:a("\u6D6E\u52A8\u7F51\u5173")})[q]||q,f=()=>{v.value=!1,i("openGloba")},m=q=>{var Z,Q;if(q==!0&&!((Q=(Z=c.value)==null?void 0:Z.speedLimit)!=null&&Q.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"))},g=$([]),F=()=>L(this,null,function*(){var Z,Q,et;let q=E.Loading(a("\u52A0\u8F7D\u4E2D..."));try{const{data:_t}=yield M.DeviceMangement.listDevices.GET();_t.result&&(h.value=((Z=_t.result)==null?void 0:Z.devices)||[],p.value=((Q=_t.result)==null?void 0:Q.devices)||[],g.value=((et=_t.result)==null?void 0:et.dhcpTags)||[])}catch(_t){}finally{q.Close()}}),Y=(q,Z)=>{const Q={};return q.forEach(et=>{et.ip&&(Q[et.ip]={downloadSpeedStr:et.downloadSpeedStr||"0 B",uploadSpeedStr:et.uploadSpeedStr||"0 B"})}),Z.map(et=>et.ip&&Q[et.ip]?mt(ut({},et),{downloadSpeedStr:Q[et.ip].downloadSpeedStr,uploadSpeedStr:Q[et.ip].uploadSpeedStr}):mt(ut({},et),{downloadSpeedStr:et.downloadSpeedStr||"0 B",uploadSpeedStr:et.uploadSpeedStr||"0 B"}))},S=()=>L(this,null,function*(){try{const{data:q}=yield M.DeviceMangement.speedsForDevices.GET();q.result&&(p.value=Y(q.result,p.value))}catch(q){}}),B=q=>/^[a-zA-Z\s]+$/.test(q)?q.toUpperCase():q,D=bt({ip:"",mac:"",uploadSpeed:100,downloadSpeed:1e3,networkAccess:!1,enabled:!1,comment:"",action:"add"}),I=bt({hostname:"",assignedIP:"",assignedMac:"",bindIP:!1,tagTitle:"",tagName:"",dhcpGateway:"",action:"add"}),at=$(""),A=$({}),P=(q,Z)=>{var Q,et,_t,zt,wt,te,ee,ae,oe,ne,ie,re,se,kt,de,Ee;A.value=q,Z===1?(D.ip=q.ip||"",D.mac=q.mac||"",D.uploadSpeed=((Q=q==null?void 0:q.speedLimit)==null?void 0:Q.uploadSpeed)||100,D.downloadSpeed=((et=q==null?void 0:q.speedLimit)==null?void 0:et.downloadSpeed)||1e3,D.networkAccess=!((_t=q==null?void 0:q.speedLimit)!=null&&_t.networkAccess)||!1,D.enabled=((zt=q==null?void 0:q.speedLimit)==null?void 0:zt.enabled)||!1,D.comment=((wt=q==null?void 0:q.speedLimit)==null?void 0:wt.comment)||"",D.action=((te=q==null?void 0:q.speedLimit)==null?void 0:te.action)||"add",v.value=!0):Z===2?(I.hostname=((ee=q==null?void 0:q.staticAssigned)==null?void 0:ee.hostname)||"",I.assignedIP=((ae=q==null?void 0:q.staticAssigned)==null?void 0:ae.assignedIP)||"",I.assignedMac=((oe=q==null?void 0:q.staticAssigned)==null?void 0:oe.assignedMac)||"",I.bindIP=((ne=q==null?void 0:q.staticAssigned)==null?void 0:ne.bindIP)||!1,I.tagTitle=((ie=q==null?void 0:q.staticAssigned)==null?void 0:ie.tagTitle)||"",I.tagName=((re=q==null?void 0:q.staticAssigned)==null?void 0:re.tagName)||"",(se=q==null?void 0:q.staticAssigned)!=null&&se.dhcpGateway?(g.value.forEach(oa=>{var na;oa.gateway===((na=q==null?void 0:q.staticAssigned)==null?void 0:na.dhcpGateway)&&(V.value=oa)}),I.dhcpGateway=((de=q==null?void 0:q.staticAssigned)==null?void 0:de.dhcpGateway)||g.value[0]||""):(V.value=g.value[0]||null,I.dhcpGateway=((kt=V.value)==null?void 0:kt.gateway)||""),I.action=((Ee=q==null?void 0:q.staticAssigned)==null?void 0:Ee.action)||"add",b.value=!0):Z===3&&(at.value="",at.value=q.ip,x.value=!0)},V=$(g.value[0]||null),ot=()=>{var q,Z,Q;V.value?(I.dhcpGateway=((q=V.value)==null?void 0:q.gateway)||"",I.tagName=((Z=V.value)==null?void 0:Z.tagName)||"",I.tagTitle=((Q=V.value)==null?void 0:Q.tagTitle)||""):(I.dhcpGateway="",I.tagName="",I.tagTitle="")},Ct=(q,Z)=>Z?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[q].test(Z.trim()):!1,Dt=q=>/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/.test(q.toString()),vt=()=>L(this,null,function*(){if(!I.hostname)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u540D\u79F0")}`);if(!I.assignedMac)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("MAC")}`);if(!Ct("mac",I.assignedMac))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684MAC\u5730\u5740")}`);if(!I.dhcpGateway)return E.Warning(`${a("\u8BF7\u9009\u62E9")}${a("\u7F51\u5173")}`);if(I.bindIP){if(!I.assignedIP)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("IP")}`);if(!Ct("ip",I.assignedIP))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`)}else I.assignedIP="";let q=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:Z}=yield M.DeviceMangement.staticDeviceConfig.POST(I);JSON.stringify(Z)==="{}"?(b.value=!1,U(),K(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((Z==null?void 0:Z.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(Z){E.Warning(`${Z==null?void 0:Z.error} || ${Z==null?void 0:Z.message}`)}finally{q.Close()}}),nt=()=>L(this,null,function*(){var Z,Q;if(!((Q=(Z=c.value)==null?void 0:Z.speedLimit)!=null&&Q.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"));if(D.networkAccess)D.downloadSpeed=0,D.uploadSpeed=0;else{if(!D.downloadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0B\u8F7D\u901F\u5EA6")}`);if(!Dt(D.downloadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0B\u8F7D\u901F\u5EA6")}`);if(!D.uploadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0A\u4F20\u901F\u5EA6")}`);if(!Dt(D.uploadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0A\u4F20\u901F\u5EA6")}`);D.downloadSpeed=Number(D.downloadSpeed),D.uploadSpeed=Number(D.uploadSpeed)}let q=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{D.networkAccess=!D.networkAccess;const{data:et}=yield M.DeviceMangement.speedLimitConfig.POST(D);JSON.stringify(et)==="{}"?(v.value=!1,U(),K(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((et==null?void 0:et.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(et){E.Warning(`${et==null?void 0:et.error} || ${et==null?void 0:et.message}`)}finally{D.downloadSpeed=1e3,D.uploadSpeed=100,q.Close()}}),U=()=>{A.value={},V.value=g.value[0]||null,I.hostname="",I.assignedIP="",I.assignedMac="",I.bindIP=!1,I.dhcpGateway="",I.tagName="",I.tagTitle="",I.action="add",D.ip="",D.mac="",D.uploadSpeed=100,D.downloadSpeed=1e3,D.networkAccess=!1,D.comment="",D.action="add"},xt=$([]),lt=$(null),K=()=>L(this,null,function*(){h.value=[],yield F()}),Mt=q=>h.value.filter(Z=>{const Q=Z.ip.includes(q),et=Z.mac.toLowerCase().includes(q.toLowerCase());return Q||et}),ye=q=>{q===""&&(p.value=h.value),p.value=Mt(q)},Fe=()=>{if(xt.value.length===0)return E.Warning(a("\u8BF7\u52FE\u9009\u8981\u5220\u9664\u7684\u6570\u636E")+" !")};return(q,Z)=>(s(),l("div",Nb,[t("div",Ob,[z(ta,{onRefresh:K,showAdd:!1,showBatchDelete:!1,ref_key:"searchRef",ref:lt,onBatchDelete:Fe,onSearch:ye},null,512)]),t("div",null,[z(Le,{data:p.value,columns:w.value,showPagination:!1},{action:R(({row:Q})=>[t("span",{style:{color:"#553AFE",cursor:"pointer"},onClick:et=>P(Q,2)},o(e(a)("\u9759\u6001\u5206\u914D")),9,Vb),t("span",{style:{color:"#553AFE",cursor:"pointer",margin:"0 8px"},onClick:et=>P(Q,1)},o(e(a)("\u9650\u901F\u914D\u7F6E")),9,Gb),t("span",{style:{color:"#553AFE",margin:"0 8px",cursor:"pointer"},onClick:et=>P(Q,3)},o(e(a)("\u8BE6\u60C5")),9,jb)]),staticAssigned:R(({row:Q})=>{var et,_t;return[t("span",null,o(k((et=Q==null?void 0:Q.staticAssigned)==null?void 0:et.tagTitle)||k((_t=Q==null?void 0:Q.staticAssigned)==null?void 0:_t.tagName)||"-"),1)]}),_:1},8,["data","columns"])]),z(fe,{modelValue:v.value,"onUpdate:modelValue":Z[6]||(Z[6]=Q=>v.value=Q),title:"\u9650\u901F\u914D\u7F6E","show-close":!0,onConfirm:nt,onCancel:U},{default:R(()=>{var Q,et,_t,zt;return[t("div",qb,[t("div",Ub,"IP: "+o(A.value.ip),1),t("div",Rb,[t("div",Wb,o(e(a)("\u5BF9\u8BBE\u5907\u5F00\u542F\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(D).enabled,"onUpdate:modelValue":Z[0]||(Z[0]=wt=>e(D).enabled=wt),disabled:!((et=(Q=c.value)==null?void 0:Q.speedLimit)!=null&&et.enabled),onBeforeChange:m},null,8,["modelValue","disabled"])]),(zt=(_t=c.value)==null?void 0:_t.speedLimit)!=null&&zt.enabled?C("",!0):(s(),l("div",Hb,[t("a",{href:"",onClick:pt(f,["prevent"])},o(e(a)("\u70B9\u6211\u8DF3\u8F6C\u5168\u5C40\u914D\u7F6E")),9,Zb)])),e(D).enabled?(s(),l("div",Jb,[t("div",Kb,[t("div",Qb,o(e(a)("\u7981\u6B62\u8BE5\u8BBE\u5907\u8BBF\u95EE\u7F51\u7EDC"))+"\uFF1A",1),z(jt,{modelValue:e(D).networkAccess,"onUpdate:modelValue":Z[1]||(Z[1]=wt=>e(D).networkAccess=wt),onChange:Z[2]||(Z[2]=()=>{})},null,8,["modelValue"])]),e(D).networkAccess?C("",!0):(s(),l(O,{key:0},[t("div",Xb,[t("div",tg,o(e(a)("\u4E0B\u8F7D\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[3]||(Z[3]=wt=>e(D).downloadSpeed=wt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,eg),[[tt,e(D).downloadSpeed,void 0,{trim:!0}]]),it(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",ag,[t("div",og,o(e(a)("\u4E0A\u4F20\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[4]||(Z[4]=wt=>e(D).uploadSpeed=wt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,ng),[[tt,e(D).uploadSpeed,void 0,{trim:!0}]]),it(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",ig,[t("div",rg,o(e(a)("\u6CE8\u89E3"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[5]||(Z[5]=wt=>e(D).comment=wt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,sg),[[tt,e(D).comment,void 0,{trim:!0}]])])],64))])):C("",!0)])]}),_:1},8,["modelValue"]),z(fe,{modelValue:b.value,"onUpdate:modelValue":Z[12]||(Z[12]=Q=>b.value=Q),title:"\u9759\u6001\u5206\u914D",width:"550px","show-close":!0,onConfirm:vt,onCancel:U},{default:R(()=>[t("div",dg,[lg,t("div",ug,[t("div",cg,o(e(a)("\u540D\u79F0"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[7]||(Z[7]=Q=>e(I).hostname=Q),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,pg),[[tt,e(I).hostname,void 0,{trim:!0}]])]),t("div",fg,[mg,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[8]||(Z[8]=Q=>e(I).assignedMac=Q),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,vg),[[tt,e(I).assignedMac,void 0,{trim:!0}]])]),t("div",bg,[t("div",gg,o(e(a)("\u7F51\u5173"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":Z[9]||(Z[9]=Q=>V.value=Q),onChange:ot},[e(y)?(s(),l("option",hg,o(e(a)("\u8BF7\u9009\u62E9")),1)):C("",!0),(s(!0),l(O,null,J(g.value,Q=>(s(),l("option",{value:Q},o(Q.gateway)+"("+o(Q.tagTitle?k(Q.tagTitle):Q.tagName?Q.tagName:"-")+") ",9,_g))),256))],544),[[rt,V.value]])]),t("div",xg,[t("div",wg,o(e(a)("MAC\u5730\u5740\u4E0EIP\u7ED1\u5B9A"))+"\uFF1A",1),z(jt,{modelValue:e(I).bindIP,"onUpdate:modelValue":Z[10]||(Z[10]=Q=>e(I).bindIP=Q)},null,8,["modelValue"])]),e(I).bindIP?(s(),l("div",kg,[yg,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[11]||(Z[11]=Q=>e(I).assignedIP=Q),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,Fg),[[tt,e(I).assignedIP,void 0,{trim:!0}]])])):C("",!0)])]),_:1},8,["modelValue"]),z(fe,{modelValue:x.value,"onUpdate:modelValue":Z[13]||(Z[13]=Q=>x.value=Q),title:"\u8BE6\u60C5",width:"550px",footerShow:!1,"show-close":!0,onCancel:U},{default:R(()=>{var Q,et,_t,zt,wt;return[t("div",Eg,[t("div",$g,[Cg,t("div",Dg,[t("div",Bg,[t("div",Yg,o(e(a)("\u540D\u79F0"))+"\uFF1A",1),it(" "+o(A.value.hostname||"-"),1)]),t("div",Ag,[t("div",Sg,o(e(a)("IP\u5730\u5740"))+"\uFF1A",1),it(" "+o(A.value.ip),1)]),t("div",zg,[Pg,it(" "+o(A.value.mac),1)]),t("div",Tg,[t("div",Ig,o(e(a)("\u7F51\u5173"))+"\uFF1A",1),it(" "+o(((Q=A.value)==null?void 0:Q.staticAssigned.dhcpGateway)||"-"),1)]),t("div",Lg,[t("div",Mg,o(e(a)("\u63A5\u53E3"))+"\uFF1A",1),it(" "+o(B(A.value.intr)||"-"),1)]),t("div",Ng,[t("div",Og,o(e(a)("\u6807\u7B7E"))+"\uFF1A",1),it(" "+o(((_t=(et=A.value)==null?void 0:et.staticAssigned)==null?void 0:_t.tagTitle)||((wt=(zt=A.value)==null?void 0:zt.staticAssigned)==null?void 0:wt.tagName)||"-"),1)])])]),at.value?(s(),H(zb,{key:0,ipParam:at.value},null,8,["ipParam"])):C("",!0)])]}),_:1},8,["modelValue"])]))}});var Gg=N(Vg,[["__scopeId","data-v-46592916"]]);const ea=n=>(st("data-v-67478e2a"),n=n(),dt(),n),jg={class:"container"},qg={style:{display:"flex","justify-content":"end"}},Ug=["onClick"],Rg={class:"custom-content"},Wg=ea(()=>t("div",{class:"img_box"},[t("img",{src:"https://fwindex.koolcenter.com/cover/x86_64/cover.png",alt:""})],-1)),Hg={class:"item_box"},Zg={class:"item_left"},Jg=["placeholder"],Kg={class:"item_box"},Qg=ea(()=>t("div",{class:"item_left"},"MAC\uFF1A",-1)),Xg=["placeholder"],t9={class:"item_box"},e9={class:"item_left"},a9={key:0,value:null,disabled:""},o9=["value"],n9={class:"item_box"},i9={class:"item_left"},r9={key:0,class:"item_box"},s9=ea(()=>t("div",{class:"item_left"},"IP\uFF1A",-1)),d9=["placeholder"],l9=G({setup(n){const{$gettext:i}=W(),a=$([]);(()=>L(this,null,function*(){var A;try{const{data:P}=yield M.DeviceMangement.globalConfigs.GET();P.result&&(a.value=((A=P.result)==null?void 0:A.dhcpTags)||[])}catch(P){}}))();const u=$([]),r=$([]),c=$(!1),_=$([{label:"\u4E3B\u673A\u540D\u79F0",prop:"hostname"},{label:"IP\u5730\u5740",prop:"assignedIP"},{label:"MAC\u5730\u5740",prop:"assignedMac"},{label:"\u9759\u6001IP\u7ED1\u5B9A",prop:"bindIP",slot:"bindIP"},{label:"\u6807\u7B7E",prop:"tagTitle",slot:"tagTitle"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),h=A=>({default:i("\u9ED8\u8BA4\u7F51\u5173"),parent:i("\u4E0A\u7EA7\u8DEF\u7531"),myself:i("\u672C\u8BBE\u5907"),bypass:i("\u65C1\u8DEF\u7531"),floatip:i("\u6D6E\u52A8\u7F51\u5173")})[A]||A,p=()=>L(this,null,function*(){let A=E.Loading(i("\u52A0\u8F7D\u4E2D..."));try{const{data:P}=yield M.DeviceMangement.listStaticDevices.GET();P.result&&(u.value=P.result||[],r.value=P.result||[])}catch(P){}finally{A.Close()}});p();const v=$(!0),b=$([]),x=A=>{b.value=A},y=()=>L(this,null,function*(){u.value=[];let A=E.Loading(i("\u52A0\u8F7D\u4E2D..."));yield p(),A.Close()}),w=A=>u.value.filter(P=>{const V=P.assignedIP.includes(A),ot=P.assignedMac.toLowerCase().includes(A.toLowerCase());return V||ot}),k=A=>{A===""&&(r.value=u.value),r.value=w(A)},f=A=>L(this,null,function*(){if(confirm(i("\u786E\u5B9A\u5220\u9664\uFF1F"))){let P={hostname:A.hostname||"",assignedIP:A.assignedIP||"",assignedMac:A.assignedMac||"",tagTitle:A.tagTitle||"",bindIP:A.bindIP||!1,tagName:A.tagName||"",dhcpGateway:A.dhcpGateway||"",action:"delete"};m(P,1)}}),m=(A,P)=>L(this,null,function*(){let V=E.Loading(i("\u5220\u9664\u4E2D..."));try{const{data:ot}=yield M.DeviceMangement.staticDeviceConfig.POST(A);return P==1&&(JSON.stringify(ot)==="{}"?E.Success("\u5220\u9664\u6210\u529F !"):E.Success((ot==null?void 0:ot.error)||"\u5220\u9664\u5931\u8D25\uFF01"),p()),ot}catch(ot){}finally{V.Close()}}),g=()=>L(this,null,function*(){if(b.value.length===0)return E.Warning(i("\u8BF7\u52FE\u9009\u8981\u5220\u9664\u7684\u6570\u636E")+" !");if(confirm(i("\u786E\u5B9A\u5220\u9664\uFF1F")))try{const A=b.value.map(P=>{const V={hostname:P.hostname||"",assignedIP:P.assignedIP||"",assignedMac:P.assignedMac||"",tagTitle:P.tagTitle||"",bindIP:P.bindIP||!1,tagName:P.tagName||"",dhcpGateway:P.dhcpGateway||"",action:"delete"};return m(V)});yield Promise.all(A),E.Success(i("\u6240\u6709\u5220\u9664\u64CD\u4F5C\u5DF2\u5B8C\u6210")),p()}catch(A){}}),F=X(()=>!B.dhcpGateway),Y=$(null),S=()=>{var A,P,V;Y.value?(B.dhcpGateway=((A=Y.value)==null?void 0:A.gateway)||"",B.tagName=((P=Y.value)==null?void 0:P.tagName)||"",B.tagTitle=((V=Y.value)==null?void 0:V.tagTitle)||""):(B.dhcpGateway="",B.tagName="",B.tagTitle="")},B=bt({hostname:"",assignedIP:"",assignedMac:"",bindIP:!1,tagTitle:"",tagName:"",dhcpGateway:"",action:"add"}),D=(A,P)=>P?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[A].test(P.trim()):!1,I=()=>L(this,null,function*(){if(!B.assignedMac)return E.Warning(`${i("\u8BF7\u8F93\u5165")}${i("MAC")}`);if(!D("mac",B.assignedMac))return E.Warning(`${i("\u8BF7\u8F93\u5165\u6B63\u786E\u7684MAC\u5730\u5740")}`);if(!B.dhcpGateway)return E.Warning(`${i("\u8BF7\u9009\u62E9")}${i("\u7F51\u5173")}`);if(B.bindIP){if(!B.assignedIP)return E.Warning(`${i("\u8BF7\u8F93\u5165")}${i("IP")}`);if(!D("ip",B.assignedIP))return E.Warning(`${i("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`)}else B.assignedIP="";let A=E.Loading(i("\u4FDD\u5B58\u4E2D..."));try{const{data:P}=yield M.DeviceMangement.staticDeviceConfig.POST(B);JSON.stringify(P)==="{}"?(c.value=!1,at(),y(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((P==null?void 0:P.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(P){E.Warning(`${P==null?void 0:P.error} || ${P==null?void 0:P.message}`)}finally{A.Close()}}),at=()=>{Y.value=null,B.hostname="",B.assignedIP="",B.assignedMac="",B.bindIP=!1,B.dhcpGateway="",B.tagName="",B.tagTitle="",B.action="add"};return(A,P)=>(s(),l("div",jg,[t("div",qg,[z(ta,{onHandleAdd:P[0]||(P[0]=V=>c.value=!0),onRefresh:y,onBatchDelete:g,onSearch:k})]),t("div",null,[z(Le,{data:r.value,columns:_.value,rowKey:"mac",showSelection:v.value,showPagination:!1,onSelectionChange:x},{action:R(({row:V})=>[t("button",{class:"del-button del-button--danger",onClick:ot=>f(V)},[t("span",null,o(e(i)("\u5220\u9664")),1)],8,Ug)]),tagTitle:R(({row:V})=>[t("span",null,o(h(V==null?void 0:V.tagTitle)||h(V==null?void 0:V.tagName)||"-"),1)]),bindIP:R(({row:V})=>[t("span",null,o(V!=null&&V.bindIP?e(i)("\u662F"):e(i)("\u5426")),1)]),_:1},8,["data","columns","showSelection"])]),z(fe,{modelValue:c.value,"onUpdate:modelValue":P[6]||(P[6]=V=>c.value=V),title:"\u9759\u6001\u5206\u914D",width:"550px","show-close":!0,onConfirm:I,onCancel:at},{default:R(()=>[t("div",Rg,[Wg,t("div",Hg,[t("div",Zg,o(e(i)("\u540D\u79F0"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[1]||(P[1]=V=>e(B).hostname=V),placeholder:e(i)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,Jg),[[tt,e(B).hostname,void 0,{trim:!0}]])]),t("div",Kg,[Qg,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[2]||(P[2]=V=>e(B).assignedMac=V),placeholder:e(i)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,Xg),[[tt,e(B).assignedMac,void 0,{trim:!0}]])]),t("div",t9,[t("div",e9,o(e(i)("\u7F51\u5173"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":P[3]||(P[3]=V=>Y.value=V),onChange:S},[e(F)?(s(),l("option",a9,o(e(i)("\u8BF7\u9009\u62E9")),1)):C("",!0),(s(!0),l(O,null,J(a.value,V=>(s(),l("option",{value:V},o(V.gateway)+"("+o(V.tagTitle?h(V.tagTitle):V.tagName?V.tagName:"-")+") ",9,o9))),256))],544),[[rt,Y.value]])]),t("div",n9,[t("div",i9,o(e(i)("MAC\u5730\u5740\u4E0EIP\u7ED1\u5B9A"))+"\uFF1A",1),z(jt,{modelValue:e(B).bindIP,"onUpdate:modelValue":P[4]||(P[4]=V=>e(B).bindIP=V)},null,8,["modelValue"])]),e(B).bindIP?(s(),l("div",r9,[s9,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[5]||(P[5]=V=>e(B).assignedIP=V),placeholder:e(i)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,d9),[[tt,e(B).assignedIP,void 0,{trim:!0}]])])):C("",!0)])]),_:1},8,["modelValue"])]))}});var u9=N(l9,[["__scopeId","data-v-67478e2a"]]);const c9={class:"container"},p9={style:{display:"flex","justify-content":"end"}},f9=["onClick"],m9={class:"custom-content"},v9={class:"item_box"},b9={class:"item_left"},g9={class:"item_box"},h9={class:"item_left"},_9=["placeholder"],x9={class:"item_box"},w9={class:"item_left"},k9=["placeholder"],y9={key:0,class:"tip"},F9=["onClick"],E9={key:1},$9={class:"item_box"},C9={class:"item_left"},D9={class:"item_box"},B9={class:"item_left"},Y9=["placeholder"],A9={class:"item_box"},S9={class:"item_left"},z9=["placeholder"],P9={class:"item_box"},T9={class:"item_left"},I9=["placeholder"],L9=G({emits:["openGloba"],setup(n,{emit:i}){const{$gettext:a}=W(),d=$({});(()=>L(this,null,function*(){try{const{data:A}=yield M.DeviceMangement.globalConfigs.GET();A.result&&(d.value=A.result||{})}catch(A){}}))();const r=$([]),c=$([]),_=$(!1),h=$([{label:"\u4E3B\u673A\u540D\u79F0",prop:"hostname"},{label:"IP\u5730\u5740",prop:"ip"},{label:"MAC\u5730\u5740",prop:"mac"},{label:"\u7981\u6B62\u7F51\u7EDC\u8BBF\u95EE",prop:"networkAccess",slot:"networkAccess"},{label:"\u4E0A\u4F20\u9650\u901F",prop:"uploadSpeed"},{label:"\u4E0B\u8F7D\u9650\u901F",prop:"downloadSpeed"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),p=()=>L(this,null,function*(){let A=E.Loading(a("\u52A0\u8F7D\u4E2D..."));try{const{data:P}=yield M.DeviceMangement.listSpeedLimitedDevices.GET();P.result&&(r.value=P.result||[],c.value=P.result||[])}catch(P){}finally{A.Close()}});p();const v=$(!0),b=$([]),x=A=>{b.value=A},y=()=>L(this,null,function*(){r.value=[];let A=E.Loading(a("\u52A0\u8F7D\u4E2D..."));yield p(),A.Close()}),w=A=>r.value.filter(P=>{const V=P.ip.includes(A),ot=P.mac.toLowerCase().includes(A.toLowerCase());return V||ot}),k=A=>{A===""&&(c.value=r.value),c.value=w(A)},f=A=>L(this,null,function*(){if(confirm(a("\u786E\u5B9A\u5220\u9664\uFF1F"))){let P={ip:A.ip||"",mac:A.mac||"",uploadSpeed:A.uploadSpeed||0,downloadSpeed:A.downloadSpeed||0,networkAccess:A.networkAccess||!1,comment:"",action:"delete"};m(P,1)}}),m=(A,P)=>L(this,null,function*(){let V=E.Loading(a("\u5220\u9664\u4E2D..."));try{const{data:ot}=yield M.DeviceMangement.speedLimitConfig.POST(A);return P==1&&(JSON.stringify(ot)==="{}"?E.Success("\u5220\u9664\u6210\u529F !"):E.Success((ot==null?void 0:ot.error)||"\u5220\u9664\u5931\u8D25\uFF01"),p()),ot}catch(ot){}finally{V.Close()}}),g=()=>L(this,null,function*(){if(b.value.length===0)return E.Warning(a("\u8BF7\u52FE\u9009\u8981\u5220\u9664\u7684\u6570\u636E")+" !");if(confirm(a("\u786E\u5B9A\u5220\u9664\uFF1F")))try{const A=b.value.map(P=>{const V={ip:P.ip||"",mac:P.mac||"",uploadSpeed:P.uploadSpeed||0,downloadSpeed:P.downloadSpeed||0,networkAccess:P.networkAccess||!1,comment:"",action:"delete"};return m(V)});yield Promise.all(A),E.Success(a("\u6240\u6709\u5220\u9664\u64CD\u4F5C\u5DF2\u5B8C\u6210")),p()}catch(A){}}),F=()=>{_.value=!1,i("openGloba")},Y=A=>{var P,V;if(A==!0&&!((V=(P=d.value)==null?void 0:P.speedLimit)!=null&&V.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"))},S=bt({ip:"",mac:"",uploadSpeed:100,downloadSpeed:1e3,networkAccess:!1,enabled:!1,comment:"",action:"add"}),B=A=>/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/.test(A.toString()),D=(A,P)=>P?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[A].test(P.trim()):!1,I=()=>L(this,null,function*(){var P,V;if(!((V=(P=d.value)==null?void 0:P.speedLimit)!=null&&V.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"));if(!S.ip)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("IP")}`);if(!D("ip",S.ip))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`);if(!S.mac)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("MAC")}`);if(!D("mac",S.mac))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684MAC\u5730\u5740")}`);if(S.networkAccess)S.downloadSpeed=0,S.uploadSpeed=0;else{if(!S.downloadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0B\u8F7D\u901F\u5EA6")}`);if(!B(S.downloadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0B\u8F7D\u901F\u5EA6")}`);if(!S.uploadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0A\u4F20\u901F\u5EA6")}`);if(!B(S.uploadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0A\u4F20\u901F\u5EA6")}`);S.downloadSpeed=Number(S.downloadSpeed),S.uploadSpeed=Number(S.uploadSpeed)}let A=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{S.networkAccess=!S.networkAccess;const{data:ot}=yield M.DeviceMangement.speedLimitConfig.POST(S);JSON.stringify(ot)==="{}"?(y(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((ot==null?void 0:ot.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01"),_.value=!1,at()}catch(ot){E.Warning(`${ot==null?void 0:ot.error} || ${ot==null?void 0:ot.message}`)}finally{S.downloadSpeed=1e3,S.uploadSpeed=100,A.Close()}}),at=()=>{S.ip="",S.mac="",S.uploadSpeed=100,S.downloadSpeed=1e3,S.networkAccess=!1,S.comment="",S.action="add"};return(A,P)=>(s(),l("div",c9,[t("div",p9,[z(ta,{onHandleAdd:P[0]||(P[0]=V=>_.value=!0),onRefresh:y,onBatchDelete:g,onSearch:k})]),t("div",null,[z(Le,{data:c.value,columns:h.value,rowKey:"mac",showSelection:v.value,showPagination:!1,onSelectionChange:x},{action:R(({row:V})=>[t("button",{class:"del-button del-button--danger",onClick:ot=>f(V)},[t("span",null,o(e(a)("\u5220\u9664")),1)],8,f9)]),networkAccess:R(({row:V})=>[t("span",null,o(V!=null&&V.networkAccess?e(a)("\u662F"):e(a)("\u5426")),1)]),_:1},8,["data","columns","showSelection"])]),z(fe,{modelValue:_.value,"onUpdate:modelValue":P[9]||(P[9]=V=>_.value=V),title:"\u9650\u901F\u914D\u7F6E","show-close":!0,onConfirm:I,onCancel:at},{default:R(()=>{var V,ot,Ct,Dt;return[t("div",m9,[t("div",v9,[t("div",b9,o(e(a)("\u5BF9\u8BBE\u5907\u5F00\u542F\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(S).enabled,"onUpdate:modelValue":P[1]||(P[1]=vt=>e(S).enabled=vt),disabled:!((ot=(V=d.value)==null?void 0:V.speedLimit)!=null&&ot.enabled),onBeforeChange:Y},null,8,["modelValue","disabled"])]),t("div",g9,[t("div",h9,o(e(a)("IP\u5730\u5740"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[2]||(P[2]=vt=>e(S).ip=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,_9),[[tt,e(S).ip,void 0,{trim:!0}]])]),t("div",x9,[t("div",w9,o(e(a)("MAC\u5730\u5740"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[3]||(P[3]=vt=>e(S).mac=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,k9),[[tt,e(S).mac,void 0,{trim:!0}]])]),(Dt=(Ct=d.value)==null?void 0:Ct.speedLimit)!=null&&Dt.enabled?C("",!0):(s(),l("div",y9,[t("a",{href:"",onClick:pt(F,["prevent"])},o(e(a)("\u70B9\u6211\u8DF3\u8F6C\u5168\u5C40\u914D\u7F6E")),9,F9)])),e(S).enabled?(s(),l("div",E9,[t("div",$9,[t("div",C9,o(e(a)("\u7981\u6B62\u8BE5\u8BBE\u5907\u8BBF\u95EE\u7F51\u7EDC"))+"\uFF1A",1),z(jt,{modelValue:e(S).networkAccess,"onUpdate:modelValue":P[4]||(P[4]=vt=>e(S).networkAccess=vt),onChange:P[5]||(P[5]=()=>{})},null,8,["modelValue"])]),e(S).networkAccess?C("",!0):(s(),l(O,{key:0},[t("div",D9,[t("div",B9,o(e(a)("\u4E0B\u8F7D\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[6]||(P[6]=vt=>e(S).downloadSpeed=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,Y9),[[tt,e(S).downloadSpeed,void 0,{trim:!0}]]),it(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",A9,[t("div",S9,o(e(a)("\u4E0A\u4F20\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[7]||(P[7]=vt=>e(S).uploadSpeed=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,z9),[[tt,e(S).uploadSpeed,void 0,{trim:!0}]]),it(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",P9,[t("div",T9,o(e(a)("\u6CE8\u89E3"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[8]||(P[8]=vt=>e(S).comment=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,I9),[[tt,e(S).comment,void 0,{trim:!0}]])])],64))])):C("",!0)])]}),_:1},8,["modelValue"])]))}});var M9=N(L9,[["__scopeId","data-v-03e4dbad"]]);const aa=n=>(st("data-v-585dd8da"),n=n(),dt(),n),N9={key:0,class:"dialog-overlay"},O9={class:"dialog-container"},V9={class:"dialog-title"},G9=aa(()=>t("div",{class:"loading-animation"},[t("div",{class:"spinner"})],-1)),j9={class:"dialog-message"},q9={key:0,class:"dialog-overlay"},U9={class:"dialog-container"},R9={class:"dialog-title"},W9=aa(()=>t("div",{style:{display:"flex","justify-content":"center"}},[t("svg",{t:"1752661662572",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5921",width:"50",height:"50"},[t("path",{d:"M0 512C0 229.234759 229.234759 0 512 0s512 229.234759 512 512-229.234759 512-512 512S0 794.765241 0 512z m419.310345 194.630621a35.310345 35.310345 0 0 0 49.399172 1.271172l335.518897-311.931586a35.310345 35.310345 0 0 0-48.075035-51.729655l-309.124413 289.544827-145.125518-149.645241a35.310345 35.310345 0 1 0-50.688 49.169655l168.112552 173.320828z",fill:"#553afe","p-id":"5922"})])],-1)),H9={class:"dialog-message"},Z9={key:0,class:"dialog-overlay"},J9={class:"dialog-container tag-dialog"},K9={class:"dialog-title"},Q9={class:"warning-message"},X9=aa(()=>t("svg",{class:"warning-icon",viewBox:"0 0 24 24"},[t("path",{fill:"currentColor",d:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16"})],-1)),th={class:"input-group"},eh={for:"tagName"},ah=["placeholder"],oh={class:"input-group"},nh={for:"tagName"},ih=["placeholder"],rh={class:"button-group"},sh=G({emits:["confirm","update:modelValue"],setup(n,{expose:i,emit:a}){const{$gettext:d}=W(),u=$("install"),r=$(!1),c=$(!1),_=$(!1),h=$(""),p=$(""),v=()=>{u.value="install",r.value=!0},b=()=>{r.value=!1},x=()=>{r.value=!1,setTimeout(()=>{c.value=!0},300)},y=()=>{c.value=!1},w=$("1"),k=()=>{u.value="tag",w.value="1",h.value="",p.value="",_.value=!0},f=()=>{u.value="tag",w.value="2",_.value=!0},m=()=>{_.value=!1},g=(Y,S)=>S?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[Y].test(S.trim()):!1,F=()=>{if(!g("ip",p.value.trim()))return E.Warning(`${d("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`);h.value.trim()&&p.value.trim()&&(a("confirm",{tagName:h.value.trim(),gateway:p.value.trim(),type:w.value}),m())};return Tt(h,Y=>{a("update:modelValue",Y)}),Tt(p,Y=>{a("update:modelValue",Y)}),i({tagName:h,gateway:p,openInstallDialog:v,showInstallResult:x,openTagDialog:k,closeTagDialog:m,cancelInstall:b,openEditTagDialog:f}),(Y,S)=>(s(),l(O,null,[z($t,{name:"fade"},{default:R(()=>[r.value&&u.value==="install"?(s(),l("div",N9,[t("div",O9,[t("div",V9,o(e(d)("IP\u9650\u901F")),1),G9,t("p",j9,o(e(d)("\u6B63\u5728\u5B89\u88C5"))+"...",1),t("button",{class:"dialog-button",onClick:b},o(e(d)(""))+"\u5173\u95ED",1)])])):C("",!0)]),_:1}),z($t,{name:"fade"},{default:R(()=>[c.value&&u.value==="install"?(s(),l("div",q9,[t("div",U9,[t("div",R9,o(e(d)("\u7ED3\u679C")),1),W9,t("p",H9,o(e(d)("\u5B89\u88C5\u6210\u529F"))+"\uFF01",1),t("button",{class:"dialog-button",onClick:y},o(e(d)("\u786E\u5B9A")),1)])])):C("",!0)]),_:1}),z($t,{name:"fade"},{default:R(()=>[_.value&&u.value==="tag"?(s(),l("div",Z9,[t("div",J9,[t("div",K9,o(e(d)(w.value==="1"?"\u6DFB\u52A0\u6807\u7B7E":"\u7F16\u8F91\u6807\u7B7E")),1),t("div",Q9,[X9,t("span",null,o(e(d)("\u6CE8\u610F\uFF1A\u6DFB\u52A0\u6807\u7B7E\u65F6\uFF0C\u8BF7\u52FF\u5C06\u201Codhcpd\u201D\u6216\u7F51\u7EDC\u63A5\u53E3\uFF08\u4F8B\u5982\u201Clan\u201D,\u201Cwan\u201D,\u201Cwan6\u201D\u7B49\uFF09\u4F5C\u4E3A\u540D\u79F0\uFF0C\u6B64\u4E3E\u5C06\u4EA7\u751F\u51B2\u7A81\u3002\u5EFA\u8BAE\u5728\u540D\u79F0\u524D\u9762\u52A0\u4E0A\u524D\u7F00\u201Ct_\u201D\u4EE5\u675C\u7EDD\u6B64\u7C7B\u51B2\u7A81\u3002")),1)]),t("div",th,[t("label",eh,o(e(d)("\u6807\u7B7E\u540D\u79F0"))+"\uFF1A",1),T(t("input",{id:"tagName","onUpdate:modelValue":S[0]||(S[0]=B=>h.value=B),type:"text",placeholder:e(d)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,ah),[[tt,h.value]])]),t("div",oh,[t("label",nh,o(e(d)("\u7F51\u5173"))+"\uFF1A",1),T(t("input",{id:"tagName","onUpdate:modelValue":S[1]||(S[1]=B=>p.value=B),type:"text",placeholder:e(d)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,ih),[[tt,p.value]])]),t("div",rh,[t("button",{class:"cancel-button",onClick:m},o(e(d)("\u53D6\u6D88")),1),t("button",{class:"confirm-button",onClick:F},o(e(d)("\u786E\u5B9A")),1)])])])):C("",!0)]),_:1})],64))}});var dh=N(sh,[["__scopeId","data-v-585dd8da"]]);const Va=n=>(st("data-v-028f5af8"),n=n(),dt(),n),lh={class:"tab-container"},uh={class:"tab-header"},ch=["onClick"],ph={class:"tab-content_g"},fh={key:0,class:"not_installed"},mh=Va(()=>t("svg",{t:"1752659436579",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4943",width:"150",height:"150"},[t("path",{d:"M216.896 97.232l-55.792 106.24 704.784 8.928-24.352-75.888-38.496-39.28z",fill:"#FFFFFF","p-id":"4944"}),t("path",{d:"M192.016 255.968h655.968v592H192.016z",fill:"#FFFFFF","p-id":"4945"}),t("path",{d:"M921.904 187.008l-66.72-80.656a69.744 69.744 0 0 0-55.168-26.32h-576a71.296 71.296 0 0 0-55.664 26.416l-66.256 80.56a93.984 93.984 0 0 0-22.08 61.024v600a96.288 96.288 0 0 0 96 96h672a96.288 96.288 0 0 0 96-96v-600a93.984 93.984 0 0 0-22.112-61.024zM512.016 777.856L246.128 512.032h166.144v-132.976h199.392v132.976h166.128zM179.664 179.664l33.152-66.464h598.128l33.2 66.464z",fill:"#909399","p-id":"4946"})],-1)),vh={key:1},bh={class:"item_box"},gh={class:"item_left"},hh={class:"item_box"},_h={class:"item_left"},xh=["placeholder"],wh={class:"item_box"},kh={class:"item_left"},yh=["placeholder"],Fh={class:"item_box"},Eh={class:"item_left"},$h={key:0,class:"not_installed"},Ch=Va(()=>t("svg",{t:"1752659436579",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4943",width:"150",height:"150"},[t("path",{d:"M216.896 97.232l-55.792 106.24 704.784 8.928-24.352-75.888-38.496-39.28z",fill:"#FFFFFF","p-id":"4944"}),t("path",{d:"M192.016 255.968h655.968v592H192.016z",fill:"#FFFFFF","p-id":"4945"}),t("path",{d:"M921.904 187.008l-66.72-80.656a69.744 69.744 0 0 0-55.168-26.32h-576a71.296 71.296 0 0 0-55.664 26.416l-66.256 80.56a93.984 93.984 0 0 0-22.08 61.024v600a96.288 96.288 0 0 0 96 96h672a96.288 96.288 0 0 0 96-96v-600a93.984 93.984 0 0 0-22.112-61.024zM512.016 777.856L246.128 512.032h166.144v-132.976h199.392v132.976h166.128zM179.664 179.664l33.152-66.464h598.128l33.2 66.464z",fill:"#909399","p-id":"4946"})],-1)),Dh={key:1},Bh={class:"item_box"},Yh={class:"item_left"},Ah={class:"item_box"},Sh={class:"item_left"},zh={key:0,value:"",disabled:""},Ph=["value"],Th={class:"item_box"},Ih={class:"item_left"},Lh=["placeholder"],Mh={class:"item_box"},Nh={class:"item_left"},Oh=["placeholder"],Vh={class:"item_box"},Gh={class:"item_left"},jh={style:{"margin-bottom":"16px"}},qh={class:"item_box"},Uh={class:"item_left"},Rh={class:"item_box"},Wh={class:"item_left"},Hh=["value"],Zh={class:"item_box"},Jh={class:"item_left"},Kh={style:{display:"flex","justify-content":"end","margin-bottom":"8px"}},Qh=["onClick"],Xh=["onClick"],t_=G({setup(n,{expose:i}){const{$gettext:a}=W(),d=X(()=>!p.role),u=$([]),r=$([{label:"\u6807\u9898",prop:"tagTitle",slot:"tagTitle"},{label:"ID",prop:"tagName",slot:"tagName"},{label:"\u7F51\u5173",prop:"gateway",slot:"gateway"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),c=$([{name:a("\u4E3B\u8DEF\u7531"),value:"fallback"},{name:a("\u65C1\u8DEF\u7531"),value:"main"}]),_=bt({dhcpEnabled:!1,dhcpGateway:""}),h=bt({enabled:!1,uploadSpeed:"",downloadSpeed:"",installed:!0}),p=bt({enabled:!1,role:"",setIP:"",checkIP:""}),v=$({}),b=()=>L(this,null,function*(){var nt,U,xt,lt,K,Mt,ye,Fe,q,Z,Q,et,_t,zt,wt,te,ee,ae,oe,ne,ie,re,se;try{const{data:kt}=yield M.DeviceMangement.globalConfigs.GET();if(kt.result){if(v.value=kt.result||{},_.dhcpEnabled=((U=(nt=kt.result)==null?void 0:nt.dhcpGlobal)==null?void 0:U.dhcpEnabled)||!1,(lt=(xt=kt.result)==null?void 0:xt.dhcpGlobal)!=null&<.dhcpGateway)_.dhcpGateway=(Mt=(K=kt.result)==null?void 0:K.dhcpGlobal)==null?void 0:Mt.dhcpGateway;else{const de=(Fe=(ye=kt.result)==null?void 0:ye.dhcpGlobal)==null?void 0:Fe.gatewaySels.find(Ee=>Ee.title==="myself");de?_.dhcpGateway=de.gateway:_.dhcpGateway=""}u.value=((q=kt.result)==null?void 0:q.dhcpTags)||[],h.enabled=((Q=(Z=kt.result)==null?void 0:Z.speedLimit)==null?void 0:Q.enabled)||!1,h.uploadSpeed=((_t=(et=kt.result)==null?void 0:et.speedLimit)==null?void 0:_t.uploadSpeed)||"",h.downloadSpeed=((wt=(zt=kt.result)==null?void 0:zt.speedLimit)==null?void 0:wt.downloadSpeed)||"",p.enabled=((ee=(te=kt.result)==null?void 0:te.floatGateway)==null?void 0:ee.enabled)||!1,p.role=((oe=(ae=kt.result)==null?void 0:ae.floatGateway)==null?void 0:oe.role)||"",p.setIP=((ie=(ne=kt.result)==null?void 0:ne.floatGateway)==null?void 0:ie.setIP)||"",p.checkIP=((se=(re=kt.result)==null?void 0:re.floatGateway)==null?void 0:se.checkIP)||""}}catch(kt){}});b();const x=()=>L(this,null,function*(){let nt=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:U}=yield M.DeviceMangement.dhcpGatewayConfig.POST(_);JSON.stringify(U)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((U==null?void 0:U.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(U){E.Warning(`${U==null?void 0:U.error} || ${U==null?void 0:U.message}`)}finally{nt.Close()}}),y=(nt,U)=>L(this,null,function*(){let xt=E.Loading(a("\u68C0\u67E5\u4E2D..."));try{const lt=yield M.App.Check.POST({name:nt});if(xt.Close(),lt!=null&<.data){const{result:K,error:Mt}=lt.data;if(Mt)E.Warning(Mt);else{if(K)return K.status=="installed";E.Warning(a("\u68C0\u67E5\u63D2\u4EF6\u72B6\u6001\u5931\u8D25"))}}return!1}catch(lt){return xt.Close(),E.Warning(lt),!1}}),w=$(!1),k=$(!1),f=()=>L(this,null,function*(){(yield y("app-meta-floatip"))&&(k.value=!0)}),m=()=>L(this,null,function*(){(yield y("app-meta-eqos"))&&(w.value=!0)});f(),m();const g=[{id:"tag",label:"DHCP"},{id:"gateway",label:"\u6D6E\u52A8\u7F51\u5173"},{id:"ip",label:"IP\u9650\u901F"}],F=$("tag");i({activeTab:F});const Y=nt=>{F.value=nt},S=$(),B=nt=>({default:a("\u9ED8\u8BA4\u7F51\u5173"),parent:a("\u4E0A\u7EA7\u8DEF\u7531"),myself:a("\u672C\u8BBE\u5907"),bypass:a("\u65C1\u8DEF\u7531"),floatip:a("\u6D6E\u52A8\u7F51\u5173")})[nt]||nt,D=nt=>L(this,null,function*(){if(S.value.openInstallDialog(),yield Et.installApp(nt))return nt=="app-meta-floatip"?f():m(),S.value.showInstallResult(),!0;S.value.cancelInstall(),E.Error(a("\u5B89\u88C5\u5931\u8D25\u6216\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8F6F\u4EF6\u6E90\u6216\u7A0D\u5019\u91CD\u8BD5"))}),I=nt=>/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/.test(nt.toString()),at=()=>L(this,null,function*(){if(h.enabled){if(!h.downloadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0B\u8F7D\u901F\u5EA6")}`);if(!I(h.downloadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0B\u8F7D\u901F\u5EA6")}`);if(!h.uploadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0A\u4F20\u901F\u5EA6")}`);if(!I(h.uploadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0A\u4F20\u901F\u5EA6")}`);h.downloadSpeed=Number(h.downloadSpeed),h.uploadSpeed=Number(h.uploadSpeed)}else h.downloadSpeed=0,h.uploadSpeed=0;let nt=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:U}=yield M.DeviceMangement.enableSpeedLimit.POST(h);JSON.stringify(U)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((U==null?void 0:U.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(U){E.Warning(`${U==null?void 0:U.error} || ${U==null?void 0:U.message}`)}finally{nt.Close()}}),A=(nt,U)=>U?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\/([0-9]|[1-2][0-9]|3[0-2]))?$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[nt].test(U.trim()):!1,P=()=>L(this,null,function*(){if(!p.role)return E.Warning(a("\u8BF7\u9009\u62E9\u8282\u70B9\u89D2\u8272"));if(!p.setIP)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u6D6E\u52A8\u7F51\u5173")}IP`);if(!A("ip",p.setIP))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u6D6E\u52A8\u7F51\u5173IP\u5730\u5740")}`);if(!p.checkIP)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u65C1\u8DEF\u7531")}IP`);if(!A("ip",p.checkIP))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u65C1\u8DEF\u7531IP\u5730\u5740")}`);let nt=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:U}=yield M.DeviceMangement.enableFloatGateway.POST(p);JSON.stringify(U)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((U==null?void 0:U.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(U){E.Warning(`${U==null?void 0:U.error} || ${U==null?void 0:U.message}`)}finally{nt.Close()}}),V=nt=>L(this,null,function*(){if(confirm(a("\u786E\u5B9A\u5220\u9664\uFF1F"))){let U=E.Loading(a("\u5220\u9664\u4E2D...")),xt={action:"delete",tagName:nt.tagTitle||nt.tagName||"",dhcpOption:(nt==null?void 0:nt.dhcpOption)||[]};try{const{data:lt}=yield M.DeviceMangement.dhcpTagsConfig.POST(xt);JSON.stringify(lt)==="{}"?(E.Success(a("\u5220\u9664\u6210\u529F")),b()):E.Success((lt==null?void 0:lt.error)||"\u5220\u9664\u5931\u8D25\uFF01")}catch(lt){E.Warning(`${lt==null?void 0:lt.error} || ${lt==null?void 0:lt.message}`)}finally{U.Close()}}}),ot=()=>{S.value.openTagDialog()},Ct=$([]),Dt=nt=>L(this,null,function*(){Ct.value=nt.dhcpOption?nt.dhcpOption:[],S.value.tagName=nt.tagName||"",S.value.gateway=nt.gateway||"",yield Ue(),S.value.openEditTagDialog()}),vt=nt=>L(this,null,function*(){let U=E.Loading(a("\u4FDD\u5B58\u4E2D..."));const xt=[`3,${nt.gateway}`,`6,${nt.gateway}`];let lt={action:nt.type==1?"add":"edit",tagName:nt.tagName,dhcpOption:xt};try{const{data:K}=yield M.DeviceMangement.dhcpTagsConfig.POST(lt);JSON.stringify(K)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((K==null?void 0:K.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(K){E.Warning(`${K==null?void 0:K.error} || ${K==null?void 0:K.message}`)}finally{U.Close()}});return(nt,U)=>{var xt,lt;return s(),l("div",lh,[t("div",uh,[(s(),l(O,null,J(g,K=>t("button",{key:K.id,class:ct(["tab-button",{active:F.value===K.id}]),onClick:Mt=>Y(K.id)},o(e(a)(K.label)),11,ch)),64))]),t("div",ph,[T(t("div",null,[w.value?(s(),l("div",vh,[t("div",bh,[t("div",gh,o(e(a)("IP\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(h).enabled,"onUpdate:modelValue":U[1]||(U[1]=K=>e(h).enabled=K),onChange:U[2]||(U[2]=()=>{})},null,8,["modelValue"])]),e(h).enabled?(s(),l(O,{key:0},[t("div",hh,[t("div",_h,o(e(a)("\u4E0B\u8F7D\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[3]||(U[3]=K=>e(h).downloadSpeed=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,xh),[[tt,e(h).downloadSpeed,void 0,{trim:!0}]]),it(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",wh,[t("div",kh,o(e(a)("\u4E0A\u4F20\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[4]||(U[4]=K=>e(h).uploadSpeed=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,yh),[[tt,e(h).uploadSpeed,void 0,{trim:!0}]]),it(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)])],64)):C("",!0),t("div",Fh,[t("div",Eh,[t("button",{class:"add-button add-button--danger",onClick:at},o(e(a)("\u4FDD\u5B58")),1)])])])):(s(),l("div",fh,[mh,t("span",null,o(e(a)("\u8F6F\u4EF6\u6682\u672A\u5B89\u88C5")),1),t("div",{class:"not_installed_btn",onClick:U[0]||(U[0]=K=>D("app-meta-eqos"))},o(e(a)("\u7ACB\u5373\u5B89\u88C5")),1)]))],512),[[Yt,F.value==="ip"]]),T(t("div",null,[k.value?(s(),l("div",Dh,[t("div",Bh,[t("div",Yh,o(e(a)("IP\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(p).enabled,"onUpdate:modelValue":U[6]||(U[6]=K=>e(p).enabled=K),onChange:U[7]||(U[7]=()=>{})},null,8,["modelValue"])]),t("div",Ah,[t("div",Sh,o(e(a)("\u8282\u70B9\u89D2\u8272"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":U[8]||(U[8]=K=>e(p).role=K),onChange:U[9]||(U[9]=()=>{})},[e(d)?(s(),l("option",zh,o(e(a)("\u8BF7\u9009\u62E9")),1)):C("",!0),(s(!0),l(O,null,J(c.value,K=>(s(),l("option",{value:K.value},o(K.name),9,Ph))),256))],544),[[rt,e(p).role]])]),t("div",Th,[t("div",Ih,o(e(a)("\u6D6E\u52A8\u7F51\u5173IP"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[10]||(U[10]=K=>e(p).setIP=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,Lh),[[tt,e(p).setIP,void 0,{trim:!0}]])]),t("div",Mh,[t("div",Nh,o(e(a)("\u65C1\u8DEF\u7531IP"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[11]||(U[11]=K=>e(p).checkIP=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,Oh),[[tt,e(p).checkIP,void 0,{trim:!0}]])]),t("div",Vh,[t("div",Gh,[t("button",{class:"add-button add-button--danger",onClick:P},o(e(a)("\u4FDD\u5B58")),1)])])])):(s(),l("div",$h,[Ch,t("span",null,o(e(a)("\u8F6F\u4EF6\u6682\u672A\u5B89\u88C5")),1),t("div",{class:"not_installed_btn",onClick:U[5]||(U[5]=K=>D("app-meta-floatip"))},o(e(a)("\u7ACB\u5373\u5B89\u88C5")),1)]))],512),[[Yt,F.value==="gateway"]]),T(t("div",null,[t("div",jh,[t("div",qh,[t("div",Uh,o(e(a)("\u542F\u7528"))+"DHCP\uFF1A",1),z(jt,{modelValue:e(_).dhcpEnabled,"onUpdate:modelValue":U[12]||(U[12]=K=>e(_).dhcpEnabled=K),onChange:U[13]||(U[13]=()=>{})},null,8,["modelValue"])]),t("div",Rh,[t("div",Wh,"DHCP"+o(e(a)("\u7F51\u5173"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":U[14]||(U[14]=K=>e(_).dhcpGateway=K),onChange:U[15]||(U[15]=()=>{})},[(s(!0),l(O,null,J((lt=(xt=v.value)==null?void 0:xt.dhcpGlobal)==null?void 0:lt.gatewaySels,K=>(s(),l("option",{value:K.gateway},o(K.gateway)+" ("+o(K.title?B(K.title):"")+") ",9,Hh))),256))],544),[[rt,e(_).dhcpGateway]])]),t("div",Zh,[t("div",Jh,[t("button",{class:"add-button add-button--danger",onClick:x},o(e(a)("\u4FDD\u5B58")),1)])])]),t("div",Kh,[t("button",{class:"add-button add-button--danger",onClick:ot},[t("span",null,o(e(a)("\u6DFB\u52A0")),1)])]),z(Le,{data:u.value,columns:r.value,showSelection:!1,showPagination:!1,theadBgColor:"#e8e6f9"},{action:R(({row:K})=>[K.autoCreated?C("",!0):(s(),l("span",{key:0,style:{color:"#553AFE",cursor:"pointer"},onClick:Mt=>Dt(K)},o(e(a)("\u7F16\u8F91")),9,Qh)),K.autoCreated?C("",!0):(s(),l("span",{key:1,style:{color:"#F04134",cursor:"pointer","margin-left":"18px"},onClick:Mt=>V(K)},o(e(a)("\u5220\u9664")),9,Xh))]),tagTitle:R(({row:K})=>[t("span",null,o(B(K.tagTitle)),1)]),tagName:R(({row:K})=>[t("span",null,o(K.tagName||"-"),1)]),gateway:R(({row:K})=>[t("span",null,o(K.gateway||"-"),1)]),_:1},8,["data","columns"])],512),[[Yt,F.value==="tag"]])]),z(dh,{ref_key:"tagDialogRef",ref:S,onConfirm:vt},null,512)])}}});var e_=N(t_,[["__scopeId","data-v-028f5af8"]]);const a_=n=>(st("data-v-7cca0358"),n=n(),dt(),n),o_={class:"device_container",style:{color:"black"}},n_={class:"tab-container"},i_={class:"tabs_box_g"},r_=["onClick"],s_={class:"tab-content_g"},d_={key:0,class:"content-item"},l_={key:1,class:"content-item"},u_={key:2,class:"content-item"},c_={key:3,class:"content-item"},p_=a_(()=>t("div",{style:{height:"30px"}},null,-1)),f_=G({setup(n){const{$gettext:i}=W(),a=$(["\u8BBE\u5907\u5217\u8868","\u9759\u6001\u5206\u914D\u5217\u8868","\u9650\u901F\u8BBE\u5907\u5217\u8868","\u5168\u5C40\u8BBE\u7F6E"]),d=$(0),u=$(null),r=()=>L(this,null,function*(){d.value=3,yield Ue(),u.value&&(u.value.activeTab="ip")});return(c,_)=>(s(),l("div",o_,[t("div",n_,[t("div",i_,[(s(!0),l(O,null,J(a.value,(h,p)=>(s(),l("button",{key:p,onClick:v=>d.value=p,class:ct({active:d.value===p})},o(e(i)(h)),11,r_))),128))]),t("div",s_,[d.value===0?(s(),l("div",d_,[z(Gg,{onOpenGloba:r})])):C("",!0),d.value===1?(s(),l("div",l_,[z(u9)])):C("",!0),d.value===2?(s(),l("div",u_,[z(M9,{onOpenGloba:r})])):C("",!0),d.value===3?(s(),l("div",c_,[z(e_,{ref_key:"configureRef",ref:u},null,512)])):C("",!0)]),p_])]))}});var m_=N(f_,[["__scopeId","data-v-7cca0358"]]);const v_={},b_={width:"136px",height:"136px",viewBox:"0 0 136 136",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},g_=qt('',2),h_=[g_];function __(n,i){return s(),l("svg",b_,h_)}var Ga=N(v_,[["render",__]]);const x_={},w_={width:"136px",height:"136px",viewBox:"0 0 136 136",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},k_=qt('',2),y_=[k_];function F_(n,i){return s(),l("svg",w_,y_)}var ja=N(x_,[["render",F_]]);const xe=n=>(st("data-v-eb96c2c2"),n=n(),dt(),n),E_=["onSubmit"],$_={class:"form-item"},C_={class:"label-name"},D_={class:"label-value switch_label"},B_={class:"label-flex pc-radio"},Y_=["disabled"],A_=["disabled"],S_=xe(()=>t("div",{class:"switch-button"},null,-1)),z_=[S_],P_={key:0,class:"form-item"},T_={class:"label-name"},I_={class:"label-value"},L_=["disabled"],M_={value:100},N_={value:70},O_={value:50},V_={value:30},G_={key:0,class:"select-arrow"},j_={class:"form-item"},q_={class:"label-name"},U_={class:"label-value"},R_=["disabled","placeholder"],W_={class:"form-item"},H_={class:"label-name"},Z_={class:"label-value"},J_=["disabled"],K_=["value"],Q_={key:0,class:"select-arrow"},X_={class:"form-item"},tx={class:"label-name"},ex={class:"label-value"},ax=["type","disabled","placeholder"],ox={key:0,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},nx=xe(()=>t("path",{d:"M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z",fill:"currentColor"},null,-1)),ix=[nx],rx={key:1,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},sx=xe(()=>t("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",fill:"currentColor"},null,-1)),dx=[sx],lx={class:"form-item"},ux={class:"label-name"},cx={class:"label-value"},px=["disabled"],fx={value:!1},mx={value:!0},vx={key:0,class:"select-arrow"},bx={key:1,class:"form-item"},gx={class:"label-name"},hx={class:"label-value"},_x=["disabled"],xx=["value"],wx={key:0,class:"select-arrow"},kx={key:2,class:"form-item"},yx={class:"label-name"},Fx={class:"label-value"},Ex=["disabled"],$x=xe(()=>t("option",{value:"20"},"20 MHz",-1)),Cx=xe(()=>t("option",{value:"40"},"40 MHz",-1)),Dx={key:0,value:"auto"},Bx={key:1,value:"80"},Yx={key:2,value:"160"},Ax={key:0,class:"select-arrow"},Sx={key:3,class:"form-item"},zx={class:"label-name"},Px={class:"label-value"},Tx=["disabled"],Ix={value:0},Lx=["value"],Mx=["disabled"],Nx={value:0},Ox=qt('',12),Vx={key:2,class:"select-arrow"},Gx={class:"label-btns"},jx=["disabled"],qx={class:"label-btns"},Ux=G({props:{data:null},emits:["getData"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$(Object.assign({},a.data)),c=qe("disabled"),_=$(!0),h=()=>{c.value||(r.value.disabled=!r.value.disabled)},p=qe("setup",$(1)),v=()=>{p.value=2};Tt(()=>r.value.disabled,k=>{x()});const b=()=>L(this,null,function*(){if(r.value.txpower===a.data.txpower)return;const k=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:f}=yield M.Quickwifi.Power.POST({device:r.value.device||"",txpower:r.value.txpower||0}),{error:m,success:g}=f;if(m)throw m;(g==null||g==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(f){throw E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),f}finally{k.Close()}}),x=()=>L(this,null,function*(){const k=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:f}=yield M.Quickwifi.Switch.POST({ifaceName:r.value.ifaceName||"",enable:!r.value.disabled}),{error:m,success:g}=f;if(m)throw m;(g==null||g==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(f){throw console.error("\u8BF7\u6C42\u51FA\u9519:",f),E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),f}finally{k.Close()}}),y=()=>L(this,null,function*(){const k=ut({},r.value);delete k.encryptSelects,delete k.hwmodeSelects,delete k.disabled,delete k.txpower;const{data:f}=yield M.Quickwifi.Edit.POST(k),{error:m,success:g}=f;if(m)throw m;(g==null||g==0)&&(E.Success("\u914D\u7F6E\u5B8C\u6210"),v())}),w=()=>L(this,null,function*(){if(c.value)return;c.value=!0;const k=E.Loading("\u914D\u7F6E\u4E2D...");try{yield y(),yield i("getData")}catch(f){const m=E.Error(`${f}`);setTimeout(()=>{m.Close()},2e3)}finally{k.Close(),c.value=!1}});return(k,f)=>(s(),l("form",{class:"form-container",onSubmit:pt(w,["prevent"])},[t("div",$_,[t("div",C_,[t("span",null,o(e(d)("\u542F\u7528Wi-Fi")),1)]),t("div",D_,[t("div",B_,[t("label",null,[T(t("input",{type:"radio",value:!1,"onUpdate:modelValue":f[0]||(f[0]=m=>r.value.disabled=m),disabled:e(c)},null,8,Y_),[[yt,r.value.disabled]]),it(" "+o(e(d)("\u5F00\u542F")),1)]),t("label",null,[T(t("input",{type:"radio",value:!0,"onUpdate:modelValue":f[1]||(f[1]=m=>r.value.disabled=m),disabled:e(c)},null,8,A_),[[yt,r.value.disabled]]),it(" "+o(e(d)("\u5173\u95ED")),1)])]),t("div",{class:"mobile-switch",onClick:h},[t("div",{class:ct(["switch-core",{"is-checked":!r.value.disabled,"is-disabled":e(c)}])},z_,2)])])]),r.value.isGuest?C("",!0):(s(),l("div",P_,[t("div",T_,[t("span",null,o(e(d)("\u53D1\u5C04\u529F\u7387")),1)]),t("div",I_,[T(t("select",{"onUpdate:modelValue":f[2]||(f[2]=m=>r.value.txpower=m),disabled:e(c),onChange:b},[t("option",M_,o(e(d)("\u6700\u5927")),1),t("option",N_,o(e(d)("\u9AD8")),1),t("option",O_,o(e(d)("\u4E2D")),1),t("option",V_,o(e(d)("\u4F4E")),1)],40,L_),[[rt,r.value.txpower]]),e(c)?C("",!0):(s(),l("div",G_))])])),t("div",j_,[t("div",q_,[t("span",null,o(e(d)("Wi-Fi\u540D\u79F0\uFF08SSID\uFF09")),1)]),t("div",U_,[T(t("input",{"onUpdate:modelValue":f[3]||(f[3]=m=>r.value.ssid=m),disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u540D\u79F0")},null,8,R_),[[tt,r.value.ssid]])])]),t("div",W_,[t("div",H_,[t("span",null,o(e(d)("Wi-Fi \u5B89\u5168\u6027")),1)]),t("div",Z_,[T(t("select",{"onUpdate:modelValue":f[4]||(f[4]=m=>r.value.encryption=m),disabled:e(c)},[(s(!0),l(O,null,J(r.value.encryptSelects,m=>(s(),l("option",{value:m},o(m),9,K_))),256))],8,J_),[[rt,r.value.encryption]]),e(c)?C("",!0):(s(),l("div",Q_))])]),t("div",X_,[t("div",tx,[t("span",null,o(e(d)("Wi-Fi \u5BC6\u7801")),1)]),t("div",ex,[T(t("input",{"onUpdate:modelValue":f[5]||(f[5]=m=>r.value.key=m),class:"password_input",type:_.value?"password":"",disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u5BC6\u7801")},null,8,ax),[[xa,r.value.key]]),e(c)?C("",!0):(s(),l("div",{key:0,onClick:f[6]||(f[6]=m=>_.value=!_.value)},[_.value?(s(),l("svg",ox,ix)):(s(),l("svg",rx,dx))]))])]),t("div",lx,[t("div",ux,[t("span",null,o(e(d)("SSID \u53EF\u89C1\u6027")),1)]),t("div",cx,[T(t("select",{"onUpdate:modelValue":f[7]||(f[7]=m=>r.value.hidden=m),disabled:e(c)},[t("option",fx,o(e(d)("\u663E\u793A")),1),t("option",mx,o(e(d)("\u9690\u85CF")),1)],8,px),[[rt,r.value.hidden]]),e(c)?C("",!0):(s(),l("div",vx))])]),r.value.isGuest?C("",!0):(s(),l("div",bx,[t("div",gx,[t("span",null,o(e(d)("\u65E0\u7EBF\u6A21\u5F0F")),1)]),t("div",hx,[T(t("select",{"onUpdate:modelValue":f[8]||(f[8]=m=>r.value.hwmode=m),disabled:e(c)},[(s(!0),l(O,null,J(r.value.hwmodeSelects,m=>(s(),l("option",{value:m},o(m),9,xx))),256))],8,_x),[[rt,r.value.hwmode]]),e(c)?C("",!0):(s(),l("div",wx))])])),r.value.isGuest?C("",!0):(s(),l("div",kx,[t("div",yx,[t("span",null,o(e(d)("\u9891\u5BBD")),1)]),t("div",Fx,[T(t("select",{"onUpdate:modelValue":f[9]||(f[9]=m=>r.value.htmode=m),disabled:e(c)},[$x,Cx,r.value.band==="2g"?(s(),l("option",Dx," 20/40 MHz ")):C("",!0),r.value.band==="5g"?(s(),l("option",Bx," 80 MHz ")):C("",!0),r.value.band==="5g"?(s(),l("option",Yx," 160 MHz ")):C("",!0)],8,Ex),[[rt,r.value.htmode]]),e(c)?C("",!0):(s(),l("div",Ax))])])),r.value.isGuest?C("",!0):(s(),l("div",Sx,[t("div",zx,[t("span",null,o(e(d)("\u4FE1\u9053")),1)]),t("div",Px,[r.value.band==="2g"?T((s(),l("select",{key:0,"onUpdate:modelValue":f[10]||(f[10]=m=>r.value.channel=m),disabled:e(c)},[t("option",Ix,o(e(d)("\u81EA\u52A8")),1),(s(),l(O,null,J(13,m=>t("option",{value:m},o(m),9,Lx)),64))],8,Tx)),[[rt,r.value.channel,void 0,{number:!0}]]):C("",!0),r.value.band==="5g"?T((s(),l("select",{key:1,"onUpdate:modelValue":f[11]||(f[11]=m=>r.value.channel=m),disabled:e(c)},[t("option",Nx,o(e(d)("\u81EA\u52A8")),1),Ox],8,Mx)),[[rt,r.value.channel,void 0,{number:!0}]]):C("",!0),e(c)?C("",!0):(s(),l("div",Vx))])])),t("div",Gx,[t("button",{class:"btn primary-btn",disabled:e(c),onClick:w},o(e(d)("\u4FDD\u5B58\u914D\u7F6E")),9,jx)]),t("div",qx,[t("div",{class:"skip",onClick:f[12]||(f[12]=m=>v())},o(e(d)("\u8DF3\u8FC7")),1)])],40,E_))}});var Rx=N(Ux,[["__scopeId","data-v-eb96c2c2"]]);const Wx={id:"page",class:"page-container"},Hx={class:"mobile-tags-container"},Zx={class:"tags-wrapper"},Jx={class:"tags-scroll"},Kx=["onClick"],Qx={class:"page-flex"},Xx={class:"page-sidebar"},tw=["onClick"],ew={class:"page-main"},aw={class:"popup-content"},ow={class:"popup-tags"},nw=["onClick"],iw={class:"popup-footer"},rw=G({setup(n){var k;const{$gettext:i}=W(),a=$(!1);Re("disabled",a);const d=$([]),u=be(),r=wa(),c=$(String((k=u==null?void 0:u.query)==null?void 0:k.tab)),_=$(!1),h=f=>{var m;return(m=f.band)==null?void 0:m.toUpperCase()},p=f=>f.isGuest?f.band+"_Guest":f.ssid,v=f=>{a.value||(c.value=p(f),_.value=!1,c.value!==u.query.tab&&r.push({query:{tab:c.value}}))},b=$(),x=f=>{a.value||(b.value=p(f))},y=()=>{_.value=!1,b.value!==u.query.tab&&r.push({query:{tab:b.value}})};Tt(()=>_.value,f=>{f?b.value=c.value:c.value=b.value});const w=()=>L(this,null,function*(){try{const{data:f}=yield M.Quickwifi.List.GET(),{error:m,result:g}=f;if(m)throw m;g!=null&&g.ifaces&&(d.value=g.ifaces.map(Y=>mt(ut({},Y),{hidden:Y.hidden||!1,disabled:Y.disabled||!1,isGuest:Y.isGuest||!1,channel:Y.channel||0,txpower:Y.txpower||0,ifaceIndex:Y.ifaceIndex||0})));let F=!1;for(let Y=0;Y0&&v(d.value[0])}catch(f){console.log(f)}});return w(),(f,m)=>(s(),l("div",Wx,[t("div",Hx,[t("div",Zx,[t("div",Jx,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:p(g),class:ct(c.value===p(g)?"tag-item active":"tag-item"),onClick:pt(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,Kx))),128))])])]),t("div",Qx,[t("div",Xx,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:p(g),class:ct(c.value===p(g)?"item activeItem":"item"),onClick:pt(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,tw))),128))]),t("div",ew,[(s(!0),l(O,null,J(d.value,g=>(s(),l(O,{key:p(g)},[c.value===p(g)?(s(),H(Rx,{key:0,data:g,onGetData:w},null,8,["data"])):C("",!0)],64))),128))])]),_.value?(s(),l("div",{key:0,class:"popup-overlay",onClick:m[1]||(m[1]=pt(g=>_.value=!1,["self"]))},[t("div",aw,[t("div",ow,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:p(g),class:ct(b.value===p(g)?"popup-tag-item active":"popup-tag-item"),onClick:pt(F=>x(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,nw))),128))]),t("div",iw,[t("button",{class:"cancel-btn",onClick:m[0]||(m[0]=g=>_.value=!1)},o(e(i)("\u53D6\u6D88")),1),t("button",{class:"confirm-btn",onClick:y},o(e(i)("\u786E\u5B9A")),1)])])])):C("",!0)]))}});var sw=N(rw,[["__scopeId","data-v-a3d59e16"]]);const dw={},lw={width:"136px",height:"136px",viewBox:"0 0 136 136",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},uw=qt('',2),cw=[uw];function pw(n,i){return s(),l("svg",lw,cw)}var qa=N(dw,[["render",pw]]);const we=n=>(st("data-v-500739e0"),n=n(),dt(),n),fw={class:"ddnsto-bind"},mw=we(()=>t("div",{class:"ddnsto-container_bg"},null,-1)),vw={class:"ddnsto-container"},bw={key:1,class:"popular_container"},gw={class:"tip"},hw={class:"popular_item"},_w={class:"network-containers"},xw={class:"network-container_item"},ww={class:"thumbnail"},kw={class:"network-container_item"},yw={class:"thumbnail"},Fw={class:"network-container_item"},Ew={class:"thumbnail"},$w={class:"popular_txt"},Cw={href:"/cgi-bin/luci/admin/network/network"},Dw={key:2,class:"hello"},Bw=we(()=>t("img",{src:"https://assets.koolcenter.com/istoreos/firmware-guide/icon_huanying@2x.png",alt:""},null,-1)),Yw={class:"radio_container"},Aw={class:"radio_text"},Sw={href:" https://www.linkease.com/rd/istoreos-user-agreement/",target:"_blank",rel:"noopener noreferrer"},zw={key:3,class:"set_up"},Pw={class:"title"},Tw={class:"password"},Iw={class:"input_tip"},Lw=["placeholder"],Mw={class:"password"},Nw={class:"input_tip"},Ow={class:"input_box"},Vw=["placeholder"],Gw={class:"password_tip"},jw=we(()=>t("div",{class:"occupy"},null,-1)),qw={key:4,class:"domain_container"},Uw={class:"title"},Rw=we(()=>t("div",{class:"domain_img"},[t("img",{src:"https://assets.koolcenter.com/istoreos/firmware-guide/iStore-domain.png",alt:""})],-1)),Ww={class:"tip"},Hw={href:"https://ddnsto.com",target:"_blank",rel:"noopener noreferrer"},Zw={key:5,class:"wx_qr"},Jw={class:"txt"},Kw=we(()=>t("div",null,[t("img",{src:"https://assets.koolcenter.com/istoreos/firmware-guide/istoreos-qr.jpg",alt:""})],-1)),Qw={props:{close:{type:Function,required:!0},init:{type:Number,default:0}},setup(n){const i=n,{$gettext:a}=W(),d=$(i.init),u=$(""),r=$("");Re("setup",d);const c=$(!1);let _=sessionStorage.getItem("setupNum");_&&(_=JSON.parse(_),d.value=_,sessionStorage.removeItem("setupNum"));let h=!1,p;const v=$({}),b=function(){!h||(document.hidden?Promise.resolve():M.Guide.GetDdns.GET().then(g=>{var F;g!=null&&g.data&&(((F=g==null?void 0:g.data)==null?void 0:F.success)||0)==0&&g.data.result&&(v.value=g.data.result)})).then(()=>{!h||(p=window.setTimeout(b,3e3))})},x=()=>{sessionStorage.setItem("setupNum",JSON.stringify(d.value))},y=()=>L(this,null,function*(){try{const g=yield M.GuidePage.completeGuide.POST();i.close(),location.reload()}catch(g){console.error("\u8BF7\u6C42\u5931\u8D25:",g)}}),w=()=>{Ma({url:v.value.ddnstoDomain})},k=g=>{const F=/^[a-zA-Z]{6,20}$/,Y=/^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/;return F.test(g)||Y.test(g)},f=()=>L(this,null,function*(){var F;if(!u.value||!r.value)return E.Warning(a("\u8BF7\u8F93\u5165\u5BC6\u7801"));if(!k(u.value))return E.Warning(a("\u5BC6\u7801\u683C\u5F0F\u4E0D\u6B63\u786E"));if(u.value!==r.value)return E.Warning(a("\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4"));const g=yield M.GuidePage.setPassword.POST({password:u.value});console.log(g,"setPassword"),((F=g==null?void 0:g.data)==null?void 0:F.success)==0&&(E.Success(a("\u7CFB\u7EDF\u5BC6\u7801\u8BBE\u7F6E\u6210\u529F")),setTimeout(()=>{m(5)},400))}),m=g=>{if(g===4&&!c.value)return E.Warning("\u8BF7\u52FE\u9009\u7528\u6237\u534F\u8BAE");d.value=g};return At(()=>{document.body.setAttribute("lock-scroll",!0),h=!0,p=window.setTimeout(b,1100)}),Ot(()=>{p!==void 0&&window.clearTimeout(p),h=!1}),Ae(()=>{document.body.removeAttribute("lock-scroll")}),(g,F)=>{const Y=ft("router-link");return s(),l("div",fw,[mw,t("div",vw,[d.value===1?(s(),H(sw,{key:0})):d.value===2?(s(),l("div",bw,[t("p",null,o(e(a)("\u6B22\u8FCE\u4F7F\u7528\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC")),1),t("div",gw,o(e(a)("\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB")),1),t("div",hw,[t("div",_w,[t("div",xw,[z(Y,{to:"/network/pppoe?type=index"},{default:R(()=>[t("div",{class:"cover",onClick:F[0]||(F[0]=S=>x())},[t("div",ww,[z(ja),t("span",null,o(e(a)("\u5BBD\u5E26\u62E8\u53F7\u8FDE\u63A5")),1)])])]),_:1})]),t("div",kw,[z(Y,{to:"/network/dhcp?type=index"},{default:R(()=>[t("div",{class:"cover",onClick:F[1]||(F[1]=S=>x())},[t("div",yw,[z(Ga),t("span",null,o(e(a)("\u8FDE\u63A5\u73B0\u6709\u8DEF\u7531\u5668")),1)])])]),_:1})]),t("div",Fw,[z(Y,{to:"/network/gateway?type=index"},{default:R(()=>[t("div",{class:"cover",onClick:F[2]||(F[2]=S=>x())},[t("div",Ew,[z(qa),t("span",null,o(e(a)("\u914D\u7F6E\u4E3A\u65C1\u8DEF\u7531")),1)])])]),_:1})])]),t("div",$w,[it(o(e(a)("\u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528")),1),t("a",Cw,o(e(a)("\u9AD8\u7EA7\u6A21\u5F0F")),1)])]),t("div",{class:"btn1",onClick:F[3]||(F[3]=S=>m(3))},o(e(a)("\u8DF3\u8FC7")),1)])):d.value===3?(s(),l("div",Dw,[Bw,t("p",null,o(e(a)("\u6B22\u8FCE\u4F7F\u7528iStoreOS")),1),t("div",Yw,[t("div",{class:ct(["radio",c.value?"active":""]),onClick:F[4]||(F[4]=S=>c.value=!c.value)},[t("div",{class:ct(["yuan",c.value?"yuan1":""])},null,2)],2),t("div",Aw,[it(o(e(a)("\u6211\u5DF2\u5B8C\u6574\u9605\u8BFB\u5E76\u540C\u610F")),1),t("a",Sw,o(e(a)("\u300AiStoreOS\u56FA\u4EF6\u7528\u6237\u534F\u8BAE\u300B")),1)])]),t("div",{class:"confirm",onClick:F[5]||(F[5]=S=>m(4))},o(e(a)("\u786E\u5B9A")),1)])):d.value===4?(s(),l("div",zw,[t("div",Pw,o(e(a)("\u8BBE\u7F6E\u7CFB\u7EDF\u5BC6\u7801")),1),t("p",null,o(e(a)("\u6B64\u8BBE\u5907\u8FD8\u672A\u8BBE\u7F6E\u5BC6\u7801\uFF0C\u8BF7\u5148\u8BBE\u7F6E\u5BC6\u7801\u3002\u5982\u9057\u5FD8\u5BC6\u7801\uFF0C\u53EF\u4EE5\u901A\u8FC7\u91CD\u7F6E\u8BBE\u5907\u6062\u590D\u521D\u59CB\u5BC6\u7801\u3002")),1),t("div",Tw,[t("div",Iw,o(e(a)("\u8BF7\u586B\u5199\u5BC6\u7801"))+"\uFF1A",1),T(t("input",{class:"password_input",type:"password","onUpdate:modelValue":F[6]||(F[6]=S=>u.value=S),placeholder:e(a)("\u8BF7\u586B\u5199\u5BC6\u7801")},null,8,Lw),[[tt,u.value,void 0,{trim:!0}]])]),t("div",Mw,[t("div",Nw,o(e(a)("\u8BF7\u518D\u6B21\u586B\u5199\u5BC6\u7801"))+"\uFF1A",1),t("div",Ow,[T(t("input",{class:"password_input",type:"password","onUpdate:modelValue":F[7]||(F[7]=S=>r.value=S),placeholder:e(a)("\u8BF7\u518D\u6B21\u586B\u5199\u5BC6\u7801")},null,8,Vw),[[tt,r.value,void 0,{trim:!0}]]),t("span",Gw,o(e(a)("\u957F\u5EA6\u4E3A6\uFF5E20\u4E2A\u82F1\u6587\u3001\u6570\u5B57\u7ED3\u5408")),1)])]),jw,t("div",{class:"btn1",onClick:F[8]||(F[8]=S=>f())},o(e(a)("\u4FDD\u5B58")),1),t("div",{class:"skip",onClick:F[9]||(F[9]=S=>m(5))},o(e(a)("\u8DF3\u8FC7")),1)])):d.value===5?(s(),l("div",qw,[t("div",Uw,o(e(a)("\u5F00\u542F\u8FDC\u7A0B\u57DF\u540D\u8BBF\u95EE")),1),t("p",null,o(e(a)("\u901A\u8FC7\u5B89\u5168\u52A0\u5BC6\u901A\u9053\uFF0C\u968F\u65F6\u968F\u5730\u8FDC\u7A0B\u7BA1\u7406\u4F60\u7684iStoreOS")),1),Rw,t("div",{class:"btn1",onClick:F[10]||(F[10]=S=>w())},o(e(a)("\u7ACB\u5373\u542F\u7528")),1),t("div",{class:"skip",onClick:F[11]||(F[11]=S=>m(6))},o(e(a)("\u8DF3\u8FC7")),1),t("div",Ww,[it(o(e(a)("\u57DF\u540D\u670D\u52A1\u7531"))+" ",1),t("a",Hw,o(e(a)("ddnsto.com")),1),it(" "+o(e(a)("\u63D0\u4F9B")),1)])])):(s(),l("div",Zw,[t("p",null,o(e(a)("\u5173\u6CE8iStoreOS\u516C\u4F17\u53F7")),1),t("div",Jw,o(e(a)("\u638C\u63E1\u6700\u65B0\u52A8\u6001")),1),Kw,t("div",{class:"btn1",onClick:F[12]||(F[12]=S=>y())},o(e(a)("\u5F00\u59CB\u63A2\u7D22iStoreOS")),1)]))])])}}};var Xw=N(Qw,[["__scopeId","data-v-500739e0"]]);const Me=n=>(st("data-v-11e63d6a"),n=n(),dt(),n),tk={id:"page"},ek={key:0,style:{height:"48px","text-align":"right"}},ak={onclick:"void(0)",href:"https://www.istoreos.com/",target:"_blank",style:{"text-decoration":"none",color:"white","line-height":"1.5em"}},ok={key:1,style:{"text-align":"left",display:"flex","align-items":"center","margin-bottom":"20px","padding-top":"4px"}},nk={href:"/cgi-bin/luci/admin/quickstart",style:{"text-decoration":"none",color:"var(--breadcrumbs-tit-color)","line-height":"1.5em","margin-right":"4px"}},ik=Me(()=>t("svg",{width:"20",height:"20",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},[t("path",{d:"M20 30 L50 50 L20 70",stroke:"#d6dbf8","stroke-width":"8","stroke-linecap":"round",fill:"none"})],-1)),rk={style:{"text-decoration":"none",color:"var(--breadcrumbs-tit-color1)","line-height":"1.5em"}},sk={key:2},dk=Me(()=>t("em",null,null,-1)),lk=Me(()=>t("em",null,null,-1)),uk=Me(()=>t("em",null,null,-1)),ck={key:3},pk=G({setup(n){Do();const{$gettext:i,$ngettext:a}=W(),d=ge(),u=X(()=>d.deviceShow);$(0);const r=$(!1),c=$(1);(()=>L(this,null,function*(){var p;try{const v=yield M.GuidePage.needSetup.GET();(p=v==null?void 0:v.data)!=null&&p.result&&(r.value=v.data.result.need||!1,c.value=v.data.result.wifi?1:2)}catch(v){console.log(v)}}))();const h=()=>{r.value=!1};return(p,v)=>(s(),l("div",tk,[e(u)?(s(),l("div",ok,[t("a",nk,o(e(i)("\u9996\u9875")),1),ik,t("a",rk,o(e(i)("\u8BBE\u5907\u7BA1\u7406")),1)])):(s(),l("div",ek,[t("a",ak,o(e(i)("iStoreOS\u5B98\u7F51")),1)])),e(u)?(s(),l("div",ck,[z(m_)])):(s(),l("div",sk,[z(Bl),dk,z(Qv),z(w7),lk,z(X7),uk])),r.value?(s(),H(Xw,{key:4,init:c.value,close:h},null,8,["init"])):C("",!0)]))}});var fk=N(pk,[["__scopeId","data-v-11e63d6a"]]);const mk={};function vk(n,i){const a=ft("router-view");return s(),H(a)}var bk=N(mk,[["render",vk]]);const gk={id:"page"},hk={class:"title"},_k={class:"desc"},xk={class:"network-containers"},wk={class:"network-container_item"},kk={class:"cover"},yk={class:"thumbnail"},Fk={class:"network-container_item"},Ek={class:"cover"},$k={class:"thumbnail"},Ck={class:"network-container_item"},Dk={class:"cover"},Bk={class:"thumbnail"},Yk=["innerHTML"],Ak=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=i("\u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528%{link}",{link:''+i("\u9AD8\u7EA7\u6A21\u5F0F")+""},!0);return(u,r)=>{const c=ft("router-link");return s(),l("div",gk,[t("div",hk,o(e(i)("\u6B22\u8FCE\u4F7F\u7528\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC")),1),t("div",_k,o(e(i)("\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB")),1),t("div",xk,[t("div",wk,[z(c,{to:"/network/pppoe"},{default:R(()=>[t("div",kk,[t("div",yk,[z(ja),t("span",null,o(e(i)("\u5BBD\u5E26\u62E8\u53F7\u8FDE\u63A5")),1)])])]),_:1})]),t("div",Fk,[z(c,{to:"/network/dhcp"},{default:R(()=>[t("div",Ek,[t("div",$k,[z(Ga),t("span",null,o(e(i)("\u8FDE\u63A5\u73B0\u6709\u8DEF\u7531\u5668")),1)])])]),_:1})]),t("div",Ck,[z(c,{to:"/network/gateway"},{default:R(()=>[t("div",Dk,[t("div",Bk,[z(qa),t("span",null,o(e(i)("\u914D\u7F6E\u4E3A\u65C1\u8DEF\u7531")),1)])])]),_:1})])]),t("div",{class:"info",innerHTML:e(d)},null,8,Yk)])}}});var Sk=N(Ak,[["__scopeId","data-v-0b149a51"]]);const zk={key:0,id:"page"},Pk={class:"title"},Tk={class:"desc"},Ik={class:"network-message"},Lk=["innerHTML"],Mk=["onSubmit"],Nk={class:"label-key"},Ok=["placeholder","disabled"],Vk={class:"label-key"},Gk=["placeholder","disabled"],jk={key:0,class:"chose_dhcp"},qk={class:"dhcp_info"},Uk={key:1,class:"msg"},Rk={class:"btns"},Wk=["disabled"],Hk=["onClick"],Zk={key:1,id:"page"},Jk={class:"title"},Kk={class:"btns"},Qk=["onClick"],Xk=["onClick"],ty=G({setup(n){const{$gettext:i,$ngettext:a}=W(),u=be().query.type,r=i("\u7531\u4E8E\u60A8\u7684\u8BBE\u5907\u6CA1\u6709 WAN \u53E3\uFF0C\u65E0\u6CD5\u4F7F\u7528\u672C\u8BBE\u7F6E\u5411\u5BFC\uFF0C\u5177\u4F53\u8BF7\u770B%{link}",{link:''+i("\u94FE\u63A5")+""},!0),c=$(0),_=$({}),h=$(""),p=$(!1),v=$(0),b=$(!1);(()=>L(this,null,function*(){var w,k;p.value=!0;try{const f=yield Promise.all([M.Guide.Pppoe.GET(),M.Guide.GetLan.GET()]);if(f[0].data){const{success:m,error:g,result:F}=f[0].data;F&&(F.enableLanDhcp=!1,_.value=F),m==-1011&&(p.value=!0,v.value=m)}(w=f[1].data)!=null&&w.result&&(((k=f[1].data)==null?void 0:k.result).enableDhcp||(b.value=!0,_.value.enableLanDhcp=!0))}catch(f){h.value=f}v.value==0&&(p.value=!1)}))();const y=()=>L(this,null,function*(){const w=_.value.account||"",k=_.value.password||"";if(w==""){h.value=i("\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A");return}if(k==""){h.value=i("\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A");return}p.value=!0;const f=E.Loading(i("\u914D\u7F6E\u4E2D..."));try{const m=yield M.Guide.Pppoe.POST({account:w,password:k});if(m!=null&&m.data){const{error:g,success:F}=m.data;g&&(h.value=g),(F==null||F==0)&&(E.Success(i("\u914D\u7F6E\u6210\u529F")),c.value=1)}}catch(m){h.value=m}p.value=!1,f.Close()});return(w,k)=>{const f=ft("switch-box"),m=ft("router-link");return c.value==0?(s(),l("div",zk,[t("h2",Pk,o(e(i)("\u914D\u7F6E\u5BBD\u5E26\u8D26\u53F7")),1),t("h3",Tk,o(e(i)("\u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u8DEF\u7531 WAN \u53E3\u8FDE\u63A5\u5230\u5149\u732B")),1),t("div",Ik,[v.value==-1011?(s(),l("li",{key:0,innerHTML:e(r)},null,8,Lk)):C("",!0)]),t("form",{onSubmit:pt(y,["prevent"])},[t("label",null,[t("div",Nk,[t("span",null,o(e(i)("\u5BBD\u5E26\u8D26\u53F7")),1)]),T(t("input",{type:"text","onUpdate:modelValue":k[0]||(k[0]=g=>_.value.account=g),placeholder:e(i)("\u5BBD\u5E26\u8D26\u53F7"),required:"",disabled:p.value},null,8,Ok),[[tt,_.value.account,void 0,{trim:!0}]])]),t("label",null,[t("div",Vk,[t("span",null,o(e(i)("\u5BC6\u7801")),1)]),T(t("input",{type:"password","onUpdate:modelValue":k[1]||(k[1]=g=>_.value.password=g),placeholder:e(i)("\u5BBD\u5E26\u5BC6\u7801"),required:"",disabled:p.value},null,8,Gk),[[tt,_.value.password,void 0,{trim:!0}]])]),b.value?(s(),l("div",jk,[z(f,{modelValue:_.value.enableLanDhcp,"onUpdate:modelValue":k[2]||(k[2]=g=>_.value.enableLanDhcp=g)},{default:R(()=>[t("span",qk,o(e(i)("\u542F\u7528LAN\u53E3DHCP\u670D\u52A1\uFF08\u7528\u4E8E\u4ECE\u65C1\u8DEF\u7531\u6A21\u5F0F\u6062\u590D\u6210\u9ED8\u8BA4\u72B6\u6001\uFF09")),1)]),_:1},8,["modelValue"])])):C("",!0),h.value?(s(),l("div",Uk,o(h.value),1)):C("",!0),t("div",Rk,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:p.value},o(e(i)("\u4FDD\u5B58\u914D\u7F6E")),9,Wk),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:g})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(i)("\u8FD4\u56DE")),9,Hk)]),_:1},8,["to"])])],40,Mk)])):c.value==1?(s(),l("div",Zk,[t("h2",Jk,o(e(i)("\u914D\u7F6E\u6210\u529F")),1),t("div",Kk,[z(m,{to:"/",custom:""},{default:R(({navigate:g})=>[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:g},o(e(i)("\u8FDB\u5165\u63A7\u5236\u53F0")),9,Qk)]),_:1}),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:g})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(i)("\u8FD4\u56DE")),9,Xk)]),_:1},8,["to"])])])):C("",!0)}}});var ey=N(ty,[["__scopeId","data-v-f442676c"]]);const ay={key:0,id:"page"},oy={class:"title"},ny={class:"desc"},iy={class:"network-message"},ry=["innerHTML"],sy=["onSubmit"],dy={class:"label-key"},ly={value:"dhcp"},uy={value:"static"},cy={class:"label-key"},py=["placeholder","disabled"],fy={key:0,class:"msg"},my={class:"label-key"},vy=["placeholder","disabled"],by={key:1,class:"msg"},gy={class:"label-key"},hy=["placeholder","disabled"],_y={class:"label-key"},xy=["disabled"],wy={value:"manual"},ky={class:"label-key"},yy=["onUpdate:modelValue","placeholder","disabled"],Fy={class:"label-key"},Ey=["placeholder","disabled"],$y={class:"label-key"},Cy=["placeholder","disabled"],Dy={key:2,class:"chose_dhcp"},By={class:"dhcp_info"},Yy={key:3,class:"msgs"},Ay={class:"btns"},Sy=["disabled"],zy=["onClick"],Py={key:1,id:"page"},Ty={class:"title"},Iy={class:"btns"},Ly=["onClick"],My=["onClick"],Ny=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=i("\u7531\u4E8E\u60A8\u7684\u8BBE\u5907\u6CA1\u6709 WAN \u53E3\uFF0C\u65E0\u6CD5\u4F7F\u7528\u672C\u8BBE\u7F6E\u5411\u5BFC\uFF0C\u5177\u4F53\u8BF7\u770B%{link}",{link:''+i("\u94FE\u63A5")+""},!0),u=$(0),r=$({}),c=$(""),_=$(""),h=$(""),p=$(!1),v=$(""),b=$(""),x=$(0),y=It.checkIsIP,w=$(!1),f=be().query.type;(()=>L(this,null,function*(){var B,D;p.value=!0;try{const I=yield Promise.all([M.Guide.ClientModel.GET(),M.Guide.GetLan.GET()]);if(I[0]){const at=I[0];if(at.data){const{success:A,error:P,result:V}=at.data;V&&(V.wanProto!="dhcp"&&V.wanProto!="static"&&(V.wanProto="dhcp",V.dnsProto="auto"),V.enableLanDhcp=!1,r.value=V),A==-1011&&(x.value=A,p.value=!0)}}(B=I[1].data)!=null&&B.result&&(((D=I[1].data)==null?void 0:D.result).enableDhcp||(w.value=!0,r.value.enableLanDhcp=!0))}catch(I){c.value=I}x.value==0&&(p.value=!1)}))();const g=B=>{B.target.value=="static"?((r.value.staticIp==null||r.value.staticIp=="")&&(r.value.staticIp="192.168.1.100"),(r.value.subnetMask==null||r.value.subnetMask=="")&&(r.value.subnetMask="255.255.255.0"),r.value.dnsProto=="auto"&&setTimeout(()=>r.value.dnsProto="manual",0)):r.value.dnsProto=="manual"&&setTimeout(()=>r.value.dnsProto="auto",0)},F=B=>{const D=B.target;if(D.value==""){v.value="";return}y(D.value)?v.value="":v.value=i("\u8BF7\u8F93\u5165\u5408\u6CD5\u7684IP\u5730\u5740")},Y=B=>{const D=B.target;if(D.value==""){b.value="";return}y(D.value)?b.value="":b.value=i("\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5730\u5740")},S=()=>L(this,null,function*(){const B={};switch(r.value.wanProto){case"dhcp":break;case"static":B.staticIp=r.value.staticIp,B.subnetMask=r.value.subnetMask,B.gateway=r.value.gateway||"";break}switch(r.value.dnsProto){case"auto":break;case"manual":B.manualDnsIp=[],r.value.manualDnsIp!=null&&r.value.manualDnsIp.length>0?B.manualDnsIp=r.value.manualDnsIp:(B.manualDnsIp.push(_.value),h.value&&B.manualDnsIp.push(h.value));break}B.dnsProto=r.value.dnsProto,B.wanProto=r.value.wanProto,B.enableLanDhcp=r.value.enableLanDhcp;const D=E.Loading(i("\u914D\u7F6E\u4E2D...."));p.value=!0;try{const I=yield M.Guide.ClientModel.POST(B);if(I!=null&&I.data){const{success:at,error:A}=I==null?void 0:I.data;A&&(c.value=A),(at==null||at==0)&&(E.Success(i("\u914D\u7F6E\u6210\u529F")),u.value=1)}}catch(I){c.value=I}p.value=!1,D.Close()});return(B,D)=>{const I=ft("switch-box"),at=ft("router-link");return u.value==0?(s(),l("div",ay,[t("h2",oy,o(e(i)("\u914D\u7F6E\u4E92\u8054\u7F51")),1),t("h3",ny,o(e(i)("\u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u672C\u8BBE\u5907 WAN \u53E3\u8FDE\u63A5\u5230\u4E0A\u7EA7\u8DEF\u7531\u5668\u5C40\u57DF\u7F51\uFF08 LAN \uFF09\u63A5\u53E3")),1),t("div",iy,[x.value==-1011?(s(),l("li",{key:0,innerHTML:e(d)},null,8,ry)):C("",!0)]),t("form",{onSubmit:pt(S,["prevent"])},[t("label",null,[t("div",dy,[t("span",null,o(e(i)("WAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F")),1)]),T(t("select",{"onUpdate:modelValue":D[0]||(D[0]=A=>r.value.wanProto=A),onInput:g},[t("option",ly,o(e(i)("\u81EA\u52A8\u83B7\u53D6IP\u5730\u5740\uFF08DHCP\uFF09")),1),t("option",uy,o(e(i)("\u9759\u6001IP\u5730\u5740")),1)],544),[[rt,r.value.wanProto]])]),r.value.wanProto=="static"?(s(),l(O,{key:0},[t("label",null,[t("div",cy,[t("span",null,o(e(i)("IP\u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":D[1]||(D[1]=A=>r.value.staticIp=A),placeholder:e(i)("\u9759\u6001IP\u5730\u5740"),required:"",disabled:p.value,onInput:F},null,40,py),[[tt,r.value.staticIp,void 0,{trim:!0}]])]),v.value?(s(),l("p",fy,o(v.value),1)):C("",!0),t("label",null,[t("div",my,[t("span",null,o(e(i)("\u5B50\u7F51\u63A9\u7801")),1)]),T(t("input",{type:"text","onUpdate:modelValue":D[2]||(D[2]=A=>r.value.subnetMask=A),placeholder:e(i)("\u5B50\u7F51\u63A9\u7801"),required:"",disabled:p.value,onInput:Y},null,40,vy),[[tt,r.value.subnetMask,void 0,{trim:!0}]])]),b.value?(s(),l("p",by,o(b.value),1)):C("",!0),t("label",null,[t("div",gy,[t("span",null,o(e(i)("\u7F51\u5173\u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":D[3]||(D[3]=A=>r.value.gateway=A),placeholder:e(i)("\u7F51\u5173\u5730\u5740"),required:"",disabled:p.value},null,8,hy),[[tt,r.value.gateway,void 0,{trim:!0}]])])],64)):C("",!0),t("label",null,[t("div",_y,[t("span",null,o(e(i)("DNS \u914D\u7F6E\u65B9\u5F0F")),1)]),T(t("select",{"onUpdate:modelValue":D[4]||(D[4]=A=>r.value.dnsProto=A)},[t("option",{value:"auto",disabled:r.value.wanProto=="static"},o(e(i)("\u81EA\u52A8\u83B7\u53D6\uFF08DHCP\uFF09")),9,xy),t("option",wy,o(e(i)("\u624B\u5DE5\u914D\u7F6E")),1)],512),[[rt,r.value.dnsProto]])]),r.value.dnsProto=="manual"?(s(),l(O,{key:1},[r.value.manualDnsIp!=null&&r.value.manualDnsIp.length>0?(s(!0),l(O,{key:0},J(r.value.manualDnsIp,(A,P)=>(s(),l("label",null,[t("div",ky,[t("span",null,o(e(i)("DNS\u670D\u52A1\u5668")),1)]),T(t("input",{type:"text","onUpdate:modelValue":V=>r.value.manualDnsIp[P]=V,placeholder:e(i)("DNS\u670D\u52A1\u5668"),required:"",disabled:p.value},null,8,yy),[[tt,r.value.manualDnsIp[P],void 0,{trim:!0}]])]))),256)):(s(),l(O,{key:1},[t("label",null,[t("div",Fy,[t("span",null,o(e(i)("DNS\u670D\u52A1\u5668")),1)]),T(t("input",{type:"text","onUpdate:modelValue":D[5]||(D[5]=A=>_.value=A),placeholder:e(i)("DNS\u670D\u52A1\u5668"),required:"",disabled:p.value},null,8,Ey),[[tt,_.value,void 0,{trim:!0}]])]),t("label",null,[t("div",$y,o(e(i)("\u5907\u7528DNS\u670D\u52A1\u5668")),1),T(t("input",{type:"text","onUpdate:modelValue":D[6]||(D[6]=A=>h.value=A),placeholder:e(i)("\u5907\u7528DNS\u670D\u52A1\u5668"),disabled:p.value},null,8,Cy),[[tt,h.value,void 0,{trim:!0}]])])],64))],64)):C("",!0),w.value?(s(),l("div",Dy,[z(I,{modelValue:r.value.enableLanDhcp,"onUpdate:modelValue":D[7]||(D[7]=A=>r.value.enableLanDhcp=A)},{default:R(()=>[t("span",By,o(e(i)("\u542F\u7528LAN\u53E3DHCP\u670D\u52A1\uFF08\u7528\u4E8E\u4ECE\u65C1\u8DEF\u7531\u6A21\u5F0F\u6062\u590D\u6210\u9ED8\u8BA4\u72B6\u6001\uFF09")),1)]),_:1},8,["modelValue"])])):C("",!0),c.value?(s(),l("div",Yy,o(c.value),1)):C("",!0),t("div",Ay,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:p.value},o(e(i)("\u4FDD\u5B58\u914D\u7F6E")),9,Sy),z(at,{to:e(f)=="index"?"/":"/network",custom:""},{default:R(({navigate:A})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:A},o(e(i)("\u8FD4\u56DE")),9,zy)]),_:1},8,["to"])])],40,sy)])):u.value==1?(s(),l("div",Py,[t("h2",Ty,o(e(i)("\u914D\u7F6E\u6210\u529F")),1),t("div",Iy,[z(at,{to:"/",custom:""},{default:R(({navigate:A})=>[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:A},o(e(i)("\u8FDB\u5165\u63A7\u5236\u53F0")),9,Ly)]),_:1}),z(at,{to:e(f)=="index"?"/":"/network",custom:""},{default:R(({navigate:A})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:A},o(e(i)("\u8FD4\u56DE")),9,My)]),_:1},8,["to"])])])):C("",!0)}}});var Oy=N(Ny,[["__scopeId","data-v-162eca5f"]]);const Vy=n=>(st("data-v-2dee59a8"),n=n(),dt(),n),Gy={key:0,id:"page"},jy={class:"title"},qy=Vy(()=>t("br",null,null,-1)),Uy={class:"btns"},Ry=["onClick"],Wy={key:1,id:"page"},Hy={class:"title"},Zy={class:"desc"},Jy=["onSubmit"],Ky={class:"label-key"},Qy={class:"label-value"},Xy={class:"label-key"},tF=["placeholder"],eF={class:"label-key"},aF=["placeholder"],oF={class:"label-key"},nF=["placeholder"],iF={class:"label-key"},rF=["placeholder"],sF={key:0,class:"msgs"},dF={class:"switch_inline"},lF={key:0,class:"switch_info"},uF={key:1,class:"switch_info"},cF={class:"switch_inline"},pF={class:"switch_info"},fF={class:"switch_inline"},mF={class:"switch_info"},vF={class:"btns"},bF={class:"cbi-button cbi-button-apply app-btn app-next"},gF=["onClick"],hF={key:2,id:"page"},_F={class:"title"},xF={class:"desc"},wF={class:"btns"},kF={key:3,id:"page"},yF={class:"title"},FF=["disabled"],EF={style:{"text-align":"left"}},$F={class:"btns"},CF=["disabled"],DF=["onClick"],BF=G({setup(n){const{$gettext:i,$ngettext:a}=W(),u=be().query.type,r=$(0),c=$(""),_=$(!1),h=X(()=>{var k,f,m;return!(((k=v.value)==null?void 0:k.ipv4addr)&&((f=v.value)==null?void 0:f.ipv4mask)&&((m=v.value)==null?void 0:m.gateway))}),p=$({subnetMask:"255.255.255.0",staticDnsIp:"223.5.5.5",staticLanIp:"",gateway:"",enableDhcp:!0,dhcp6c:!1,enableNat:!1}),v=$(),b=()=>{_.value=!0,M.Network.Status.GET().then(k=>{if(k!=null&&k.data){const{result:f}=k==null?void 0:k.data;f&&(v.value=f)}}).finally(()=>{_.value=!1})},x=k=>{var f,m,g,F,Y;k&&(p.value.staticLanIp=((f=v.value)==null?void 0:f.ipv4addr)||"",p.value.subnetMask=((m=v.value)==null?void 0:m.ipv4mask)&&Nt.prefixToMask(v.value.ipv4mask)||"",p.value.gateway=((g=v.value)==null?void 0:g.gateway)||"",p.value.staticDnsIp=((F=v.value)==null?void 0:F.dnsList)&&((Y=v.value)==null?void 0:Y.dnsList[0])||"223.5.5.5"),r.value=1},y=k=>{window.location.href=location.protocol+"//"+p.value.staticLanIp+(location.port?":"+location.port:"")},w=()=>L(this,null,function*(){const k=p.value,f=E.Loading(i("\u914D\u7F6E\u4E2D..."));try{const m=yield M.Guide.GatewayRouter.POST(k);if(m!=null&&m.data){const{success:g,error:F}=m==null?void 0:m.data;if(F&&(c.value=F),g==null||g==0){setTimeout(()=>{r.value=2,f.Close()},5e3);return}}}catch(m){c.value=m}f.Close()});return(k,f)=>{var F,Y,S,B;const m=ft("router-link"),g=ft("switch-box");return r.value==0?(s(),l("div",Gy,[t("h2",jy,o(e(i)("\u65C1\u8DEF\u7531\u914D\u7F6E\u524D\u7684\u51C6\u5907\u5DE5\u4F5C")),1),t("code",null,[it(o(e(i)("\u65C1\u8DEF\u7531\u6A21\u5F0F\uFF0C\u4E5F\u53EB\u5355\u81C2\u8DEF\u7531\u6A21\u5F0F\u3002"))+" ",1),t("p",null,o(e(i)("\u60A8\u53EF\u4EE5\u7528\u4E0A\u4E00\u7EA7\u8DEF\u7531\uFF08\u4E3B\u8DEF\u7531\uFF09\u62E8\u53F7\uFF0C\u7136\u540E\u7528\u672C\u8DEF\u7531\u6765\u5B9E\u73B0\u4E00\u4E9B\u9AD8\u7EA7\u529F\u80FD\u3002")),1),qy,t("p",null,o(e(i)("\u672C\u5411\u5BFC\u652F\u6301\u81EA\u52A8\u6216\u624B\u52A8\u914D\u7F6E\uFF1A")),1),t("p",null,o(e(i)("\u70B9\u51FB\u201C\u81EA\u52A8\u914D\u7F6E\u201D\u6309\u94AE\u5F00\u59CB\u81EA\u52A8\u914D\u7F6E\u5411\u5BFC\uFF1B")),1),t("p",null,o(e(i)("\u624B\u52A8\u914D\u7F6E\u5219\u9700\u81EA\u884C\u83B7\u53D6\u4E3B\u8DEF\u7531\u5668\u7684IP\u5730\u5740\uFF08\u4F8B\u5982 192.168.2.1 \uFF09\u548C\u5B50\u7F51\u63A9\u7801\uFF0C\u8BB0\u5F55\u4EE5\u5907\u540E\u7EED\u586B\u5199\uFF0C\u70B9\u51FB\u201C\u624B\u52A8\u914D\u7F6E\u201D\u6309\u94AE\uFF0C\u5207\u6362\u5230\u53C2\u6570\u914D\u7F6E\u9875\uFF0C\u6309\u5B9E\u9645\u60C5\u51B5\u81EA\u884C\u586B\u5199\u3002")),1)]),t("div",Uy,[t("button",{class:"cbi-button cbi-button-success app-btn app-next",onClick:f[0]||(f[0]=D=>r.value=3)},o(e(i)("\u81EA\u52A8\u914D\u7F6E...")),1),t("button",{class:"cbi-button cbi-button-neutral app-btn app-next",onClick:f[1]||(f[1]=D=>x(!1))},o(e(i)("\u624B\u52A8\u914D\u7F6E...")),1),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:D})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:D},o(e(i)("\u8FD4\u56DE")),9,Ry)]),_:1},8,["to"])])])):r.value==1?(s(),l("div",Wy,[t("h2",Hy,o(e(i)("\u914D\u7F6E\u65C1\u8DEF\u7531\u7F51\u7EDC")),1),t("h3",Zy,o(e(i)("\u73B0\u5728\uFF0C\u8BF7\u4F60\u914D\u7F6E\u65C1\u8DEF\u7531\u4FE1\u606F")),1),t("form",{onSubmit:pt(w,["prevent"])},[t("label",null,[t("div",Ky,[t("span",null,o(e(i)("LAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F")),1)]),t("div",Qy,[t("select",{disabled:"",style:Bt({backgroundColor:"rgba(215, 215, 215, 1)",color:"#333"})},[t("option",null,o(e(i)("\u65C1\u8DEF\u7531\u6A21\u5F0F\u4EC5\u652F\u6301\u9759\u6001IP\u5730\u5740")),1)],4)])]),t("label",null,[t("div",Xy,[t("span",null,o(e(i)("IP \u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":f[2]||(f[2]=D=>p.value.staticLanIp=D),placeholder:e(i)("IP\u5730\u5740"),required:""},null,8,tF),[[tt,p.value.staticLanIp,void 0,{trim:!0}]])]),t("label",null,[t("div",eF,[t("span",null,o(e(i)("\u5B50\u7F51\u63A9\u7801")),1)]),T(t("input",{type:"text","onUpdate:modelValue":f[3]||(f[3]=D=>p.value.subnetMask=D),placeholder:e(i)("\u5B50\u7F51\u63A9\u7801"),required:""},null,8,aF),[[tt,p.value.subnetMask,void 0,{trim:!0}]])]),t("label",null,[t("div",oF,[t("span",null,o(e(i)("\u7F51\u5173\u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":f[4]||(f[4]=D=>p.value.gateway=D),placeholder:e(i)("\u7F51\u5173\u5730\u5740"),required:""},null,8,nF),[[tt,p.value.gateway,void 0,{trim:!0}]])]),t("label",null,[t("div",iF,[t("span",null,o(e(i)("DNS\u670D\u52A1\u5668")),1)]),T(t("input",{type:"text","onUpdate:modelValue":f[5]||(f[5]=D=>p.value.staticDnsIp=D),placeholder:e(i)("223.5.5.5"),required:""},null,8,rF),[[tt,p.value.staticDnsIp,void 0,{trim:!0}]])]),c.value?(s(),l("div",sF,o(c.value),1)):C("",!0),t("div",dF,[z(g,{modelValue:p.value.enableDhcp,"onUpdate:modelValue":f[6]||(f[6]=D=>p.value.enableDhcp=D)},{default:R(()=>[p.value.enableDhcp?(s(),l("span",lF,o(e(i)("\u63D0\u4F9B DHCPv4 \u670D\u52A1\uFF08\u9700\u8981\u5173\u95ED\u4E3B\u8DEF\u7531 DHCP \u670D\u52A1\uFF09")),1)):(s(),l("span",uF,o(e(i)("\u63D0\u4F9B DHCPv4 \u670D\u52A1")),1))]),_:1},8,["modelValue"])]),t("div",cF,[z(g,{modelValue:p.value.dhcp6c,"onUpdate:modelValue":f[7]||(f[7]=D=>p.value.dhcp6c=D)},{default:R(()=>[t("span",pF,o(e(i)("\u81EA\u52A8\u83B7\u53D6 IPV6\uFF08\u5373\u5F00\u542F DHCPv6 \u5BA2\u6237\u7AEF\uFF09")),1)]),_:1},8,["modelValue"])]),t("div",fF,[z(g,{modelValue:p.value.enableNat,"onUpdate:modelValue":f[8]||(f[8]=D=>p.value.enableNat=D)},{default:R(()=>[t("span",mF,o(e(i)("\u5F00\u542F NAT\uFF08\u53EF\u4FEE\u590D\u67D0\u4E9B\u65E0\u7EBF\u70ED\u70B9\u4E0D\u80FD\u8BBF\u95EE\u5916\u7F51\u95EE\u9898\uFF09")),1)]),_:1},8,["modelValue"])]),t("div",vF,[t("button",bF,o(e(i)("\u4FDD\u5B58\u914D\u7F6E")),1),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:D})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:D},o(e(i)("\u8FD4\u56DE")),9,gF)]),_:1},8,["to"])])],40,Jy)])):r.value==2?(s(),l("div",hF,[t("h2",_F,o(e(i)("\u914D\u7F6E\u6210\u529F")),1),t("h3",xF,o(e(i)("\u73B0\u5728\uFF0C\u5C06\u672C\u8DEF\u7531WAN\u53E3\u65AD\u5F00\uFF0C\u5C06\u5176\u4E2D\u4E00\u4E2ALAN\u53E3\u4E0E\u4E3B\u8DEF\u7531\u8FDE\u63A5\uFF0C\u5E76\u5C06\u5F53\u524D\u6D4F\u89C8\u5668\u8BBE\u5907\u8FDE\u63A5\u5230\u4E3B\u8DEF\u7531\u3002\u70B9\u51FB\u201C\u8FDB\u5165\u63A7\u5236\u53F0\u201D\u6D4F\u89C8\u5668\u5C06\u8DF3\u8F6C\u5230\u65B0\u7684\u8DEF\u7531IP")),1),t("div",wF,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:y},o(e(i)("\u8FDB\u5165\u63A7\u5236\u53F0")),1)])])):r.value==3?(s(),l("div",kF,[t("h2",yF,o(e(i)("\u65C1\u8DEF\u7531\u81EA\u52A8\u914D\u7F6E")),1),t("code",null,o(e(i)("\u9996\u5148\u786E\u8BA4\u4E3B\u8DEF\u7531\u5F00\u542F\u4E86 DHCP \u670D\u52A1\uFF0C\u786E\u8BA4\u672C\u8DEF\u7531 WAN \u53E3\u662F DHCP \u5BA2\u6237\u7AEF\u6A21\u5F0F\uFF08\u9ED8\u8BA4\u5373\u662F\uFF0C\u5982\u679C\u4E0D\u662F\u53EF\u4F7F\u7528\u201C\u8FDE\u63A5\u73B0\u6709\u8DEF\u7531\u5668\u201D\u5411\u5BFC\u6539\u6210 DHCP \u5BA2\u6237\u7AEF\uFF09\uFF0C\u7136\u540E\u5C06\u672C\u8DEF\u7531 WAN \u53E3\u4E0E\u4E3B\u8DEF\u7531\u7684 LAN \u8FDE\u63A5\uFF0C\u4EE5\u81EA\u52A8\u83B7\u53D6\u914D\u7F6E\u3002")),1),it(" "+o(e(i)("1. \u6EE1\u8DB3\u4E0A\u8FF0\u6761\u4EF6\u4EE5\u540E\uFF0C\u70B9\u51FB\u201C\u5F53\u524D IPv4 \u4E0A\u6E38\u4FE1\u606F\u201D\u4EE5\u5237\u65B0\u5F53\u524D\u8FDE\u63A5\u4FE1\u606F\uFF0C\u6210\u529F\u4EE5\u540E\uFF0C\u201C\u81EA\u52A8\u586B\u5199\u201D\u6309\u94AE\u5C06\u88AB\u6FC0\u6D3B\u3002(\u5931\u8D25\u53EF\u518D\u6B21\u70B9\u51FB)"))+" ",1),t("button",{class:ct(["cbi-button cbi-button-neutral",e(h)?"cbi-button-neutral":"cbi-button-success"]),disabled:_.value,onClick:b},[it(o(e(i)("\u5F53\u524D IPv4 \u4E0A\u6E38\u4FE1\u606F\uFF08\u70B9\u6B64\u5237\u65B0\uFF09"))+" ",1),t("p",EF,[t("ul",null,[t("li",null,o(e(i)("IP \u5730\u5740: "))+o((F=v.value)==null?void 0:F.ipv4addr),1),t("li",null,o(e(i)("\u5B50\u7F51\u63A9\u7801: "))+o(((Y=v.value)==null?void 0:Y.ipv4mask)&&e(Nt).prefixToMask(v.value.ipv4mask)),1),t("li",null,o(e(i)("\u7F51\u5173\u5730\u5740: "))+o((S=v.value)==null?void 0:S.gateway),1),t("li",null,o(e(i)("DNS\u670D\u52A1\u5668: "))+o(((B=v.value)==null?void 0:B.dnsList)&&v.value.dnsList[0]||(e(h)?"":e(i)("\uFF08\u65E0DNS\u670D\u52A1\u5668\uFF0C\u8BF7\u4E4B\u540E\u81EA\u884C\u586B\u5199\u516C\u5171DNS\u670D\u52A1\u5668\uFF0C\u4F8B\u5982 223.5.5.5\uFF09"))),1)])])],10,FF),it(" "+o(e(i)("2. \u70B9\u51FB\u201C\u81EA\u52A8\u586B\u5199\u201D\uFF0C\u5C06\u5207\u6362\u5230\u53C2\u6570\u9875\u5E76\u81EA\u52A8\u586B\u5199\u3002\u6B64\u65F6\u4F9D\u7136\u53EF\u4EE5\u81EA\u884C\u8C03\u6574\u53C2\u6570\u3002"))+" ",1),t("div",$F,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:e(h),onClick:f[9]||(f[9]=D=>x(!0))},o(e(i)("\u81EA\u52A8\u586B\u5199..."))+o(e(h)?e(i)("\uFF08\u8BF7\u5148\u83B7\u53D6IPv4\u4E0A\u6E38\u4FE1\u606F\uFF09"):""),9,CF),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:D})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:D},o(e(i)("\u8FD4\u56DE")),9,DF)]),_:1},8,["to"])])])):C("",!0)}}});var YF=N(BF,[["__scopeId","data-v-2dee59a8"]]);const AF={class:"actioner-container"},SF={class:"actioner-container_header"},zF={class:"actioner-container_body"},PF={class:"label-item"},TF={class:"label-item_key"},IF={class:"label-item_value"},LF=["value"],MF={class:"label-item_tips"},NF={class:"label-item"},OF={class:"label-item_key"},VF={key:0,class:"label-item_value"},GF={class:"msg-warning"},jF={key:1,class:"label-item_value"},qF=["value"],UF={key:1,class:"msg-warning"},RF={class:"label-item_tips"},WF={class:"actioner-container_footer"},HF=["disabled"],ZF=["disabled"],JF={key:1,class:"actioner-container_body setup-loading"},KF={class:"actioner-container_body setup-error"},QF={class:"actioner-container_footer"},XF=["disabled"],tE={class:"actioner-container_body setup-success"},eE={class:"body-title"},aE={class:"actioner-container_footer"},oE=G({props:{Close:{type:Function,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=$("init"),_=$(""),h=[{name:"jbod",title:a("JBOD (\u7EBF\u6027)"),info:a("\u81F3\u5C11\u9700\u89812\u5757\u786C\u76D8\uFF0C\u5C06\u591A\u4E2A\u786C\u76D8\u5408\u5E76\u4E3A\u5355\u4E2A\u5B58\u50A8\u7A7A\u95F4\uFF0C\u5176\u5BB9\u91CF\u7B49\u4E8E\u6240\u6709\u786C\u76D8\u5BB9\u91CF\u7684\u603B\u548C\u3002\u4E0D\u63D0\u4F9B\u6570\u636E\u5197\u4F59\u3002"),select:2},{name:"raid0",title:a("RAID 0 (\u6761\u5E26)"),info:a("\u81F3\u5C11\u9700\u89812\u5757\u786C\u76D8\uFF0C\u201C\u533A\u5757\u5EF6\u5C55\u201D\u529F\u80FD\u662F\u5C06\u6570\u636E\u5206\u6210\u591A\u4E2A\u5757\uFF0C\u5E76\u5C06\u6570\u636E\u5757\u5206\u6563\u5230\u7EC4\u6210\u7684\u591A\u4E2A\u786C\u76D8\u4E0A\u4EE5\u63D0\u9AD8\u6027\u80FD\u7684\u8FC7\u7A0B\u3002\u4E0D\u63D0\u4F9B\u6570\u636E\u5197\u4F59\u3002"),select:2},{name:"raid1",title:a("RAID 1 (\u955C\u50CF)"),info:a("\u81F3\u5C11\u9700\u89812\u5757\u786C\u76D8\uFF0C\u540C\u65F6\u5411\u6240\u6709\u786C\u76D8\u5199\u5165\u76F8\u540C\u7684\u6570\u636E\u3002\u63D0\u4F9B\u6570\u636E\u5197\u4F59\u3002"),select:2},{name:"raid5",title:"RAID 5 ",info:a("\u81F3\u5C11\u9700\u89813\u5757\u786C\u76D8\uFF0C\u6267\u884C\u6BB5\u843D\u5206\u5757\u5EF6\u5C55\uFF0C\u5E76\u5BF9\u5206\u5E03\u5230\u6240\u6709\u7EC4\u6210\u786C\u76D8\u4E0A\u7684\u6570\u636E\u6267\u884C\u5947\u5076\u6821\u9A8C\uFF0C\u4ECE\u800C\u63D0\u4F9B\u6BD4 RAID 1 \u66F4\u6709\u6548\u7684\u6570\u636E\u5197\u4F59\u3002"),select:3},{name:"raid6",title:"RAID 6 ",info:a("\u81F3\u5C11\u9700\u89814\u5757\u786C\u76D8\uFF0C\u6267\u884C\u4E24\u4E2A\u5C42\u7EA7\u7684\u6570\u636E\u5947\u5076\u6821\u9A8C\u4EE5\u5B58\u50A8\u7B49\u4E8E 2 \u4E2A\u786C\u76D8\u5BB9\u91CF\u7684\u5197\u4F59\u6570\u636E\uFF0C\u63D0\u4F9B\u6BD4 RAID 5 \u66F4\u5927\u7A0B\u5EA6\u7684\u6570\u636E\u5197\u4F59\u3002"),select:4},{name:"raid10",title:"RAID 10",info:a("\u81F3\u5C11\u9700\u89814\u5757\u786C\u76D8\uFF0C\u63D0\u4F9B RAID 0 \u7684\u6027\u80FD\u548C RAID 1 \u7684\u6570\u636E\u4FDD\u62A4\u7EA7\u522B\uFF0C\u5C06\u786C\u76D8\u7EC4\u5408\u8FDB\u955C\u50CF\u6570\u636E\u7684\u7531\u4E24\u4E2A\u786C\u76D8\u7EC4\u6210\u7684\u7EC4\u3002"),select:4}],p=$("raid5"),v=$([]),b=m=>{let g="";return h.forEach(F=>{F.name===m&&(g=F.info)}),g},x=$(!1),y=bt({loading:!1,members:[]}),w=m=>{};(()=>L(this,null,function*(){y.loading=!0;try{const m=yield M.Raid.CreateList.GET();if(m!=null&&m.data){const{success:g,error:F,result:Y}=m.data;if(Y&&(y.members=Y.members||[]),F)throw F}}catch(m){console.log(m)}finally{y.loading=!1}}))();const f=()=>L(this,null,function*(){const m=h.filter(F=>F.name===p.value)[0],g=v.value;if(!m){E.Warning(a("\u8BF7\u9009\u62E9raid\u7C7B\u578B"));return}if(g.length==0){E.Warning(a("\u8BF7\u9009\u62E9\u78C1\u76D8"));return}if(m.select>g.length){E.Warning(a("\u8BF7\u9009\u62E9\u81F3\u5C11%{min}\u5757\u78C1\u76D8",{min:""+m.select}));return}if(!!confirm(a("\u662F\u5426\u7ACB\u5373\u521B\u5EFA %{name}\uFF1F\u9009\u62E9\u7684\u786C\u76D8\u6240\u6709\u5206\u533A\u5C06\u4F1A\u88AB\u6E05\u9664\uFF0C\u6B64\u64CD\u4F5C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u786C\u76D8\u6570\u636E\u4E22\u5931\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002",{name:m.name}))&&!!confirm(a("\u786E\u5B9A\u521B\u5EFA %{name}\uFF1F\u8BE5\u64CD\u4F5C\u4E0D\u53EF\u9006,\u8BF7\u8C28\u614E\u64CD\u4F5C",{name:m.name}))){x.value=!0,c.value="loading";try{const F=yield M.Raid.Create.POST({level:m.name,devicePaths:g});if(F.data){const{success:Y,error:S,result:B}=F.data;if(S)throw S;(Y||0)==0&&(c.value="success",r())}}catch(F){_.value=F,c.value="error"}finally{x.value=!1}}});return(m,g)=>{const F=ft("icon-loading"),Y=ft("icon-error"),S=ft("icon-success");return s(),l("div",AF,[t("div",SF,[t("span",null,o(e(a)("RAID\u521B\u5EFA\u5411\u5BFC")),1)]),c.value=="init"?(s(),l(O,{key:0},[t("div",zF,[t("p",null,o(e(a)("RAID\u78C1\u76D8\u9635\u5217\u662F\u7528\u591A\u4E2A\u72EC\u7ACB\u7684\u78C1\u76D8\u7EC4\u6210\u5728\u4E00\u8D77\u5F62\u6210\u4E00\u4E2A\u5927\u7684\u78C1\u76D8\u7CFB\u7EDF\uFF0C\u4ECE\u800C\u5B9E\u73B0\u6BD4\u5355\u5757\u78C1\u76D8\u66F4\u597D\u7684\u5B58\u50A8\u6027\u80FD\u548C\u66F4\u9AD8\u7684\u53EF\u9760\u6027\u3002")),1),t("div",PF,[t("div",TF,[t("span",null,o(e(a)("RAID\u7EA7\u522B\uFF1A")),1)]),t("div",IF,[T(t("select",{"onUpdate:modelValue":g[0]||(g[0]=B=>p.value=B),onChange:w},[(s(),l(O,null,J(h,B=>t("option",{value:B.name},o(B.title),9,LF)),64))],544),[[rt,p.value]])]),t("div",MF,[z(Lt),it(" "+o(b(p.value)),1)])]),t("div",NF,[t("div",OF,[t("span",null,o(e(a)("\u78C1\u76D8\u9635\u5217\u6210\u5458\uFF1A")),1)]),e(y).loading?(s(),l("div",VF,[t("span",GF,o(e(a)("\u68C0\u6D4B\u4E2D...")),1)])):(s(),l("div",jF,[e(y).members.length>0?(s(!0),l(O,{key:0},J(e(y).members,B=>(s(),l("label",null,[T(t("input",{type:"checkbox","onUpdate:modelValue":g[1]||(g[1]=D=>v.value=D),value:B.path},null,8,qF),[[Rt,v.value]]),it(" \u3010"+o(B.model)+"\u3011"+o(B.name)+" "+o(B.path)+" ["+o(B.sizeStr)+"] ",1)]))),256)):(s(),l("span",UF,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u53EF\u7528\u78C1\u76D8\u9635\u5217\u6210\u5458")),1))])),t("div",RF,[z(Lt),it(" "+o(e(a)("\u9009\u62E9\u5C06\u8981\u7528\u4E8E\u521B\u5EFA RAID \u7684\u786C\u76D8\uFF0C\u901A\u8FC7 USB \u63A5\u5165\u7684\u8BBE\u5907\u4E0D\u4F1A\u5728\u5217\u8868\u4E2D\u663E\u793A\uFF08USB\u63A5\u5165\u4E0D\u7A33\u5B9A\uFF09\u3002")),1)])])]),t("div",WF,[t("div",{class:"close",onClick:u,disabled:x.value},o(e(a)("\u53D6\u6D88")),9,HF),t("div",{class:"next",onClick:f,disabled:x.value},o(e(a)("\u521B\u5EFA")),9,ZF)])],64)):c.value=="loading"?(s(),l("div",JF,[z(F,{size:60,color:"#666"}),t("span",null,o(e(a)("\u6B63\u5728\u521B\u5EFA\u4E2D...")),1)])):c.value=="error"?(s(),l(O,{key:2},[t("div",KF,[z(Y),t("span",null,o(_.value),1)]),t("div",QF,[t("div",{class:"close",onClick:u},o(e(a)("\u5173\u95ED")),1),t("div",{class:"next",onClick:f,disabled:x.value},o(e(a)("\u91CD\u65B0\u521B\u5EFA")),9,XF)])],64)):c.value=="success"?(s(),l(O,{key:3},[t("div",tE,[z(S),t("div",eE,o(e(a)("\u521B\u5EFA\u6210\u529F")),1)]),t("div",aE,[t("div",{class:"close",onClick:u},o(e(a)("\u5173\u95ED")),1)])],64)):C("",!0)])}}});var nE=N(oE,[["__scopeId","data-v-77451104"]]);const iE={class:"actioner-container"},rE={class:"actioner-container_body"},sE=["value"],dE={class:"actioner-container_footer"},lE=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=$("");return(()=>{M.Raid.Detail.POST({path:i.raid.path}).then(_=>{if(_.data){const{result:h,error:p}=_.data;p?r.value=p:r.value=(h==null?void 0:h.detail)||""}}).catch(_=>{r.value=_.message})})(),(_,h)=>(s(),l("div",iE,[t("div",rE,[t("textarea",{value:r.value},null,8,sE)]),t("div",dE,[t("div",{class:"close",onClick:u},o(e(a)("\u5173\u95ED")),1)])]))}});var uE=N(lE,[["__scopeId","data-v-5ec616d8"]]);const cE={class:"actioner-container"},pE={class:"actioner-container_header"},fE={class:"actioner-container_body"},mE={class:"label-item"},vE={class:"label-item_key"},bE={class:"label-item_value"},gE={disabled:""},hE={class:"label-item"},_E={class:"label-item_key"},xE={key:0,class:"label-item_value"},wE={class:"msg-warning"},kE={key:1,class:"label-item_value"},yE=["value"],FE={key:1,class:"msg-warning"},EE={class:"actioner-container_footer"},$E=["disabled"],CE=["disabled"],DE=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=()=>L(this,null,function*(){const b=p.value;if(b==""){E.Warning(a("\u8BF7\u9009\u62E9\u8981\u6DFB\u52A0\u7684\u786C\u76D8"));return}h.value=!0;const x=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const y=yield M.Raid.Add.POST({path:i.raid.path,memberPath:b});if(y.data){const{error:w,success:k}=y.data;if(w)throw w;(k||0)==0&&(E.Success(a("\u4FDD\u5B58\u6210\u529F")),r(),u())}}catch(y){E.Error(`${y}`)}finally{h.value=!1,x.Close()}}),_=bt({loading:!1,members:[]}),h=$(!1),p=$("");return(()=>L(this,null,function*(){_.loading=!0,h.value=!0;try{const b=yield M.Raid.CreateList.GET();if(b!=null&&b.data){const{success:x,error:y,result:w}=b.data;if(w&&(_.members=w.members||[]),y)throw y}}catch(b){console.log(b)}finally{h.value=!1,_.loading=!1}}))(),(b,x)=>(s(),l("div",cE,[t("div",pE,[t("span",null,"RAID - "+o(n.raid.name)+" "+o(e(a)("\u4FEE\u6539")),1)]),t("div",fE,[t("div",mE,[t("div",vE,o(e(a)("\u8BBE\u5907")),1),t("div",bE,[t("select",gE,[t("option",null,o(n.raid.name)+"_"+o(n.raid.venderModel)+" ("+o(n.raid.path)+"\uFF0C"+o(n.raid.level)+"\uFF0C"+o(n.raid.size)+") ",1)])])]),t("div",hE,[t("div",_E,o(e(a)("\u9009\u62E9\u786C\u76D8\uFF08\u9009\u62E9\u88AB\u6DFB\u52A0\u5230RAID\u7684\u786C\u76D8\uFF09\uFF1A")),1),e(_).loading?(s(),l("div",xE,[t("span",wE,o(e(a)("\u68C0\u6D4B\u4E2D...")),1)])):(s(),l("div",kE,[e(_).members.length>0?(s(!0),l(O,{key:0},J(e(_).members,y=>(s(),l("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":x[0]||(x[0]=w=>p.value=w),value:y.path},null,8,yE),[[yt,p.value]]),it(" \u3010"+o(y.model)+"\u3011"+o(y.name)+" "+o(y.path)+" ["+o(y.sizeStr)+"] ",1)]))),256)):(s(),l("span",FE,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u53EF\u7528\u78C1\u76D8\u9635\u5217\u6210\u5458")),1))]))])]),t("div",EE,[t("div",{class:"close",onClick:u,disabled:h.value},o(e(a)("\u53D6\u6D88")),9,$E),t("div",{class:"next",onClick:c,disabled:h.value},o(e(a)("\u4FDD\u5B58")),9,CE)])]))}});var BE=N(DE,[["__scopeId","data-v-70cb932e"]]);const YE={class:"actioner-container"},AE={class:"actioner-container_header"},SE={class:"actioner-container_body"},zE={class:"label-item"},PE={class:"label-item_key"},TE={class:"label-item_value"},IE={disabled:""},LE={class:"label-item"},ME={class:"label-item_key"},NE={class:"label-item_value"},OE=["value"],VE={class:"actioner-container_footer"},GE=["disabled"],jE=["disabled"],qE=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=()=>L(this,null,function*(){const p=h.value;if(p==""){E.Warning(a("\u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u786C\u76D8"));return}_.value=!0;const v=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const b=yield M.Raid.Remove.POST({path:i.raid.path,memberPath:p});if(b.data){const{error:x,success:y}=b.data;if(x)throw x;(y||0)==0&&(E.Success(a("\u4FDD\u5B58\u6210\u529F")),r(),u())}}catch(b){E.Error(`${b}`)}finally{_.value=!1,v.Close()}}),_=$(!1),h=$("");return(p,v)=>(s(),l("div",YE,[t("div",AE,[t("span",null,"RAID - "+o(n.raid.name)+" "+o(e(a)("\u79FB\u9664")),1)]),t("div",SE,[t("div",zE,[t("div",PE,o(e(a)("\u8BBE\u5907")),1),t("div",TE,[t("select",IE,[t("option",null,o(n.raid.name)+"_"+o(n.raid.venderModel)+" ("+o(n.raid.path)+"\uFF0C"+o(n.raid.level)+"\uFF0C"+o(n.raid.size)+") ",1)])])]),t("div",LE,[t("div",ME,o(e(a)("\u9009\u62E9\u786C\u76D8\uFF08\u9009\u62E9\u8981\u4ECERAID\u9635\u5217\u4E2D\u5220\u9664\u7684\u786C\u76D8\uFF09\uFF1A")),1),t("div",NE,[(s(!0),l(O,null,J(n.raid.members,b=>(s(),l("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":v[0]||(v[0]=x=>h.value=x),value:b},null,8,OE),[[yt,h.value]]),it(" "+o(b),1)]))),256))])])]),t("div",VE,[t("div",{class:"close",onClick:u,disabled:_.value},o(e(a)("\u53D6\u6D88")),9,GE),t("div",{class:"next",onClick:c,disabled:_.value},o(e(a)("\u4FDD\u5B58")),9,jE)])]))}});var UE=N(qE,[["__scopeId","data-v-56c0f6fb"]]);const RE={class:"actioner-container"},WE={class:"actioner-container_header"},HE={class:"actioner-container_body"},ZE={class:"label-item"},JE={class:"label-item_key"},KE={class:"label-item_value"},QE={disabled:""},XE={class:"label-item"},t$={class:"label-item_key"},e$={key:0,class:"label-item_value"},a$={class:"msg-warning"},o$={key:1,class:"label-item_value"},n$=["value"],i$={key:1,class:"msg-warning"},r$={class:"actioner-container_footer"},s$=["disabled"],d$=["disabled"],l$=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=()=>L(this,null,function*(){const b=p.value;if(b==""){E.Warning(a("\u8BF7\u9009\u62E9\u8981\u6DFB\u52A0\u7684\u786C\u76D8"));return}h.value=!0;const x=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const y=yield M.Raid.Recover.POST({path:i.raid.path,memberPath:b});if(y.data){const{error:w,success:k}=y.data;if(w)throw w;(k||0)==0&&(E.Success(a("\u4FDD\u5B58\u6210\u529F")),r(),u())}}catch(y){E.Error(`${y}`)}finally{h.value=!1,x.Close()}}),_=bt({loading:!1,members:[]}),h=$(!1),p=$("");return(()=>L(this,null,function*(){_.loading=!0,h.value=!0;try{const b=yield M.Raid.CreateList.GET();if(b!=null&&b.data){const{success:x,error:y,result:w}=b.data;if(w&&(_.members=w.members||[]),y)throw y}}catch(b){console.log(b)}finally{h.value=!1,_.loading=!1}}))(),(b,x)=>(s(),l("div",RE,[t("div",WE,[t("span",null,"RAID - "+o(n.raid.name)+" "+o(e(a)("\u6062\u590D")),1)]),t("div",HE,[t("div",ZE,[t("div",JE,o(e(a)("\u8BBE\u5907")),1),t("div",KE,[t("select",QE,[t("option",null,o(n.raid.name)+"_"+o(n.raid.venderModel)+" ("+o(n.raid.path)+"\uFF0C"+o(n.raid.level)+"\uFF0C"+o(n.raid.size)+") ",1)])])]),t("div",XE,[t("div",t$,o(e(a)("\u9009\u62E9\u786C\u76D8\uFF08\u9009\u62E9\u7A7A\u95F2\u7684\u786C\u76D8\u6062\u590DRAID\u8BBE\u5907\uFF09\uFF1A")),1),e(_).loading?(s(),l("div",e$,[t("span",a$,o(e(a)("\u68C0\u6D4B\u4E2D...")),1)])):(s(),l("div",o$,[e(_).members.length>0?(s(!0),l(O,{key:0},J(e(_).members,y=>(s(),l("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":x[0]||(x[0]=w=>p.value=w),value:y.path},null,8,n$),[[yt,p.value]]),it(" \u3010"+o(y.model)+"\u3011"+o(y.name)+" "+o(y.path)+" ["+o(y.sizeStr)+"] ",1)]))),256)):(s(),l("span",i$,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u53EF\u7528\u78C1\u76D8\u9635\u5217\u6210\u5458")),1))]))])]),t("div",r$,[t("div",{class:"close",onClick:u,disabled:h.value},o(e(a)("\u53D6\u6D88")),9,s$),t("div",{class:"next",onClick:c,disabled:h.value},o(e(a)("\u4FDD\u5B58")),9,d$)])]))}});var u$=N(l$,[["__scopeId","data-v-0586260e"]]);const c$={class:"action-main"},p$=G({props:{Close:{type:Function,required:!0},setup:{type:String,default:"create"},raid:{type:Object},success:{type:Function}},setup(n){return(i,a)=>(s(),H(ht,{type:2},{default:R(()=>[t("div",c$,[n.setup=="create"?(s(),H(nE,{key:0,Close:n.Close},null,8,["Close"])):n.setup=="info"&&n.raid!=null?(s(),H(uE,{key:1,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):n.setup=="edit"&&n.raid!=null?(s(),H(BE,{key:2,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):n.setup=="remove"&&n.raid!=null?(s(),H(UE,{key:3,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):n.setup=="recover"&&n.raid!=null?(s(),H(u$,{key:4,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):C("",!0)])]),_:1}))}});var f$=N(p$,[["__scopeId","data-v-e20ba082"]]);const ce=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(f$,mt(ut({},n),{Close:()=>{d()}}));a.use(Ba),a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},Ua=n=>(st("data-v-f1411b40"),n=n(),dt(),n),m$={id:"page"},v$={name:"content"},b$={class:"cbi-map-descr"},g$={style:{color:"#f5365b","margin-top":"10px"}},h$={style:{color:"#f5365b","margin-top":"10px"}},_$={class:"btns"},x$=["disabled"],w$={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},k$={class:"table cbi-section-table"},y$={style:{}},F$={class:"tr cbi-section-table-titles anonymous"},E$={class:"th cbi-section-table-cell","data-widget":"value"},$$={class:"th cbi-section-table-cell","data-widget":"value"},C$={class:"th cbi-section-table-cell","data-widget":"value"},D$={class:"th cbi-section-table-cell","data-widget":"value"},B$={class:"th cbi-section-table-cell","data-widget":"value"},Y$={class:"th cbi-section-table-cell","data-widget":"value"},A$={class:"th cbi-section-table-cell","data-widget":"value"},S$={class:"th cbi-section-table-cell","data-widget":"value"},z$={class:"tr cbi-section-table-row"},P$={class:"td cbi-value-field"},T$={class:"td cbi-value-field"},I$=["title"],L$={class:"item-status"},M$={key:0,class:"item-status item-status-detail"},N$={class:"td cbi-value-field"},O$={class:"td cbi-value-field"},V$={class:"td cbi-value-field"},G$=Ua(()=>t("br",null,null,-1)),j$={class:"td cbi-value-field"},q$=Ua(()=>t("br",null,null,-1)),U$={key:1,href:"/cgi-bin/luci/admin/quickstart/"},R$={class:"td cbi-section-table-cell nowrap cbi-section-actions"},W$=["title","disabled","onClick"],H$=["title","disabled","onClick"],Z$=["title","onClick"],J$=["title","onClick"],K$=["title","onClick"],Q$=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=bt({disksList:[]}),u=()=>L(this,null,function*(){try{const f=yield M.Raid.List.GET();if(f!=null&&f.data){const{success:m,error:g,result:F}=f.data;if(F&&(d.disksList=F.disks||[]),g)throw g}}catch(f){console.log(f)}}),r=It.easyInterval(u,5e3);Ae(()=>{r()});const c=f=>{switch(f.level){case"raid0":case"jbod":return!0}return f.status.indexOf("degraded")!=-1||f.status.indexOf("resyncing(")!=-1},_=f=>{let m=[];return f.childrens&&f.childrens.forEach(g=>{g.mountPoint&&m.push(`${g.name}(${g.mountPoint})`)}),m},h=()=>L(this,null,function*(){ce({setup:"create",success:()=>{u()}})}),p=f=>{ce({setup:"info",raid:f})},v=f=>L(this,null,function*(){if(f.childrens&&f.childrens.length>0&&f.childrens.filter(F=>F.mountPoint).length>0){Ye({content:i("\u5220\u9664 RAID \u8BBE\u5907\u4E4B\u524D\u8BF7\u5148\u5378\u8F7D\u6587\u4EF6\u7CFB\u7EDF"),nextTitle:i("\u53BB\u5378\u8F7D"),next:()=>{location.href="/cgi-bin/luci/admin/system/mounts"},clearTitle:i("\u53D6\u6D88"),clear:()=>{}});return}if(!confirm(i("\u786E\u5B9A\u8981\u5220\u9664 %{name} \u8BE5\u78C1\u76D8\u9635\u5217\u5417\uFF1F\u5220\u9664\u64CD\u4F5C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u6570\u636E\u4E22\u5931\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002\u5220\u9664\u6210\u529F\u540E\uFF0C\u5982\u9700\u53E6\u5916\u7EC4RAID\uFF0C\u5EFA\u8BAE\u7A0D\u7B49\u51E0\u5206\u949F\u540E\u518D\u8BD5\u3002",{name:f.name}))||!confirm(i("\u786E\u5B9A\u8981\u5220\u9664 %{name} \u5417?",{name:f.name})))return;const m=E.Loading(i("\u5220\u9664\u4E2D..."));try{const g=yield M.Raid.Delete.POST({path:f.path,members:f.members});if(g.data){const{success:F,error:Y}=g.data;if(Y)throw Y;(F||0)==0&&(E.Success(i("\u5220\u9664\u6210\u529F")),u())}}catch(g){E.Error(`${g}`)}finally{m.Close()}}),b=f=>{ce({setup:"edit",raid:f,success:()=>{u()}})},x=f=>{ce({setup:"remove",raid:f,success:()=>{u()}})},y=f=>{ce({setup:"recover",raid:f,success:()=>{u()}})},w=$(!1),k=()=>{Ye({content:i("\u5C06\u626B\u63CF\u78C1\u76D8\u91CC RAID \u7684\u78C1\u76D8\u9635\u5217\u914D\u7F6E\u5E76\u6062\u590D\uFF0C\u786E\u5B9A\u8981\u6062\u590D RAID \u78C1\u76D8\u9635\u5217\u5417\uFF1F"),nextTitle:i("\u786E\u5B9A"),next:()=>L(this,null,function*(){w.value=!0;const f=E.Loading(i("\u626B\u63CF\u4E2D..."));try{const m=yield M.Raid.Autofix.GET();if(m.data){const{error:g,success:F}=m.data;if(g)throw g;(F||0)==0&&(E.Success(i("\u6062\u590D\u5B8C\u6210")),u())}}catch(m){E.Error(`${m}`)}finally{f.Close(),w.value=!1}}),clearTitle:i("\u53D6\u6D88"),clear:()=>{}})};return(f,m)=>(s(),l("div",m$,[t("h2",v$,o(e(i)("RAID\u7BA1\u7406")),1),t("div",b$,[t("p",null,o(e(i)("RAID \uFF08 Redundant Array of Independent Disks \uFF09\u5373\u72EC\u7ACB\u78C1\u76D8\u5197\u4F59\u9635\u5217\uFF0C\u7B80\u79F0\u4E3A\u300C\u78C1\u76D8\u9635\u5217\u300D\uFF0C\u5C31\u662F\u7528\u591A\u4E2A\u72EC\u7ACB\u7684\u78C1\u76D8\u7EC4\u6210\u5728\u4E00\u8D77\u5F62\u6210\u4E00\u4E2A\u5927\u7684\u78C1\u76D8\u7CFB\u7EDF\uFF0C\u4ECE\u800C\u5B9E\u73B0\u6BD4\u5355\u5757\u78C1\u76D8\u66F4\u597D\u7684\u5B58\u50A8\u6027\u80FD\u548C\u66F4\u9AD8\u7684\u53EF\u9760\u6027\u3002")),1),t("p",g$," * "+o(e(i)("RAID\u529F\u80FD\u6B63\u5728\u516C\u6D4B\u4E2D\uFF0C\u4F7F\u7528\u8FC7\u7A0B\u4E2D\u5982\u9020\u6210\u6570\u636E\u4E22\u5931\u7B49\u95EE\u9898\uFF0C\u6982\u4E0D\u8D1F\u8D23\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528\u3002")),1),t("p",h$," * "+o(e(i)("\u5982\u679C\u7531\u4E8E\u7CFB\u7EDF\u91CD\u7F6E\u6216\u91CD\u542F\u5BFC\u81F4\u7684RAID\u8BBE\u5907\u4E22\u5931\u53EF\u4EE5\u5C1D\u8BD5\u901A\u8FC7\u4E0B\u65B9'\u626B\u63CF\u6062\u590DRAID'\u6309\u94AE\u6062\u590D")),1)]),t("div",_$,[t("button",{class:"btn cbi-button cbi-button-apply",onClick:m[0]||(m[0]=g=>h())},o(e(i)("\u521B\u5EFARAID")),1),t("button",{class:"btn cbi-button cbi-button-apply",onClick:m[1]||(m[1]=g=>k()),disabled:w.value},o(e(i)("\u626B\u63CF\u6062\u590DRAID")),9,x$)]),t("div",null,[t("div",w$,[t("table",k$,[t("tbody",y$,[t("tr",F$,[t("th",E$,o(e(i)("\u540D\u79F0")),1),t("th",$$,o(e(i)("\u8BBE\u5907")),1),t("th",C$,o(e(i)("\u72B6\u6001")),1),t("th",D$,o(e(i)("\u7EA7\u522B")),1),t("th",B$,o(e(i)("\u5BB9\u91CF")),1),t("th",Y$,o(e(i)("\u6210\u5458")),1),t("th",A$,o(e(i)("\u6302\u8F7D\u4FE1\u606F")),1),t("th",S$,o(e(i)("\u64CD\u4F5C")),1)]),(s(!0),l(O,null,J(e(d).disksList,g=>(s(),l("tr",z$,[t("td",P$,[t("b",null,o(g.name),1)]),t("td",T$,[t("b",null,o(g.path),1)]),t("td",{class:"td cbi-value-field",title:g.status+(g.rebuildStatus||"")},[t("b",L$,o(g.status),1),g.rebuildStatus?(s(),l("b",M$," \u2026 ")):C("",!0)],8,I$),t("td",N$,[t("b",null,o(g.level),1)]),t("td",O$,[t("b",null,o(g.size),1)]),t("td",V$,[(s(!0),l(O,null,J(g.members,F=>(s(),l("b",null,[it(o(F)+" ",1),G$]))),256))]),t("td",j$,[_(g).length>0?(s(!0),l(O,{key:0},J(_(g),F=>(s(),l("b",null,[it(o(F)+" ",1),q$]))),256)):(s(),l("a",U$,o(e(i)("\u53BB\u6302\u8F7D")),1))]),t("td",R$,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u6269\u5145"),disabled:c(g),onClick:F=>b(g)},o(e(i)("\u6269\u5145")),9,W$),t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u79FB\u9664"),disabled:c(g),onClick:F=>x(g)},o(e(i)("\u79FB\u9664")),9,H$),t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u6062\u590D"),onClick:F=>y(g)},o(e(i)("\u6062\u590D")),9,Z$),t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u8BE6\u60C5"),onClick:F=>p(g)},o(e(i)("\u8BE6\u60C5")),9,J$),t("button",{class:"cbi-button cbi-button-remove",title:e(i)("\u5982\u679C\u60A8\u5728RAID\u78C1\u76D8\u9635\u5217\u4E2D\u521B\u5EFA\u4E86\u6587\u4EF6\u7CFB\u7EDF\uFF0C\u5148\u5378\u8F7D\u6587\u4EF6\u7CFB\u7EDF\uFF0C\u540E\u5220\u9664\u6587\u4EF6\u7CFB\u7EDF\u5220\u9664\u64CD\u4F5C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u6570\u636E\u4E22\u5931\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),onClick:F=>v(g)},o(e(i)("\u5220\u9664")),9,K$)])]))),256))])])])])]))}});var X$=N(Q$,[["__scopeId","data-v-f1411b40"]]);const tC=n=>(st("data-v-2b6b4ef9"),n=n(),dt(),n),eC={id:"page"},aC=tC(()=>t("h2",{name:"content"},"S.M.A.R.T.",-1)),oC={class:"cbi-map-descr"},nC={class:"tabs"},iC=["href","onClick"],rC=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=[{to:"/smart",name:i("\u5E38\u89C4\u8BBE\u7F6E")},{to:"/smart/task",name:i("\u8BA1\u5212\u4EFB\u52A1")},{to:"/smart/log",name:i("\u67E5\u770B\u65E5\u5FD7")}],u=$(!1),r=bt({global:{enable:!1,powermode:"never",tmpDiff:0,tmpMax:0},devices:[],tasks:[]}),c=p=>{const{global:v,devices:b,tasks:x}=p;v&&(r.global.enable=v.enable||!1,r.global.powermode=v.powermode||"never"),r.devices=b||[],r.tasks=x||[]};(()=>L(this,null,function*(){try{const p=yield M.Smart.Config.GET();if(p.data){const{result:v}=p.data;v&&c(v)}}catch(p){}finally{u.value=!0}}))();const h=p=>L(this,null,function*(){const v=E.Loading(i("\u4FDD\u5B58\u4E2D..."));try{const b=yield M.Smart.Config.POST(p);if(b.data){console.log(b.data);const{success:x,error:y,result:w}=b.data;if(y)throw y;(x||0)==0&&(E.Success(i("\u4FDD\u5B58\u6210\u529F")),w&&c(w))}}catch(b){E.Error(`${b}`)}finally{v.Close()}});return(p,v)=>{const b=ft("router-link"),x=ft("router-view");return s(),l("div",eC,[aC,t("div",oC,[t("p",null,o(e(i)("S.M.A.R.T.\uFF0C\u5168\u79F0\u4E3A\u201CSelf-Monitoring Analysis and Reporting Technology\u201D\uFF0C\u5373\u201C\u81EA\u6211\u76D1\u6D4B\u3001\u5206\u6790\u53CA\u62A5\u544A\u6280\u672F\u201D\uFF0C")),1),t("p",null,o(e(i)("\u662F\u4E00\u79CD\u81EA\u52A8\u7684\u786C\u76D8\u72B6\u6001\u68C0\u6D4B\u4E0E\u9884\u8B66\u7CFB\u7EDF\u548C\u89C4\u8303\u3002\u901A\u8FC7\u5728\u786C\u76D8\u786C\u4EF6\u5185\u7684\u68C0\u6D4B\u6307\u4EE4\u5BF9\u786C\u76D8\u7684\u786C\u4EF6\u5982\u78C1\u5934\u3001\u76D8\u7247\u3001\u9A6C\u8FBE\u3001")),1),t("p",null,o(e(i)("\u7535\u8DEF\u7684\u8FD0\u884C\u60C5\u51B5\u8FDB\u884C\u76D1\u63A7\u3001\u8BB0\u5F55\u5E76\u4E0E\u5382\u5546\u6240\u8BBE\u5B9A\u7684\u9884\u8BBE\u5B89\u5168\u503C\u8FDB\u884C\u6BD4\u8F83\uFF0C\u82E5\u76D1\u63A7\u60C5\u51B5\u5C06\u8981\u6216\u5DF2\u8D85\u51FA\u9884\u8BBE\u5B89\u5168\u503C\u7684\u5B89\u5168\u8303\u56F4\uFF0C")),1),t("p",null,o(e(i)("\u5C31\u53EF\u4EE5\u901A\u8FC7\u4E3B\u673A\u7684\u76D1\u63A7\u786C\u4EF6\u6216\u8F6F\u4EF6\u81EA\u52A8\u5411\u7528\u6237\u4F5C\u51FA\u8B66\u544A\u5E76\u8FDB\u884C\u8F7B\u5FAE\u7684\u81EA\u52A8\u4FEE\u590D\uFF0C\u4EE5\u63D0\u524D\u4FDD\u969C\u786C\u76D8\u6570\u636E\u7684\u5B89\u5168\u3002")),1)]),t("ul",nC,[(s(),l(O,null,J(d,y=>z(b,{to:y.to,custom:"",key:y.to},{default:R(({route:w,href:k,navigate:f,isActive:m,isExactActive:g})=>[t("li",{class:ct({"active cbi-tab":m&&g})},[t("a",{href:k,onClick:f},o(y.name),9,iC)],2)]),_:2},1032,["to"])),64))]),u.value?(s(),H(x,{key:0,name:"default"},{default:R(({Component:y,route:w})=>[(s(),H(no,null,{default:R(()=>[(s(),H(io(y),{key:w.path,config:e(r),saveData:h},null,8,["config"]))]),_:2},1024))]),_:1})):C("",!0)])}}});var sC=N(rC,[["__scopeId","data-v-2b6b4ef9"]]);const dC={class:"action-main"},lC=G({setup(n){return(i,a)=>(s(),H(ht,{type:2},{default:R(()=>[t("div",dC,[Pt(i.$slots,"default",{},void 0,!0)])]),_:3}))}});var Ne=N(lC,[["__scopeId","data-v-f3b0d6f0"]]);const uC={class:"actioner-container"},cC={class:"actioner-container_header"},pC={class:"actioner-container_body"},fC={class:"cbi-value"},mC={class:"cbi-value-title"},vC={class:"cbi-value-field"},bC={class:"cbi-value-description"},gC={class:"cbi-value"},hC={class:"cbi-value-title"},_C={class:"cbi-value-field"},xC={class:"cbi-checkbox"},wC={value:-1},kC={value:0},yC=["value"],FC={class:"cbi-value-description"},EC={class:"cbi-value"},$C={class:"cbi-value-title"},CC={class:"cbi-value-field"},DC={class:"cbi-checkbox"},BC={value:-1},YC={value:0},AC=["value"],SC={class:"cbi-value-description"},zC={class:"actioner-container_footer"},PC=["disabled"],TC=["disabled"],IC=G({props:{close:{type:Function,required:!0},disk:{type:Object,required:!0},device:{type:Object},next:{type:Function,required:!0}},setup(n){var h,p,v;const i=n,{$gettext:a,$ngettext:d}=W();console.log(i.device);const u=$(!1),r=bt({tmpDiff:((h=i.device)==null?void 0:h.tmpDiff)||0,tmpMax:((p=i.device)==null?void 0:p.tmpMax)||0,devicePath:((v=i.device)==null?void 0:v.devicePath)||""}),c=()=>{u.value=!0,i.close()},_=()=>L(this,null,function*(){u.value=!0;try{yield i.next({tmpDiff:r.tmpDiff,tmpMax:r.tmpMax,devicePath:r.devicePath}),u.value=!1,c()}catch(b){}});return(b,x)=>(s(),H(Ne,null,{default:R(()=>[t("div",uC,[t("div",cC,[t("span",null," S.M.A.R.T. \xBB "+o(e(a)("\u8BBE\u5907"))+" \xBB "+o(n.disk.path),1)]),t("div",pC,[t("div",fC,[t("label",mC,o(e(a)("\u78C1\u76D8")),1),t("div",vC,[t("div",bC,o(n.disk.model)+" [ "+o(n.disk.path)+"\uFF0C"+o(n.disk.sizeStr)+" ] ",1)])]),t("div",gC,[t("label",hC,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u5DEE\u5F02\uFF09")),1),t("div",_C,[t("div",xC,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":x[0]||(x[0]=y=>e(r).tmpDiff=y)},[t("option",wC,o(e(a)("\u4F7F\u7528\u5168\u5C40\u914D\u7F6E")),1),t("option",kC,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(20,y=>t("option",{value:y},o(y)+"\xB0C",9,yC)),64))],512),[[rt,e(r).tmpDiff,void 0,{number:!0}]])]),t("div",FC,o(e(a)("\u81EA\u4E0A\u6B21\u62A5\u544A\u4EE5\u6765\u6E29\u5EA6\u53D8\u5316\u81F3\u5C11 N \u5EA6\uFF0C\u5219\u9700\u62A5\u544A.")),1)])]),t("div",EC,[t("label",$C,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u6700\u5927\uFF09")),1),t("div",CC,[t("div",DC,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":x[1]||(x[1]=y=>e(r).tmpMax=y)},[t("option",BC,o(e(a)("\u4F7F\u7528\u5168\u5C40\u914D\u7F6E")),1),t("option",YC,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(20,y=>t("option",{value:y*5},o(y*5)+"\xB0C",9,AC)),64))],512),[[rt,e(r).tmpMax,void 0,{number:!0}]])]),t("div",SC,o(e(a)("\u5982\u679C\u6E29\u5EA6\u5927\u4E8E\u6216\u7B49\u4E8E N \u6444\u6C0F\u5EA6\u5219\u62A5\u544A.")),1)])])]),t("div",zC,[t("button",{class:"close",onClick:c,disabled:u.value},o(e(a)("\u53D6\u6D88")),9,PC),t("button",{class:"next",onClick:_,disabled:u.value},o(e(a)("\u4FDD\u5B58")),9,TC)])])]),_:1}))}}),LC={class:"actioner-container"},MC={class:"actioner-container_header"},NC={class:"actioner-container_body"},OC={class:"cbi-value"},VC={class:"cbi-value-title"},GC={class:"cbi-value-field"},jC={class:"cbi-checkbox"},qC={value:""},UC=["value"],RC={class:"cbi-value"},WC={class:"cbi-value-title"},HC={class:"cbi-value-field"},ZC={class:"cbi-checkbox"},JC={value:"short"},KC={value:"long"},QC={value:"conveyance"},XC={value:"offline"},tD={class:"cbi-value"},eD={class:"cbi-value-title"},aD={class:"cbi-value-field"},oD={class:"cbi-checkbox"},nD=t("option",{value:"*"},"*",-1),iD=["value"],rD={class:"cbi-value-description"},sD={class:"cbi-value"},dD={class:"cbi-value-title"},lD={class:"cbi-value-field"},uD={class:"cbi-checkbox"},cD=t("option",{value:"*"},"*",-1),pD=["value"],fD={class:"cbi-value-description"},mD={class:"cbi-value"},vD={class:"cbi-value-title"},bD={class:"cbi-value-field"},gD={class:"cbi-checkbox"},hD=t("option",{value:"*"},"*",-1),_D=["value"],xD={class:"cbi-value-description"},wD={class:"actioner-container_footer"},kD=["disabled"],yD=["disabled"],FD=G({props:{close:{type:Function,required:!0},config:{type:Object,required:!0},next:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=bt({type:"short",devicePath:"",month:"*",dayPerMonth:"*",hour:"*"}),c=$([]);(()=>L(this,null,function*(){try{const v=yield M.Smart.List.GET();if(v.data){const{result:b,error:x}=v.data;b&&b.disks&&(c.value=b.disks)}}catch(v){}}))();const h=()=>{u.value=!0,i.close()},p=()=>L(this,null,function*(){if(r.devicePath==""){E.Warning(a("\u8BF7\u9009\u62E9\u78C1\u76D8"));return}u.value=!0;try{yield i.next(r),h()}catch(v){}finally{u.value=!1}});return(v,b)=>(s(),H(Ne,null,{default:R(()=>[t("div",LC,[t("div",MC,[t("span",null,o(e(a)("\u521B\u5EFA\u8BA1\u5212\u4EFB\u52A1")),1)]),t("div",NC,[t("div",OC,[t("label",VC,o(e(a)("\u78C1\u76D8")),1),t("div",GC,[t("div",jC,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[0]||(b[0]=x=>e(r).devicePath=x)},[t("option",qC,o(e(a)("\u9009\u62E9\u78C1\u76D8")),1),(s(!0),l(O,null,J(c.value,x=>(s(),l("option",{value:x.path},o(x.model)+" [ "+o(x.path)+"\uFF0C"+o(x.sizeStr)+" ] ",9,UC))),256))],512),[[rt,e(r).devicePath,void 0,{trim:!0}]])])])]),t("div",RC,[t("label",WC,o(e(a)("\u7C7B\u578B")),1),t("div",HC,[t("div",ZC,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[1]||(b[1]=x=>e(r).type=x)},[t("option",JC,o(e(a)("\u77ED\u6682\u81EA\u68C0")),1),t("option",KC,o(e(a)("\u957F\u65F6\u81EA\u68C0")),1),t("option",QC,o(e(a)("\u4F20\u8F93\u65F6\u81EA\u68C0")),1),t("option",XC,o(e(a)("\u79BB\u7EBF\u65F6\u81EA\u68C0")),1)],512),[[rt,e(r).type,void 0,{trim:!0}]])])])]),t("div",tD,[t("label",eD,o(e(a)("\u5C0F\u65F6")),1),t("div",aD,[t("div",oD,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[2]||(b[2]=x=>e(r).hour=x)},[nD,(s(),l(O,null,J(24,(x,y)=>t("option",{value:`${y}`},o(y),9,iD)),64))],512),[[rt,e(r).hour,void 0,{trim:!0}]])]),t("div",rD,o(e(a)("* \u8868\u793A\u6BCF\u5C0F\u65F6")),1)])]),t("div",sD,[t("label",dD,o(e(a)("\u5929")),1),t("div",lD,[t("div",uD,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[3]||(b[3]=x=>e(r).dayPerMonth=x)},[cD,(s(),l(O,null,J(31,x=>t("option",{value:`${x}`},o(x),9,pD)),64))],512),[[rt,e(r).dayPerMonth,void 0,{trim:!0}]])]),t("div",fD,o(e(a)("* \u8868\u793A\u6BCF\u5929")),1)])]),t("div",mD,[t("label",vD,o(e(a)("\u6708")),1),t("div",bD,[t("div",gD,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[4]||(b[4]=x=>e(r).month=x)},[hD,(s(),l(O,null,J(12,(x,y)=>t("option",{value:`${x}`},o(x),9,_D)),64))],512),[[rt,e(r).month,void 0,{trim:!0}]])]),t("div",xD,o(e(a)("* \u8868\u793A\u6BCF\u6708")),1)])])]),t("div",wD,[t("button",{class:"close",onClick:h,disabled:u.value},o(e(a)("\u53D6\u6D88")),9,kD),t("button",{class:"next",onClick:p,disabled:u.value},o(e(a)("\u4FDD\u5B58")),9,yD)])])]),_:1}))}}),ED={class:"actioner-container"},$D={class:"actioner-container_header"},CD={class:"actioner-container_body"},DD=["value"],BD={class:"actioner-container_footer"},YD=["disabled"],AD=["disabled"],SD=G({props:{close:{type:Function,required:!0},task:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=$(""),c=$(""),_=$(""),h=()=>L(this,null,function*(){r.value+=".";try{const x=yield M.Smart.Test.Result.POST({type:"selftest",devicePath:i.task.devicePath||""});if(x.data){const{result:y,error:w}=x.data;y&&y.result&&(_.value=y.result),w&&(_.value=w)}}catch(x){x&&(_.value=x)}}),p=It.easyInterval(h,5e3);Ae(()=>{p()});const v=()=>{u.value=!0,p(),i.close()},b=()=>L(this,null,function*(){u.value=!0;try{const x=yield M.Smart.Test.POST({type:i.task.type||"short",devicePath:i.task.devicePath||""});if(x.data){const{success:y,error:w,result:k}=x.data;w&&(c.value=w),k&&k.result&&(c.value=k.result)}}catch(x){c.value=x}finally{}});return(x,y)=>(s(),H(Ne,null,{default:R(()=>[t("div",ED,[t("div",$D,[t("span",null,o(e(a)("\u8FD0\u884C\u8C03\u8BD5")),1)]),t("div",CD,[t("textarea",{value:c.value+` -`+_.value+` -`+r.value,disabled:""},null,8,DD)]),t("div",BD,[t("div",{class:"close",onClick:v,disabled:u.value},o(e(a)("\u5173\u95ED")),9,YD),u.value?C("",!0):(s(),l("div",{key:0,class:"next",onClick:b,disabled:u.value},o(e(a)("\u8FD0\u884C")),9,AD))])])]),_:1}))}});var zD=N(SD,[["__scopeId","data-v-abf07ee0"]]);const PD={class:"actioner-container"},TD={class:"actioner-container_header"},ID={class:"tabs"},LD={class:"actioner-container_body"},MD={key:0,class:"table"},ND={class:"tr"},OD={class:"td left"},VD={class:"td left"},GD={class:"tr"},jD={class:"td left"},qD={class:"td left"},UD={class:"tr"},RD={class:"td left"},WD={class:"td left"},HD=["value"],ZD=["value"],JD=["value"],KD={class:"actioner-container_footer"},QD=["disabled"],XD=G({props:{close:{type:Function,required:!0},disk:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=$("info"),c=x=>{switch(r.value=x,x){case"info":break;case"attribute":v();break;case"log":p();break;case"extend":b();break}},_=()=>{u.value=!0,i.close()},h=bt({log:"",attribute:"",extend:""}),p=()=>L(this,null,function*(){try{const x=yield M.Smart.Test.Result.POST({type:"selftest",devicePath:i.disk.path||""});if(x.data){const{result:y,error:w}=x.data;y&&y.result&&(h.log=y.result),w&&(h.log=w)}}catch(x){h.log=x}}),v=()=>L(this,null,function*(){try{const x=yield M.Smart.Attribute.Result.POST({devicePath:i.disk.path||""});if(x.data){const{result:y,error:w}=x.data;y&&y.result&&(h.attribute=y.result),w&&(h.attribute=w)}}catch(x){h.attribute=x}}),b=()=>L(this,null,function*(){try{const x=yield M.Smart.Extend.Result.POST({devicePath:i.disk.path||""});if(x.data){const{result:y,error:w}=x.data;y&&y.result&&(h.extend=y.result),w&&(h.extend=w)}}catch(x){h.extend=x}});return(x,y)=>(s(),H(Ne,null,{default:R(()=>[t("div",PD,[t("div",TD,[t("ul",ID,[t("li",{class:ct({"active cbi-tab":r.value=="info"}),onClick:y[0]||(y[0]=w=>c("info"))},[t("a",null,o(e(a)("\u8BBE\u5907\u4FE1\u606F")),1)],2),t("li",{class:ct({"active cbi-tab":r.value=="attribute"}),onClick:y[1]||(y[1]=w=>c("attribute"))},[t("a",null,o(e(a)("\u5C5E\u6027")),1)],2),t("li",{class:ct({"active cbi-tab":r.value=="log"}),onClick:y[2]||(y[2]=w=>c("log"))},[t("a",null,o(e(a)("\u81EA\u68C0\u65E5\u5FD7")),1)],2),t("li",{class:ct({"active cbi-tab":r.value=="extend"}),onClick:y[3]||(y[3]=w=>c("extend"))},[t("a",null,o(e(a)("\u6269\u5C55\u4FE1\u606F")),1)],2)])]),t("div",LD,[r.value=="info"?(s(),l("table",MD,[t("tr",ND,[t("td",OD,o(e(a)("\u8BBE\u5907")),1),t("td",VD,o(n.disk.path),1)]),t("tr",GD,[t("td",jD,o(e(a)("\u578B\u53F7")),1),t("td",qD,o(n.disk.model),1)]),t("tr",UD,[t("td",RD,o(e(a)("\u5E8F\u53F7")),1),t("td",WD,o(n.disk.serial),1)])])):r.value=="attribute"?(s(),l("textarea",{key:1,disabled:"",value:e(h).attribute},null,8,HD)):r.value=="log"?(s(),l("textarea",{key:2,disabled:"",value:e(h).log},null,8,ZD)):r.value=="extend"?(s(),l("textarea",{key:3,disabled:"",value:e(h).extend},null,8,JD)):C("",!0)]),t("div",KD,[t("div",{class:"close",onClick:_,disabled:u.value},o(e(a)("\u5173\u95ED")),9,QD)])])]),_:1}))}});var tB=N(XD,[["__scopeId","data-v-4a646cde"]]);const eB=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(IC,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Se(a,i)},aB=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(FD,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Se(a,i)},oB=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(zD,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Se(a,i)},nB=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(tB,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Se(a,i)},iB={class:"cbi-section"},rB={class:"cbi-value"},sB={class:"cbi-value-title"},dB={class:"cbi-value-field"},lB={class:"cbi-checkbox"},uB=["value"],cB={class:"cbi-value"},pB={class:"cbi-value-title"},fB={class:"cbi-value-field"},mB={class:"cbi-checkbox"},vB={value:"never"},bB={value:"sleep"},gB={value:"standby"},hB={value:"idle"},_B={class:"cbi-value-description"},xB=t("br",null,null,-1),wB=t("br",null,null,-1),kB=t("br",null,null,-1),yB=t("br",null,null,-1),FB={class:"cbi-value"},EB={class:"cbi-value-title"},$B={class:"cbi-value-field"},CB={class:"cbi-checkbox"},DB={value:0},BB=["value"],YB={class:"cbi-value-description"},AB={class:"cbi-value"},SB={class:"cbi-value-title"},zB={class:"cbi-value-field"},PB={class:"cbi-checkbox"},TB={value:0},IB=["value"],LB={class:"cbi-value-description"},MB={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},NB={class:"table cbi-section-table"},OB={class:"tr cbi-section-table-titles anonymous"},VB={class:"th cbi-section-table-cell","data-widget":"value"},GB={class:"th cbi-section-table-cell","data-widget":"value"},jB={class:"th cbi-section-table-cell","data-widget":"value"},qB={class:"th cbi-section-table-cell","data-widget":"value"},UB={class:"th cbi-section-table-cell","data-widget":"value"},RB={class:"th cbi-section-table-cell","data-widget":"value"},WB={class:"th cbi-section-table-cell","data-widget":"value"},HB={class:"th cbi-section-table-cell","data-widget":"value"},ZB={class:"tr cbi-section-table-row"},JB={class:"td cbi-value-field"},KB={class:"td cbi-value-field"},QB={class:"td cbi-value-field"},XB={class:"td cbi-value-field"},tY={class:"td cbi-value-field"},eY={class:"td cbi-value-field"},aY={class:"td cbi-value-field"},oY={class:"td cbi-value-field"},nY=["title","onClick"],iY=["title","onClick"],rY={class:"cbi-page-actions control-group"},sY=["value"],dY=G({props:{config:{type:Object,required:!0},saveData:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=bt(i.config),r=()=>{u.global.tmpDiff=i.config.global.tmpDiff||0,u.global.tmpMax=i.config.global.tmpMax||0,u.global.enable=i.config.global.enable||!1,u.global.powermode=i.config.global.powermode||"never",u.devices=i.config.devices||[],u.tasks=i.config.tasks||[]},c=$([]),_=()=>L(this,null,function*(){try{const x=yield M.Smart.List.GET();if(x.data){const{result:y,error:w}=x.data;y&&y.disks&&(c.value=y.disks||[])}}catch(x){}}),h=It.easyInterval(_,5e3);Ae(()=>{h()});const p=()=>L(this,null,function*(){yield i.saveData({global:u.global,devices:i.config.devices,tasks:i.config.tasks}),r()}),v=x=>{nB({disk:x})},b=(x,y)=>L(this,null,function*(){let w=null,k=-1;if(u.devices){for(let f=0;fL(this,null,function*(){f.tmpDiff==-1&&(f.tmpDiff=u.global.tmpDiff),f.tmpMax==-1&&(f.tmpMax=u.global.tmpMax),f.devicePath==""&&(f.devicePath=x.path);let m=[...u.devices];k>=0&&(m[k]=f);const g=new Map;m.forEach(F=>{F.devicePath!=null&&g.set(F.devicePath,null)});for(let F=0;F(s(),l(O,null,[t("fieldset",iB,[t("div",rB,[t("label",sB,o(e(a)("\u542F\u7528")),1),t("div",dB,[t("div",lB,[T(t("input",{type:"checkbox","onUpdate:modelValue":y[0]||(y[0]=w=>e(u).global.enable=w),value:!e(u).global.enable},null,8,uB),[[Rt,e(u).global.enable]])])])]),t("div",cB,[t("label",pB,o(e(a)("\u7535\u6E90\u6A21\u5F0F")),1),t("div",fB,[t("div",mB,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":y[1]||(y[1]=w=>e(u).global.powermode=w)},[t("option",vB,o(e(a)("\u603B\u662F")),1),t("option",bB,o(e(a)("\u7761\u7720")),1),t("option",gB,o(e(a)("\u5F85\u673A")),1),t("option",hB,o(e(a)("\u95F2\u7F6E")),1)],512),[[rt,e(u).global.powermode,void 0,{trim:!0}]])]),t("div",_B,[t("span",null,o(e(a)("\u6D4B\u8BD5\u65F6\u78C1\u76D8\u4F1A\u8F6C\u52A8\uFF0C\u8BF7\u9009\u62E9\u5408\u9002\u7684\u6A21\u5F0F\u6765\u63A7\u5236\u78C1\u76D8\u8F6C\u52A8\u3002")),1),xB,t("span",null,"* "+o(e(a)("\u603B\u662F-\u65E0\u8BBA\u662F\u4EC0\u4E48\u529F\u8017\u6A21\u5F0F\u4E0B\u90FD\u6D4B\u8BD5(\u68C0\u67E5)\u78C1\u76D8\uFF0C\u5F53\u68C0\u67E5\u65F6\uFF0C\u8FD9\u53EF\u80FD\u4F1A\u4F7F\u505C\u8F6C\u7684\u78C1\u76D8\u5F00\u59CB\u8F6C\u52A8\u3002")),1),wB,t("span",null,"* "+o(e(a)("\u7761\u7720-\u5904\u4E8E\u7761\u7720\u6A21\u5F0F\u4E0B\u4E0D\u68C0\u67E5\u8BBE\u5907\u3002")),1),kB,t("span",null,"* "+o(e(a)("\u5F85\u673A-\u5904\u4E8E\u5F85\u673A\u548C\u7761\u7720\u6A21\u5F0F\u4E0B\u4E0D\u68C0\u67E5\u8BBE\u5907\u3002\u6B64\u6A21\u5F0F\u4E0B\u78C1\u76D8\u4E00\u822C\u4E0D\u65CB\u8F6C\uFF0C\u5982\u679C\u4F60\u4E0D\u60F3\u6BCF\u6B21\u68C0\u67E5\u90FD\u8F6C\u52A8\u78C1\u76D8\uFF0C\u90A3\u4E48\u8FD9\u4E2A\u6A21\u5F0F\u6BD4\u8F83\u9002\u5408\u3002")),1),yB,t("span",null,"* "+o(e(a)("\u95F2\u7F6E-\u5904\u4E8E\u5F85\u673A\u3001\u7761\u7720\u3001\u95F2\u7F6E\u6A21\u5F0F\u4E0B\u4E0D\u68C0\u67E5\u8BBE\u5907\uFF0C\u5728\u95F2\u7F6E\u72B6\u6001\u4E0B\uFF0C\u5927\u591A\u6570\u78C1\u76D8\u8FD8\u5728\u8F6C\u52A8\uFF0C\u6240\u4EE5\u8FD9\u53EF\u80FD\u4E0D\u9002\u5408\u4F60\u3002")),1)])])]),t("div",FB,[t("label",EB,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u5DEE\u5F02\uFF09")),1),t("div",$B,[t("div",CB,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":y[2]||(y[2]=w=>e(u).global.tmpDiff=w)},[t("option",DB,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(15,w=>t("option",{value:w},o(w)+"\xB0C",9,BB)),64))],512),[[rt,e(u).global.tmpDiff,void 0,{number:!0}]])]),t("div",YB,o(e(a)("\u81EA\u4E0A\u6B21\u62A5\u544A\u4EE5\u6765\u6E29\u5EA6\u53D8\u5316\u81F3\u5C11 N \u5EA6\uFF0C\u5219\u9700\u62A5\u544A.")),1)])]),t("div",AB,[t("label",SB,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u6700\u5927\uFF09")),1),t("div",zB,[t("div",PB,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":y[3]||(y[3]=w=>e(u).global.tmpMax=w)},[t("option",TB,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(20,w=>t("option",{value:w*5},o(w*5)+"\xB0C",9,IB)),64))],512),[[rt,e(u).global.tmpMax,void 0,{number:!0}]])]),t("div",LB,o(e(a)("\u5982\u679C\u6E29\u5EA6\u5927\u4E8E\u6216\u7B49\u4E8E N \u6444\u6C0F\u5EA6\u5219\u62A5\u544A.")),1)])])]),t("div",MB,[t("table",NB,[t("thead",null,[t("tr",OB,[t("th",VB,o(e(a)("\u8BBE\u5907")),1),t("th",GB,o(e(a)("\u578B\u53F7")),1),t("th",jB,o(e(a)("\u5E8F\u53F7")),1),t("th",qB,o(e(a)("\u5BB9\u91CF")),1),t("th",UB,o(e(a)("\u6E29\u5EA6")),1),t("th",RB,o(e(a)("\u72B6\u6001")),1),t("th",WB,o(e(a)("\u5065\u5EB7")),1),t("th",HB,o(e(a)("\u64CD\u4F5C")),1)])]),t("tbody",null,[(s(!0),l(O,null,J(c.value,(w,k)=>(s(),l("tr",ZB,[t("td",JB,[t("b",null,o(w.path),1)]),t("td",KB,[t("b",null,o(w.model),1)]),t("td",QB,[t("b",null,o(w.serial),1)]),t("td",XB,[t("b",null,o(w.sizeStr),1)]),t("td",tY,[t("b",null,o(w.temp),1)]),t("td",eY,[t("b",null,o(w.status),1)]),t("td",aY,[t("b",null,o(w.health),1)]),t("td",oY,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(a)("\u7F16\u8F91"),onClick:f=>b(w)},o(e(a)("\u7F16\u8F91")),9,nY),t("button",{class:"btn cbi-button cbi-button-apply",title:e(a)("\u8BE6\u60C5"),onClick:f=>v(w)},o(e(a)("\u8BE6\u60C5")),9,iY)])]))),256))])])]),t("span",rY,[t("input",{class:"btn cbi-button cbi-button-apply",type:"button",value:e(a)("\u4FDD\u5B58\u5E76\u5E94\u7528"),onClick:p},null,8,sY)])],64))}}),lY={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},uY={class:"table cbi-section-table"},cY={class:"tr cbi-section-table-titles anonymous"},pY={class:"th cbi-section-table-cell","data-widget":"value"},fY={class:"th cbi-section-table-cell","data-widget":"value"},mY={class:"th cbi-section-table-cell","data-widget":"value"},vY={class:"th cbi-section-table-cell","data-widget":"value"},bY={class:"tr cbi-section-table-row"},gY={class:"td cbi-value-field"},hY={class:"td cbi-value-field"},_Y={class:"td cbi-value-field"},xY={class:"td cbi-value-field"},wY=["title","onClick"],kY=["title","onClick"],yY=G({props:{config:{type:Object,required:!0},saveData:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=bt(i.config),r=p=>{switch(p){case"short":return a("\u77ED\u6682\u81EA\u68C0");case"long":return a("\u957F\u65F6\u81EA\u68C0");case"conveyance":return a("\u4F20\u8F93\u65F6\u81EA\u68C0");case"offline":return a("\u79BB\u7EBF\u65F6\u81EA\u68C0");default:return a("\u672A\u77E5")}},c=()=>{aB({config:i.config,disks:[],next:p=>L(this,null,function*(){yield i.saveData({tasks:[...u.tasks,p],global:i.config.global,devices:i.config.devices}),u.tasks=i.config.tasks||[]})})},_=p=>L(this,null,function*(){const v=[...u.tasks];v.splice(p,1),yield i.saveData({tasks:v,global:i.config.global,devices:i.config.devices}),u.tasks=i.config.tasks||[]}),h=p=>{oB({task:p})};return(p,v)=>(s(),l(O,null,[t("button",{class:"btn cbi-button cbi-button-apply",onClick:v[0]||(v[0]=b=>c())},o(e(a)("\u65B0\u5EFA")),1),t("div",lY,[t("table",uY,[t("thead",null,[t("tr",cY,[t("th",pY,o(e(a)("\u8BBE\u5907")),1),t("th",fY,o(e(a)("\u7C7B\u578B")),1),t("th",mY,o(e(a)("\u8C03\u5EA6")),1),t("th",vY,o(e(a)("\u529F\u80FD")),1)])]),t("tbody",null,[(s(!0),l(O,null,J(e(u).tasks,(b,x)=>(s(),l("tr",bY,[t("td",gY,[t("b",null,o(b.devicePath),1)]),t("td",hY,[t("b",null,o(r(b.type)),1)]),t("td",_Y,[t("b",null,o(b.month)+"/"+o(b.dayPerMonth)+"/"+o(b.hour),1)]),t("td",xY,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(a)("\u8C03\u8BD5"),onClick:y=>h(b)},o(e(a)("\u9884\u89C8")),9,wY),t("button",{class:"cbi-button cbi-button-remove",title:e(a)("\u5220\u9664"),onClick:y=>_(x)},o(e(a)("\u5220\u9664")),9,kY)])]))),256))])])])],64))}}),FY={class:"cbi-section"},EY=["value"],$Y=G({setup(n){return L(this,null,function*(){let i,a;const d=$(""),u=()=>L(this,null,function*(){try{const r=yield M.Smart.Log.GET();if(r.data){const{result:c,error:_}=r.data;c&&c.result&&(d.value=c.result),_&&(d.value=_)}}catch(r){d.value=r}});return[i,a]=ro(()=>u()),yield i,a(),(r,c)=>(s(),l("fieldset",FY,[t("textarea",{value:d.value,disabled:""},null,8,EY)]))})}});var CY=N($Y,[["__scopeId","data-v-997c3dee"]]);const DY={},BY={t:"1659511092204",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2332","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"200",height:"200"},YY=t("path",{d:"M514.048 62.464q93.184 0 175.616 35.328t143.872 96.768 96.768 143.872 35.328 175.616q0 94.208-35.328 176.128t-96.768 143.36-143.872 96.768-175.616 35.328q-94.208 0-176.64-35.328t-143.872-96.768-96.768-143.36-35.328-176.128q0-93.184 35.328-175.616t96.768-143.872 143.872-96.768 176.64-35.328zM772.096 576.512q26.624 0 45.056-18.944t18.432-45.568-18.432-45.056-45.056-18.432l-192.512 0 0-192.512q0-26.624-18.944-45.568t-45.568-18.944-45.056 18.944-18.432 45.568l0 192.512-192.512 0q-26.624 0-45.056 18.432t-18.432 45.056 18.432 45.568 45.056 18.944l192.512 0 0 191.488q0 26.624 18.432 45.568t45.056 18.944 45.568-18.944 18.944-45.568l0-191.488 192.512 0z","p-id":"2333"},null,-1),AY=[YY];function SY(n,i){return s(),l("svg",BY,AY)}var ua=N(DY,[["render",SY]]);const zY=["onSubmit"],PY={class:"actioner-dns_header"},TY={key:0},IY={key:1},LY={class:"actioner-dns_body"},MY={class:"label-item"},NY={class:"label-item_key"},OY={class:"label-item_value"},VY={class:"label-item"},GY={class:"label-item_key"},jY={class:"label-item_value"},qY={value:"dhcp"},UY={key:0,value:"pppoe"},RY={value:"static"},WY={class:"actioner-dns_footer"},HY=["disabled"],ZY=G({props:{Close:{type:Function,required:!0},e:{type:String,required:!0},name:{type:String,required:!0},inface:{type:Object,required:!0},next:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=$(i.inface),c=()=>L(this,null,function*(){E.Loading(a("\u914D\u7F6E\u4E2D...")).Close(),i.next(r.value),_()}),_=()=>{i.Close&&i.Close()};return(h,p)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[t("form",{class:"actioner-dns",onSubmit:pt(c,["prevent"])},[t("div",PY,[n.name=="wan"?(s(),l("span",TY,o(n.e=="edit"?e(a)("\u7F16\u8F91WAN"):e(a)("\u6DFB\u52A0WAN")),1)):(s(),l("span",IY,o(n.e=="edit"?e(a)("\u7F16\u8F91LAN"):e(a)("\u6DFB\u52A0LAN")),1))]),t("div",LY,[t("div",MY,[t("div",NY,[t("span",null,o(e(a)("\u540D\u79F0")),1)]),t("div",OY,[t("span",null,o(r.value.name.toLocaleUpperCase()),1)])]),t("div",VY,[t("div",GY,[t("span",null,o(e(a)("\u534F\u8BAE\uFF08\u7F51\u7EDC\u83B7\u53D6\u65B9\u5F0F\uFF09")),1)]),t("div",jY,[T(t("select",{"onUpdate:modelValue":p[0]||(p[0]=v=>r.value.proto=v)},[t("option",qY,o(e(a)("DHCP\u5BA2\u6237\u7AEF")),1),n.name=="wan"?(s(),l("option",UY,"PPPoE")):C("",!0),t("option",RY,o(e(a)("\u9759\u6001\u5730\u5740")),1)],512),[[rt,r.value.proto]])])])]),t("div",WY,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:u.value},o(e(a)("\u4FDD\u5B58")),9,HY),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:_},o(e(a)("\u53D6\u6D88")),1)])],40,zY)]),_:1},8,["Close"]))}});var JY=N(ZY,[["__scopeId","data-v-6f6071af"]]);const ca=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(JY,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()}},St=n=>(st("data-v-17a2fb98"),n=n(),dt(),n),KY={id:"page"},QY={name:"content"},XY={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},tA={class:"table cbi-section-table"},eA={width:"200"},aA=St(()=>t("col",null,null,-1)),oA=St(()=>t("col",null,null,-1)),nA=St(()=>t("col",{width:"200"},null,-1)),iA={class:"tr cbi-section-table-cell"},rA={class:"th cbi-section-table-cell interface-device","data-widget":"value"},sA={class:"interface-device-flex"},dA=St(()=>t("th",{style:{width:"10px"}},null,-1)),lA=St(()=>t("th",{style:{width:"32px"}},null,-1)),uA=St(()=>t("th",null,null,-1)),cA={class:"tr cbi-section-table-row cbi-rowstyle-1"},pA={class:"td cbi-value-field interface-device info"},fA=["name","value","onUpdate:modelValue","onInput"],mA=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),vA={class:"td cbi-value-field"},bA={class:"td cbi-value-field btns"},gA=["title","onClick"],hA=["onClick"],_A={class:"tr cbi-section-table-row cbi-rowstyle-1"},xA={class:"td cbi-value-field"},wA=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),kA=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),yA={class:"tr cbi-section-table-row cbi-rowstyle-1"},FA={class:"td cbi-value-field interface-device info","data-widget":"value"},EA=["name","value","onUpdate:modelValue","onInput"],$A=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),CA={class:"td cbi-value-field"},DA={class:"td cbi-value-field btns"},BA=["title","onClick"],YA=["onClick"],AA={class:"tr cbi-section-table-row cbi-rowstyle-1"},SA={class:"td cbi-value-field"},zA=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),PA=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),TA={class:"cbi-page-actions control-group"},IA=["value","disabled"],LA=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=bt({devices:[],interfaces:[]}),u=$(!1),r=bt({lan:[],wan:[]});(()=>{M.Network.GetInterfaceConfig.GET().then(y=>{if(y.data){const{result:w}=y.data;if(w){d.devices=w.devices||[],d.interfaces=w.interfaces||[];for(let k=0;k{y=="wan"?r.wan.splice(w,1):y=="lan"&&r.lan.splice(w,1)},h=(y,w)=>{if(w==null){let k=y=="wan"?r.wan.length:r.lan.length;k==6&&y=="wan"&&k++,ca({e:"add",name:y,inface:{name:y+`${k}`,proto:"dhcp",ipv4Addr:"",ipv6Addr:"",portName:"",deviceNames:[],ports:[],firewallType:y},next:f=>{y=="wan"?r.wan.push(f):r.lan.push(f),E.Message(i("\u8BF7\u5728\u4FDD\u5B58\u4EE5\u540E\u524D\u5F80'\u7F51\u7EDC-\u63A5\u53E3'\u9875\u9762\u914D\u7F6E\u63A5\u53E3\u8BE6\u7EC6\u53C2\u6570"))}})}else ca({e:"edit",name:y,inface:y=="wan"?r.wan[w]:r.lan[w],next:k=>{y=="wan"?r.wan[w]=k:r.lan[w]=k}})},p=(y,w)=>y?y.indexOf(w):-1,v=(y,w)=>{const f=y.target.value;for(let g=0;g{const f=y.target.value;for(let m=0;mL(this,null,function*(){u.value=!0;const y=[];for(let k=0;k(s(),l("div",KY,[t("h2",QY,o(e(i)("\u7F51\u53E3\u914D\u7F6E")),1),t("div",null,[t("div",XY,[t("table",tA,[t("colgroup",null,[(s(!0),l(O,null,J(e(d).devices,k=>(s(),l("col",eA))),256)),aA,oA,nA]),t("thead",null,[t("tr",iA,[(s(!0),l(O,null,J(e(d).devices,k=>(s(),l("th",rA,[t("div",sA,[z(za,{item:k},null,8,["item"])])]))),256)),dA,lA,uA])]),t("tbody",null,[(s(!0),l(O,null,J(e(r).lan,(k,f)=>(s(),l("tr",cA,[(s(!0),l(O,null,J(e(d).devices,m=>(s(),l("td",pA,[T(t("input",{type:"checkbox",name:m.name,value:m.name,"onUpdate:modelValue":g=>k.deviceNames=g,onInput:g=>v(g,f)},null,40,fA),[[Rt,k.deviceNames]])]))),256)),mA,t("td",vA,[t("b",null,o(k.name),1)]),t("td",bA,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u7F16\u8F91"),onClick:m=>h("lan",f)},o(e(i)("\u7F16\u8F91")),9,gA),f!=0?(s(),l("button",{key:0,class:"cbi-button cbi-button-remove",onClick:m=>_("lan",f)},o(e(i)("\u5220\u9664")),9,hA)):C("",!0)])]))),256)),t("tr",_A,[(s(!0),l(O,null,J(e(d).devices,k=>(s(),l("td",xA))),256)),wA,kA,t("td",{class:"td cbi-value-field btns",onClick:w[0]||(w[0]=k=>h("lan"))},[z(ua,{class:"icon"})])]),(s(!0),l(O,null,J(e(r).wan,(k,f)=>(s(),l("tr",yA,[(s(!0),l(O,null,J(e(d).devices,m=>(s(),l("td",FA,[T(t("input",{type:"checkbox",name:m.name,value:m.name,"onUpdate:modelValue":g=>k.deviceNames=g,onInput:g=>b(g,f)},null,40,EA),[[Rt,k.deviceNames]])]))),256)),$A,t("td",CA,[t("b",null,o(k.name),1)]),t("td",DA,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u7F16\u8F91"),onClick:m=>h("wan",f)},o(e(i)("\u7F16\u8F91")),9,BA),f!=0?(s(),l("button",{key:0,class:"cbi-button cbi-button-remove",onClick:m=>_("wan",f)},o(e(i)("\u5220\u9664")),9,YA)):C("",!0)])]))),256)),t("tr",AA,[(s(!0),l(O,null,J(e(d).devices,k=>(s(),l("td",SA))),256)),zA,PA,t("td",{class:"td cbi-value-field btns",onClick:w[1]||(w[1]=k=>h("wan"))},[z(ua,{class:"icon"})])])])])]),t("div",TA,[t("input",{class:"btn cbi-button cbi-button-apply",type:"button",value:e(i)("\u4FDD\u5B58\u5E76\u5E94\u7528"),onClick:x,disabled:u.value},null,8,IA)])])]))}});var MA=N(LA,[["__scopeId","data-v-17a2fb98"]]);const ke=n=>(st("data-v-1ad1f636"),n=n(),dt(),n),NA=["onSubmit"],OA={class:"form-item"},VA={class:"label-name"},GA={class:"label-value switch_label"},jA={class:"label-flex pc-radio"},qA=["disabled"],UA=["disabled"],RA=ke(()=>t("div",{class:"switch-button"},null,-1)),WA=[RA],HA={key:0,class:"form-item"},ZA={class:"label-name"},JA={class:"label-value"},KA=["disabled"],QA={value:100},XA={value:70},tS={value:50},eS={value:30},aS={key:0,class:"select-arrow"},oS={class:"form-item"},nS={class:"label-name"},iS={class:"label-value"},rS=["disabled","placeholder"],sS={class:"form-item"},dS={class:"label-name"},lS={class:"label-value"},uS=["disabled"],cS=["value"],pS={key:0,class:"select-arrow"},fS={class:"form-item"},mS={class:"label-name"},vS={class:"label-value"},bS=["type","disabled","placeholder"],gS={key:0,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},hS=ke(()=>t("path",{d:"M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z",fill:"currentColor"},null,-1)),_S=[hS],xS={key:1,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},wS=ke(()=>t("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",fill:"currentColor"},null,-1)),kS=[wS],yS={class:"form-item"},FS={class:"label-name"},ES={class:"label-value"},$S=["disabled"],CS={value:!1},DS={value:!0},BS={key:0,class:"select-arrow"},YS={key:1,class:"form-item"},AS={class:"label-name"},SS={class:"label-value"},zS=["disabled"],PS=["value"],TS={key:0,class:"select-arrow"},IS={key:2,class:"form-item"},LS={class:"label-name"},MS={class:"label-value"},NS=["disabled"],OS=ke(()=>t("option",{value:"20"},"20 MHz",-1)),VS=ke(()=>t("option",{value:"40"},"40 MHz",-1)),GS={key:0,value:"auto"},jS={key:1,value:"80"},qS={key:2,value:"160"},US={key:0,class:"select-arrow"},RS={key:3,class:"form-item"},WS={class:"label-name"},HS={class:"label-value"},ZS=["disabled"],JS={value:0},KS=["value"],QS=["disabled"],XS={value:0},tz=qt('',12),ez={key:2,class:"select-arrow"},az={class:"label-btns"},oz=["disabled"],nz=G({props:{data:null},emits:["getData"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$(Object.assign({},a.data)),c=qe("disabled"),_=$(!0),h=()=>{c.value||(r.value.disabled=!r.value.disabled)};Tt(()=>r.value.disabled,y=>{v()});const p=()=>L(this,null,function*(){if(r.value.txpower===a.data.txpower)return;const y=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:w}=yield M.Quickwifi.Power.POST({device:r.value.device||"",txpower:r.value.txpower||0}),{error:k,success:f}=w;if(k)throw k;(f==null||f==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(w){throw E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),w}finally{y.Close()}}),v=()=>L(this,null,function*(){const y=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:w}=yield M.Quickwifi.Switch.POST({ifaceName:r.value.ifaceName||"",enable:!r.value.disabled}),{error:k,success:f}=w;if(k)throw k;(f==null||f==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(w){throw console.error("\u8BF7\u6C42\u51FA\u9519:",w),E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),w}finally{y.Close()}}),b=()=>L(this,null,function*(){const y=ut({},r.value);delete y.encryptSelects,delete y.hwmodeSelects,delete y.disabled,delete y.txpower;const{data:w}=yield M.Quickwifi.Edit.POST(y),{error:k,success:f}=w;if(k)throw k;(f==null||f==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}),x=()=>L(this,null,function*(){if(c.value)return;c.value=!0;const y=E.Loading("\u914D\u7F6E\u4E2D...");try{yield b(),yield i("getData")}catch(w){const k=E.Error(`${w}`);setTimeout(()=>{k.Close()},2e3)}finally{y.Close(),c.value=!1}});return(y,w)=>(s(),l("form",{class:"form-container",onSubmit:pt(x,["prevent"])},[t("div",OA,[t("div",VA,[t("span",null,o(e(d)("\u542F\u7528Wi-Fi")),1)]),t("div",GA,[t("div",jA,[t("label",null,[T(t("input",{type:"radio",value:!1,"onUpdate:modelValue":w[0]||(w[0]=k=>r.value.disabled=k),disabled:e(c)},null,8,qA),[[yt,r.value.disabled]]),it(" "+o(e(d)("\u5F00\u542F")),1)]),t("label",null,[T(t("input",{type:"radio",value:!0,"onUpdate:modelValue":w[1]||(w[1]=k=>r.value.disabled=k),disabled:e(c)},null,8,UA),[[yt,r.value.disabled]]),it(" "+o(e(d)("\u5173\u95ED")),1)])]),t("div",{class:"mobile-switch",onClick:h},[t("div",{class:ct(["switch-core",{"is-checked":!r.value.disabled,"is-disabled":e(c)}])},WA,2)])])]),r.value.isGuest?C("",!0):(s(),l("div",HA,[t("div",ZA,[t("span",null,o(e(d)("\u53D1\u5C04\u529F\u7387")),1)]),t("div",JA,[T(t("select",{"onUpdate:modelValue":w[2]||(w[2]=k=>r.value.txpower=k),disabled:e(c),onChange:p},[t("option",QA,o(e(d)("\u6700\u5927")),1),t("option",XA,o(e(d)("\u9AD8")),1),t("option",tS,o(e(d)("\u4E2D")),1),t("option",eS,o(e(d)("\u4F4E")),1)],40,KA),[[rt,r.value.txpower]]),e(c)?C("",!0):(s(),l("div",aS))])])),t("div",oS,[t("div",nS,[t("span",null,o(e(d)("Wi-Fi\u540D\u79F0\uFF08SSID\uFF09")),1)]),t("div",iS,[T(t("input",{"onUpdate:modelValue":w[3]||(w[3]=k=>r.value.ssid=k),disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u540D\u79F0")},null,8,rS),[[tt,r.value.ssid]])])]),t("div",sS,[t("div",dS,[t("span",null,o(e(d)("Wi-Fi \u5B89\u5168\u6027")),1)]),t("div",lS,[T(t("select",{"onUpdate:modelValue":w[4]||(w[4]=k=>r.value.encryption=k),disabled:e(c)},[(s(!0),l(O,null,J(r.value.encryptSelects,k=>(s(),l("option",{value:k},o(k),9,cS))),256))],8,uS),[[rt,r.value.encryption]]),e(c)?C("",!0):(s(),l("div",pS))])]),t("div",fS,[t("div",mS,[t("span",null,o(e(d)("Wi-Fi \u5BC6\u7801")),1)]),t("div",vS,[T(t("input",{"onUpdate:modelValue":w[5]||(w[5]=k=>r.value.key=k),class:"password_input",type:_.value?"password":"",disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u5BC6\u7801")},null,8,bS),[[xa,r.value.key]]),e(c)?C("",!0):(s(),l("div",{key:0,onClick:w[6]||(w[6]=k=>_.value=!_.value)},[_.value?(s(),l("svg",gS,_S)):(s(),l("svg",xS,kS))]))])]),t("div",yS,[t("div",FS,[t("span",null,o(e(d)("SSID \u53EF\u89C1\u6027")),1)]),t("div",ES,[T(t("select",{"onUpdate:modelValue":w[7]||(w[7]=k=>r.value.hidden=k),disabled:e(c)},[t("option",CS,o(e(d)("\u663E\u793A")),1),t("option",DS,o(e(d)("\u9690\u85CF")),1)],8,$S),[[rt,r.value.hidden]]),e(c)?C("",!0):(s(),l("div",BS))])]),r.value.isGuest?C("",!0):(s(),l("div",YS,[t("div",AS,[t("span",null,o(e(d)("\u65E0\u7EBF\u6A21\u5F0F")),1)]),t("div",SS,[T(t("select",{"onUpdate:modelValue":w[8]||(w[8]=k=>r.value.hwmode=k),disabled:e(c)},[(s(!0),l(O,null,J(r.value.hwmodeSelects,k=>(s(),l("option",{value:k},o(k),9,PS))),256))],8,zS),[[rt,r.value.hwmode]]),e(c)?C("",!0):(s(),l("div",TS))])])),r.value.isGuest?C("",!0):(s(),l("div",IS,[t("div",LS,[t("span",null,o(e(d)("\u9891\u5BBD")),1)]),t("div",MS,[T(t("select",{"onUpdate:modelValue":w[9]||(w[9]=k=>r.value.htmode=k),disabled:e(c)},[OS,VS,r.value.band==="2g"?(s(),l("option",GS," 20/40 MHz ")):C("",!0),r.value.band==="5g"?(s(),l("option",jS," 80 MHz ")):C("",!0),r.value.band==="5g"?(s(),l("option",qS," 160 MHz ")):C("",!0)],8,NS),[[rt,r.value.htmode]]),e(c)?C("",!0):(s(),l("div",US))])])),r.value.isGuest?C("",!0):(s(),l("div",RS,[t("div",WS,[t("span",null,o(e(d)("\u4FE1\u9053")),1)]),t("div",HS,[r.value.band==="2g"?T((s(),l("select",{key:0,"onUpdate:modelValue":w[10]||(w[10]=k=>r.value.channel=k),disabled:e(c)},[t("option",JS,o(e(d)("\u81EA\u52A8")),1),(s(),l(O,null,J(13,k=>t("option",{value:k},o(k),9,KS)),64))],8,ZS)),[[rt,r.value.channel,void 0,{number:!0}]]):C("",!0),r.value.band==="5g"?T((s(),l("select",{key:1,"onUpdate:modelValue":w[11]||(w[11]=k=>r.value.channel=k),disabled:e(c)},[t("option",XS,o(e(d)("\u81EA\u52A8")),1),tz],8,QS)),[[rt,r.value.channel,void 0,{number:!0}]]):C("",!0),e(c)?C("",!0):(s(),l("div",ez))])])),t("div",az,[t("button",{class:"btn primary-btn",disabled:e(c),onClick:x},o(e(d)("\u4FDD\u5B58\u914D\u7F6E")),9,oz)])],40,NA))}});var iz=N(nz,[["__scopeId","data-v-1ad1f636"]]);const Oe=n=>(st("data-v-40cb5302"),n=n(),dt(),n),rz={id:"page",class:"page-container"},sz={class:"mobile-tags-container"},dz={class:"tags-wrapper"},lz={class:"tags-scroll"},uz=["onClick"],cz={class:"more-btn-wrapper"},pz=Oe(()=>t("div",{class:"fade-overlay"},null,-1)),fz=Oe(()=>t("div",{class:"line"},null,-1)),mz=Oe(()=>t("div",{class:"line"},null,-1)),vz=Oe(()=>t("div",{class:"line"},null,-1)),bz=[fz,mz,vz],gz={class:"page-flex"},hz={class:"page-sidebar"},_z=["onClick"],xz={class:"page-main"},wz={class:"popup-content"},kz={class:"popup-tags"},yz=["onClick"],Fz={class:"popup-footer"},Ez=G({setup(n){var k;const{$gettext:i}=W(),a=$(!1);Re("disabled",a);const d=$([]),u=be(),r=wa(),c=$(String((k=u==null?void 0:u.query)==null?void 0:k.tab)),_=$(!1),h=f=>{var m;return(m=f.band)==null?void 0:m.toUpperCase()},p=f=>f.isGuest?f.band+"_Guest":f.ssid,v=f=>{a.value||(c.value=p(f),_.value=!1,c.value!==u.query.tab&&r.push({query:{tab:c.value}}))},b=$(),x=f=>{a.value||(b.value=p(f))},y=()=>{_.value=!1,b.value!==u.query.tab&&r.push({query:{tab:b.value}})};Tt(()=>_.value,f=>{f?b.value=c.value:c.value=b.value});const w=()=>L(this,null,function*(){try{const{data:f}=yield M.Quickwifi.List.GET(),{error:m,result:g}=f;if(m)throw m;g!=null&&g.ifaces&&(d.value=g.ifaces.map(Y=>mt(ut({},Y),{hidden:Y.hidden||!1,disabled:Y.disabled||!1,isGuest:Y.isGuest||!1,channel:Y.channel||0,txpower:Y.txpower||0,ifaceIndex:Y.ifaceIndex||0})));let F=!1;for(let Y=0;Y0&&v(d.value[0])}catch(f){console.log(f)}});return w(),(f,m)=>(s(),l("div",rz,[t("div",sz,[t("div",dz,[t("div",lz,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:p(g),class:ct(c.value===p(g)?"tag-item active":"tag-item"),onClick:pt(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,uz))),128))]),t("div",cz,[pz,t("div",{class:"more-btn",onClick:m[0]||(m[0]=g=>_.value=!0)},bz)])])]),t("div",gz,[t("div",hz,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:p(g),class:ct(c.value===p(g)?"item activeItem":"item"),onClick:pt(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,_z))),128))]),t("div",xz,[(s(!0),l(O,null,J(d.value,g=>(s(),l(O,{key:p(g)},[c.value===p(g)?(s(),H(iz,{key:0,data:g,onGetData:w},null,8,["data"])):C("",!0)],64))),128))])]),_.value?(s(),l("div",{key:0,class:"popup-overlay",onClick:m[2]||(m[2]=pt(g=>_.value=!1,["self"]))},[t("div",wz,[t("div",kz,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:p(g),class:ct(b.value===p(g)?"popup-tag-item active":"popup-tag-item"),onClick:pt(F=>x(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,yz))),128))]),t("div",Fz,[t("button",{class:"cancel-btn",onClick:m[1]||(m[1]=g=>_.value=!1)},o(e(i)("\u53D6\u6D88")),1),t("button",{class:"confirm-btn",onClick:y},o(e(i)("\u786E\u5B9A")),1)])])])):C("",!0)]))}});var $z=N(Ez,[["__scopeId","data-v-40cb5302"]]);const Cz=()=>window.vue_base||"/cgi-bin/luci/admin/quickstart",Ra=so({history:lo(Cz()),routes:[{name:"IndexPage",path:"/",meta:{title:"\u63A7\u5236\u53F0"},component:fk},{name:"NetworkPage",path:"/network",meta:{title:"\u7F51\u7EDC\u8BBE\u7F6E\u5411\u5BFC"},component:bk,children:[{path:"",component:Sk},{path:"pppoe",component:ey},{path:"dhcp",component:Oy},{path:"gateway",component:YF}]},{path:"/quickwifi",component:$z},{name:"RaidPage",path:"/raid",meta:{title:"raid\u5411\u5BFC"},component:X$},{name:"SmartPage",path:"/smart",meta:{title:"smart\u68C0\u6D4B"},component:sC,children:[{path:"",component:dY},{path:"task",component:yY},{path:"log",component:CY}]},{path:"/interfaceconfig",component:MA}]});Ra.beforeEach((n,i)=>(n.meta.title,!0));const Ft=gt(zo);Ft.component("svg-menu",Oo);Ft.component("svg-system",Ro);Ft.component("svg-download",Qo);Ft.component("svg-store",sn);Ft.component("svg-info",fn);Ft.component("svg-disk",Ln);Ft.component("svg-nav",jn);Ft.component("progress-item",Ca);Ft.component("svg-view-show",fi);Ft.component("svg-view-hidden",_i);Ft.component("article-item",$i);Ft.component("switch-box",Da);Ft.component("editable-select",Zt);Ft.use(Ba);Ft.use(Ra);Ft.use(uo());po(Ft).finally(()=>Ft.mount("#app"))});export default Dz(); +var Ha=Object.defineProperty,Za=Object.defineProperties;var Ja=Object.getOwnPropertyDescriptors;var ia=Object.getOwnPropertySymbols;var Ka=Object.prototype.hasOwnProperty,Qa=Object.prototype.propertyIsEnumerable;var Oe=(n,i,a)=>i in n?Ha(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,ut=(n,i)=>{for(var a in i||(i={}))Ka.call(i,a)&&Oe(n,a,i[a]);if(ia)for(var a of ia(i))Qa.call(i,a)&&Oe(n,a,i[a]);return n},mt=(n,i)=>Za(n,Ja(i));var Xa=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var le=(n,i,a)=>(Oe(n,typeof i!="symbol"?i+"":i,a),a);var L=(n,i,a)=>new Promise((d,u)=>{var r=h=>{try{x(a.next(h))}catch(f){u(f)}},c=h=>{try{x(a.throw(h))}catch(f){u(f)}},x=h=>h.done?d(h.value):Promise.resolve(h.value).then(r,c);x((a=a.apply(n,i)).next())});import{a as to,c as eo,d as me,b as G,e as X,u as e,o as s,f as l,g as t,t as o,n as Bt,h as D,i as z,r as pt,j as ct,k as Pt,w as T,v as Rt,l as ao,m as H,p as R,q as $,s as Tt,x as At,y as rt,F as O,z as J,A as tt,B as qt,C as st,D as dt,E as pa,G as Ot,H as fa,I as ma,J as va,K as ba,L as ga,M as ha,N as _a,O as ft,T as $t,P as gt,Q as qe,R as bt,S as Yt,U as nt,V as yt,W as ve,X as je,Y as xa,Z as Ue,_ as be,$ as wa,a0 as Ye,a1 as oo,a2 as no,a3 as Ae,a4 as io,a5 as ro,a6 as so,a7 as lo,a8 as uo,a9 as co}from"./vendor.js?v=f6aedb30";var $z=Xa(Qt=>{const po=function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))d(u);new MutationObserver(u=>{for(const r of u)if(r.type==="childList")for(const c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&d(c)}).observe(document,{childList:!0,subtree:!0});function a(u){const r={};return u.integrity&&(r.integrity=u.integrity),u.referrerpolicy&&(r.referrerPolicy=u.referrerpolicy),u.crossorigin==="use-credentials"?r.credentials="include":u.crossorigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function d(u){if(u.ep)return;u.ep=!0;const r=a(u);fetch(u.href,r)}};po();const Vt={language:void 0,numberFormat:new Intl.NumberFormat("en",{notation:"compact"})},fo=n=>L(Qt,null,function*(){const i=window.vue_lang;new Date().getTime();let a={};try{const r=yield to({url:window.vue_lang_data,method:"GET"});r.data&&(a=r.data)}catch(r){console.log(r)}const d=eo({defaultLanguage:i,mutedLanguages:["zh-cn"],translations:a,setGlobalProperties:!1,provideDirective:!1,provideComponent:!1});n.use(d),Vt.language=d;const{$gettext:u}=d;window.$i18n=u;try{Vt.numberFormat=new Intl.NumberFormat(i,{notation:"compact"})}catch(r){console.error("Intl.NumberFormat unsupported lang",i,r)}}),W=()=>{if(Vt.language)return Vt.language;throw new Error("I18N Uninitialized!")},Se=()=>({$gettext:(n,i,a)=>{if(Vt.language)return Vt.language.$gettext(n,i,a);throw new Error("I18N Uninitialized!")},$ngettext:(n,i,a,d,u)=>{if(Vt.language)return Vt.language.$ngettext(n,i,a,d,u);throw new Error("I18N Uninitialized!")}}),Ee=n=>typeof n=="number"?Vt.numberFormat.format(n):"?",{$gettext:mo,$ngettext:Bz}=Se(),ka=(n,i)=>L(Qt,null,function*(){return new Promise((a,d)=>L(Qt,null,function*(){try{const u=yield fetch(n,i);if(Math.floor(u.status/100)!=2)throw u.status+" "+u.statusText;const r=ut({},u);r.data=yield u.json(),a(r)}catch(u){const r=u;d(mo("\u7F51\u7EDC\u5F02\u5E38\uFF1A")+((r==null?void 0:r.message)||u))}}))});class Re{constructor(i){le(this,"config",{baseURL:"",headers:{}});le(this,"useRequest",i=>i);le(this,"useResponse",i=>i);le(this,"useError",i=>i);i.baseURL&&(this.config.baseURL=i.baseURL),i.headers&&(this.config.headers=i.headers)}static create(i){return new Re(i)}Do(i,a){return L(this,null,function*(){return new Promise((d,u)=>L(this,null,function*(){try{const r=this.useRequest({baseURL:this.config.baseURL,headers:this.config.headers});i=`${r.baseURL||""}${i}`,a.headers==null&&(a.headers={}),r.headers&&(a.headers=ut({},r.headers));const x=yield fetch(i,a),h=ut({},x);h.data=yield x.json(),d(this.useResponse(h))}catch(r){this.useError(r),u(r)}}))})}TEXT(i,a){return L(this,null,function*(){return new Promise((d,u)=>L(this,null,function*(){try{const r=this.useRequest({baseURL:this.config.baseURL,headers:this.config.headers});i=`${r.baseURL||""}${i}`,a.headers==null&&(a.headers={}),r.headers&&(a.headers=ut({},r.headers));const x=yield fetch(i,a),h=ut({},x);h.data=yield x.text(),d(h)}catch(r){this.useError(r),u(r)}}))})}interceptors(){const i=this;return{requset:{use(a){i.useRequest=a}},response:{use(a,d){i.useResponse=a,d&&(i.useError=d)}}}}}const ya=Re.create({});ya.interceptors().requset.use(n=>n);ya.interceptors().response.use(n=>(n.data&&n.data.success==null&&n.data.success==0,n));const{$gettext:Fa,$ngettext:Yz}=Se(),vo="/cgi-bin/luci/istore",bo="/cgi-bin/luci/admin";let De=!1;const j=(n,i)=>(n.indexOf("//")==-1&&(n=`${vo}${n}`),ka(n,i).then(a=>(a!=null&&a.data&&a.data.success==-1001&&a.data.error=="Forbidden"&&(De||(De=!0,alert(Fa("\u767B\u5F55\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55")),location.reload())),a))),go=(n,i)=>(n.indexOf("//")==-1&&(n=`${bo}${n}`),ka(n,i).then(a=>(a!=null&&a.data&&a.data.success==-1001&&a.data.error=="Forbidden"&&(De||(De=!0,alert(Fa("\u767B\u5F55\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55")),location.reload())),a))),ho={Statistics:{GET(){return j("/u/network/statistics/",{method:"GET"})}},Status:{GET(){return j("/u/network/status/",{method:"GET"})}},Device:{List:{GET(){return j("/network/device/list/",{method:"GET"})}}},Homebox:{Enable:{POST(){return j("/network/homebox/enable/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},CheckPublickNet:{POST(n){return j("/network/checkPublicNet/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetInterfaceConfig:{GET(){return j("/network/interface/config/",{method:"GET",headers:{"Content-Type":"application/json;charset=utf-8"}})}},POSTInterfaceConfig:{POST(n){return j("/network/interface/config/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},PortList:{GET(){return j("/network/port/list/",{method:"GET",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},_o={Version:{GET(){return j("/u/system/version/",{method:"GET"})}},CheckUpdate:{GET(){return j("/system/check-update/",{method:"GET"})}},AutoCheckUpdate:{POST(n){return j("/system/auto-check-update/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Reboot:{POST(n){return j("/system/reboot/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Status:{GET(){return j("/system/status/",{method:"GET"})}}},xo={Disk:{Status:{GET(){return j("/nas/disk/status/",{method:"GET"})}},Erase:{POST(n){return j("/nas/disk/erase",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Init:{POST:n=>j("/nas/disk/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},InitRest:{POST:n=>j("/nas/disk/initrest/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},Partition:{Format:{POST:n=>j("/nas/disk/partition/format",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},Mount:{POST:n=>j("/nas/disk/partition/mount",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Service:{Status:{GET(){return j("/u/nas/service/status/",{method:"GET"})}}},Samba:{Create:{POST(n){return j("/nas/samba/create",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Webdav:{Create:{POST(n){return j("/nas/webdav/create",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Status:{GET(){return j("/nas/webdav/status/",{method:"GET"})}}},Linkease:{Enable:{POST(){return j("/u/nas/linkease/enable",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},Sandbox:{POST(n){return j("/nas/sandbox/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetSandbox:{GET(){return j("/nas/sandbox/",{method:"GET"})}},SandboxDisks:{GET(){return j("/nas/sandbox/disks/",{method:"GET"})}},SandboxCommit:{POST(){return j("/u/nas/sandbox/commit/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify({})})}},SandboxReset:{POST(){return j("/nas/sandbox/reset/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}},SandboxExit:{POST(){return j("/nas/sandbox/exit/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}}},wo={Check:{POST(n){return j("/app/check/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Install:{POST(n){return j("/app/install/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},ko={Pppoe:{GET(){return j("/guide/pppoe/",{method:"GET"})},POST(n){return j("/guide/pppoe/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DnsConfig:{GET(){return j("/guide/dns-config/",{method:"GET"})},POST(n){return j("/guide/dns-config/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DhcpClient:{POST(n){return j("/guide/dhcp-client/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},ClientModel:{GET(){return j("/guide/client-mode/",{method:"GET"})},POST(n){return j("/guide/client-mode/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GatewayRouter:{POST(n){return j("/guide/gateway-router/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DockerStatus:{GET(){return j("/guide/docker/status/",{method:"GET"})}},DockerPartitionList:{GET(){return j("/guide/docker/partition/list/",{method:"GET"})}},DockerTransfer:{POST(n){return j("/guide/docker/transfer/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DockerSwitch:{POST(n){return j("/guide/docker/switch/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DownloadService:{Status:{GET(){return j("/guide/download-service/status/",{method:"GET"})}}},DownloadPartition:{List:{GET(){return j("/guide/download/partition/list/",{method:"GET"})}}},Aria2Init:{POST(n){return j("/guide/aria2/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},qbitorrentInit:{POST(n){return j("/guide/qbittorrent/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},transmissionInit:{POST(n){return j("/guide/transmission/init/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetLan:{GET(){return j("/guide/lan/",{method:"GET"})}},LanIp:{POST(n){return j("/guide/lan/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},SoftSource:{POST(n){return j("/guide/soft-source/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetSoftSource:{GET(){return j("/guide/soft-source/",{method:"GET"})}},SoftSourceList:{GET(){return j("/guide/soft-source/list/",{method:"GET"})}},PostDdns:{POST(n){return j("/u/guide/ddns/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},GetDdns:{GET(){return j("/u/guide/ddns/",{method:"GET"})}},Ddnsto:{POST(n){return j("/guide/ddnsto/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},DdntoConfig:{GET(){return j("/guide/ddnsto/config/",{method:"GET"})}},DdnstoAddress:{POST(n){return j("/guide/ddnsto/address/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},yo={Create:{POST(n){return j("/raid/create/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Delete:{POST(n){return j("/raid/delete/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Add:{POST(n){return j("/raid/add/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Remove:{POST(n){return j("/raid/remove/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Recover:{POST(n){return j("/raid/recover/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Detail:{POST(n){return j("/raid/detail/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},List:{GET(){return j("/raid/list/",{method:"GET"})}},CreateList:{GET(){return j("/raid/create/list/",{method:"GET"})}},Autofix:{GET(){return j("/raid/autofix/",{method:"GET"})}}},Fo={Log:{GET(){return j("/smart/log/",{method:"GET"})}},List:{GET(){return j("/u/smart/list/",{method:"GET"})}},Config:{GET(){return j("/smart/config/",{method:"GET"})},POST(n){return j("/smart/config/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}},Test:{POST(n){return j("/u/smart/test/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})},Result:{POST(n){return j("/smart/test/result/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Attribute:{Result:{POST(n){return j("/smart/attribute/result/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}},Extend:{Result:{POST(n){return j("/smart/extend/result/",{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)})}}}},Eo={List:{GET(){return j("/wireless/list-iface/",{method:"GET"})}},Switch:{POST(n){return j("/wireless/enable-iface/",{body:JSON.stringify(n),method:"POST"})}},Power:{POST(n){return j("/wireless/set-device-power/",{body:JSON.stringify(n),method:"POST"})}},Edit:{POST(n){return j("/wireless/edit-iface/",{body:JSON.stringify(n),method:"POST"})}},Setup:{POST(n){return j("/wireless/setup/",{body:JSON.stringify(n),method:"POST"})}}},$o={getInstalled:{GET(){return go("/store/installed/",{method:"GET"})}},needSetup:{GET(){return j("/guide/need/setup/",{method:"GET"})}},setPassword:{POST(n){return j("/system/setPassword/",{body:JSON.stringify(n),method:"POST"})}},completeGuide:{POST(){return j("/guide/finish/setup/",{method:"POST"})}}},Co={listDevices:{GET(){return j("/lanctrl/listDevices/",{method:"GET"})}},staticDeviceConfig:{POST(n){return j("/lanctrl/staticDeviceConfig/",{body:JSON.stringify(n),method:"POST"})}},globalConfigs:{GET(){return j("/lanctrl/globalConfigs/",{method:"GET"})}},speedLimitConfig:{POST(n){return j("/lanctrl/speedLimitConfig/",{body:JSON.stringify(n),method:"POST"})}},listStaticDevices:{GET(){return j("/lanctrl/listStaticDevices/",{method:"GET"})}},listSpeedLimitedDevices:{GET(){return j("/lanctrl/listSpeedLimitedDevices/",{method:"GET"})}},dhcpGatewayConfig:{POST(n){return j("/lanctrl/dhcpGatewayConfig/",{body:JSON.stringify(n),method:"POST"})}},dhcpTagsConfig:{POST(n){return j("/lanctrl/dhcpTagsConfig/",{body:JSON.stringify(n),method:"POST"})}},enableSpeedLimit:{POST(n){return j("/lanctrl/enableSpeedLimit/",{body:JSON.stringify(n),method:"POST"})}},enableFloatGateway:{POST(n){return j("/lanctrl/enableFloatGateway/",{body:JSON.stringify(n),method:"POST"})}},speedsForDevices:{GET(){return j("/lanctrl/speedsForDevices/",{method:"GET"})}},speedsForOneDevice:{POST(n){return j("/lanctrl/speedsForOneDevice/",{body:JSON.stringify(n),method:"POST"})}}};var Do=Object.freeze(Object.defineProperty({__proto__:null,Network:ho,System:_o,Nas:xo,App:wo,Guide:ko,Raid:yo,Smart:Fo,Quickwifi:Eo,GuidePage:$o,DeviceMangement:Co},Symbol.toStringTag,{value:"Module"})),M=ut({},Do);const Ea=me("app",{state:()=>({portitemStyle:{show:!1,left:0,top:0,portitem:{name:"",macAddress:"",linkSpeed:"",linkState:"",rx_packets:"",tx_packets:"",interfaceNames:[],master:"",duplex:""}}})});me("guide",{});const $a=me("nas",{state:()=>({webdav:{}})}),ze=me("network",{state:()=>({status:{},deviceList:{}}),getters:{},actions:{updateNetworkStatus(n){this.status=n},requestDeviceList(){M.Network.Device.List.GET().then(n=>{if(n!=null&&n.data){const{result:i}=n==null?void 0:n.data;i&&(this.deviceList=i)}})},incrTime(){this.status.uptimeStamp&&this.status.uptimeStamp++}}}),We=me("system",{state:()=>({version:{},checkUpdate:null,updateChecked:!1,systemStatus:{}}),getters:{},actions:{incrTime(){var n;(n=this.systemStatus)!=null&&n.uptime&&this.systemStatus.uptime++},requestVersion(){M.System.Version.GET().then(n=>{var i;(i=n==null?void 0:n.data)!=null&&i.result&&(this.version=n.data.result)})},requestCheckUpdate(){this.updateChecked||(this.updateChecked=!0,M.System.CheckUpdate.GET().then(n=>{var i;(i=n==null?void 0:n.data)!=null&&i.result&&(this.checkUpdate=n.data.result)}).finally(()=>{this.checkUpdate==null&&(this.checkUpdate={needUpdate:!1,msg:"skip"})}))},updateSystemStatus(n){this.systemStatus=n}}});let ra=!1;const Bo=()=>{if(ra)return;ra=!0;let n=!0,i=!0;const a=ze(),d=We(),u=function(){return(!n&&document.hidden?Promise.resolve():M.System.Status.GET().then(c=>{c!=null&&c.data.result&&d.updateSystemStatus(c.data.result)})).finally(()=>{setTimeout(u,5e3),n&&(setInterval(()=>{d.incrTime()},1e3),n=!1)})},r=function(){return(!i&&document.hidden?Promise.resolve():M.Network.Status.GET().then(c=>{if(c!=null&&c.data){const{result:x}=c==null?void 0:c.data;x&&a.updateNetworkStatus(x)}})).finally(()=>{setTimeout(r,5e3),i&&(setInterval(()=>{a.incrTime()},1e3),i=!1)})};r(),a.requestDeviceList(),setTimeout(()=>{d.requestVersion(),u()},1100)};var N=(n,i)=>{const a=n.__vccOpts||n;for(const[d,u]of i)a[d]=u;return a};const Yo=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=Ea(),u=X(()=>d.portitemStyle.portitem),r=X(()=>d.portitemStyle.show),c=X(()=>({bottom:`calc(100% - ${d.portitemStyle.top}px)`,left:`${d.portitemStyle.left}px`})),x=v=>{switch(v){case"full":return i("\u5168\u53CC\u5DE5");case"half":return i("\u534A\u53CC\u5DE5")}},h=v=>{d.portitemStyle.show=!0},f=v=>{d.portitemStyle.show=!1};return(v,b)=>e(r)?(s(),l("div",{key:0,class:"disk-item-tooltip",style:Bt(e(c)),onMouseenter:h,onMouseleave:f},[t("div",null,o(x(e(u).duplex)),1),t("div",null,o(e(i)("\u540D\u79F0\uFF1A"))+o(e(u).name||"--"),1),t("div",null,o(e(i)("MAC\uFF1A"))+o(e(u).macAddress||"--"),1),t("div",null,o(e(i)("\u63A5\u6536\uFF1A"))+o(e(u).rx_packets||"--"),1),t("div",null,o(e(i)("\u53D1\u9001\uFF1A"))+o(e(u).tx_packets||"--"),1)],36)):D("",!0)}});var Ao=N(Yo,[["__scopeId","data-v-41cbce66"]]);const So={id:"main"},zo=G({setup(n){return(i,a)=>{const d=pt("router-view");return s(),l("div",So,[z(d),z(Ao)])}}});var Po=N(zo,[["__scopeId","data-v-2d97dedc"]]);const To={},Io={t:"1640593669834",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"54870",width:"128",height:"128"},Lo=t("path",{d:"M148.7872 57.4464h177.152c64.9216 0 118.0672 53.1456 118.0672 118.0672v295.2192H148.7872C83.8656 470.7328 30.72 417.5872 30.72 352.5632v-177.152C30.72 110.592 83.8656 57.4464 148.7872 57.4464z m0 531.3536h295.2192v295.2192c0 64.9216-53.1456 118.0672-118.0672 118.0672h-177.152C83.8656 1001.984 30.72 948.9408 30.72 883.9168v-177.152C30.72 641.9456 83.8656 588.8 148.7872 588.8z m0 0M768.7168 559.2064L562.0736 346.7264c-23.6544-17.7152-35.4304-53.1456-35.4304-82.6368s11.776-59.0848 35.4304-82.6368L686.08 57.4464C733.2864 10.24 810.0864 10.24 851.3536 57.4464l124.0064 124.0064c23.6544 23.6544 35.4304 53.1456 35.4304 82.6368s-11.776 59.0848-35.4304 82.6368L768.7168 559.2064z m0-478.208c-17.7152 0-29.4912 5.9392-41.3696 17.7152l-123.904 124.0064c-11.776 11.776-17.7152 23.6544-17.7152 41.3696s5.9392 29.4912 17.7152 41.3696l165.2736 165.2736 165.2736-165.2736c11.776-11.776 17.7152-23.6544 17.7152-41.3696s-5.9392-29.4912-17.7152-41.3696L809.984 98.7136c-11.776-11.776-23.552-17.7152-41.2672-17.7152z m0 0","p-id":"54871"},null,-1),Mo=t("path",{d:"M562.0736 588.8h295.2192c64.9216 0 118.0672 53.1456 118.0672 118.0672v177.152c0 64.9216-53.1456 118.0672-118.0672 118.0672h-177.152c-64.9216 0-118.0672-53.1456-118.0672-118.0672V588.8z m0 0","p-id":"54872"},null,-1),No=[Lo,Mo];function Oo(n,i){return s(),l("svg",Io,No)}var Vo=N(To,[["render",Oo]]);const Go={},jo={t:"1640598743438",class:"icon",viewBox:"0 0 1036 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"65341",width:"128",height:"128"},qo=t("path",{d:"M984.177778 432.355556l-45.511111 0c-22.755556 0-45.511111-17.066667-51.2-39.822222l-28.444444-68.266667C847.644444 312.888889 853.333333 284.444444 870.4 267.377778l34.133333-34.133333c17.066667-17.066667 17.066667-39.822222 0-56.888889l-56.888889-56.888889c-17.066667-17.066667-39.822222-17.066667-56.888889 0l-34.133333 34.133333C739.555556 170.666667 711.111111 176.355556 694.044444 164.977778L625.777778 136.533333c-22.755556-5.688889-39.822222-28.444444-39.822222-51.2L585.955556 39.822222c0-22.755556-17.066667-39.822222-39.822222-39.822222L472.177778 0C449.422222 0 432.355556 17.066667 432.355556 39.822222l0 45.511111c0 22.755556-17.066667 45.511111-39.822222 51.2L329.955556 164.977778C312.888889 176.355556 284.444444 170.666667 267.377778 153.6L233.244444 119.466667c-17.066667-17.066667-39.822222-17.066667-56.888889 0l-56.888889 56.888889c-17.066667 17.066667-17.066667 39.822222 0 56.888889l34.133333 34.133333C170.666667 284.444444 176.355556 312.888889 164.977778 329.955556L136.533333 398.222222C130.844444 415.288889 108.088889 432.355556 85.333333 432.355556l-45.511111 0C17.066667 432.355556 0 449.422222 0 472.177778l0 79.644444c0 22.755556 17.066667 39.822222 39.822222 39.822222l45.511111 0c22.755556 0 45.511111 17.066667 51.2 39.822222l28.444444 68.266667C176.355556 711.111111 170.666667 739.555556 153.6 756.622222l-34.133333 34.133333c-17.066667 17.066667-17.066667 39.822222 0 56.888889l56.888889 56.888889c17.066667 17.066667 39.822222 17.066667 56.888889 0l34.133333-34.133333C284.444444 853.333333 312.888889 847.644444 329.955556 859.022222L398.222222 887.466667c22.755556 5.688889 39.822222 28.444444 39.822222 51.2l0 45.511111c0 22.755556 17.066667 39.822222 39.822222 39.822222l79.644444 0c22.755556 0 39.822222-17.066667 39.822222-39.822222l0-45.511111c0-22.755556 17.066667-45.511111 39.822222-51.2l68.266667-28.444444c17.066667-11.377778 45.511111-5.688889 62.577778 11.377778l34.133333 34.133333c17.066667 17.066667 39.822222 17.066667 56.888889 0l56.888889-56.888889c17.066667-17.066667 17.066667-39.822222 0-56.888889l-34.133333-34.133333c-17.066667-17.066667-17.066667-45.511111-11.377778-62.577778l28.444444-68.266667c5.688889-22.755556 28.444444-39.822222 51.2-39.822222l45.511111 0c22.755556 0 39.822222-17.066667 39.822222-39.822222L1035.377778 472.177778C1024 449.422222 1006.933333 432.355556 984.177778 432.355556L984.177778 432.355556zM711.111111 512c0 108.088889-91.022222 199.111111-199.111111 199.111111-108.088889 0-199.111111-85.333333-199.111111-199.111111 0-108.088889 85.333333-199.111111 199.111111-199.111111C620.088889 312.888889 711.111111 403.911111 711.111111 512L711.111111 512zM711.111111 512","p-id":"65342"},null,-1),Uo=[qo];function Ro(n,i){return s(),l("svg",jo,Uo)}var Wo=N(Go,[["render",Ro]]);const Ho={},Zo={t:"1640599890701",class:"icon",viewBox:"0 0 1565 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"76947",width:"128",height:"128"},Jo=t("path",{d:"M1206.477959 299.331595c-27.357038 0-53.867311 3.354494-79.465683 9.151581C1078.518669 130.792698 916.428217 0 723.365689 0 492.068443 0 304.575027 187.493416 304.575027 418.790662c0 16.055976 1.074741 31.786273 2.865975 47.386299-9.184149-0.911901-18.400865-1.40042-27.812989-1.40042C125.191018 464.743973 0 589.934991 0 744.371987c0 154.469563 125.191018 279.628013 279.595446 279.628013 59.990077 0 221.233764 0 394.527575 0l0-302.295274L496.986197 721.704726l285.457668-339.031868 285.457668 339.031868-177.136823 0 0 302.295274c139.748871 0 262.204185 0 315.71325 0 197.947713 0 358.40977-168.34349 358.40977-366.291203S1404.425673 299.331595 1206.477959 299.331595z","p-id":"76948"},null,-1),Ko=[Jo];function Qo(n,i){return s(),l("svg",Zo,Ko)}var Xo=N(Ho,[["render",Qo]]);const tn={},en={t:"1640599792937",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"68605",width:"128",height:"128"},an=t("path",{d:"M512 825.6c-211.2 0-377.6-57.6-377.6-128l0 0L134.4 896l0 0c6.4 70.4 172.8 128 377.6 128 204.8 0 371.2-57.6 377.6-128l0 0 0-204.8 0 0C889.6 768 723.2 825.6 512 825.6L512 825.6z","p-id":"68606"},null,-1),on=t("path",{d:"M512 544c-211.2 0-377.6-57.6-377.6-128l0 0 0 204.8 0 0c6.4 70.4 172.8 128 377.6 128 204.8 0 371.2-57.6 377.6-128l0 0L889.6 416l0 0C889.6 486.4 723.2 544 512 544L512 544z","p-id":"68607"},null,-1),nn=t("path",{d:"M889.6 128 889.6 128c0-70.4-166.4-128-377.6-128C300.8 0 134.4 57.6 134.4 128l0 0 0 0 0 204.8 0 0c6.4 70.4 172.8 128 377.6 128 204.8 0 371.2-57.6 377.6-128l0 0L889.6 128 889.6 128 889.6 128zM512 217.6c-153.6 0-281.6-44.8-281.6-96 0-51.2 128-96 281.6-96 153.6 0 281.6 44.8 281.6 96C793.6 179.2 665.6 217.6 512 217.6L512 217.6z","p-id":"68608"},null,-1),rn=[an,on,nn];function sn(n,i){return s(),l("svg",en,rn)}var dn=N(tn,[["render",sn]]);const ln={},un={t:"1640575557247",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4211",width:"128",height:"128"},cn=t("path",{d:"M560 800l-10.464-416h-75.072L464 800h96z m-14.144-493.984c9.44-9.312 14.144-20.672 14.144-34.016 0-13.6-4.704-24.992-14.144-34.208A46.784 46.784 0 0 0 512 224c-13.12 0-24.448 4.608-33.856 13.792A45.856 45.856 0 0 0 464 272c0 13.344 4.704 24.704 14.144 34.016 9.408 9.312 20.704 13.984 33.856 13.984 13.12 0 24.448-4.672 33.856-13.984zM512 32C246.912 32 32 246.912 32 512c0 265.088 214.912 480 480 480 265.088 0 480-214.912 480-480 0-265.088-214.912-480-480-480z m0 64c229.76 0 416 186.24 416 416s-186.24 416-416 416S96 741.76 96 512 282.24 96 512 96z","p-id":"4212"},null,-1),pn=[cn];function fn(n,i){return s(),l("svg",un,pn)}var mn=N(ln,[["render",fn]]);const vn={},bn={t:"1640681742480",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"80687",width:"128",height:"128"},gn=t("path",{d:"M899.892468 123.889088c0-44.342099-36.286708-80.620486-80.624646-80.620486H204.728017C160.385918 43.268602 124.107532 79.546988 124.107532 123.889088v802.847056c0 44.342099 36.278386 80.620486 80.620485 80.620486h614.539805c44.337938 0 80.624646-36.278386 80.624646-80.620486V123.889088z",fill:"#D0D0DB","p-id":"80688"},null,-1),hn=t("path",{d:"M169.8768 977.7772V174.930143c0-44.342099 36.278386-80.620486 80.620486-80.620485h614.539804c9.936092 0 19.426974 1.905666 28.239639 5.23434-11.525534-30.507298-40.996782-52.389169-75.398629-52.389169H203.342457c-44.342099 0-80.620486 36.278386-80.620486 80.620486v802.851217c0 34.410168 21.881871 63.873094 52.385008 75.381985A79.730065 79.730065 0 0 1 169.8768 977.7772z",fill:"#FFFFFF","p-id":"80689"},null,-1),_n=t("path",{d:"M820.657543 40.497481H206.117739c-44.342099 0-80.620486 36.278386-80.620486 80.620485v802.847057c0 44.342099 36.278386 80.620486 80.620486 80.620486h614.539804c44.337938 0 80.624646-36.278386 80.624647-80.620486V121.117966c0-44.342099-36.286708-80.620486-80.624647-80.620485z m19.60173 828.785749c0 40.846992-33.43237 74.279362-74.287684 74.279361H199.780776c-40.855313 0-74.279362-33.424048-74.279362-74.279361V129.593603c0-40.855313 33.424048-74.279362 74.279362-74.279362h566.203296c40.842831 0 74.283522 33.424048 74.283522 74.279362l-0.008321 739.689627z",fill:"#6E6E96","p-id":"80690"},null,-1),xn=t("path",{d:"M815.106979 1024H200.567175C146.933914 1024 103.303319 980.369405 103.303319 926.736144V123.889088C103.303319 70.255827 146.933914 26.625232 200.567175 26.625232h614.539804c53.633261 0 97.268017 43.630595 97.268017 97.263856v802.847056c0 53.633261-43.634756 97.263856-97.268017 97.263856zM200.567175 59.911972C165.287391 59.911972 136.590059 88.609303 136.590059 123.889088v802.847056c0 35.279784 28.697331 63.977115 63.977116 63.977115h614.539804c35.279784 0 63.981276-28.697331 63.981276-63.977115V123.889088c0-35.279784-28.701492-63.977115-63.981276-63.977116H200.567175z",fill:"#6E6E96","p-id":"80691"},null,-1),wn=t("path",{d:"M301.946104 941.515457h429.985632v65.841173H301.946104z",fill:"#8A8AA1","p-id":"80692"},null,-1),kn=t("path",{d:"M731.931736 1024H301.946104a16.64337 16.64337 0 0 1-16.64337-16.64337V941.515457a16.64337 16.64337 0 0 1 16.64337-16.64337h429.985632a16.64337 16.64337 0 0 1 16.64337 16.64337v65.841173a16.64337 16.64337 0 0 1-16.64337 16.64337z m-413.342262-33.286741h396.698892v-32.554432H318.589474v32.554432z",fill:"#6E6E96","p-id":"80693"},null,-1),yn=t("path",{d:"M337.230049 960.318304h20.804213v47.038326h-20.804213zM386.565159 960.318304h20.804213v47.038326h-20.804213zM435.891948 960.318304h20.804213v47.038326h-20.804213zM485.231219 960.318304h20.804213v47.038326h-20.804213zM534.558008 960.318304h20.804213v47.038326h-20.804213zM583.897279 960.318304h20.804213v47.038326h-20.804213zM633.224068 960.318304h20.804213v47.038326h-20.804213zM682.563339 960.318304h20.804213v47.038326h-20.804213z",fill:"#FFE599","p-id":"80694"},null,-1),Fn=t("path",{d:"M219.153659 140.794591m-26.874883 0a26.874882 26.874882 0 1 0 53.749765 0 26.874882 26.874882 0 1 0-53.749765 0Z",fill:"#ADADD1","p-id":"80695"},null,-1),En=t("path",{d:"M219.153659 184.312843c-23.995579 0-43.518252-19.522673-43.518253-43.518252s19.522673-43.518252 43.518253-43.518253 43.518252 19.522673 43.518252 43.518253-19.522673 43.518252-43.518252 43.518252z m0-53.749764c-5.642103 0-10.231512 4.589409-10.231512 10.231512s4.589409 10.231512 10.231512 10.231512 10.231512-4.589409 10.231511-10.231512-4.589409-10.231512-10.231511-10.231512z",fill:"#6E6E96","p-id":"80696"},null,-1),$n=t("path",{d:"M801.28466 140.794591m-26.870721 0a26.870721 26.870721 0 1 0 53.741442 0 26.870721 26.870721 0 1 0-53.741442 0Z",fill:"#ADADD1","p-id":"80697"},null,-1),Cn=t("path",{d:"M801.28466 184.308683c-23.995579 0-43.514092-19.518512-43.514091-43.514092s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514092z m0-53.741443c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"80698"},null,-1),Dn=t("path",{d:"M801.280499 905.23291m-26.870721 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"80699"},null,-1),Bn=t("path",{d:"M801.280499 948.747001c-23.995579 0-43.514092-19.518512-43.514091-43.514091s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"80700"},null,-1),Yn=t("path",{d:"M219.153659 905.23291m-26.870722 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"80701"},null,-1),An=t("path",{d:"M219.153659 948.747001c-23.995579 0-43.514092-19.518512-43.514092-43.514091s19.518512-43.514092 43.514092-43.514092 43.514092 19.518512 43.514091 43.514092-19.522673 43.514092-43.514091 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"80702"},null,-1),Sn=t("path",{d:"M520.972857 777.43263c-142.542145 0-258.508988-115.971004-258.508988-258.52147a16.64337 16.64337 0 0 1 33.28674 0c0 124.19699 101.033579 225.23473 225.222248 225.23473s225.222248-101.03774 225.222248-225.23473c0-124.188668-101.033579-225.218087-225.222248-225.218087a16.64337 16.64337 0 0 1 0-33.286741c142.542145 0 258.508988 115.966843 258.508988 258.504828 0 142.550466-115.966843 258.521471-258.508988 258.52147z",fill:"#6E6E96","p-id":"80703"},null,-1),zn=t("path",{d:"M520.968696 518.919481m-83.312551 0a83.312551 83.312551 0 1 0 166.625102 0 83.312551 83.312551 0 1 0-166.625102 0Z",fill:"#A9A9BA","p-id":"80704"},null,-1),Pn=t("path",{d:"M520.968696 618.875402c-55.114521 0-99.955921-44.83724-99.955921-99.95176 0-55.118682 44.8414-99.955921 99.955921-99.955921s99.95176 44.8414 99.95176 99.955921c0 55.11036-44.83724 99.95176-99.95176 99.95176z m0-166.625101c-36.761044 0-66.669181 29.908136-66.66918 66.66918s29.908136 66.66502 66.66918 66.66502 66.66502-29.908136 66.66502-66.66502c0-36.761044-29.903976-66.669181-66.66502-66.66918z",fill:"#6E6E96","p-id":"80705"},null,-1),Tn=t("path",{d:"M301.946104 941.515457h429.985632v36.977408H301.946104z",fill:"#6E6E96","p-id":"80706"},null,-1),In=[gn,hn,_n,xn,wn,kn,yn,Fn,En,$n,Cn,Dn,Bn,Yn,An,Sn,zn,Pn,Tn];function Ln(n,i){return s(),l("svg",bn,In)}var Mn=N(vn,[["render",Ln]]);const Nn={},On={t:"1640775712185",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2996",width:"128",height:"128"},Vn=t("path",{d:"M894.185422 128.023792 129.814578 445.743994 445.99982 577.744353 571.860343 893.929596Z","p-id":"2997"},null,-1),Gn=[Vn];function jn(n,i){return s(),l("svg",On,Gn)}var qn=N(Nn,[["render",jn]]);const Un={class:"progress"},Rn=G({props:{value:{type:Number,required:!0},text:{type:String}},setup(n){const i=n,a=X(()=>i.value>=80?"#e45e5e":i.value>=70?"#ff9800":i.value>=60?"#297ff3":i.value>0?"#53c31b":"");return(d,u)=>(s(),l("div",Un,[t("div",{class:ct(["progress-value",`${n.value>50}`]),style:Bt({width:`${n.value}%`,backgroundColor:e(a)})},[t("span",null,o(n.text),1)],6),Pt(d.$slots,"default",{},void 0,!0)]))}});var Ca=N(Rn,[["__scopeId","data-v-3ee635ef"]]);const Wn={},Hn={height:"32",width:"64",t:"1649907260906",viewBox:"-8 248 1045 537",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2793","xmlns:xlink":"http://www.w3.org/1999/xlink"},Zn=t("path",{d:"M764.904497 251.418146 259.086289 251.418146c-143.076626 0-259.065314 115.989711-259.065314 259.065314 0 143.077649 115.988688 259.063267 259.065314 259.063267l505.818207 0c143.074579 0 259.063267-115.985618 259.063267-259.063267C1023.967764 367.407857 907.980099 251.418146 764.904497 251.418146zM764.904497 747.164974c-130.507356 0-236.682537-106.175181-236.682537-236.682537S634.397141 273.798876 764.904497 273.798876s236.683561 106.176205 236.683561 236.683561S895.411853 747.164974 764.904497 747.164974z","p-id":"2794",fill:"#52C41A"},null,-1),Jn=[Zn];function Kn(n,i){return s(),l("svg",Hn,Jn)}var Qn=N(Wn,[["render",Kn]]);const Xn={},ti={height:"32",width:"64",t:"1649907515643",viewBox:"-8 248 1045 537",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2971","xmlns:xlink":"http://www.w3.org/1999/xlink"},ei=t("path",{d:"M764.867148 249.793136 259.0735 249.793136c-143.070486 0-259.052011 115.984594-259.052011 259.052011 0 143.07151 115.982548 259.050987 259.052011 259.050987l505.793648 0c143.067416 0 259.050987-115.979478 259.050987-259.050987C1023.917112 365.778754 907.933541 249.793136 764.867148 249.793136zM259.0735 745.516428c-130.501216 0-236.671281-106.172111-236.671281-236.671281 0-130.501216 106.170065-236.671281 236.671281-236.671281S495.744781 378.344954 495.744781 508.84617C495.744781 639.34534 389.574716 745.516428 259.0735 745.516428z","p-id":"2972",fill:"#999"},null,-1),ai=[ei];function oi(n,i){return s(),l("svg",ti,ai)}var ni=N(Xn,[["render",oi]]);const ii={class:"checkbox_switch"},ri={class:"checkbox_switch_on"},si={class:"checkbox_switch_off"},di=G({props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],setup(n,{emit:i}){const a=n,d=X({get:()=>a.modelValue.valueOf(),set:u=>i("update:modelValue",u)});return(u,r)=>(s(),l("label",ii,[T(t("input",{type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=c=>ao(d)?d.value=c:null)},null,512),[[Rt,e(d)]]),t("span",ri,[z(Qn)]),t("span",si,[z(ni)]),Pt(u.$slots,"default",{},void 0,!0)]))}});var Da=N(di,[["__scopeId","data-v-54af3568"]]);const li={},ui={t:"1641369474206",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7685",width:"128",height:"128"},ci=t("path",{d:"M757.76 637.44l-218.88 245.76c-14.72 16.64-40.32 16.64-54.4 0L265.6 637.44C244.48 613.76 261.12 576 293.12 576l437.76 0C762.24 576 779.52 613.76 757.76 637.44z","p-id":"7686"},null,-1),pi=[ci];function fi(n,i){return s(),l("svg",ui,pi)}var mi=N(li,[["render",fi]]);const vi={},bi={t:"1641369492518",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7831",width:"128",height:"128"},gi=t("path",{d:"M758.4 385.92 539.52 140.16c-14.72-16.64-40.32-16.64-54.4 0L266.24 385.92C244.48 409.6 261.76 448 293.12 448l437.76 0C762.88 448 779.52 409.6 758.4 385.92z","p-id":"7832"},null,-1),hi=[gi];function _i(n,i){return s(),l("svg",bi,hi)}var xi=N(vi,[["render",_i]]);const wi={};function ki(n,i){return s(),l("article",null,[Pt(n.$slots,"default",{},void 0,!0)])}var yi=N(wi,[["render",ki],["__scopeId","data-v-995510fc"]]);const Fi={class:"cover"},Ei={class:"thumbnail"},$i=G({emits:["click"],setup(n,{emit:i}){const a=()=>{i("click")};return(d,u)=>(s(),H(yi,null,{default:R(()=>[t("a",{onClick:a},[t("div",Fi,[t("div",Ei,[Pt(d.$slots,"default",{},void 0,!0)])])])]),_:3}))}});var Ci=N($i,[["__scopeId","data-v-782f97c0"]]);const Di={class:"select-editable"},Bi={selected:"",value:""},Yi=["value"],Ai={value:"useInput"},Si=["placeholder"],zi=G({props:{modelValue:{type:String,required:!0},title:{type:String,default:""},options:{type:Array,default:[]}},emits:["update:modelValue"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$(""),c=$(""),x=X({get:()=>a.modelValue.valueOf(),set:b=>i("update:modelValue",b)}),h=b=>{b===r.value||r.value==="useInput"&&b===c.value||(b===""||a.options.some(_=>_.key===b)?r.value=b:(c.value=b,r.value="useInput"))};Tt(()=>a.modelValue,b=>{h(b)}),At(()=>{const b=x.value;h(b)});const f=b=>{r.value==="useInput"?x.value=c.value:x.value=r.value},v=b=>{x.value=c.value};return(b,_)=>(s(),l("label",null,[t("div",Di,[T(t("select",{"onUpdate:modelValue":_[0]||(_[0]=y=>r.value=y),autocomplete:"off",onChange:f},[t("option",Bi,o(e(d)("\u8BF7\u9009\u62E9%{title}",{title:n.title})),1),(s(!0),l(O,null,J(n.options,(y,k)=>(s(),l("option",{value:y.key,key:k},o(y.value||y.key),9,Yi))),128)),t("option",Ai,o(e(d)("- -\u81EA\u5B9A\u4E49- -")),1)],544),[[rt,r.value,void 0,{trim:!0}]]),r.value=="useInput"?T((s(),l("input",{key:0,type:"text","onUpdate:modelValue":_[1]||(_[1]=y=>c.value=y),required:"",placeholder:e(d)("\u8BF7\u8F93\u5165%{title}",{title:n.title}),onChange:v},null,40,Si)),[[tt,c.value,void 0,{trim:!0}]]):D("",!0)])]))}});var Zt=N(zi,[["__scopeId","data-v-c446588c"]]);const Pi={t:"1631799919469",class:"icon",viewBox:"0 0 1047 1047",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3453",width:"128",height:"128"},Ti=G({props:{size:{type:[Number,String],default:50},color:{type:String,default:"#fff"}},setup(n){const i=a=>{if(a==null)return;if(typeof a=="number")return a+"px";const d=a.toString();return parseInt(d)+""==d?d+"px":d};return(a,d)=>(s(),l("div",{class:"quick-loading",style:Bt({width:i(n.size),height:i(n.size)})},[(s(),l("svg",Pi,[t("path",{d:"M522.695111 1.991111c-26.339556 0.170667-47.416889 21.475556-47.672889 48.753778-0.284444 26.453333-0.056889 52.963556-0.056889 79.445333 0 27.249778-0.369778 54.528 0.113778 81.777778 0.483556 27.050667 22.016 47.132444 49.351111 46.904889a47.786667 47.786667 0 0 0 47.729778-47.445333c0.284444-53.76 0.284444-107.52-0.028444-161.251556-0.170667-27.676444-21.902222-48.355556-49.436445-48.184889m-195.896889 88.092445c-8.334222-14.222222-21.646222-21.276444-38.314666-21.333334-35.128889 0-56.576 36.949333-38.968889 68.152889a11616.995556 11616.995556 0 0 0 78.961777 137.614222 44.942222 44.942222 0 0 0 61.838223 16.896c21.304889-12.202667 29.667556-38.968889 17.379555-60.871111-26.453333-47.104-53.560889-93.866667-80.896-140.458666m-228.693333 234.524444c44.316444 25.799111 88.746667 51.342222 133.176889 76.970667 6.712889 3.896889 13.681778 6.912 21.703111 6.428444 20.138667 0.142222 35.953778-11.946667 41.301333-31.573333 5.006222-18.261333-2.673778-36.721778-20.224-46.990222-44.629333-26.026667-89.372444-51.882667-134.115555-77.710223-22.528-12.999111-47.815111-7.025778-59.818667 13.909334-12.231111 21.248-4.977778 45.624889 17.948444 58.965333m34.161778 235.975111c26.396444 0 52.821333 0.199111 79.217778-0.085333 23.409778-0.256 39.139556-16.412444 38.798222-39.139556-0.341333-21.617778-16.924444-37.347556-39.594666-37.376-51.655111-0.056889-103.310222-0.056889-154.965334 0.028445-24.177778 0.056889-40.704 15.985778-40.561778 38.684444 0.142222 22.186667 16.583111 37.745778 40.192 37.859556 25.656889 0.142222 51.285333 0.028444 76.913778 0m151.722667 100.238222a34.247111 34.247111 0 0 0-46.876445-12.942222 13764.778667 13764.778667 0 0 0-139.008 80.583111c-11.093333 6.485333-16.327111 16.867556-16.497777 25.372444 0.085333 30.549333 27.249778 47.957333 50.403555 35.072 47.160889-26.197333 93.724444-53.475556 140.145778-80.924444 17.180444-10.154667 21.504-30.378667 11.832889-47.160889m91.875555 101.660444c-14.250667-4.067556-27.619556 1.422222-35.84 15.644445a24375.466667 24375.466667 0 0 0-77.312 134.485333c-10.012444 17.550222-5.859556 35.669333 9.784889 45.027556 16.014222 9.557333 34.247111 4.039111 44.714667-13.994667 25.543111-44.088889 50.915556-88.263111 76.373333-132.352 3.299556-5.745778 5.688889-11.690667 5.745778-14.933333 0-17.834667-9.272889-29.866667-23.466667-33.877334m147.456 44.288c-16.384 0.085333-27.306667 11.918222-27.448888 30.151111-0.142222 25.372444-0.028444 50.716444-0.028445 76.060445h-0.085333c0 26.112-0.113778 52.252444 0.056889 78.364444 0.113778 18.261333 11.064889 30.065778 27.448889 30.208 16.952889 0.142222 28.046222-11.832889 28.103111-30.748444 0.113778-51.086222 0.142222-102.172444 0.056889-153.258667 0-18.773333-11.207111-30.862222-28.103112-30.776889m177.208889-26.112c-7.509333-12.8-21.902222-16.014222-33.792-8.874666a23.722667 23.722667 0 0 0-8.533333 32.995555c26.282667 46.279111 52.906667 92.330667 79.644444 138.353778 4.494222 7.765333 11.633778 11.946667 20.906667 11.804444 18.545778-0.142222 30.520889-19.342222 21.219556-35.868444-26.026667-46.392889-52.650667-92.444444-79.473778-138.410667m239.957333-41.187555c-45.283556-26.254222-90.595556-52.48-135.964444-78.648889-4.693333-2.702222-9.728-4.323556-15.36-2.958222-9.102222 2.247111-14.933333 8.049778-16.497778 17.095111-1.877333 10.894222 3.84 18.204444 12.885333 23.438222 29.809778 17.180444 59.562667 34.417778 89.344 51.598222 15.217778 8.789333 30.236444 17.976889 45.738667 26.225778 14.677333 7.793778 31.061333-2.048 31.061333-18.033778-0.056889-8.448-4.096-14.592-11.207111-18.716444m48.867556-234.638222c-24.888889-0.085333-49.749333 0-74.609778 0v-0.085334c-25.258667 0-50.517333-0.056889-75.776 0.028445-13.425778 0.056889-20.963556 6.343111-21.162667 17.294222-0.199111 11.150222 7.082667 17.521778 20.679111 17.550222 50.488889 0.113778 100.977778 0.142222 151.495112 0.085333 13.368889 0 21.191111-6.485333 21.390222-17.152 0.227556-10.808889-8.106667-17.664-22.016-17.720888m-187.960889-127.146667c45.084444-26.026667 90.140444-52.110222 135.168-78.222222 4.864-2.844444 8.248889-6.855111 8.135111-12.942223-0.142222-11.036444-11.207111-17.436444-21.504-11.548444-45.511111 26.055111-90.851556 52.394667-136.135111 78.819556-7.68 4.494222-10.524444 11.52-5.575111 19.569777 4.835556 7.850667 12.088889 8.817778 19.911111 4.323556m-122.311111-115.114667c5.205333-0.256 8.220444-3.413333 10.609778-7.651555 4.920889-8.647111 10.040889-17.208889 14.990222-25.827556 20.48-35.555556 40.931556-71.025778 61.297778-106.609778 5.091556-8.874667 3.015111-16.668444-4.778667-18.517333-7.68-1.848889-10.894222 3.697778-14.051556 9.159111l-68.778666 119.495111c-2.844444 4.977778-6.030222 9.870222-8.305778 15.104-3.128889 7.196444 1.678222 14.648889 9.045333 14.848","p-id":"3454",style:Bt({fill:n.color})},null,4)]))],4))}});var Ii=N(Ti,[["__scopeId","data-v-47c6049a"]]);const Li={},Mi={t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},Ni=t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""},null,-1),Oi=[Ni];function Vi(n,i){return s(),l("svg",Mi,Oi)}var Gi=N(Li,[["render",Vi]]);const ji={},qi={width:"128",height:"128",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Ui=qt('',1),Ri=[Ui];function Wi(n,i){return s(),l("svg",qi,Ri)}var Hi=N(ji,[["render",Wi]]);const Zi=n=>(st("data-v-0cc5bf50"),n=n(),dt(),n),Ji=["href","title"],Ki=Zi(()=>t("svg",{t:"1684144670421",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4343"},[t("path",{d:"M512 74.666667c241.066667 0 437.333333 196.266667 437.333333 437.333333S753.066667 949.333333 512 949.333333 74.666667 753.066667 74.666667 512 270.933333 74.666667 512 74.666667zM512 704c-23.466667 0-42.666667 19.2-42.666667 42.666667s19.2 42.666667 42.666667 42.666666 42.666667-19.2 42.666667-42.666666-19.2-42.666667-42.666667-42.666667z m0-458.666667c-76.8 0-138.666667 61.866667-138.666667 138.666667 0 17.066667 14.933333 32 32 32s32-14.933333 32-32c0-40.533333 34.133333-74.666667 74.666667-74.666667s74.666667 34.133333 74.666667 74.666667c0 2.133333 0 6.4-2.133334 10.666667-6.4 14.933333-19.2 32-40.533333 51.2-10.666667 10.666667-21.333333 19.2-34.133333 27.733333-2.133333 2.133333-6.4 4.266667-8.533334 6.4l-6.4 4.266667c-8.533333 6.4-14.933333 17.066667-14.933333 27.733333v108.8c2.133333 17.066667 14.933333 29.866667 32 29.866667h2.133333c17.066667-2.133333 29.866667-14.933333 29.866667-32v-89.6l12.8-10.666667c10.666667-8.533333 19.2-17.066667 29.866667-25.6 27.733333-25.6 46.933333-49.066667 57.6-74.666667 4.266667-10.666667 6.4-23.466667 6.4-34.133333 0-76.8-61.866667-138.666667-138.666667-138.666667z",fill:"#666666","p-id":"4344"})],-1)),Qi=[Ki],Xi=G({props:{type:null},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{switch(i.type){case"disk":return"https://www.linkease.com/rd/8myYAEVA/";case"store":return"https://www.linkease.com/rd/1F58VUTT/";case"docker":return"https://www.linkease.com/rd/2Q28MDtf/";case"download":return"https://www.linkease.com/rd/1tJo1KX-/";case"ddns":return"https://www.linkease.com/rd/3yFiX5-X/";case"network-interface":return"https://www.linkease.com/rd/3ca51a3G/"}});return(r,c)=>(s(),l("a",{href:e(u),target:"_blank",title:e(a)("\u8DF3\u8F6C\u6559\u7A0B")},Qi,8,Ji))}});var tr=N(Xi,[["__scopeId","data-v-0cc5bf50"]]),Ba={install:n=>{n.component("icon-loading",Ii),n.component("icon-success",Gi),n.component("icon-error",Hi),n.component("GlHelp",tr)}};const{$gettext:ue,$ngettext:$e}=Se(),er=n=>{},ar=()=>new Date().getTime(),or=n=>{if(n<1e3)return`${n} B`;let a=1e3,d=0;for(let c=n/1e3;c>=1e3;c/=1e3)a*=1e3,d++;let u=[" KB"," MB"," GB"," TB"," PB"," EB"];return(n/100/(a/100)).toFixed(1)+u[d]},nr=n=>{if(n==null)return 0;if(n<1e4)return n;let a=parseInt(`${n/1e4}`),d=n%1e4;return`${a}\u4E07${d}`},ir=n=>{if(n)try{var i=new Date(n),a=i.getHours(),d=i.getMinutes(),u=i.getSeconds();return a<10&&(a=`0${a}`),d<10&&(d=`0${d}`),u<10&&(u=`0${u}`),`${a}:${d}:${u}`}catch(r){}return""},rr=n=>{if(n){let i=Math.floor(n/86400),a=Math.floor(n/3600)%24,d=Math.floor(n/60)%60,u=n%60;return(i>0?$e("%{ days }\u5929","%{ days }\u5929",i,{days:Ee(i)}):"")+$e("%{ hours }\u5C0F\u65F6","%{ hours }\u5C0F\u65F6",a,{hours:Ee(a)})+$e("%{ minutes }\u5206","%{ minutes }\u5206",d,{minutes:Ee(d)})+$e("%{ seconds }\u79D2","%{ seconds }\u79D2",u,{seconds:Ee(u)})}},sr=n=>/^\d+\.\d+\.\d+\.\d+$/.test(n),dr=n=>n.length<3?ue("\u7528\u6237\u540D\u592A\u77ED"):n.toLowerCase()!=n?ue("\u7528\u6237\u540D\u53EA\u80FD\u4E3A\u5C0F\u5199"):new RegExp("^\\d").exec(n)?ue("\u7528\u6237\u540D\u4E0D\u80FD\u4EE5\u6570\u5B57\u5F00\u5934"):new RegExp("^_").exec(n)?ue("\u7528\u6237\u540D\u4E0D\u80FD\u4EE5_\u5F00\u5934"):new RegExp("^[a-z0-9_]+$").exec(n)?!0:ue("\u975E\u6CD5\u7684\u7528\u6237\u540D"),lr=(n,i)=>{let a=!0,d=null;const u=()=>{d=null,a&&n().finally(()=>{a&&(d=setTimeout(u,i))})};return d=setTimeout(u,0),()=>{a=!1,d!=null&&clearTimeout(d)}};var ur=Object.freeze(Object.defineProperty({__proto__:null,formatDate:er,UnixDate:ar,byteToSize:or,numberToSum:nr,dateForm:ir,stampForm:rr,checkIsIP:sr,checkSmabaUserName:dr,easyInterval:lr},Symbol.toStringTag,{value:"Module"})),It=ut({},ur);const cr=()=>{var i;const n=document.body.getAttribute("theme");if(n)switch(n){case"dark":case"light":return n}return(i=window.matchMedia("(prefers-color-scheme: dark)"))!=null&&i.matches?"dark":"light"},Ya=()=>cr()=="dark",pr={class:"flow"},fr={class:"flow-data"},mr={key:0},vr={key:1},br=G({setup(n){const{$gettext:i,$ngettext:a}=W();pa([fa,ma,va,ba,ga,ha]);const d=$(),u=w=>{var m;const p=(m=d.value)==null?void 0:m[w];return!p||p.startTime==0?"":v(p.startTime*1e3)+"-"+v(p.endTime*1e3)},r=X(()=>{var p;let w=[];return(p=d.value)==null||p.forEach(m=>{w.push({value:m.uploadSpeed})}),w}),c=X(()=>{var p;let w=[];return(p=d.value)==null||p.forEach(m=>{w.push({value:m.downloadSpeed})}),w}),x=X(()=>{var p;let w="";if(d.value){let m=((p=d.value)==null?void 0:p.length)||0;if(m>0){let g=d.value[m-1];w=b(g.uploadSpeed)+"/s"}}return w}),h=X(()=>{var p;let w="";if(d.value){let m=((p=d.value)==null?void 0:p.length)||0;if(m>0){let g=d.value[m-1];w=b(g.downloadSpeed)+"/s"}}return w});X(()=>{var p;let w=[];return(p=d.value)==null||p.forEach(m=>{w.push({value:m.downloadSpeed+m.uploadSpeed})}),w});const f=()=>L(this,null,function*(){var w;try{const p=yield M.Network.Statistics.GET();if(p.data&&(w=p.data.result)!=null&&w.items){const m=p.data.result.slots||10;if(p.data.result.items.lengthm?d.value=p.data.result.items.slice(m-p.data.result.items.length):d.value=p.data.result.items}}catch(p){console.log(p)}}),v=It.dateForm,b=It.byteToSize,_=$();let y=null;const k=w=>{const p=Ya();return y=_a(w,p?"dark":"light"),y.setOption({animation:!1,backgroundColor:p?"#88888822":"#fff",color:["transparent","transparent"],tooltip:{trigger:"axis",formatter:m=>{if(Array.isArray(m)){let g="";m.length>0&&(g=u(m[0].axisValue));for(let F=0;F${m[F].seriesName}: ${b(m[F].value)}/s`;return g.toString()}else{const g=m;return`${u(g.axisValue)}
${g.seriesName}: ${b(g.value)}/s`}}},xAxis:{type:"category",boundaryGap:!1,splitLine:{lineStyle:{color:["#999"]},show:!1},name:"",show:!1,nameGap:0,nameTextStyle:{height:0,lineHeight:0,padding:0}},title:{text:i("\u6D41\u91CF\u7EDF\u8BA1"),textStyle:{fontSize:12,color:p?"#cccccc":"rgba(0, 0, 0, 0.6)"},top:"10px",left:"10px"},yAxis:{type:"value",name:"",minInterval:1e4,interval:1e3,axisLabel:{formatter:function(m,g){return`${b(m)}/s`},color:"#fff",show:!1},nameTextStyle:{color:"#fff"},splitLine:{lineStyle:{color:["#999"]},show:!1}},series:[{name:i("\u4E0B\u8F7D"),data:c.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(32, 199, 247, 1)"},{offset:1,color:"rgba(32, 199, 247, 0.1)"}],global:!1}}},{name:i("\u4E0A\u4F20"),data:r.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(85, 58, 254, 1)"},{offset:1,color:"rgba(85, 58, 254, 0.1)"}],global:!1}}}],legend:{padding:0,align:"right",top:"10px",data:[{name:i("\u4E0A\u4F20"),itemStyle:{color:"rgb(85, 58, 254)"}},{name:i("\u4E0B\u8F7D"),itemStyle:{color:"rgb(32, 199, 247)"}}],textStyle:{color:p?"#cccccc":"rgba(0, 0, 0, 0.6)"},lineStyle:{color:"#333"}},grid:{left:"2%",right:"2%",bottom:"0%",top:"10%",containLabel:!0}}),y};return At(()=>{setTimeout(()=>L(this,null,function*(){if(_.value){yield f();const w=k(_.value),p=_.value;w.resize({width:p.clientWidth,height:p.clientHeight}),window.addEventListener("resize",()=>{w.resize({width:p.clientWidth,height:p.clientHeight})});const m=()=>L(this,null,function*(){if(y!=null){if(!document.hidden){if(yield f(),y==null)return;w.setOption({series:[{name:i("\u4E0B\u8F7D"),data:c.value,type:"line",areaStyle:{},smooth:!0},{name:i("\u4E0A\u4F20"),data:r.value,type:"line",areaStyle:{},smooth:!0}]})}setTimeout(m,5e3)}});setTimeout(m,5e3)}}),900)}),Ot(()=>{y!=null&&(y.dispose(),y=null)}),(w,p)=>(s(),l("div",pr,[t("div",{ref_key:"el",ref:_,class:"echart"},null,512),t("div",fr,[e(x)?(s(),l("span",mr,o(e(i)("\u4E0A\u4F20:"))+" "+o(e(x)),1)):D("",!0),e(h)?(s(),l("span",vr,o(e(i)("\u4E0B\u8F7D:"))+" "+o(e(h)),1)):D("",!0)])]))}});var gr=N(br,[["__scopeId","data-v-770b811c"]]);const hr={},_r={t:"1649668202191",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2338","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"28px",height:"28px"},xr=t("path",{d:"M288 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z","p-id":"2339",fill:"#666"},null,-1),wr=t("path",{d:"M512 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z","p-id":"2340",fill:"#666"},null,-1),kr=t("path",{d:"M736 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z","p-id":"2341",fill:"#666"},null,-1),yr=[xr,wr,kr];function Fr(n,i){return s(),l("svg",_r,yr)}var Gt=N(hr,[["render",Fr]]);let Ce=0;const Er={props:{type:String,message:String|Function,Close:Function,countdown:Number},data(){return{show:!1,remain:0}},mounted(){if(window.setTimeout(()=>{this.show=!0},0),this.countdown){this.remain=this.countdown;const n=()=>{this.show&&this.remain>0&&(this.remain=this.remain-1,Ce=window.setTimeout(n,1e3))};Ce=window.setTimeout(n,1e3)}},computed:{Message(){return this.message+(this.countdown?" "+this.remain+"s":"")}},methods:{Stop(){this.type!="loading"&&(this.show=!1,Ce!=0&&clearTimeout(Ce),this.Close())}}},Pe=n=>(st("data-v-48bf84c6"),n=n(),dt(),n),$r={key:0,class:"loading icon"},Cr=Pe(()=>t("svg",{t:"1631799919469",class:"icon",viewBox:"0 0 1047 1047",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3453",width:"128",height:"128"},[t("path",{d:"M522.695111 1.991111c-26.339556 0.170667-47.416889 21.475556-47.672889 48.753778-0.284444 26.453333-0.056889 52.963556-0.056889 79.445333 0 27.249778-0.369778 54.528 0.113778 81.777778 0.483556 27.050667 22.016 47.132444 49.351111 46.904889a47.786667 47.786667 0 0 0 47.729778-47.445333c0.284444-53.76 0.284444-107.52-0.028444-161.251556-0.170667-27.676444-21.902222-48.355556-49.436445-48.184889m-195.896889 88.092445c-8.334222-14.222222-21.646222-21.276444-38.314666-21.333334-35.128889 0-56.576 36.949333-38.968889 68.152889a11616.995556 11616.995556 0 0 0 78.961777 137.614222 44.942222 44.942222 0 0 0 61.838223 16.896c21.304889-12.202667 29.667556-38.968889 17.379555-60.871111-26.453333-47.104-53.560889-93.866667-80.896-140.458666m-228.693333 234.524444c44.316444 25.799111 88.746667 51.342222 133.176889 76.970667 6.712889 3.896889 13.681778 6.912 21.703111 6.428444 20.138667 0.142222 35.953778-11.946667 41.301333-31.573333 5.006222-18.261333-2.673778-36.721778-20.224-46.990222-44.629333-26.026667-89.372444-51.882667-134.115555-77.710223-22.528-12.999111-47.815111-7.025778-59.818667 13.909334-12.231111 21.248-4.977778 45.624889 17.948444 58.965333m34.161778 235.975111c26.396444 0 52.821333 0.199111 79.217778-0.085333 23.409778-0.256 39.139556-16.412444 38.798222-39.139556-0.341333-21.617778-16.924444-37.347556-39.594666-37.376-51.655111-0.056889-103.310222-0.056889-154.965334 0.028445-24.177778 0.056889-40.704 15.985778-40.561778 38.684444 0.142222 22.186667 16.583111 37.745778 40.192 37.859556 25.656889 0.142222 51.285333 0.028444 76.913778 0m151.722667 100.238222a34.247111 34.247111 0 0 0-46.876445-12.942222 13764.778667 13764.778667 0 0 0-139.008 80.583111c-11.093333 6.485333-16.327111 16.867556-16.497777 25.372444 0.085333 30.549333 27.249778 47.957333 50.403555 35.072 47.160889-26.197333 93.724444-53.475556 140.145778-80.924444 17.180444-10.154667 21.504-30.378667 11.832889-47.160889m91.875555 101.660444c-14.250667-4.067556-27.619556 1.422222-35.84 15.644445a24375.466667 24375.466667 0 0 0-77.312 134.485333c-10.012444 17.550222-5.859556 35.669333 9.784889 45.027556 16.014222 9.557333 34.247111 4.039111 44.714667-13.994667 25.543111-44.088889 50.915556-88.263111 76.373333-132.352 3.299556-5.745778 5.688889-11.690667 5.745778-14.933333 0-17.834667-9.272889-29.866667-23.466667-33.877334m147.456 44.288c-16.384 0.085333-27.306667 11.918222-27.448888 30.151111-0.142222 25.372444-0.028444 50.716444-0.028445 76.060445h-0.085333c0 26.112-0.113778 52.252444 0.056889 78.364444 0.113778 18.261333 11.064889 30.065778 27.448889 30.208 16.952889 0.142222 28.046222-11.832889 28.103111-30.748444 0.113778-51.086222 0.142222-102.172444 0.056889-153.258667 0-18.773333-11.207111-30.862222-28.103112-30.776889m177.208889-26.112c-7.509333-12.8-21.902222-16.014222-33.792-8.874666a23.722667 23.722667 0 0 0-8.533333 32.995555c26.282667 46.279111 52.906667 92.330667 79.644444 138.353778 4.494222 7.765333 11.633778 11.946667 20.906667 11.804444 18.545778-0.142222 30.520889-19.342222 21.219556-35.868444-26.026667-46.392889-52.650667-92.444444-79.473778-138.410667m239.957333-41.187555c-45.283556-26.254222-90.595556-52.48-135.964444-78.648889-4.693333-2.702222-9.728-4.323556-15.36-2.958222-9.102222 2.247111-14.933333 8.049778-16.497778 17.095111-1.877333 10.894222 3.84 18.204444 12.885333 23.438222 29.809778 17.180444 59.562667 34.417778 89.344 51.598222 15.217778 8.789333 30.236444 17.976889 45.738667 26.225778 14.677333 7.793778 31.061333-2.048 31.061333-18.033778-0.056889-8.448-4.096-14.592-11.207111-18.716444m48.867556-234.638222c-24.888889-0.085333-49.749333 0-74.609778 0v-0.085334c-25.258667 0-50.517333-0.056889-75.776 0.028445-13.425778 0.056889-20.963556 6.343111-21.162667 17.294222-0.199111 11.150222 7.082667 17.521778 20.679111 17.550222 50.488889 0.113778 100.977778 0.142222 151.495112 0.085333 13.368889 0 21.191111-6.485333 21.390222-17.152 0.227556-10.808889-8.106667-17.664-22.016-17.720888m-187.960889-127.146667c45.084444-26.026667 90.140444-52.110222 135.168-78.222222 4.864-2.844444 8.248889-6.855111 8.135111-12.942223-0.142222-11.036444-11.207111-17.436444-21.504-11.548444-45.511111 26.055111-90.851556 52.394667-136.135111 78.819556-7.68 4.494222-10.524444 11.52-5.575111 19.569777 4.835556 7.850667 12.088889 8.817778 19.911111 4.323556m-122.311111-115.114667c5.205333-0.256 8.220444-3.413333 10.609778-7.651555 4.920889-8.647111 10.040889-17.208889 14.990222-25.827556 20.48-35.555556 40.931556-71.025778 61.297778-106.609778 5.091556-8.874667 3.015111-16.668444-4.778667-18.517333-7.68-1.848889-10.894222 3.697778-14.051556 9.159111l-68.778666 119.495111c-2.844444 4.977778-6.030222 9.870222-8.305778 15.104-3.128889 7.196444 1.678222 14.648889 9.045333 14.848","p-id":"3454"})],-1)),Dr=[Cr],Br={key:1,class:"success icon"},Yr=Pe(()=>t("svg",{t:"1632451272305",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2204",width:"128",height:"128"},[t("path",{d:"M1001.305115 275.874141 431.461709 845.718571c-28.221762 28.221762-73.977875 28.221762-102.20066 0L22.661116 539.116591c-28.222785-28.221762-28.222785-73.979922 0-102.20066 28.221762-28.221762 73.977875-28.221762 102.20066 0l255.500115 255.502162 518.743588-518.743588c28.221762-28.221762 73.977875-28.221762 102.199637 0C1029.5279 201.89422 1029.5279 247.65238 1001.305115 275.874141z","p-id":"2205"})],-1)),Ar=[Yr],Sr={key:2,class:"error icon"},zr=Pe(()=>t("svg",{t:"1632451325789",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2204",width:"128",height:"128"},[t("path",{d:"M823.04 840.32 524.16 540.16l296.32-294.4c12.8-12.8 12.8-33.28 0-45.44-12.8-12.8-33.28-12.8-46.08 0L478.08 494.08 184.96 200.32c-12.8-12.8-33.28-12.8-45.44 0s-12.8 33.28 0 45.44l292.48 293.76-302.72 300.8c-12.8 12.8-12.8 33.28 0 45.44 12.8 12.8 33.28 12.8 46.08 0l302.72-300.16 299.52 300.16c12.8 12.8 33.28 12.8 45.44 0C835.2 873.6 835.2 853.12 823.04 840.32z","p-id":"2205"})],-1)),Pr=[zr],Tr={key:3,class:"warning icon"},Ir=Pe(()=>t("svg",{t:"1632451401172",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1638",width:"128",height:"128"},[t("path",{d:"M512 1021.45211835a60.32985613 60.32985613 0 1 1 60.32985613-60.32985611 60.32985613 60.32985613 0 0 1-60.32985613 60.32985611z m86.85823451-924.97400238L572.32985613 719.80283775a60.32985613 60.32985613 0 0 1-120.65971226 0l-26.52837838-623.32472178c-0.16758294-2.22885301-0.28489098-4.49122263-0.284891-6.78710881a87.14312551 87.14312551 0 0 1 174.28625102 0c0 2.2958862-0.11730806 4.5582558-0.284891 6.78710881z","p-id":"1639"})],-1)),Lr=[Ir];function Mr(n,i,a,d,u,r){return s(),H($t,{name:"el-fade-in-linear"},{default:R(()=>[u.show?(s(),l("div",{key:0,class:"toast",onClick:i[1]||(i[1]=c=>r.Stop())},[a.type=="loading"?(s(),l("div",$r,Dr)):a.type=="success"?(s(),l("div",Br,Ar)):a.type=="error"?(s(),l("div",Sr,Pr)):a.type=="warning"?(s(),l("div",Tr,Lr)):D("",!0),t("div",{class:"message",onClick:i[0]||(i[0]=ft(()=>{},["stop"]))},o(r.Message),1)])):D("",!0)]),_:1})}var Nr=N(Er,[["render",Mr],["__scopeId","data-v-48bf84c6"]]);const pe=new Map,Xt=n=>{const i=gt(Nr,mt(ut({},n),{Close:()=>{d()}})),a=document.createElement("div");document.body.append(a),i.mount(a);const d=()=>{a.remove(),pe.get(i._uid)&&pe.delete(i._uid)};return n.type=="loading"&&pe.set(i._uid,{Close:d}),(n==null?void 0:n.duration)==0||((n==null?void 0:n.duration)>0?setTimeout(()=>{d()},n==null?void 0:n.duration):setTimeout(()=>{d()},3e3)),{Close:d}},E=n=>Xt(n);E.Loading=(n,i)=>Xt({type:"loading",message:n||"\u52A0\u8F7D\u4E2D...",duration:0,countdown:i||0});E.Success=n=>Xt({type:"success",message:n});E.Error=n=>Xt({type:"error",message:n,duration:0});E.Warning=n=>Xt({type:"warning",message:n});E.Message=n=>Xt({message:n});E.Clear=()=>{pe.forEach((n,i)=>{n.Close(),pe.delete(i)})};const{$gettext:Jt,$ngettext:Az}=Se(),Et={installApp:(n,i)=>new Promise((a,d)=>{let u=0;M.App.Install.POST({name:n}).then(()=>{const r=setTimeout(()=>{u==0&&(u=1,a(!1))},(i||60)*1e3),c=()=>{u==0&&M.App.Check.POST({name:n}).then(x=>{if(u==0&&x!=null&&x.data){const{result:h}=x.data;if((h==null?void 0:h.status)=="installed"){clearTimeout(r),u=1,a(!0);return}}}).catch(x=>{}).finally(()=>{u==0&&setTimeout(c,3e3)})};setTimeout(c,3e3)}).catch(r=>{u==0&&(u=1,d(Jt("\u5B89\u88C5\u5931\u8D25\uFF0C")+r))})}),checkAndInstallApp:(n,i,a)=>L(Qt,null,function*(){let d=E.Loading(Jt("\u68C0\u67E5\u4E2D..."));try{const u=yield M.App.Check.POST({name:n});if(d.Close(),u!=null&&u.data){const{result:r,error:c}=u.data;if(c)E.Warning(c);else if(r){if(r.status=="installed")return!0;if(confirm(Jt("\u68C0\u6D4B\u5230\u4F60\u5C1A\u672A\u5B89\u88C5 %{name} \u63D2\u4EF6,\u662F\u5426\u5B89\u88C5\uFF1F",{name:i}))){d=E.Loading(Jt("\u6B63\u5728\u5B89\u88C5\u4E2D..."));const x=yield Et.installApp(a||n);if(d.Close(),x)return!0;E.Error(Jt("\u5B89\u88C5\u5931\u8D25\u6216\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8F6F\u4EF6\u6E90\u6216\u7A0D\u5019\u91CD\u8BD5"))}}else E.Warning(Jt("\u68C0\u67E5\u63D2\u4EF6\u72B6\u6001\u5931\u8D25"))}return!1}catch(u){return d.Close(),E.Warning(u),!1}}),installAndGo:(n,i,a,d)=>L(Qt,null,function*(){(yield Et.checkAndInstallApp(n,i,d))&&(location.href=a)})},Or={},Vr={t:"1640746738262",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1216",width:"128",height:"128"},Gr=t("path",{d:"M511.232 438.8352L112.9984 40.6016A51.2 51.2 0 0 0 40.6016 112.9984L438.784 511.232 40.6016 909.4656a51.2 51.2 0 1 0 72.3968 72.448l398.2336-398.2848 398.2336 398.2848a51.2 51.2 0 1 0 72.448-72.448l-398.2848-398.2336 398.2848-398.2336A51.2 51.2 0 0 0 909.4656 40.6016L511.232 438.784z","p-id":"1217"},null,-1),jr=[Gr];function qr(n,i){return s(),l("svg",Vr,jr)}var Ur=N(Or,[["render",qr]]);const Rr=n=>(st("data-v-a96d68d4"),n=n(),dt(),n),Wr={id:"actioner"},Hr={key:0,class:"action-container"},Zr={class:"action-container_header"},Jr=Rr(()=>t("div",null,null,-1)),Kr={class:"title"},Qr=["title"],Xr={class:"action-container_body"},ts=G({props:{Close:{type:Function},type:{type:Number},title:String},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1);At(()=>{u.value=!0,document.body.setAttribute("lock-scroll","true")}),Ot(()=>{document.body.removeAttribute("lock-scroll")});const r=()=>{i.Close&&(u.value=!1,setTimeout(()=>{i.Close&&i.Close()},300))};return(c,x)=>(s(),l("div",Wr,[t("div",{class:"bg",onClick:r}),n.type!=null?Pt(c.$slots,"default",{key:0},void 0,!0):(s(),l(O,{key:1},[u.value?(s(),l("div",Hr,[t("div",Zr,[Jr,t("div",Kr,o(n.title),1),t("button",{class:"close",title:e(a)("\u5173\u95ED"),onClick:r},[z(Ur)],8,Qr)]),t("div",Xr,[Pt(c.$slots,"default",{},void 0,!0)])])):D("",!0)],64))]))}});var es=N(ts,[["__scopeId","data-v-a96d68d4"]]);const ht=G({props:{Close:{type:Function},type:{type:Number},title:String},setup(n){return(i,a)=>(s(),H(es,{Close:n.Close,type:n.type,title:n.title},{default:R(()=>[Pt(i.$slots,"default")]),_:3},8,["Close","type","title"]))}}),as=["onSubmit"],os={class:"actioner-dns_header"},ns={class:"actioner-dns_body"},is={class:"label-item"},rs={class:"label-item_key"},ss={class:"label-item_value"},ds=["disabled"],ls={value:"manual"},us={class:"label-item"},cs={class:"label-item_key"},ps={class:"label-item_value"},fs=["placeholder","onUpdate:modelValue"],ms={class:"label-item_key"},vs={class:"label-item_value"},bs=["placeholder","onUpdate:modelValue"],gs={key:1,class:"label-message"},hs={class:"actioner-dns_footer"},_s=["disabled"],xs={key:1,class:"actioner-dns"},ws={class:"actioner-dns_header"},ks={class:"actioner-dns_body"},ys={class:"config-message"},Fs={class:"actioner-dns_footer"},Es=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=ze(),c=r.status,x=X(()=>r.status.proto!="static"),h=()=>{let w=c.dnsList||[];for(w=w.filter(p=>p);w.length<2;)w.push("");return w},f=$({interfaceName:c.defaultInterface||"",dnsProto:c.dnsProto||"manual",manualDnsIp:h()}),v=$(""),b=$(!1),_=()=>L(this,null,function*(){v.value="";let w={};switch(f.value.dnsProto){case"auto":break;case"manual":if(w.manualDnsIp=[],!f.value.manualDnsIp[0]){E.Error(a("\u81F3\u5C11\u9700\u8981\u586B\u5199\u4E00\u4E2ADNS"));return}w.manualDnsIp=f.value.manualDnsIp.filter(m=>m);break}w.dnsProto=f.value.dnsProto,w.interfaceName=f.value.interfaceName;const p=E.Loading(a("\u914D\u7F6E\u4E2D..."));try{const m=yield M.Guide.DnsConfig.POST(w);if(m!=null&&m.data){const{success:g,error:F}=m==null?void 0:m.data;F&&(v.value=F),(g==null||g==0)&&(E.Success(a("\u914D\u7F6E\u6210\u529F")),u.value=1)}}catch(m){v.value=m}p.Close()}),y=w=>{w.preventDefault(),i.Close&&i.Close()},k=w=>{location.reload()};return(w,p)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0?(s(),l("form",{key:0,class:"actioner-dns",onSubmit:ft(_,["prevent"])},[t("div",os,[t("span",null,o(e(a)("DNS\u914D\u7F6E")),1)]),t("div",ns,[t("div",is,[t("div",rs,[t("span",null,o(e(a)("DNS\u9009\u9879")),1)]),t("div",ss,[T(t("select",{"onUpdate:modelValue":p[0]||(p[0]=m=>f.value.dnsProto=m)},[t("option",{value:"auto",disabled:!e(x)},o(e(a)("\u81EA\u52A8\u83B7\u53D6DNS")),9,ds),t("option",ls,o(e(a)("\u81EA\u5B9A\u4E49DNS")),1)],512),[[rt,f.value.dnsProto]])])]),f.value.dnsProto=="manual"?(s(!0),l(O,{key:0},J(f.value.manualDnsIp,(m,g)=>(s(),l("div",us,[g==0?(s(),l(O,{key:0},[t("div",cs,[t("span",null,o(e(a)("DNS\u670D\u52A1\u5668\u5730\u5740")),1)]),t("div",ps,[T(t("input",{type:"text",placeholder:e(a)("\u8BF7\u8F93\u5165DNS\u5730\u5740"),required:"","onUpdate:modelValue":F=>f.value.manualDnsIp[g]=F},null,8,fs),[[tt,f.value.manualDnsIp[g],void 0,{trim:!0}]])])],64)):(s(),l(O,{key:1},[t("div",ms,o(e(a)("\u5907\u7528DNS\u670D\u52A1\u5668\u5730\u5740")),1),t("div",vs,[T(t("input",{type:"text",placeholder:e(a)("\u5907\u7528DNS\u5730\u5740"),"onUpdate:modelValue":F=>f.value.manualDnsIp[g]=F},null,8,bs),[[tt,f.value.manualDnsIp[g],void 0,{trim:!0}]])])],64))]))),256)):D("",!0),v.value?(s(),l("div",gs,o(v.value),1)):D("",!0)]),t("div",hs,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:b.value},o(e(a)("\u786E\u8BA4")),9,_s),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:y},o(e(a)("\u53D6\u6D88")),1)])],40,as)):u.value==1?(s(),l("div",xs,[t("div",ws,[t("span",null,o(e(a)("DNS\u914D\u7F6E")),1)]),t("div",ks,[t("div",ys,o(e(a)("DNS\u914D\u7F6E\u5DF2\u4FDD\u5B58")),1)]),t("div",Fs,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:k},o(e(a)("\u5B8C\u6210")),1)])])):D("",!0)]),_:1},8,["Close"]))}});var $s=N(Es,[["__scopeId","data-v-2ac87be2"]]);const Aa=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt($s,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Cs=n=>(st("data-v-4ca82311"),n=n(),dt(),n),Ds={class:"action"},Bs={class:"action-body"},Ys=Cs(()=>t("div",{class:"icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),As={class:"title"},Ss={class:"info"},zs=["href"],Ps={class:"btns"},Ts=G({props:{port:Number,Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>`http://${location.hostname}:${i.port}`),r=()=>{i.Close&&(i.Close(),location.reload())};return(c,x)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("div",Ds,[t("div",Bs,[Ys,t("h2",As,o(e(a)("\u670D\u52A1\u5DF2\u542F\u52A8")),1),t("div",Ss,[t("span",null,o(e(a)("\u524D\u5F80")),1),t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,zs),t("span",null,o(e(a)("\u8FDB\u884C\u6D4B\u901F")),1)]),t("div",Ps,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:r},o(e(a)("\u5173\u95ED")),1)])])])]),_:1})]),_:1}))}});var Is=N(Ts,[["__scopeId","data-v-4ca82311"]]),Ls=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Is,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Sa=n=>(st("data-v-17b89cb7"),n=n(),dt(),n),Ms=Sa(()=>t("div",{class:"app-container_status-label_iconer"},[t("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:v":"https://vecta.io/nano",width:"48",height:"38",viewBox:"0 0 12.7 10.05"},[t("defs",null,[t("filter",{id:"A","color-interpolation-filters":"sRGB"},[t("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),t("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),t("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),t("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),t("g",{transform:"translate(0 -286.95)"},[t("rect",{x:".21",y:"287.25",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),t("path",{transform:"matrix(.105 0 0 .0989 -6.0834 280.6)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#999",filter:"url(#A)",stroke:"#999","stroke-width":"2.5"}),t("g",{transform:"matrix(.1048 0 0 .1048 -6.0999 280.7)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[t("use",{"xlink:href":"#B"}),t("use",{"xlink:href":"#B",x:"73.04"}),t("use",{"xlink:href":"#B",x:"52.17"}),t("use",{"xlink:href":"#B",x:"41.74"}),t("use",{"xlink:href":"#B",x:"31.3"}),t("use",{"xlink:href":"#B",x:"20.87"}),t("use",{"xlink:href":"#B",x:"10.43"}),t("use",{"xlink:href":"#B",x:"62.61"})]),t("rect",{x:"1.24",y:"294.55",width:"1.6",height:"1.38",ry:".11",fill:"#ccc",stroke:"#ccc","stroke-width":".22","paint-order":"normal"})])])],-1)),Ns={class:"app-container_status-label_text"},Os={class:"text_status"},Vs={class:"text_info"},Gs=Sa(()=>t("div",{class:"app-container_status-label_iconer"},[t("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"48",height:"38",viewBox:"0 0 12.7 10.05","xmlns:v":"https://vecta.io/nano"},[t("defs",null,[t("filter",{id:"A","color-interpolation-filters":"sRGB"},[t("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),t("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),t("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),t("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),t("g",{transform:"translate(-.03 -287.07)"},[t("rect",{x:".24",y:"287.36",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),t("path",{transform:"matrix(.105 0 0 .0989 -6.0532 280.72)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#4d4d4d",filter:"url(#A)",stroke:"#4d4d4d","stroke-width":"2.5"}),t("g",{transform:"matrix(.1048 0 0 .1048 -6.0697 280.81)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[t("use",{"xlink:href":"#B"}),t("use",{"xlink:href":"#B",x:"73.04"}),t("use",{"xlink:href":"#B",x:"52.17"}),t("use",{"xlink:href":"#B",x:"41.74"}),t("use",{"xlink:href":"#B",x:"31.3"}),t("use",{"xlink:href":"#B",x:"20.87"}),t("use",{"xlink:href":"#B",x:"10.43"}),t("use",{"xlink:href":"#B",x:"62.61"})]),t("rect",{x:"1.27",y:"294.67",width:"1.6",height:"1.38",ry:".11",fill:"#55d400",stroke:"#55d400","stroke-width":".22","paint-order":"normal"})])])],-1)),js={class:"app-container_status-label_text"},qs={class:"text_info"},Us=G({props:{item:{type:Object,required:!0},transform:{type:Number,default:0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=Ea(),r=$(null),c=h=>{const f=h.target,{left:v,top:b}=f.getBoundingClientRect();u.portitemStyle.show=!0,u.portitemStyle.left=v,u.portitemStyle.top=b,u.portitemStyle.portitem=i.item},x=h=>{u.portitemStyle.show=!1};return(h,f)=>(s(),l("div",{class:"app-container_status-label_bg",style:Bt(`transform: translateX(${n.transform}px);`),ref_key:"el",ref:r,onMouseenter:c,onMouseleave:x},[n.item.linkState=="DOWN"?(s(),l(O,{key:0},[Ms,t("div",Ns,[t("div",Os,o(e(a)("\u5DF2\u65AD\u5F00")),1),t("div",Vs,o(n.item.name)+" "+o(n.item.interfaceNames?`(${n.item.interfaceNames.join(",").toLocaleUpperCase()})`:""),1)])],64)):(s(),l(O,{key:1},[Gs,t("div",js,[t("div",null,o(n.item.linkSpeed),1),t("div",qs,o(n.item.name)+" "+o(n.item.interfaceNames?`(${n.item.interfaceNames.join(",").toLocaleUpperCase()})`:""),1)])],64))],36))}});var za=N(Us,[["__scopeId","data-v-17b89cb7"]]);const Pa=n=>(st("data-v-6f355f28"),n=n(),dt(),n),Rs=Pa(()=>t("span",null,o("<"),-1)),Ws=[Rs],Hs=Pa(()=>t("span",null,o(">"),-1)),Zs=[Hs],Js=G({props:{portList:{type:Array,required:!0}},setup(n){const i=$(),a=$(0),d=$(0),u=$(0),r=$(!1),c=()=>{if(u.value>=0){u.value=0;return}u.value+=100},x=()=>{if(u.value<=0-a.value+d.value){u.value=0-a.value+d.value;return}u.value-=100};return At(()=>{qe(()=>{i.value&&(a.value=i.value.scrollWidth,d.value=i.value.clientWidth,r.value=a.value>d.value)})}),(h,f)=>(s(),l("div",{class:"app-interfaces",ref_key:"el",ref:i},[r.value?(s(),l(O,{key:0},[t("a",{class:"btn-f",onClick:c},Ws),t("a",{class:"btn-r",onClick:x},Zs)],64)):D("",!0),(s(!0),l(O,null,J(n.portList,(v,b)=>(s(),H(za,{item:v,transform:u.value},null,8,["item","transform"]))),256))],512))}});var Ks=N(Js,[["__scopeId","data-v-6f355f28"]]);const Qs={},Xs={width:"82px",height:"82px",viewBox:"0 0 82 82",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},td=qt('',1),ed=[td];function ad(n,i){return s(),l("svg",Xs,ed)}var He=N(Qs,[["render",ad]]);const od=["onSubmit"],nd={class:"actioner-dns_header"},id={class:"actioner-dns_body"},rd={class:"label-item"},sd={class:"label-item_key"},dd={class:"label-item_value"},ld={class:"item_info"},ud={class:"label-item"},cd={class:"label-item_key"},pd={class:"label-item_value"},fd={selected:"true",value:""},md=["value"],vd={class:"actioner-dns_footer"},bd=["disabled"],gd={key:1,class:"actioner-dns"},hd={class:"actioner-dns_header"},_d={class:"softsource_tit"},xd={class:"actioner-dns_body"},wd={class:"finished"},kd={class:"successed"},yd={class:"btns"},Fd=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=$(""),c=$(),x=$();(()=>{M.Guide.SoftSourceList.GET().then(_=>{var y,k;if((y=_==null?void 0:_.data)!=null&&y.result){const w=(k=_==null?void 0:_.data)==null?void 0:k.result;x.value=w}}).then(()=>M.Guide.GetSoftSource.GET()).then(_=>{var y,k;if((y=_==null?void 0:_.data)!=null&&y.result){const w=_.data.result;c.value=w.softSource,(k=x.value)!=null&&k.softSourceList.find(p=>p.identity==w.softSource.identity)&&(r.value=w.softSource.identity)}})})();const f=_=>{_.preventDefault(),i.Close&&i.Close()},v=_=>{const y=E.Loading(a("\u6B63\u5728\u5207\u6362\u4E2D..."));M.Guide.SoftSource.POST({softSourceIdentity:r.value}).then(k=>{if(k!=null&&k.data){if((k.data.success||0)==0){u.value=1;return}else if(k.data.error)throw k.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(k=>{E.Error(k)}).finally(()=>y.Close())},b=_=>{_.preventDefault(),location.reload()};return(_,y)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>{var k,w;return[u.value==0?(s(),l("form",{key:0,class:"actioner-dns",onSubmit:ft(v,["prevent"])},[t("div",nd,[t("span",null,o(e(a)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1)]),t("div",id,[t("div",rd,[t("div",sd,[t("span",null,o(e(a)("\u5F53\u524D\u8F6F\u4EF6\u6E90")),1)]),t("div",dd,[t("p",ld,o((k=c.value)==null?void 0:k.name),1)])]),t("div",ud,[t("div",cd,[t("span",null,o(e(a)("\u5207\u6362\u8F6F\u4EF6\u6E90")),1)]),t("div",pd,[T(t("select",{name:"",id:"","onUpdate:modelValue":y[0]||(y[0]=p=>r.value=p)},[t("option",fd,o(e(a)("\u8BF7\u9009\u62E9\u8F6F\u4EF6\u6E90")),1),(s(!0),l(O,null,J((w=x.value)==null?void 0:w.softSourceList,(p,m)=>(s(),l("option",{value:p.identity,key:m},o(p.name),9,md))),128))],512),[[rt,r.value,void 0,{trim:!0}]])])])]),t("div",vd,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:r.value==""},o(e(a)("\u786E\u8BA4")),9,bd),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:f},o(e(a)("\u53D6\u6D88")),1)])],40,od)):D("",!0),u.value==1?(s(),l("form",gd,[t("div",hd,[t("span",_d,o(e(a)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1)]),t("div",xd,[t("div",wd,[z(He)]),t("p",kd,o(e(a)("\u914D\u7F6E\u6210\u529F\uFF01")),1),t("div",yd,[t("button",{class:"cbi-button cbi-button-apply softsource_successed",onClick:b},o(e(a)("\u786E\u5B9A")),1)])])])):D("",!0)]}),_:1},8,["Close"]))}});var Ed=N(Fd,[["__scopeId","data-v-2deed63d"]]);const Ta=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Ed,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Wt=n=>(st("data-v-51765cb0"),n=n(),dt(),n),$d={class:"app-container_status-label"},Cd={class:"app-container_status-label_item",style:{"padding-right":"10px"}},Dd={class:"app-container_status-container",style:{height:"100%"}},Bd={key:0,class:"app-container_status-container_body"},Yd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-connected",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng","fill-rule":"nonzero"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.0779329313",fill:"#553AFE"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#553AFE"}),t("path",{d:"M8,15 L13.2546984,20.2546984 C13.6452227,20.6452227 14.2783876,20.6452227 14.6689119,20.2546984 C14.6813066,20.2423037 14.6933732,20.2295853 14.7050993,20.2165563 L23,11 L23,11",id:"Path-3",stroke:"#FFFFFF","stroke-width":"2","stroke-linecap":"round"})])])])],-1)),Ad={class:"app-container_status-info"},Sd={class:"container_success"},zd={class:"container_time"},Pd={key:1,class:"app-container_status-container_body"},Td=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#FAAD14","fill-rule":"nonzero"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#FAAD14","fill-rule":"nonzero"}),t("path",{d:"M15,6 C15.8284271,6 16.5,6.67157288 16.5,7.5 L16.5,18.5 C16.5,19.3284271 15.8284271,20 15,20 C14.1715729,20 13.5,19.3284271 13.5,18.5 L13.5,7.5 C13.5,6.67157288 14.1715729,6 15,6 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"}),t("path",{d:"M15,25 C14.171875,25 13.5,24.328125 13.5,23.5 C13.5,22.671875 14.171875,22 15,22 C15.828125,22 16.5,22.671875 16.5,23.5 C16.5,24.328125 15.828125,25 15,25 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"})])])])],-1)),Id={class:"app-container_status-info"},Ld={class:"container_failure"},Md={class:"container_time"},Nd={key:2,class:"app-container_status-container_body"},Od=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#FAAD14","fill-rule":"nonzero"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#FAAD14","fill-rule":"nonzero"}),t("path",{d:"M15,6 C15.8284271,6 16.5,6.67157288 16.5,7.5 L16.5,18.5 C16.5,19.3284271 15.8284271,20 15,20 C14.1715729,20 13.5,19.3284271 13.5,18.5 L13.5,7.5 C13.5,6.67157288 14.1715729,6 15,6 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"}),t("path",{d:"M15,25 C14.171875,25 13.5,24.328125 13.5,23.5 C13.5,22.671875 14.171875,22 15,22 C15.828125,22 16.5,22.671875 16.5,23.5 C16.5,24.328125 15.828125,25 15,25 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"})])])])],-1)),Vd={class:"app-container_status-info"},Gd={class:"container_failure"},jd={class:"container_time"},qd={key:3,class:"app-container_status-container_body"},Ud=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#FAAD14","fill-rule":"nonzero"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#FAAD14","fill-rule":"nonzero"}),t("path",{d:"M15,6 C15.8284271,6 16.5,6.67157288 16.5,7.5 L16.5,18.5 C16.5,19.3284271 15.8284271,20 15,20 C14.1715729,20 13.5,19.3284271 13.5,18.5 L13.5,7.5 C13.5,6.67157288 14.1715729,6 15,6 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"}),t("path",{d:"M15,25 C14.171875,25 13.5,24.328125 13.5,23.5 C13.5,22.671875 14.171875,22 15,22 C15.828125,22 16.5,22.671875 16.5,23.5 C16.5,24.328125 15.828125,25 15,25 Z",id:"\u8DEF\u5F84",fill:"#FFFFFF"})])])])],-1)),Rd={class:"app-container_status-info"},Wd={class:"container_failure"},Hd={class:"container_time"},Zd={key:4,class:"app-container_status-container_body"},Jd=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_internet-launching",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng","fill-rule":"nonzero"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.08",fill:"#3ED4AB"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#3ED4AB"}),t("path",{d:"M11.5738525,15.0233901 C11.5738525,14.8431935 11.5023882,14.6703653 11.3750746,14.5429471 C11.2477609,14.4155288 11.0750745,14.3439644 10.8950258,14.3440059 L7.67882684,14.3440059 C7.49875102,14.3439644 7.326041,14.4155503 7.19872281,14.5430024 C7.07140462,14.6704545 6.99991721,14.8433228 7.00000007,15.0235465 C7.00000007,15.2037431 7.0714644,15.3765713 7.19877809,15.5039895 C7.32609178,15.6314078 7.4987781,15.7029722 7.67882684,15.7029307 L10.8950258,15.7029307 C11.0750745,15.7029722 11.2477609,15.6314078 11.3750746,15.5039895 C11.5023882,15.3765713 11.5738525,15.2037431 11.5738525,15.0235465 L11.5738525,15.0233901 Z M22.3211553,14.3440059 L19.1049564,14.3440059 C18.9248806,14.3439644 18.7521705,14.4155503 18.6248524,14.5430024 C18.4975342,14.6704545 18.4260468,14.8433228 18.4261296,15.0235465 C18.4261296,15.2037431 18.4975939,15.3765713 18.6249076,15.5039895 C18.7522213,15.6314078 18.9249076,15.7029722 19.1049564,15.7029307 L22.3211553,15.7029307 C22.5012041,15.7029722 22.6738904,15.6314078 22.8012041,15.5039895 C22.9285178,15.3765713 22.9999911,15.2037431 22.9999911,15.0235465 C23.0019042,14.6481319 22.6962619,14.3440059 22.3211553,14.3440059 Z M15.0075079,18.6494887 C14.8274565,18.6494887 14.6547678,18.7210138 14.5274536,18.8484354 C14.4001395,18.9758571 14.3286356,19.1486892 14.3286812,19.3288885 L14.3286812,22.3206158 C14.3286398,22.5008124 14.4001455,22.6736405 14.5274592,22.8010588 C14.6547729,22.928477 14.8274592,23 15.0075079,23 C15.1875567,23 15.360243,22.928477 15.4875567,22.8010588 C15.6148704,22.6736405 15.6863761,22.5008124 15.6863348,22.3206158 L15.6863348,19.3308123 C15.6866114,18.9551699 15.3828413,18.6502825 15.0075079,18.6494887 Z M15.0075079,7 C14.8274592,7 14.6547729,7.07152297 14.5274592,7.19894122 C14.4001455,7.32635946 14.3286398,7.49918761 14.3286812,7.67938422 L14.3286812,10.8982245 C14.3286398,11.0784212 14.4001455,11.2512493 14.5274592,11.3786675 C14.6547729,11.5060858 14.8274592,11.5776088 15.0075079,11.5776088 C15.1875567,11.5776088 15.360243,11.5060858 15.4875567,11.3786675 C15.6148704,11.2512493 15.6863761,11.0784212 15.6863346,10.8982245 L15.6863346,7.67938422 C15.6863761,7.49918761 15.6148704,7.32635946 15.4875567,7.19894122 C15.360243,7.07152297 15.1875567,7 15.0075079,7 Z M11.6020132,17.4145291 L9.32916742,19.6892415 C9.06467707,19.9548666 9.06467707,20.3845576 9.32916742,20.6501827 C9.45618492,20.7780764 9.62906847,20.8497648 9.80924376,20.8492554 C9.98367775,20.8492554 10.1560177,20.783579 10.2893201,20.6501827 L12.5637599,18.3738593 C12.8282503,18.1082342 12.8282503,17.6785432 12.5637599,17.4129181 C12.2975184,17.147886 11.8671244,17.1486768 11.601857,17.4146855 L11.6020132,17.4145291 Z M17.8766048,12.7750942 C18.0510388,12.7750942 18.2236912,12.7094361 18.3566811,12.5760242 L20.6314491,10.29956 C20.8959395,10.0339349 20.8959395,9.6042439 20.6314491,9.3386188 C20.366042,9.07391123 19.9367036,9.07391123 19.6712965,9.3386188 L17.3966847,11.6133312 C17.1321944,11.8789563 17.1321944,12.3086474 17.3966847,12.5742725 C17.5235351,12.7026276 17.6963754,12.7749288 17.8767611,12.7750942 L17.8766048,12.7750942 Z M18.5349595,17.572293 C18.2695524,17.3075854 17.8402139,17.3075854 17.5748068,17.572293 C17.3103165,17.8379181 17.3103165,18.2676091 17.5748068,18.5332342 L19.6882679,20.6501827 C19.8152854,20.7780764 19.988169,20.8497648 20.1683442,20.8492554 C20.342747,20.8492554 20.5152744,20.783579 20.6484206,20.6501827 C20.9129109,20.3845576 20.9129109,19.9548666 20.6484206,19.6892415 L18.5349595,17.5722773 L18.5349595,17.572293 Z M10.2891638,9.35734026 C10.0237567,9.09263269 9.59441827,9.09263269 9.32901114,9.35734026 C9.06452079,9.62296536 9.06452079,10.0526564 9.32901114,10.3182815 L11.6037635,12.594902 C11.7308042,12.7227441 11.9036849,12.7943806 12.0838399,12.7938344 C12.2582738,12.7938344 12.43077,12.7281576 12.5639162,12.594902 C12.8284065,12.3292769 12.8284065,11.8995859 12.5639162,11.6339608 L10.2891638,9.3573559 L10.2891638,9.35734026 Z",id:"Shape",fill:"#FFFFFF"})])])])],-1)),Kd={class:"app-container_status-info"},Qd={class:"container_failure"},Xd={class:"app-container_status-label_item",style:{"padding-left":"10px"}},tl={class:"app-container_status-container",style:{height:"100%"}},el=["title"],al={class:"DeviceBlock"},ol={class:"app-container_status-container_body"},nl=Wt(()=>t("svg",{width:"50px",height:"50px",viewBox:"0 0 50 50",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_device-number",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"wancheng","fill-rule":"nonzero"},[t("path",{d:"M0,25 C0,33.9316396 4.76497292,42.1848151 12.5,46.6506351 C20.2350269,51.116455 29.7649731,51.116455 37.5,46.6506351 C45.2350271,42.1848151 50,33.9316396 50,25 C50,11.1928812 38.8071187,0 25,0 C11.1928813,0 0,11.1928812 0,25 Z",id:"Path","fill-opacity":"0.0804503114",fill:"#03C5FC"}),t("g",{id:"Group-2",transform:"translate(10.000000, 10.000000)"},[t("path",{d:"M0,15 C0,20.3589838 2.85898375,25.3108891 7.5,27.990381 C12.1410161,30.669873 17.8589839,30.669873 22.5,27.990381 C27.1410162,25.3108891 30,20.3589838 30,15 C30,6.7157287 23.2842712,0 15,0 C6.71572875,0 0,6.7157287 0,15 Z",id:"Path",fill:"#03C5FC"}),t("g",{id:"kehuduanIP",transform:"translate(5.000000, 7.000000)",fill:"#FFFFFF"},[t("path",{d:"M8.3164557,11.2822134 L2.39240506,11.2822134 C2.25316456,11.2822134 2.13924051,11.1683794 2.13924051,11.029249 L2.13924051,1.39130435 C2.13924051,1.25217391 2.25316456,1.13833992 2.39240506,1.13833992 L16.6075949,1.13833992 C16.7468354,1.13833992 16.8607595,1.25217391 16.8607595,1.39130435 L16.8607595,3.51620553 C17.2658228,3.5541502 17.6582278,3.69328063 18,3.9083004 L18,1.39130435 C18,0.619762846 17.3797468,0 16.6075949,0 L2.39240506,0 C1.62025316,0 1,0.619762846 1,1.39130435 L1,11.029249 C1,11.8007905 1.62025316,12.4205534 2.39240506,12.4205534 L7.15189873,12.4205534 L7.15189873,14.2798419 L6.40506329,14.2798419 C5.93670886,14.2798419 5.5443038,14.6592885 5.5443038,15.1399209 C5.5443038,15.6079051 5.92405063,16 6.40506329,16 L8.79746835,16 C8.48101266,15.5699605 8.3164557,15.0513834 8.3164557,14.5201581 L8.3164557,11.2822134 Z",id:"Path"}),t("path",{d:"M12.4062969,15.2371365 L12.4062969,14.0436242 L10.0074963,14.0436242 L10.0074963,6.39038031 C10.0074963,6.23042506 10.1394303,6.10738255 10.2833583,6.10738255 L15.6446777,6.10738255 C15.8005997,6.10738255 15.9205397,6.24272931 15.9205397,6.39038031 L15.9205397,8.77740492 L16.3283358,8.77740492 C16.5682159,8.77740492 16.7961019,8.85123043 17,8.97427293 L17,6.39038031 C17,5.62751678 16.3883058,5 15.6446777,5 L10.3313343,5 C9.58770615,5.0246085 9,5.63982103 9,6.39038031 L9,14.6465324 C9.02398801,15.3847875 9.61169415,15.9753915 10.3313343,16 L12.6581709,16 C12.5022489,15.7785235 12.4182909,15.50783 12.4062969,15.2371365 C12.4062969,15.2248322 12.4062969,15.2371365 12.4062969,15.2371365 L12.4062969,15.2371365 Z",id:"Path"}),t("path",{d:"M17.1515152,10 L13.8484848,10 C13.3787879,10 13,10.2857143 13,10.64 L13,15.36 C13,15.7142857 13.3787879,16 13.8484848,16 L17.1515152,16 C17.6212121,16 18,15.7142857 18,15.36 L18,10.64 C18,10.2857143 17.6212121,10 17.1515152,10 Z M14.0151515,10.7657143 L16.9848485,10.7657143 L16.9848485,14.8457143 L14.0151515,14.8457143 L14.0151515,10.7657143 L14.0151515,10.7657143 Z M15.4545455,15.6914286 C15.2575758,15.6914286 15.1060606,15.5657143 15.1060606,15.4285714 C15.1060606,15.28 15.2727273,15.1657143 15.469697,15.1657143 C15.6666667,15.1657143 15.8181818,15.2914286 15.8181818,15.44 C15.8181818,15.5085714 15.7727273,15.5885714 15.6969697,15.6342857 C15.6363636,15.68 15.5454545,15.7028571 15.4545455,15.6914286 C15.4545455,15.7028571 15.4545455,15.6914286 15.4545455,15.6914286 L15.4545455,15.6914286 Z",id:"Shape"})])])])])],-1)),il={class:"app-container_status-info"},rl={class:"container_content"},sl={class:"devise"},dl=Wt(()=>t("em",null,null,-1)),ll={class:"app-container_status-container"},ul=["title"],cl={class:"DeviceBlock"},pl={class:"app-container_title"},fl={class:"app-container_status-label_block"},ml={class:"app-container_status-label_block"},vl={class:"app-container_title"},bl={class:"app-container_status-label_block"},gl=Wt(()=>t("em",null,null,-1)),hl={class:"app-container_status-container"},_l={class:"app-container_title"},xl=["title"],wl={class:"DeviceBlock"},kl={class:"app-container_body"},yl=G({props:{homebox:{type:Object}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=ze(),u=()=>{Aa()},r=()=>{Ta()},c=X(()=>d.status),x=X(()=>d.deviceList),h=$(!1),f=$(!1),v=$(!1),b=bt({portList:[],load:!1}),_=C=>{switch(C){case"pppoe":return i("\u62E8\u53F7\u4E0A\u7F51");case"static":return i("\u9759\u6001\u7F51\u7EDC");case"dhcp":return"DHCP"}return C&&C.toUpperCase()},y=C=>{switch(C){case"manual":return i("\u624B\u52A8\u914D\u7F6E");case"auto":return i("\u81EA\u52A8\u83B7\u53D6");default:return""}},k=()=>{(b.load&&document.hidden?Promise.resolve():M.Network.PortList.GET().then(C=>{if(C!=null&&C.data){const{result:B}=C==null?void 0:C.data;B&&(b.portList=B.ports||[])}})).finally(()=>{b.load=!0,setTimeout(k,1e4)})};k();const w=It.stampForm,p=()=>{h.value=!h.value},m=()=>{f.value=!f.value},g=()=>{v.value=!v.value},F=()=>{p(),Et.installAndGo("app-meta-nlbwmon",i("\u5E26\u5BBD\u76D1\u63A7"),"/cgi-bin/luci/admin/services/nlbw")},Y=()=>L(this,null,function*(){var C,B,I;if(m(),yield Et.checkAndInstallApp("app-meta-homebox","Homebox"))try{const et=yield M.Network.Homebox.Enable.POST();(B=(C=et==null?void 0:et.data)==null?void 0:C.result)!=null&&B.port?Ls({port:et.data.result.port,setup:0}):((I=et==null?void 0:et.data)==null?void 0:I.success)==0?location.href="/cgi-bin/luci/admin/services/homebox":E.Warning(i("\u542F\u52A8\u5931\u8D25"))}catch(et){E.Warning(i("\u542F\u52A8\u5931\u8D25"))}}),A=()=>{m(),Et.installAndGo("app-meta-systools","SysTools","/cgi-bin/luci/admin/system/systools/pages")};return(C,B)=>{var et,S;const I=pt("router-link");return s(),l(O,null,[t("div",$d,[t("div",Cd,[t("div",Dd,[e(c)!=null?(s(),l(O,{key:0},[e(c).networkInfo=="netSuccess"?(s(),l("div",Bd,[Yd,t("div",Ad,[t("span",Sd,o(e(i)("\u5DF2\u8054\u7F51")),1),t("span",zd,o(e(w)(e(c).uptimeStamp)),1)])])):e(c).networkInfo=="dnsFailed"?(s(),l("div",Pd,[Td,t("div",Id,[t("span",Ld,o(e(i)("DNS\u9519\u8BEF")),1),t("span",Md,o(e(w)(e(c).uptimeStamp)),1),t("div",{onClick:u,class:"container_configure"},o(e(i)("DNS\u914D\u7F6E")),1)])])):e(c).networkInfo=="softSourceFailed"?(s(),l("div",Nd,[Od,t("div",Vd,[t("span",Gd,o(e(i)("\u8F6F\u4EF6\u6E90\u9519\u8BEF")),1),t("span",jd,o(e(w)(e(c).uptimeStamp)),1),t("div",{onClick:r,class:"container_configure"},o(e(i)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1)])])):e(c).networkInfo=="netFailed"?(s(),l("div",qd,[Ud,t("div",Rd,[t("span",Wd,o(e(i)("\u672A\u8054\u7F51")),1),t("span",Hd,o(e(w)(e(c).uptimeStamp)),1)])])):(s(),l("div",Zd,[Jd,t("div",Kd,[t("span",Qd,o(e(i)("\u68C0\u6D4B\u4E2D...")),1)])]))],64)):D("",!0)])]),t("div",Xd,[t("div",tl,[t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u8BBE\u5907\u4FE1\u606F")},[z(Gt,{onClick:p})],8,el),T(t("div",al,[t("div",{class:"menu_background",onClick:p}),t("ul",null,[t("li",null,[z(I,{to:"/devicemanagement"},{default:R(()=>[nt(o(e(i)("\u8BBE\u5907\u7BA1\u7406")),1)]),_:1})]),t("li",null,[t("a",{onClick:F},o(e(i)("\u5E26\u5BBD\u76D1\u63A7")),1)])])],512),[[Yt,h.value]]),t("div",ol,[nl,t("div",il,[t("span",rl,o(((S=(et=e(x))==null?void 0:et.devices)==null?void 0:S.length)||0),1),t("span",sl,o(e(i)("\u5DF2\u8FDE\u63A5\u8BBE\u5907")),1)])])])])]),dl,t("div",ll,[t("span",{class:"more_icon",title:e(i)("\u6D4B\u901F")},[z(Gt,{onClick:m})],8,ul),T(t("div",cl,[t("div",{class:"menu_background",onClick:m}),t("ul",null,[t("li",null,[t("a",{onClick:Y},o(e(i)("\u5185\u7F51\u6D4B\u901F")),1)]),t("li",null,[t("a",{onClick:A},o(e(i)("\u5916\u7F51\u6D4B\u901F")),1)])])],512),[[Yt,f.value]]),t("div",pl,[t("span",null,o(e(i)("IP\u5730\u5740"))+"\uFF08"+o(e(c).defaultInterface)+"\uFF09",1)]),t("div",fl,[t("span",null," IPv4: "+o(e(c).ipv4addr)+" \uFF08"+o(_(e(c).proto||""))+"\uFF09 ",1)]),t("div",ml,[t("span",null,"IPv6: "+o(e(c).ipv6addr),1)]),t("div",vl,[t("span",null,"DNS\uFF08"+o(y(e(c).dnsProto))+"\uFF09",1)]),(s(!0),l(O,null,J(e(c).dnsList,P=>(s(),l("div",bl,[t("span",null,o(P),1)]))),256))]),gl,t("div",hl,[t("div",_l,[t("span",null,o(e(i)("\u7F51\u7EDC\u63A5\u53E3\u72B6\u6001")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u7F51\u7EDC\u63A5\u53E3\u4FE1\u606F")},[z(Gt,{onClick:g})],8,xl),T(t("div",wl,[t("div",{class:"menu_background",onClick:g}),t("ul",null,[t("li",null,[z(I,{to:"/interfaceconfig"},{default:R(()=>[nt(o(e(i)("\u7F51\u53E3\u914D\u7F6E")),1)]),_:1})])])],512),[[Yt,v.value]])]),t("div",kl,[e(b).load?(s(),H(Ks,{key:0,portList:e(b).portList},null,8,["portList"])):D("",!0)])])],64)}}});var Fl=N(yl,[["__scopeId","data-v-51765cb0"]]);const El={class:"network-container"},$l={class:"network-container_flow"},Cl={class:"network-container_flow-container"},Dl={class:"network-container_status"},Bl=G({setup(n){return(i,a)=>(s(),l("div",El,[t("div",$l,[t("div",Cl,[z(gr)])]),t("div",Dl,[z(Fl)])]))}});var Yl=N(Bl,[["__scopeId","data-v-2d777a95"]]);const Al={},Sl={width:"14px",height:"14px",viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},zl=t("g",{id:"icon_alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"14",height:"14"}),t("path",{d:"M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])],-1),Pl=[zl];function Tl(n,i){return s(),l("svg",Sl,Pl)}var Lt=N(Al,[["render",Tl]]);const Il={},Ll={width:"18px",height:"18px",viewBox:"0 0 18 18",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Ml=qt('',1),Nl=[Ml];function Ol(n,i){return s(),l("svg",Ll,Nl)}var sa=N(Il,[["render",Ol]]);const Vl={},Gl={width:"18px",height:"18px",viewBox:"0 0 18 18",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},jl=qt('',1),ql=[jl];function Ul(n,i){return s(),l("svg",Gl,ql)}var Rl=N(Vl,[["render",Ul]]);const Ze=n=>(st("data-v-3dae3be2"),n=n(),dt(),n),Wl=["onSubmit"],Hl={class:"action-header"},Zl={class:"action-header_title"},Jl={class:"action-body"},Kl={class:"disk-info"},Ql=Ze(()=>t("div",{class:"disk-info_icon"},[t("svg",{t:"1642589762094",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"11301",width:"128",height:"128"},[t("path",{d:"M899.892468 123.889088c0-44.342099-36.286708-80.620486-80.624646-80.620486H204.728017C160.385918 43.268602 124.107532 79.546988 124.107532 123.889088v802.847056c0 44.342099 36.278386 80.620486 80.620485 80.620486h614.539805c44.337938 0 80.624646-36.278386 80.624646-80.620486V123.889088z",fill:"#D0D0DB","p-id":"11302"}),t("path",{d:"M169.8768 977.7772V174.930143c0-44.342099 36.278386-80.620486 80.620486-80.620485h614.539804c9.936092 0 19.426974 1.905666 28.239639 5.23434-11.525534-30.507298-40.996782-52.389169-75.398629-52.389169H203.342457c-44.342099 0-80.620486 36.278386-80.620486 80.620486v802.851217c0 34.410168 21.881871 63.873094 52.385008 75.381985A79.730065 79.730065 0 0 1 169.8768 977.7772z",fill:"#FFFFFF","p-id":"11303"}),t("path",{d:"M820.657543 40.497481H206.117739c-44.342099 0-80.620486 36.278386-80.620486 80.620485v802.847057c0 44.342099 36.278386 80.620486 80.620486 80.620486h614.539804c44.337938 0 80.624646-36.278386 80.624647-80.620486V121.117966c0-44.342099-36.286708-80.620486-80.624647-80.620485z m19.60173 828.785749c0 40.846992-33.43237 74.279362-74.287684 74.279361H199.780776c-40.855313 0-74.279362-33.424048-74.279362-74.279361V129.593603c0-40.855313 33.424048-74.279362 74.279362-74.279362h566.203296c40.842831 0 74.283522 33.424048 74.283522 74.279362l-0.008321 739.689627z",fill:"#6E6E96","p-id":"11304"}),t("path",{d:"M815.106979 1024H200.567175C146.933914 1024 103.303319 980.369405 103.303319 926.736144V123.889088C103.303319 70.255827 146.933914 26.625232 200.567175 26.625232h614.539804c53.633261 0 97.268017 43.630595 97.268017 97.263856v802.847056c0 53.633261-43.634756 97.263856-97.268017 97.263856zM200.567175 59.911972C165.287391 59.911972 136.590059 88.609303 136.590059 123.889088v802.847056c0 35.279784 28.697331 63.977115 63.977116 63.977115h614.539804c35.279784 0 63.981276-28.697331 63.981276-63.977115V123.889088c0-35.279784-28.701492-63.977115-63.981276-63.977116H200.567175z",fill:"#6E6E96","p-id":"11305"}),t("path",{d:"M301.946104 941.515457h429.985632v65.841173H301.946104z",fill:"#8A8AA1","p-id":"11306"}),t("path",{d:"M731.931736 1024H301.946104a16.64337 16.64337 0 0 1-16.64337-16.64337V941.515457a16.64337 16.64337 0 0 1 16.64337-16.64337h429.985632a16.64337 16.64337 0 0 1 16.64337 16.64337v65.841173a16.64337 16.64337 0 0 1-16.64337 16.64337z m-413.342262-33.286741h396.698892v-32.554432H318.589474v32.554432z",fill:"#6E6E96","p-id":"11307"}),t("path",{d:"M337.230049 960.318304h20.804213v47.038326h-20.804213zM386.565159 960.318304h20.804213v47.038326h-20.804213zM435.891948 960.318304h20.804213v47.038326h-20.804213zM485.231219 960.318304h20.804213v47.038326h-20.804213zM534.558008 960.318304h20.804213v47.038326h-20.804213zM583.897279 960.318304h20.804213v47.038326h-20.804213zM633.224068 960.318304h20.804213v47.038326h-20.804213zM682.563339 960.318304h20.804213v47.038326h-20.804213z",fill:"#FFE599","p-id":"11308"}),t("path",{d:"M219.153659 140.794591m-26.874883 0a26.874882 26.874882 0 1 0 53.749765 0 26.874882 26.874882 0 1 0-53.749765 0Z",fill:"#ADADD1","p-id":"11309"}),t("path",{d:"M219.153659 184.312843c-23.995579 0-43.518252-19.522673-43.518253-43.518252s19.522673-43.518252 43.518253-43.518253 43.518252 19.522673 43.518252 43.518253-19.522673 43.518252-43.518252 43.518252z m0-53.749764c-5.642103 0-10.231512 4.589409-10.231512 10.231512s4.589409 10.231512 10.231512 10.231512 10.231512-4.589409 10.231511-10.231512-4.589409-10.231512-10.231511-10.231512z",fill:"#6E6E96","p-id":"11310"}),t("path",{d:"M801.28466 140.794591m-26.870721 0a26.870721 26.870721 0 1 0 53.741442 0 26.870721 26.870721 0 1 0-53.741442 0Z",fill:"#ADADD1","p-id":"11311"}),t("path",{d:"M801.28466 184.308683c-23.995579 0-43.514092-19.518512-43.514091-43.514092s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514092z m0-53.741443c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11312"}),t("path",{d:"M801.280499 905.23291m-26.870721 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11313"}),t("path",{d:"M801.280499 948.747001c-23.995579 0-43.514092-19.518512-43.514091-43.514091s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11314"}),t("path",{d:"M219.153659 905.23291m-26.870722 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11315"}),t("path",{d:"M219.153659 948.747001c-23.995579 0-43.514092-19.518512-43.514092-43.514091s19.518512-43.514092 43.514092-43.514092 43.514092 19.518512 43.514091 43.514092-19.522673 43.514092-43.514091 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11316"}),t("path",{d:"M520.972857 777.43263c-142.542145 0-258.508988-115.971004-258.508988-258.52147a16.64337 16.64337 0 0 1 33.28674 0c0 124.19699 101.033579 225.23473 225.222248 225.23473s225.222248-101.03774 225.222248-225.23473c0-124.188668-101.033579-225.218087-225.222248-225.218087a16.64337 16.64337 0 0 1 0-33.286741c142.542145 0 258.508988 115.966843 258.508988 258.504828 0 142.550466-115.966843 258.521471-258.508988 258.52147z",fill:"#6E6E96","p-id":"11317"}),t("path",{d:"M520.968696 518.919481m-83.312551 0a83.312551 83.312551 0 1 0 166.625102 0 83.312551 83.312551 0 1 0-166.625102 0Z",fill:"#A9A9BA","p-id":"11318"}),t("path",{d:"M520.968696 618.875402c-55.114521 0-99.955921-44.83724-99.955921-99.95176 0-55.118682 44.8414-99.955921 99.955921-99.955921s99.95176 44.8414 99.95176 99.955921c0 55.11036-44.83724 99.95176-99.95176 99.95176z m0-166.625101c-36.761044 0-66.669181 29.908136-66.66918 66.66918s29.908136 66.66502 66.66918 66.66502 66.66502-29.908136 66.66502-66.66502c0-36.761044-29.903976-66.669181-66.66502-66.66918z",fill:"#6E6E96","p-id":"11319"}),t("path",{d:"M301.946104 941.515457h429.985632v36.977408H301.946104z",fill:"#6E6E96","p-id":"11320"})])],-1)),Xl={key:0,class:"disk-info_mount-name"},t0={key:1,class:"disk-info_mount-name"},e0={key:0,class:"label-item"},a0={class:"label-item_key"},o0={class:"label-item_path"},n0={class:"label-item"},i0={class:"label-item_key"},r0={class:"label-item_value"},s0=["disabled"],d0={key:0,value:""},l0={value:"format"},u0={key:1,value:"default"},c0={class:"label-item_value"},p0={key:0,class:"msg"},f0={key:1,class:"msg"},m0={class:"action-footer"},v0=Ze(()=>t("div",{class:"auto"},null,-1)),b0=["disabled"],g0=["disabled"],h0={key:1,class:"action result"},_0={class:"action-body"},x0=Ze(()=>t("div",{class:"action-body_icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),w0={class:"action-body_msg"},k0={key:0,class:"action-body_info"},y0={key:1,class:"action-body_info"},F0={class:"btns"},E0=G({props:{action:String,disk:{type:Object,required:!0},mount:{type:Object},Close:{type:Function},Cancel:{type:Function},Next:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close&&i.Close()},r=F=>{F.preventDefault(),i.Cancel&&i.Cancel(),u()},c=F=>{i.Next&&i.Next(F),u()},x=$(!1),h=$(0),f=F=>{h.value=F},v=$(i.action=="nas"?"":"format"),b=$(),_=$(),y=()=>{switch(v.value){case"format":w();return;case"default":k();return;default:E.Warning(a("\u8BF7\u9009\u62E9\u9009\u9879"));return}},k=()=>{let F="";const Y=i.mount;if(Y!=null&&Y.mountPoint!=null&&(F=Y.mountPoint),F!=""){c(F);return}E.Warning(a("\u65E0\u6CD5\u8BC6\u522B\u8DEF\u5F84"))},w=()=>{const F=i.disk,Y=i.mount;if(Y){const A=Y.mountPoint||Y.path;if(!confirm(a("\u8B66\u544A\uFF1A\u683C\u5F0F\u5316\u4F1A\u6E05\u7A7A %{partname} \u5206\u533A\u6570\u636E\uFF0C\u8BF7\u4F60\u8C28\u614E\u64CD\u4F5C",{partname:A||""}))||!confirm(a("\u662F\u5426\u786E\u5B9A\u683C\u5F0F\u5316 %{partname}?",{partname:A||""})))return;m(Y);return}if(F){if(!confirm(a("\u8B66\u544A\uFF1A\u8BE5\u64CD\u4F5C\u5C06\u521D\u59CB\u5316 %{model} \u786C\u76D8\u5E76\u521B\u5EFA\u5206\u533A\uFF0C\u8BF7\u4F60\u8C28\u614E\u64CD\u4F5C",{model:F.venderModel||""}))||!confirm(a("\u662F\u5426\u786E\u5B9A\u521D\u59CB\u5316?")))return;p(F);return}E.Warning(a("\u65E0\u6CD5\u8BC6\u522B\u6570\u636E"))},p=F=>L(this,null,function*(){if(F.name==null||F.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u8BBE\u5907\u540D\u79F0"));return}if(F.path==null||F.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u8BBE\u5907\u8DEF\u5F84"));return}x.value=!0;const Y=E.Loading(a("\u521D\u59CB\u5316\u4E2D..."));try{const A=yield M.Nas.Disk.Init.POST({name:F.name,path:F.path});if(A!=null&&A.data){const{result:C,error:B}=A==null?void 0:A.data;B&&E.Warning(B),C&&(C.errorInfo?E.Warning(C.errorInfo):(E.Success(a("\u521D\u59CB\u5316\u6210\u529F")),C.childrens&&C.childrens.length>0&&(_.value=C.childrens[0]),b.value=C,f(1)))}}catch(A){E.Error(A)}Y.Close(),x.value=!1}),m=F=>L(this,null,function*(){if(F.path==null||F.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533A\u8DEF\u5F84"));return}x.value=!0;const Y=E.Loading(a("\u683C\u5F0F\u5316\u4E2D..."));try{const A=yield M.Nas.Disk.Partition.Format.POST({path:F.path,uuid:F.uuid,mountPoint:F.mountPoint});if(A!=null&&A.data){const{result:C,error:B}=A==null?void 0:A.data;B&&E.Warning(B),C&&(E.Success(a("\u683C\u5F0F\u5316\u6210\u529F")),_.value=C,f(1))}}catch(A){E.Error(A)}Y.Close(),x.value=!1}),g=()=>{if(_.value&&_.value.mountPoint){c(_.value.mountPoint);return}E.Warning(a("\u8BFB\u53D6\u7ED3\u679C\u5931\u8D25"))};return(F,Y)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>{var A;return[h.value==0?(s(),l("form",{key:0,class:"action format",onSubmit:ft(y,["prevent"])},[t("div",Hl,[t("div",Zl,o(e(a)("\u786C\u76D8\u914D\u7F6E")),1)]),t("div",Jl,[t("div",Kl,[Ql,n.mount?(s(),l("div",Xl,[t("span",null,"\u3010"+o(n.mount.total)+"\u3011",1),t("span",null,o(n.mount.mountPoint||n.mount.path),1)])):n.disk?(s(),l("div",t0,[t("span",null,"\u3010"+o(n.disk.size)+"\u3011",1),t("span",null,o(n.disk.venderModel),1)])):D("",!0)]),n.mount?(s(),l("div",e0,[t("div",a0,[t("span",null,o(e(a)("\u76EE\u6807\u5206\u533A")),1)]),t("div",o0,o(n.mount.mountPoint||n.mount.path)+"\uFF08"+o(n.mount.total)+"\uFF09",1)])):D("",!0),t("div",n0,[t("div",i0,[t("span",null,o(e(a)("\u683C\u5F0F\u5316\u9009\u9879")),1)]),t("div",r0,[T(t("select",{"onUpdate:modelValue":Y[0]||(Y[0]=C=>v.value=C),required:"",disabled:n.action=="disk"},[n.mount!=null?(s(),l("option",d0,o(e(a)("\u8BF7\u9009\u62E9\u9009\u9879")),1)):D("",!0),t("option",l0,o(e(a)("\u683C\u5F0F\u5316")),1),n.mount!=null?(s(),l("option",u0,o(e(a)("\u4E0D\u683C\u5F0F\u5316,\u4F7F\u7528\u539F\u6587\u4EF6\u7CFB\u7EDF")),1)):D("",!0)],8,s0),[[rt,v.value]])]),t("div",c0,[v.value=="format"?(s(),l("p",p0,o(e(a)("\u683C\u5F0F\u5316\u4E3AEXT4\u6587\u4EF6\u7CFB\u7EDF")),1)):v.value=="default"?(s(),l("p",f0)):D("",!0)])])]),t("div",m0,[v0,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:r,type:"button",disabled:x.value},o(e(a)("\u8FD4\u56DE")),9,b0),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:x.value},o(e(a)("\u4E0B\u4E00\u6B65")),9,g0)])],40,Wl)):h.value==1?(s(),l("div",h0,[t("div",_0,[x0,t("div",w0,o(e(a)("\u683C\u5F0F\u5316\u6210\u529F")),1),b.value?(s(),l("div",k0,[nt(o(e(a)("\u5DF2\u7ECF\u6210\u529F\u683C\u5F0F\u5316\u78C1\u76D8"))+" "+o(b.value.venderModel)+" "+o(e(a)("\u5E76\u6302\u8F7D\u5230"))+" ",1),t("a",null,o((A=_.value)==null?void 0:A.mountPoint),1)])):D("",!0),_.value?(s(),l("div",y0,[nt(o(e(a)("\u5DF2\u7ECF\u6210\u529F\u521D\u59CB\u5316\u5206\u533A"))+" ",1),t("a",null,o(_.value.mountPoint),1)])):D("",!0),t("div",F0,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",type:"button",onClick:g},o(n.action=="nas"?e(a)("\u4E0B\u4E00\u6B65"):e(a)("\u5B8C\u6210")),1)])])])):D("",!0)]}),_:1})]),_:1}))}});var $0=N(E0,[["__scopeId","data-v-3dae3be2"]]),Je=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt($0,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Te=n=>(st("data-v-5f5fb500"),n=n(),dt(),n),C0=["onSubmit"],D0=Te(()=>t("div",{class:"action-header"},[t("div",{class:"action-header_title"})],-1)),B0={class:"action-body"},Y0={class:"disk-info"},A0=Te(()=>t("div",{class:"disk-info_icon"},[t("svg",{t:"1642589762094",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"11301",width:"128",height:"128"},[t("path",{d:"M899.892468 123.889088c0-44.342099-36.286708-80.620486-80.624646-80.620486H204.728017C160.385918 43.268602 124.107532 79.546988 124.107532 123.889088v802.847056c0 44.342099 36.278386 80.620486 80.620485 80.620486h614.539805c44.337938 0 80.624646-36.278386 80.624646-80.620486V123.889088z",fill:"#D0D0DB","p-id":"11302"}),t("path",{d:"M169.8768 977.7772V174.930143c0-44.342099 36.278386-80.620486 80.620486-80.620485h614.539804c9.936092 0 19.426974 1.905666 28.239639 5.23434-11.525534-30.507298-40.996782-52.389169-75.398629-52.389169H203.342457c-44.342099 0-80.620486 36.278386-80.620486 80.620486v802.851217c0 34.410168 21.881871 63.873094 52.385008 75.381985A79.730065 79.730065 0 0 1 169.8768 977.7772z",fill:"#FFFFFF","p-id":"11303"}),t("path",{d:"M820.657543 40.497481H206.117739c-44.342099 0-80.620486 36.278386-80.620486 80.620485v802.847057c0 44.342099 36.278386 80.620486 80.620486 80.620486h614.539804c44.337938 0 80.624646-36.278386 80.624647-80.620486V121.117966c0-44.342099-36.286708-80.620486-80.624647-80.620485z m19.60173 828.785749c0 40.846992-33.43237 74.279362-74.287684 74.279361H199.780776c-40.855313 0-74.279362-33.424048-74.279362-74.279361V129.593603c0-40.855313 33.424048-74.279362 74.279362-74.279362h566.203296c40.842831 0 74.283522 33.424048 74.283522 74.279362l-0.008321 739.689627z",fill:"#6E6E96","p-id":"11304"}),t("path",{d:"M815.106979 1024H200.567175C146.933914 1024 103.303319 980.369405 103.303319 926.736144V123.889088C103.303319 70.255827 146.933914 26.625232 200.567175 26.625232h614.539804c53.633261 0 97.268017 43.630595 97.268017 97.263856v802.847056c0 53.633261-43.634756 97.263856-97.268017 97.263856zM200.567175 59.911972C165.287391 59.911972 136.590059 88.609303 136.590059 123.889088v802.847056c0 35.279784 28.697331 63.977115 63.977116 63.977115h614.539804c35.279784 0 63.981276-28.697331 63.981276-63.977115V123.889088c0-35.279784-28.701492-63.977115-63.981276-63.977116H200.567175z",fill:"#6E6E96","p-id":"11305"}),t("path",{d:"M301.946104 941.515457h429.985632v65.841173H301.946104z",fill:"#8A8AA1","p-id":"11306"}),t("path",{d:"M731.931736 1024H301.946104a16.64337 16.64337 0 0 1-16.64337-16.64337V941.515457a16.64337 16.64337 0 0 1 16.64337-16.64337h429.985632a16.64337 16.64337 0 0 1 16.64337 16.64337v65.841173a16.64337 16.64337 0 0 1-16.64337 16.64337z m-413.342262-33.286741h396.698892v-32.554432H318.589474v32.554432z",fill:"#6E6E96","p-id":"11307"}),t("path",{d:"M337.230049 960.318304h20.804213v47.038326h-20.804213zM386.565159 960.318304h20.804213v47.038326h-20.804213zM435.891948 960.318304h20.804213v47.038326h-20.804213zM485.231219 960.318304h20.804213v47.038326h-20.804213zM534.558008 960.318304h20.804213v47.038326h-20.804213zM583.897279 960.318304h20.804213v47.038326h-20.804213zM633.224068 960.318304h20.804213v47.038326h-20.804213zM682.563339 960.318304h20.804213v47.038326h-20.804213z",fill:"#FFE599","p-id":"11308"}),t("path",{d:"M219.153659 140.794591m-26.874883 0a26.874882 26.874882 0 1 0 53.749765 0 26.874882 26.874882 0 1 0-53.749765 0Z",fill:"#ADADD1","p-id":"11309"}),t("path",{d:"M219.153659 184.312843c-23.995579 0-43.518252-19.522673-43.518253-43.518252s19.522673-43.518252 43.518253-43.518253 43.518252 19.522673 43.518252 43.518253-19.522673 43.518252-43.518252 43.518252z m0-53.749764c-5.642103 0-10.231512 4.589409-10.231512 10.231512s4.589409 10.231512 10.231512 10.231512 10.231512-4.589409 10.231511-10.231512-4.589409-10.231512-10.231511-10.231512z",fill:"#6E6E96","p-id":"11310"}),t("path",{d:"M801.28466 140.794591m-26.870721 0a26.870721 26.870721 0 1 0 53.741442 0 26.870721 26.870721 0 1 0-53.741442 0Z",fill:"#ADADD1","p-id":"11311"}),t("path",{d:"M801.28466 184.308683c-23.995579 0-43.514092-19.518512-43.514091-43.514092s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514092z m0-53.741443c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11312"}),t("path",{d:"M801.280499 905.23291m-26.870721 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11313"}),t("path",{d:"M801.280499 948.747001c-23.995579 0-43.514092-19.518512-43.514091-43.514091s19.518512-43.514092 43.514091-43.514092 43.514092 19.518512 43.514092 43.514092-19.518512 43.514092-43.514092 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11314"}),t("path",{d:"M219.153659 905.23291m-26.870722 0a26.870721 26.870721 0 1 0 53.741443 0 26.870721 26.870721 0 1 0-53.741443 0Z",fill:"#ADADD1","p-id":"11315"}),t("path",{d:"M219.153659 948.747001c-23.995579 0-43.514092-19.518512-43.514092-43.514091s19.518512-43.514092 43.514092-43.514092 43.514092 19.518512 43.514091 43.514092-19.522673 43.514092-43.514091 43.514091z m0-53.741442c-5.637942 0-10.227351 4.589409-10.227351 10.227351s4.589409 10.227351 10.227351 10.227351 10.227351-4.589409 10.227351-10.227351-4.589409-10.227351-10.227351-10.227351z",fill:"#6E6E96","p-id":"11316"}),t("path",{d:"M520.972857 777.43263c-142.542145 0-258.508988-115.971004-258.508988-258.52147a16.64337 16.64337 0 0 1 33.28674 0c0 124.19699 101.033579 225.23473 225.222248 225.23473s225.222248-101.03774 225.222248-225.23473c0-124.188668-101.033579-225.218087-225.222248-225.218087a16.64337 16.64337 0 0 1 0-33.286741c142.542145 0 258.508988 115.966843 258.508988 258.504828 0 142.550466-115.966843 258.521471-258.508988 258.52147z",fill:"#6E6E96","p-id":"11317"}),t("path",{d:"M520.968696 518.919481m-83.312551 0a83.312551 83.312551 0 1 0 166.625102 0 83.312551 83.312551 0 1 0-166.625102 0Z",fill:"#A9A9BA","p-id":"11318"}),t("path",{d:"M520.968696 618.875402c-55.114521 0-99.955921-44.83724-99.955921-99.95176 0-55.118682 44.8414-99.955921 99.955921-99.955921s99.95176 44.8414 99.95176 99.955921c0 55.11036-44.83724 99.95176-99.95176 99.95176z m0-166.625101c-36.761044 0-66.669181 29.908136-66.66918 66.66918s29.908136 66.66502 66.66918 66.66502 66.66502-29.908136 66.66502-66.66502c0-36.761044-29.903976-66.669181-66.66502-66.66918z",fill:"#6E6E96","p-id":"11319"}),t("path",{d:"M301.946104 941.515457h429.985632v36.977408H301.946104z",fill:"#6E6E96","p-id":"11320"})])],-1)),S0={key:0,class:"disk-info_mount-name"},z0={key:1,class:"disk-info_mount-name"},P0={key:0,class:"label-item"},T0={class:"label-item_key"},I0={class:"label-item_path"},L0={class:"label-item"},M0={class:"label-item_key"},N0={class:"label-item_value"},O0={class:"action-footer"},V0=Te(()=>t("div",{class:"auto"},null,-1)),G0=["disabled"],j0=["disabled"],q0={key:1,class:"action result"},U0={class:"action-body"},R0=Te(()=>t("div",{class:"action-body_icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),W0={class:"action-body_msg"},H0=["innerHTML"],Z0={class:"btns"},J0=G({props:{action:String,disk:{type:Object,required:!0},mount:{type:Object},Close:{type:Function},Cancel:{type:Function},Next:{type:Function}},setup(n){var w;const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close&&i.Close()},r=p=>{p.preventDefault(),i.Cancel&&i.Cancel(),u()},c=p=>{i.Next&&i.Next(p),u()},x=$(!1),h=$(0),f=$("/mnt/data_"+((w=i==null?void 0:i.mount)==null?void 0:w.name)),v=p=>{h.value=p};$(i.mount?"":"format"),$();const b=$(),_=()=>L(this,null,function*(){const p=i.mount;if(p==null){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533A"));return}if(p.path==null||p.path==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533A\u8DEF\u5F84"));return}if(p.uuid==null||p.uuid==""){E.Warning(a("\u83B7\u53D6\u4E0D\u5230\u5206\u533AID"));return}x.value=!0;const m=E.Loading(a("\u6302\u8F7D\u4E2D..."));try{const g=yield M.Nas.Disk.Partition.Mount.POST({path:p.path,uuid:p.uuid,mountPoint:f.value});if(g!=null&&g.data){const{result:F,error:Y}=g==null?void 0:g.data;Y&&E.Warning(Y),F&&(E.Success(a("\u6302\u8F7D\u6210\u529F")),b.value=F,v(1))}}catch(g){E.Error(g)}m.Close(),x.value=!1}),y=()=>{if(b.value&&b.value.mountPoint){c(b.value.mountPoint);return}E.Warning(a("\u8BFB\u53D6\u7ED3\u679C\u5931\u8D25"))},k=()=>{};return(p,m)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>{var g,F;return[h.value==0?(s(),l("form",{key:0,class:"action format",onSubmit:ft(k,["prevent"])},[D0,t("div",B0,[t("div",Y0,[A0,n.mount?(s(),l("div",S0,[t("span",null,"\u3010"+o(n.mount.total)+"\u3011",1),t("span",null,o(n.mount.mountPoint),1)])):n.disk?(s(),l("div",z0,[t("span",null,"\u3010"+o(n.disk.size)+"\u3011",1),t("span",null,o(n.disk.venderModel),1)])):D("",!0)]),n.mount?(s(),l("div",P0,[t("div",T0,[t("span",null,o(e(a)("\u76EE\u6807\u5206\u533A")),1)]),t("div",I0,o(n.mount.path)+"\uFF08"+o(n.mount.total)+"\uFF0C"+o((F=(g=n.mount)==null?void 0:g.filesystem)==null?void 0:F.toUpperCase())+"\uFF09",1)])):D("",!0),t("div",L0,[t("div",M0,[t("span",null,o(e(a)("\u6302\u8F7D\u70B9")),1)]),t("div",N0,[T(t("input",{type:"text","onUpdate:modelValue":m[0]||(m[0]=Y=>f.value=Y)},null,512),[[tt,f.value,void 0,{trim:!0}]])])])]),t("div",O0,[V0,t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:x.value,onClick:_},o(e(a)("\u786E\u5B9A")),9,G0),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:r,type:"button",disabled:x.value},o(e(a)("\u8FD4\u56DE")),9,j0)])],40,C0)):h.value==1?(s(),l("div",q0,[t("div",U0,[R0,t("div",W0,o(e(a)("\u6302\u8F7D\u6210\u529F")),1),b.value?(s(),l("div",{key:0,class:"action-body_info",innerHTML:e(a)("\u5DF2\u6210\u529F\u5C06\u5206\u533A %{dev} \u6302\u8F7D\u5230 %{mount}",{dev:b.value.path||"",mount:b.value.mountPoint||""},!0)},null,8,H0)):D("",!0),t("div",Z0,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",type:"button",onClick:y},o(n.action=="nas"?e(a)("\u5B8C\u6210"):e(a)("\u4E0B\u4E00\u6B65")),1)])])])):D("",!0)]}),_:1})]),_:1}))}});var K0=N(J0,[["__scopeId","data-v-5f5fb500"]]),Ia=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(K0,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Q0={class:"disk-content"},X0={class:"disk-item"},tu={class:"disk-item_name"},eu={key:0},au={key:1},ou={key:2},nu={class:"disk_value"},iu={class:"disk-item_value"},ru={class:"value-data"},su={key:0,class:"disk-item"},du={class:"disk-item_name"},lu={key:0},uu=["href"],cu={key:0},pu={class:"disk_status"},fu={key:0,class:"disk_status_item"},mu={key:0,class:"tooltip-trigger disk_tip"},vu={class:"tooltip-text tooltip-top"},bu={class:"disk_dir_tip"},gu={class:"disk_status_item"},hu={key:0,class:"tooltip-trigger disk_tip"},_u={class:"tooltip-text tooltip-top"},xu={class:"disk_dir_tip"},wu=G({props:{part:{type:Object,required:!0},disk:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>i.part.filesystem=="No FileSystem"),r=X(()=>i.part.filesystem&&["ntfs","vfat","exfat"].indexOf(i.part.filesystem)>=0),c=X(()=>i.part.mountPoint&&i.part.isReadOnly&&i.part.filesystem!="swap"),x=X(()=>u.value||!i.part.isSystemRoot&&(c.value||r.value||!i.part.mountPoint&&i.part.filesystem=="swap")),h=function(){Je({action:"disk",disk:i.disk,mount:i.part,Cancel:()=>{},Next:y=>{location.reload()}})},f=()=>{Ia({action:"nas",disk:i.disk,mount:i.part,Cancel:()=>{},Next:()=>{location.reload()}})},v=()=>L(this,null,function*(){const y=E.Loading(a("\u5904\u7406\u4E2D..."));try{const k=yield M.Nas.Disk.InitRest.POST({name:i.disk.name,path:i.disk.path});if(k!=null&&k.data){const{result:w,error:p}=k==null?void 0:k.data;p&&E.Warning(p),w&&(E.Success(a("\u6302\u8F7D\u6210\u529F")),location.reload())}}catch(k){E.Error(k)}y.Close()}),b=X(()=>i.part.filesystem=="Free Space"),_=X(()=>{const y=i.part.mountPoint?i.part.mountPoint:"";return y.indexOf("/mnt/")==0?"/cgi-bin/luci/admin/services/linkease/file/?path=/"+y.substring(5):"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+y});return(y,k)=>{var p;const w=pt("progress-item");return s(),l("div",Q0,[t("li",X0,[t("div",tu,[e(b)?(s(),l("span",eu,o(e(a)("\u672A\u5206\u533A")),1)):(s(),l("span",au,o(n.part.name)+o(n.part.mountPoint?"":e(u)?e(a)("\uFF08\u672A\u683C\u5F0F\u5316\uFF09"):e(a)("\uFF08\u672A\u6302\u8F7D\uFF09")),1)),n.part.isSystemRoot?(s(),l("span",ou,o(e(a)("\uFF08\u7CFB\u7EDF\u5206\u533A\uFF09")),1)):D("",!0)]),t("div",nu,[t("div",iu,[t("div",ru,[z(w,{value:e(b)||!n.part.usage?0:n.part.usage,text:e(b)?e(a)("\u672A\u5206\u533A\uFF08%{total}\uFF09",{total:n.part.total||""}):(n.part.mountPoint&&n.part.filesystem!="swap"?n.part.used:e(a)("\u672A\u77E5"))+"/"+(n.part.total||""),style:{backgroundColor:"#767676"}},null,8,["value","text"])])]),e(b)?(s(),l("button",{key:0,class:"cbi-button cbi-button-apply",onClick:v},o(e(a)("\u5206\u533A\u5E76\u683C\u5F0F\u5316")),1)):e(x)?(s(),l("button",{key:1,class:"cbi-button cbi-button-apply",onClick:h},o(e(a)("\u683C\u5F0F\u5316\u5206\u533A")),1)):D("",!0)])]),!e(b)&&!e(u)?(s(),l("li",su,[t("span",du,[n.part.mountPoint?(s(),l(O,{key:0},[n.part.filesystem=="swap"?(s(),l("span",lu,o(e(a)("\u5DF2\u6302\u8F7D\u4E3A\u4EA4\u6362\u533A")),1)):(s(),l("a",{key:1,href:e(_),target:"_blank"},o(n.part.mountPoint),9,uu))],64)):(s(),l(O,{key:1},[n.part.filesystem=="swap"?(s(),l("span",cu,o(e(a)("\u4E0D\u652F\u6301\u6302\u8F7D")),1)):(s(),l("span",{key:1,class:"value-data buttondiv",onClick:f},o(e(a)("\u624B\u52A8\u6302\u8F7D")),1))],64))]),t("div",pu,[n.part.mountPoint&&n.part.filesystem!="swap"?(s(),l("div",fu,[t("div",null,o(e(a)("\u53EF\u8BFB\u5199\u72B6\u6001\uFF1A"))+o(n.part.isReadOnly?e(a)("\u53EA\u8BFB"):e(a)("\u8BFB\u5199")),1),e(c)?(s(),l("div",mu,[z(Lt),t("div",vu,[t("div",bu,o(e(a)("\u6B64\u5206\u533A\u4E3A\u53EA\u8BFB\u72B6\u6001\uFF0C\u53EF\u80FD\u65E0\u6CD5\u5199\u5165\u6570\u636E")),1)])])):D("",!0)])):D("",!0),t("div",gu,[t("div",null,o(e(a)("\u6587\u4EF6\u7CFB\u7EDF\uFF1A"))+o((p=n.part.filesystem)==null?void 0:p.toUpperCase()),1),!n.part.isSystemRoot&&e(r)?(s(),l("div",hu,[z(Lt),t("div",_u,[t("span",xu,o(e(a)("\u6B64\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u652F\u6301Docker\u7B49\u5E94\u7528\u6570\u636E\uFF0C\u5EFA\u8BAE\u683C\u5F0F\u5316\u6210EXT4\u6587\u4EF6\u7CFB\u7EDF")),1)])])):D("",!0)])])])):D("",!0)])}}});var ku=N(wu,[["__scopeId","data-v-4e7285ca"]]);const yu=n=>(st("data-v-56d0d562"),n=n(),dt(),n),Fu={key:0,class:"action"},Eu={class:"title"},$u={class:"app-container_info"},Cu={class:"app-container_body"},Du={class:"action-footer"},Bu=yu(()=>t("div",{class:"auto"},null,-1)),Yu=G({props:{disk:{type:Object,required:!0},Close:{type:Function},Cancel:{type:Function},Next:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=()=>{i.Close&&i.Close()},c=x=>{x.preventDefault(),i.Cancel&&i.Cancel(),r()};return(x,h)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[u.value==0?(s(),l("div",Fu,[t("h2",Eu,o(e(a)("\u5206\u533A\u4FE1\u606F"))+" - "+o((n.disk.name||"?")+(n.disk.isSystemRoot?e(a)("\uFF08\u7CFB\u7EDF\u76D8\uFF09"):"")),1),t("ul",null,[t("li",null,[t("div",$u,[t("span",null,o(e(a)("\u5206\u533A / \u6302\u8F7D\u70B9")),1),t("span",null,o(e(a)("\u5BB9\u91CF")),1)]),t("div",Cu,[(s(!0),l(O,null,J(n.disk.childrens,(f,v)=>(s(),H(ku,{key:v,part:f,disk:n.disk},null,8,["part","disk"]))),128))])])]),t("div",Du,[Bu,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:c,type:"button"},o(e(a)("\u8FD4\u56DE")),1)])])):D("",!0)]),_:1})]),_:1},8,["Close"]))}});var Au=N(Yu,[["__scopeId","data-v-56d0d562"]]),Su=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Au,mt(ut({},n),{Close:()=>{d()}}));a.component("progress-item",Ca),a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const zu={key:0,class:"disk-item error"},Pu=["title"],Tu={class:"disk-item_value"},Iu={class:"value-data"},Lu={class:"error"},Mu={key:1,class:"disk-item"},Nu=["title"],Ou={key:0,class:"disk_value"},Vu={class:"value-data"},Gu={href:"/cgi-bin/luci/admin/nas/smart"},ju={class:"error"},qu={key:1,class:"disk_value"},Uu={class:"disk-item_value"},Ru={class:"value-data"},Wu={class:"disk-item-tooltip"},Hu={class:"disk_icon"},Zu={key:0,class:"tooltip-trigger"},Ju={class:"disk_tip"},Ku={class:"tooltip-text tooltip-top"},Qu={class:"disk_dir_tip"},Xu={key:1,class:"tooltip-trigger"},tc={class:"disk_tip"},ec={class:"tooltip-text tooltip-top"},ac={class:"disk_dir_tip"},oc={key:2,class:"disk-item load"},nc=["title"],ic={class:"disk_value"},rc={class:"disk-item_value"},sc={class:"value-data"},dc={key:3,class:"disk-item load"},lc=["title"],uc={class:"disk_value"},cc={key:0,class:"disk-item_value"},pc={class:"value-data"},fc={class:"disk_icon"},mc=G({props:{disk:{type:Object,required:!0},smartWarning:{type:Boolean}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>i.disk.errorInfo?"error":i.disk.childrens==null||i.disk.childrens.length==0||i.disk.childrens.length==1&&i.disk.childrens[0].filesystem=="No FileSystem"?"load":i.disk.childrens.filter(v=>v.mountPoint).length==0?"unmounted":"success"),r=X(()=>{const v=i.disk;let b=v.name;return v.size&&(b+=`\u3010${v.size}\u3011`),v.venderModel&&(b+=`(${v.venderModel})`),b}),c=X(()=>{var b;const v=i.disk;return!v.isSystemRoot&&(((b=v.childrens)==null?void 0:b.filter(_=>_.isReadOnly&&_.filesystem!="swap").length)||0)>0}),x=()=>{Je({action:"disk",disk:i.disk,Cancel:()=>{},Next:()=>{location.reload()}})},h=()=>{Su({action:"disk",disk:i.disk,Cancel:()=>{},Next:()=>{location.reload()}})},f=()=>{const v=i.disk,b=v.childrens||[];Ia({action:"nas",disk:v,mount:b[0],Cancel:()=>{},Next:()=>{location.reload()}})};return(v,b)=>{var y,k,w;const _=pt("progress-item");return e(u)=="error"?(s(),l("li",zu,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,Pu),t("div",Tu,[t("div",Iu,[t("span",Lu,o(n.disk.errorInfo),1)])])])):e(u)=="success"?(s(),l("li",Mu,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,Nu),n.disk.smartWarning&&n.smartWarning?(s(),l("div",Ou,[t("div",Vu,[t("a",Gu,[t("span",ju,o(e(a)("S.M.A.R.T\u5F02\u5E38")),1)])])])):(s(),l("div",qu,[t("div",Uu,[t("div",Ru,[z(_,{value:n.disk.usage||0,text:`${n.disk.used}/${n.disk.total}`,style:{backgroundColor:"#767676"}},null,8,["value","text"])]),t("div",Wu,[t("span",null,o(e(a)("\u4EC5\u7EDF\u8BA1\u5DF2\u6302\u8F7D\u5206\u533A")),1)])]),t("div",Hu,[n.disk.isDockerRoot&&n.disk.isSystemRoot&&n.disk.usage&&n.disk.usage>=90?(s(),l("span",Zu,[t("span",Ju,[z(Lt)]),t("div",null,[t("div",Ku,[t("span",Qu,o(e(a)("\u60A8\u7684\u7CFB\u7EDF\u7A7A\u95F4\u5DF2\u4E0D\u8DB3\uFF0C\u68C0\u6D4B\u5230\u60A8\u7684Docker\u6839\u76EE\u5F55\u4F4D\u4E8E\u7CFB\u7EDF\u6839\u76EE\u5F55\u4E0A\uFF0C\u53EF\u80FD\u4F1A\u5F71\u54CD\u7CFB\u7EDF\u7684\u6B63\u5E38\u8FD0\u884C\uFF0C\u5EFA\u8BAE\u4F7F\u7528Docker\u8FC1\u79FB\u5411\u5BFC\u5C06Docker\u6839\u76EE\u5F55\u8FC1\u79FB\u5230\u5916\u7F6E\u786C\u76D8\u4E0A\u3002")),1)])])])):D("",!0),e(c)?(s(),l("span",Xu,[t("span",tc,[z(Lt)]),t("div",null,[t("div",ec,[t("span",ac,o(e(a)("\u5206\u533A\u5B58\u5728\u5F02\u5E38\uFF0C\u70B9\u51FB\u5206\u533A\u5217\u8868\u67E5\u770B\u9519\u8BEF")),1)])])])):D("",!0),e(c)&&((y=n.disk.childrens)==null?void 0:y.length)==1?(s(),l("span",{key:2,class:"disk_infoicon",onClick:b[0]||(b[0]=p=>x())},[z(Rl)])):D("",!0),t("span",{class:"disk_infoicon",onClick:b[1]||(b[1]=p=>h())},[z(sa)])])]))])):e(u)=="load"?(s(),l("li",oc,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,nc),t("div",ic,[t("div",rc,[t("div",sc,[t("button",{onClick:b[2]||(b[2]=p=>x())},o(e(a)("\u683C\u5F0F\u5316\u5E76\u6302\u8F7D")),1)])])])])):e(u)=="unmounted"?(s(),l("li",dc,[t("div",{class:"disk-item_name",title:e(r)},[t("span",null,o(e(r)),1)],8,lc),t("div",uc,[((k=n.disk.childrens)==null?void 0:k.length)==1?(s(),l("div",cc,[t("div",pc,[n.disk.childrens[0].filesystem=="swap"?(s(),l("button",{key:0,onClick:b[3]||(b[3]=p=>h())},o(e(a)("\u67E5\u770B\u8BE6\u60C5")),1)):(s(),l("button",{key:1,onClick:b[4]||(b[4]=p=>f())},o(e(a)("\u624B\u52A8\u6302\u8F7D")),1))])])):D("",!0),t("div",fc,[(((w=n.disk.childrens)==null?void 0:w.length)||0)>1?(s(),l("span",{key:0,class:"disk_infoicon",onClick:b[5]||(b[5]=p=>h())},[z(sa)])):D("",!0)])])])):D("",!0)}}});var Ve=N(mc,[["__scopeId","data-v-5e9b583e"]]);const vc=n=>(st("data-v-2b8c3ff1"),n=n(),dt(),n),bc={class:"app-container"},gc={class:"app-container_title"},hc={class:"disk_info"},_c={class:"app-container_tool"},xc=["title"],wc={class:"DeviceBlock"},kc={href:"/cgi-bin/luci/admin/nas/raid"},yc=vc(()=>t("li",null,[t("a",{href:"/cgi-bin/luci/admin/nas/smart"},"S.M.A.R.T.")],-1)),Fc={href:"/cgi-bin/luci/admin/system/diskman"},Ec={href:"/cgi-bin/luci/admin/system/mounts"},$c={key:0},Cc={class:"disk_loading_icon"},Dc={class:"disk_loading_info"},Bc={key:1},Yc={class:"app-container_info"},Ac={class:"app-container_body"},Sc={key:2},zc={class:"app-container_info"},Pc={class:"app-container_body"},Tc={key:3},Ic={class:"app-container_info"},Lc={class:"app-container_body"},Mc=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=$(!1),u=bt({disks:null,raidList:null}),r=()=>{M.Nas.Disk.Status.GET().then(f=>{var v;if((v=f==null?void 0:f.data)!=null&&v.result){const b=f.data.result;u.disks=b.disks||[]}})};(()=>L(this,null,function*(){try{const f=yield M.Raid.List.GET();if(f!=null&&f.data){const{success:v,error:b,result:_}=f.data;if(_&&(u.raidList=_.disks||[]),b)throw b}}catch(f){console.log(f)}}))(),r();const x=()=>{d.value=!d.value},h=()=>{Et.installAndGo("luci-app-linkease",i("\u6613\u6709\u4E91"),"/cgi-bin/luci/admin/services/linkease/file/","app-meta-linkease")};return(f,v)=>{var y,k;const b=pt("GlHelp"),_=pt("icon-loading");return s(),l("div",bc,[t("ul",null,[t("li",null,[t("div",gc,[t("span",hc,[nt(o(e(i)("\u78C1\u76D8\u4FE1\u606F"))+" ",1),z(b,{type:"disk"})]),t("div",_c,[t("div",{class:"app-container_configure",onClick:h},o(e(i)("\u6587\u4EF6\u7BA1\u7406")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u78C1\u76D8\u7BA1\u7406\u4FE1\u606F")},[z(Gt,{onClick:x})],8,xc)]),T(t("div",wc,[t("div",{class:"menu_background",onClick:x}),t("ul",null,[t("li",null,[t("a",kc,o(e(i)("RAID\u7BA1\u7406")),1)]),yc,t("li",null,[t("a",Fc,o(e(i)("\u78C1\u76D8\u7BA1\u7406")),1)]),t("li",null,[t("a",Ec,o(e(i)("\u6302\u8F7D\u70B9")),1)])])],512),[[Yt,d.value]])])]),!e(u).disks&&!e(u).raidList?(s(),l("li",$c,[t("div",Cc,[z(_,{size:38,color:"currentColor"}),t("span",Dc,o(e(i)("\u6B63\u5728\u83B7\u53D6\u78C1\u76D8\u4FE1\u606F...")),1)])])):D("",!0),e(u).disks?(s(),l("li",Bc,[t("div",Yc,[t("span",null,o(e(i)("\u7CFB\u7EDF\u6839\u76EE\u5F55")),1)]),t("div",Ac,[(s(!0),l(O,null,J((y=e(u).disks)==null?void 0:y.filter(w=>w.isSystemRoot),(w,p)=>(s(),H(Ve,{key:p,disk:w},null,8,["disk"]))),128))])])):D("",!0),e(u).disks?(s(),l("li",Sc,[t("div",zc,[t("span",null,o(e(i)("\u5DF2\u6302\u8F7D\u78C1\u76D8")),1)]),t("div",Pc,[(s(!0),l(O,null,J((k=e(u).disks)==null?void 0:k.filter(w=>!w.isSystemRoot),(w,p)=>(s(),H(Ve,{key:p,disk:w,smartWarning:!0},null,8,["disk"]))),128))])])):D("",!0),e(u).raidList&&e(u).raidList.length>0?(s(),l("li",Tc,[t("div",Ic,[t("span",null,o(e(i)("RAID\u8BBE\u5907")),1)]),t("div",Lc,[(s(!0),l(O,null,J(e(u).raidList,(w,p)=>(s(),H(Ve,{key:p,disk:w},null,8,["disk"]))),128))])])):D("",!0)])])}}});var Nc=N(Mc,[["__scopeId","data-v-2b8c3ff1"]]);const Oc={class:"app-container_samba"},Vc={key:0,class:"sambas-item"},Gc={class:"sambas-item_name"},jc={class:"sambas-item_value"},qc={class:"sambas-item"},Uc={class:"sambas-item_name tit"},Rc={class:"sambas-item_value tit"},Wc={class:"samba-item"},Hc={class:"samba-item_name"},Zc=["title"],Jc=["href"],Kc=G({props:{sambas:{type:Array}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=window.location.hostname;return(u,r)=>{var c;return s(),l("ul",Oc,[n.sambas?(s(),l("li",Vc,[t("div",Gc,[t("span",null,o(e(i)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",jc,[t("span",null,o((c=n.sambas)!=null&&c.length?e(i)("\u5DF2\u542F\u7528"):e(i)("\u672A\u542F\u7528")),1)])])):D("",!0),t("li",qc,[t("div",Uc,[t("span",null,o(e(i)("\u5730\u5740")),1)]),t("div",Rc,[t("span",null,o(e(i)("\u76EE\u5F55")),1)])]),(s(!0),l(O,null,J(n.sambas,x=>(s(),l("li",Wc,[t("div",Hc,[t("span",null,"smb://"+o(e(d))+"/"+o(x.shareName),1)]),t("div",{class:"samba-item_value",title:x.path},[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+x.path},o(x.path),9,Jc)],8,Zc)]))),256))])}}});var Qc=N(Kc,[["__scopeId","data-v-8166802a"]]);const Xc={class:"webdav-item"},t1={class:"webdav-item_name"},e1={class:"webdav-item_value"},a1={key:0,class:"webdav-item"},o1={class:"webdav-item_name"},n1={class:"webdav-item_value"},i1=["href"],r1={key:1,class:"webdav-item"},s1={class:"webdav-item_name"},d1={class:"webdav-item_value"},l1=["href"],u1={key:2,class:"webdav-item"},c1={class:"webdav-item_name"},p1={class:"webdav-item_value"},f1=G({props:{webdav:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var r;return`http://${location.hostname}:${(r=i.webdav)==null?void 0:r.port}`});return(r,c)=>{var x,h,f,v,b,_,y;return s(),l(O,null,[t("li",Xc,[t("div",t1,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",e1,[t("span",null,o((x=n.webdav)!=null&&x.path?e(a)("\u5DF2\u542F\u7528"):e(a)("\u672A\u542F\u7528")),1)])]),(h=n.webdav)!=null&&h.path?(s(),l("li",a1,[t("div",o1,[t("span",null,o(e(a)("\u6302\u8F7D\u8DEF\u5F84:")),1)]),t("div",n1,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((f=n.webdav)==null?void 0:f.path)},o((v=n.webdav)==null?void 0:v.path),9,i1)])])):D("",!0),(b=n.webdav)!=null&&b.port?(s(),l("li",r1,[t("div",s1,[t("span",null,o(e(a)("\u670D\u52A1\u8DEF\u5F84:")),1)]),t("div",d1,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,l1)])])):D("",!0),(_=n.webdav)!=null&&_.username?(s(),l("li",u1,[t("div",c1,[t("span",null,o(e(a)("\u8D26\u53F7:")),1)]),t("div",p1,[t("span",null,o((y=n.webdav)==null?void 0:y.username),1)])])):D("",!0)],64)}}});var m1=N(f1,[["__scopeId","data-v-45def11c"]]);const Ke=n=>(st("data-v-0bd83418"),n=n(),dt(),n),v1={class:"disk-item"},b1=Ke(()=>t("div",{class:"disk-item_icon"},[t("svg",{t:"1642563338465",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2216",width:"128",height:"128"},[t("path",{d:"M998.4 711.68l-119.467-512c-6.826-42.667-42.666-75.093-87.04-76.8H232.107c-44.374 1.707-80.214 35.84-87.04 78.507L25.6 711.68c-5.12 13.653-6.827 29.013-6.827 42.667 0 76.8 63.147 139.946 141.654 139.946H865.28c78.507 0 141.653-63.146 141.653-139.946 0-13.654-3.413-29.014-8.533-42.667zM394.24 366.933c1.707-51.2 56.32-92.16 124.587-92.16S640 315.733 640 365.227c44.373-1.707 81.92 23.893 83.627 58.026s-34.134 63.147-78.507 64.854h-6.827l-245.76 1.706c-44.373 0-80.213-27.306-80.213-59.733 0-35.84 37.547-63.147 81.92-63.147z m471.04 459.094H160.427c-39.254 0-69.974-30.72-69.974-69.974s32.427-69.973 69.974-69.973H865.28c39.253 0 69.973 30.72 69.973 69.973 1.707 37.547-30.72 69.974-69.973 69.974z m-35.84-92.16c-11.947 0-22.187 8.533-23.893 20.48 0 11.946 8.533 22.186 20.48 23.893h3.413c11.947 0 22.187-10.24 22.187-22.187 0-13.653-8.534-22.186-22.187-22.186z m-46.08 22.186c0-25.6 20.48-46.08 46.08-46.08s46.08 20.48 46.08 46.08-20.48 46.08-46.08 46.08-46.08-20.48-46.08-46.08z","p-id":"2217"})])],-1)),g1={class:"disk-item_f"},h1={class:"disk-item_venderModel"},_1={class:"disk-item_used"},x1=Ke(()=>t("div",{class:"auto"},null,-1)),w1={class:"disk-item-r"},k1={class:"disk-children"},y1=["onClick"],F1=Ke(()=>t("div",{class:"disk-item_icon"},[t("svg",{t:"1642563581459",class:"icon",viewBox:"0 0 1228 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7132",width:"128",height:"128"},[t("path",{d:"M525.2096 145.3568c1.9968-45.568-35.6864-99.1232-57.4976-99.1232H57.4976C15.872 79.9232 17.8176 145.408 17.8176 145.408h507.392z",fill:"#ECC049","p-id":"7133"}),t("path",{d:"M21.8112 143.36L19.8144 825.1392c0 75.3152 75.3152 152.576 150.6304 152.576h887.9104c75.264 0 150.6304-75.264 150.6304-152.576V297.984c0-75.264-75.3152-152.576-150.6304-152.576h-434.0224L21.8112 143.36z",fill:"#FFD658","p-id":"7134"})])],-1)),E1={key:0},$1={key:1},C1=G({props:{disk:{type:Object,required:!0},currDisk:{type:Object},currMountPoint:{type:Object},onDisk:{type:Function,required:!0}},setup(n){var c,x;const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1);i.currDisk!=null&&((c=i.currDisk)==null?void 0:c.venderModel)==((x=i.disk)==null?void 0:x.venderModel)&&(u.value=!0);const r=h=>{u.value=!u.value,i.onDisk(h,null)};return(h,f)=>{var v;return s(),l("ul",v1,[t("li",{class:ct(["disk-info",{on:n.disk.venderModel==((v=n.currDisk)==null?void 0:v.venderModel),nopoint:n.disk.childrens==null||n.disk.childrens.length==0}]),onClick:f[0]||(f[0]=b=>r(n.disk))},[b1,t("div",g1,[t("div",h1,o(n.disk.venderModel),1),t("div",_1,o(n.disk.used)+"/"+o(n.disk.size),1)]),x1,t("div",w1,o(n.disk.path),1)],2),T(t("div",k1,[(s(!0),l(O,null,J(n.disk.childrens,b=>{var _,y;return s(),l("li",{class:ct(["disk-children_item",{on:b.uuid==((_=n.currMountPoint)==null?void 0:_.uuid)&&b.path==((y=n.currMountPoint)==null?void 0:y.path)}]),onClick:k=>n.onDisk(n.disk,b)},[F1,b.mountPoint?(s(),l("span",E1," \u3010"+o(b.filesystem)+"\u3011 "+o(b.mountPoint)+" \uFF08"+o(b.used)+"/"+o(b.total)+"\uFF09 ["+o(b.uuid)+"] ",1)):(s(),l("span",$1," \u3010"+o(b.filesystem)+"\u3011 "+o(b.mountPoint||b.path||e(a)("\u672A\u6302\u8F7D\u78C1\u76D8"))+" ["+o(b.uuid)+"] ",1))],10,y1)}),256))],512),[[Yt,u.value]])])}}});var da=N(C1,[["__scopeId","data-v-0bd83418"]]);const D1=n=>(st("data-v-b222ef5e"),n=n(),dt(),n),B1={class:"action list"},Y1={class:"action-header"},A1={class:"action-header_title"},S1={class:"action-body"},z1={class:"disk-list"},P1={class:"action-msg"},T1={href:"/cgi-bin/luci/admin/system/diskman"},I1={class:"action-footer"},L1=D1(()=>t("div",{class:"auto"},null,-1)),M1=G({props:{Cancel:{type:Function},Next:{type:Function},Close:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!0),r=bt({disks:[],raids:[]});(()=>L(this,null,function*(){const k=yield Promise.all([M.Nas.Disk.Status.GET(),M.Raid.List.GET()]);try{if(k[0]){const w=k[0];w!=null&&w.data.result&&(r.disks=(w==null?void 0:w.data.result.disks)||[])}if(k[1]){const w=k[1];w.data.result&&(r.raids=w.data.result.disks||[])}}catch(w){E.Warning(w)}}))();const x=$(),h=$(),f=(k,w)=>{x.value=k,h.value=w},v=()=>{i.Close&&i.Close()},b=()=>{i.Cancel&&i.Cancel(),v()},_=k=>{i.Next&&i.Next(k),v()},y=()=>{if(x.value==null){E.Warning(a("\u8BF7\u9009\u62E9\u76EE\u6807\u786C\u76D8"));return}if(x.value.childrens!=null&&x.value.childrens.length>0&&h.value==null){E.Warning(a("\u8BF7\u9009\u62E9\u786C\u76D8\u5206\u533A"));return}if(h.value!=null&&(h.value.mountPoint==null||h.value.mountPoint=="")){E.Warning(a("\u8BE5\u5206\u533A\u5C1A\u672A\u6302\u8F7D\uFF0C\u8BF7\u5148\u53BB\u6302\u8F7D"));return}u.value=!1,Je({action:"nas",disk:x.value,mount:h.value,Cancel:()=>{u.value=!0},Next:k=>{_(k)}})};return(k,w)=>u.value?(s(),H(ht,{key:0,type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("div",B1,[t("div",Y1,[t("div",A1,o(e(a)("\u8BF7\u9009\u62E9\u4E00\u4E2A\u786C\u76D8\u6216\u5206\u533A")),1)]),t("div",S1,[t("div",z1,[(s(!0),l(O,null,J(e(r).disks,p=>(s(),H(da,{disk:p,onDisk:f,currDisk:x.value,currMountPoint:h.value},null,8,["disk","currDisk","currMountPoint"]))),256)),(s(!0),l(O,null,J(e(r).raids,p=>(s(),H(da,{disk:p,onDisk:f,currDisk:x.value,currMountPoint:h.value},null,8,["disk","currDisk","currMountPoint"]))),256))])]),t("div",P1,[t("span",null,[nt(o(e(a)("\u60F3\u8981\u66F4\u7CBE\u786E\u7684\u914D\u7F6E\uFF1F\u8BF7\u524D\u5F80"))+" ",1),t("a",T1,o(e(a)("\u9AD8\u7EA7\u8BBE\u7F6E")),1)])]),t("div",I1,[L1,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:b,type:"button"},o(e(a)("\u8FD4\u56DE")),1),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:y,type:"button"},o(e(a)("\u4E0B\u4E00\u6B65")),1)])])]),_:1})]),_:1})):D("",!0)}});var N1=N(M1,[["__scopeId","data-v-b222ef5e"]]),O1=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(N1,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const V1=n=>(st("data-v-45926ac6"),n=n(),dt(),n),G1={class:"action"},j1={class:"action-body"},q1=V1(()=>t("div",{class:"icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})])],-1)),U1={class:"title"},R1={class:"info"},W1=["href"],H1={class:"btns"},Z1=G({props:{Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(""),r=X(()=>`http://${location.hostname}:${u.value}`);(()=>{M.Nas.Linkease.Enable.POST().then(h=>{var f,v;(f=h==null?void 0:h.data)!=null&&f.result&&(u.value=((v=h.data.result)==null?void 0:v.port)||"")})})();const x=()=>{i.Close&&i.Close(),location.reload()};return(h,f)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("div",G1,[t("div",j1,[q1,t("h2",U1,o(e(a)("\u670D\u52A1\u5DF2\u542F\u52A8")),1),t("div",R1,[t("span",null,o(e(a)("\u524D\u5F80")),1),t("a",{href:e(r),target:"_blank",rel:"noopener noreferrer"},o(e(r)),9,W1),t("span",null,o(e(a)("\u7EE7\u7EED\u914D\u7F6E")),1)]),t("div",H1,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:x},o(e(a)("\u5173\u95ED")),1)])])])]),_:1})]),_:1}))}});var J1=N(Z1,[["__scopeId","data-v-45926ac6"]]),K1=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(J1,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Q1=n=>(st("data-v-2b3974a4"),n=n(),dt(),n),X1=["onSubmit"],t2={class:"action-header"},e2={class:"action-header_title"},a2={class:"action-body"},o2={class:"label-item"},n2={class:"label-item_key"},i2={class:"label-item_value"},r2=["value"],s2={class:"label-item"},d2={class:"label-item_key"},l2={class:"label-item_value"},u2=["placeholder"],c2={class:"label-item"},p2={class:"label-item_key"},f2={class:"label-item_value"},m2={class:"action-footer"},v2=Q1(()=>t("div",{class:"auto"},null,-1)),b2=["disabled"],g2=["disabled"],h2=G({props:{rootPath:{type:String,required:!0},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=v=>{v.preventDefault(),i.Close&&i.Close()},r=$(!1),c=$({username:"root",password:"",rootPath:i.rootPath});(()=>L(this,null,function*(){const v=E.Loading(a("\u52A0\u8F7D\u4E2D..."));r.value=!0;try{const b=yield M.Nas.Webdav.Status.GET();if(b!=null&&b.data){const{result:_,error:y}=b.data;if(y){E.Warning(y);return}_&&(_.username&&(c.value.username=_.username),_.password&&(c.value.password=_.password))}}catch(b){E.Error(b)}r.value=!1,v.Close()}))();const h=()=>{const v=c.value;if(v.rootPath==""){E.Warning(a("\u5171\u4EAB\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A"));return}if(v.username==""){E.Warning(a("\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"));return}if(v.password==""){E.Warning(a("\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"));return}f(v)},f=v=>L(this,null,function*(){r.value=!0;const b=E.Loading(a("\u521B\u5EFA\u4E2D..."));try{const _=yield M.Nas.Webdav.Create.POST(v);if(_!=null&&_.data){const{error:y,result:k}=_.data;y&&E.Warning(y),k&&(E.Success(a("\u521B\u5EFA\u6210\u529F")),window.setTimeout(()=>{location.reload()},1e3))}}catch(_){E.Error(_)}b.Close(),r.value=!1});return(v,b)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("form",{class:"action",onSubmit:ft(h,["prevent"])},[t("div",t2,[t("div",e2,o(e(a)("Webdav\u5171\u4EAB\u914D\u7F6E")),1)]),t("div",a2,[t("div",o2,[t("div",n2,[t("span",null,o(e(a)("\u670D\u52A1\u76EE\u5F55\u8DEF\u5F84")),1)]),t("div",i2,[t("input",{type:"text",value:c.value.rootPath,disabled:"",required:"",style:{backgroundColor:"#eee"}},null,8,r2)])]),t("div",s2,[t("div",d2,[t("span",null,o(e(a)("\u7528\u6237\u540D")),1)]),t("div",l2,[T(t("input",{type:"text",required:"",placeholder:e(a)("\u8D26\u53F7\u7528\u6237\u540D"),"onUpdate:modelValue":b[0]||(b[0]=_=>c.value.username=_)},null,8,u2),[[tt,c.value.username,void 0,{trim:!0}]])])]),t("div",c2,[t("div",p2,[t("span",null,o(e(a)("\u5BC6\u7801")),1)]),t("div",f2,[T(t("input",{type:"password","onUpdate:modelValue":b[1]||(b[1]=_=>c.value.password=_)},null,512),[[tt,c.value.password,void 0,{trim:!0}]])])])]),t("div",m2,[v2,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:u,disabled:r.value},o(e(a)("\u5173\u95ED")),9,b2),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:r.value},o(e(a)("\u521B\u5EFA")),9,g2)])],40,X1)]),_:1})]),_:1}))}});var _2=N(h2,[["__scopeId","data-v-2b3974a4"]]),x2=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(_2,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const w2=n=>(st("data-v-88275da0"),n=n(),dt(),n),k2=["onSubmit"],y2={class:"action-header"},F2={class:"action-header_title"},E2={class:"action-body"},$2={class:"label-item"},C2={class:"label-item_key"},D2={class:"label-item_value"},B2=["value"],Y2={class:"label-item"},A2={class:"label-item_key"},S2={class:"label-item_value"},z2=["placeholder"],P2={class:"label-item"},T2={class:"label-item_key"},I2={class:"label-item_value"},L2=["placeholder"],M2={class:"label-item"},N2={class:"label-item_key"},O2={class:"label-item_value"},V2={class:"samba-item"},G2={class:"samba-item_allow"},j2={for:"allow",class:"samba-allow"},q2={class:"samba-item_tips"},U2={class:"tooltip-trigger"},R2={class:"samba_tip"},W2={class:"samba_dir_tip"},H2={class:"action-footer"},Z2=w2(()=>t("div",{class:"auto"},null,-1)),J2=["disabled"],K2=["disabled"],Q2=G({props:{rootPath:{type:String,required:!0},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=f=>{f.preventDefault(),i.Close&&i.Close()},r=$(!1),c=$({shareName:"",username:"",password:"",rootPath:i.rootPath,allowLegacy:!1}),x=()=>{const f=c.value;if(f.rootPath==""){E.Warning(a("\u5171\u4EAB\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A"));return}if(f.shareName==""){E.Warning(a("\u5171\u4EAB\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"));return}if(f.username==""){E.Warning(a("\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"));return}if(f.password==""){E.Warning(a("\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"));return}const v=It.checkSmabaUserName(f.username);if(v!==!0){E.Warning(`${v}`);return}h(f)},h=f=>L(this,null,function*(){r.value=!0;const v=E.Loading(a("\u521B\u5EFA\u4E2D..."));try{const b=yield M.Nas.Samba.Create.POST(f);if(b!=null&&b.data){const{error:_,result:y}=b.data;_&&E.Warning(_),y&&(E.Success(a("\u521B\u5EFA\u6210\u529F")),window.setTimeout(()=>{location.reload()},1e3))}}catch(b){E.Error(b)}v.Close(),r.value=!1});return(f,v)=>(s(),H(ht,{type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[t("form",{class:"action",onSubmit:ft(x,["prevent"])},[t("div",y2,[t("div",F2,o(e(a)("Samba\u5171\u4EAB\u914D\u7F6E")),1)]),t("div",E2,[t("div",$2,[t("div",C2,[t("span",null,o(e(a)("\u670D\u52A1\u76EE\u5F55\u8DEF\u5F84")),1)]),t("div",D2,[t("input",{type:"text",value:c.value.rootPath,disabled:"",required:"",style:{backgroundColor:"#eee"}},null,8,B2)])]),t("div",Y2,[t("div",A2,[t("span",null,o(e(a)("\u5171\u4EAB\u540D\uFF08\u5EFA\u8BAE\u4F7F\u7528\u82F1\u6587\u5B57\u6BCD\uFF09")),1)]),t("div",S2,[T(t("input",{type:"text","onUpdate:modelValue":v[0]||(v[0]=b=>c.value.shareName=b),required:"",placeholder:e(a)("\u5171\u4EAB\u540D\u79F0")},null,8,z2),[[tt,c.value.shareName,void 0,{trim:!0}]])])]),t("div",P2,[t("div",T2,[t("span",null,o(e(a)("\u7528\u6237\u540D")),1)]),t("div",I2,[T(t("input",{type:"text",required:"",placeholder:e(a)("\u8D26\u53F7\u7528\u6237\u540D"),"onUpdate:modelValue":v[1]||(v[1]=b=>c.value.username=b)},null,8,L2),[[tt,c.value.username,void 0,{trim:!0}]])])]),t("div",M2,[t("div",N2,[t("span",null,o(e(a)("\u5BC6\u7801")),1)]),t("div",O2,[T(t("input",{type:"password","onUpdate:modelValue":v[2]||(v[2]=b=>c.value.password=b)},null,512),[[tt,c.value.password,void 0,{trim:!0}]])])]),t("div",V2,[t("div",G2,[T(t("input",{type:"checkbox",id:"allow","onUpdate:modelValue":v[3]||(v[3]=b=>c.value.allowLegacy=b)},null,512),[[Rt,c.value.allowLegacy]]),t("label",j2,o(e(a)("\u5141\u8BB8\u65E7\u534F\u8BAE\u4E0E\u8EAB\u4EFD\u9A8C\u8BC1(\u4E0D\u5B89\u5168)")),1)]),t("div",q2,[t("span",U2,[t("span",R2,[z(Lt)]),t("span",W2,o(e(a)("\u517C\u5BB9\u4E00\u4E9B\u7535\u89C6\u6216\u8005\u7535\u89C6\u76D2\u5B50")),1)])])])]),t("div",H2,[Z2,t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:u,disabled:r.value},o(e(a)("\u5173\u95ED")),9,J2),t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:r.value},o(e(a)("\u521B\u5EFA")),9,K2)])],40,k2)]),_:1})]),_:1}))}});var X2=N(Q2,[["__scopeId","data-v-88275da0"]]),t5=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(X2,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const Kt=n=>!Array.isArray(window.quickstart_features)||window.quickstart_features.indexOf(n)!=-1,e5={key:0,class:"action"},a5={class:"title"},o5={class:"desc"},n5={value:"linkease"},i5={value:"samba"},r5={value:"webdav"},s5=["innerHTML"],d5={class:"btns"},l5=["disabled"],u5=G({props:{setup:Number,Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!0),r=$("linkease"),c=$(!1),x=$(i.setup||0),h=()=>{i.Close&&i.Close()},f=()=>L(this,null,function*(){switch(r.value){case"webdav":yield v();break;case"samba":yield _();break;case"linkease":yield b();break}}),v=()=>L(this,null,function*(){c.value=!0,(yield Et.checkAndInstallApp("app-meta-gowebdav","GoWebdav"))&&y(),c.value=!1}),b=()=>L(this,null,function*(){c.value=!0,(yield Et.checkAndInstallApp("linkease",a("\u6613\u6709\u4E91"),"app-meta-linkease"))&&k(),c.value=!1}),_=()=>L(this,null,function*(){c.value=!0;const m=E.Loading(a("\u914D\u7F6E\u4E2D..."));y(),m.Close(),c.value=!1}),y=()=>{c.value=!1,u.value=!1,O1({Cancel:()=>{u.value=!0},Next:m=>{switch(r.value){case"webdav":w(m);break;case"samba":p(m);break}}})},k=()=>{K1({}),h()},w=m=>{x2({rootPath:m}),h()},p=m=>{t5({rootPath:m}),h()};return(m,g)=>u.value?(s(),H(ht,{key:0,Close:n.Close,type:1},{default:R(()=>[z($t,{name:"rotate",mode:"out-in"},{default:R(()=>[x.value==0?(s(),l("div",e5,[t("h2",a5,o(e(a)("\u6B22\u8FCE\u4F7F\u7528 NAS \u914D\u7F6E\u5411\u5BFC")),1),t("h3",o5,o(e(a)("\u8BF7\u9009\u62E9\u9700\u8981\u6DFB\u52A0\u7684NAS\u670D\u52A1")),1),t("form",null,[t("label",null,[T(t("select",{"onUpdate:modelValue":g[0]||(g[0]=F=>r.value=F)},[t("option",n5,o(e(a)("\u8DE8\u8BBE\u5907\u5171\u4EAB\uFF08\u6613\u6709\u4E91\uFF09")),1),t("option",i5,o(e(a)("\u5C40\u57DF\u7F51\u6587\u4EF6\u5171\u4EAB\uFF08Samba\uFF09")),1),t("option",r5,o(e(a)("\u5C40\u57DF\u7F51\u6587\u4EF6\u5171\u4EAB\uFF08WebDAV\uFF09")),1)],512),[[rt,r.value]])])]),e(Kt)("unishare")?(s(),l("div",{key:0,class:"tips",innerHTML:e(a)("\u5982\u9700\u5BF9 Samba \u6216 WebDAV \u8FDB\u884C\u66F4\u7EC6\u81F4\u7684\u6743\u9650\u63A7\u5236\uFF0C\u8BF7\u4F7F\u7528\u201C%{unishare}\u201D",{unishare:''+e(a)("\u7EDF\u4E00\u6587\u4EF6\u5171\u4EAB")+""},!0)},null,8,s5)):D("",!0),t("div",d5,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:f,type:"button",disabled:c.value},o(e(a)("\u4E0B\u4E00\u6B65")),9,l5),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:h,type:"button"},o(e(a)("\u53D6\u6D88")),1)])])):D("",!0)]),_:1})]),_:1},8,["Close"])):D("",!0)}});var c5=N(u5,[["__scopeId","data-v-3f686017"]]),La=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(c5,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}};const p5={class:"app-container_linkease"},f5={class:"linkease-item"},m5={class:"linkease-item_name"},v5={class:"linkease-item_value"},b5={key:0,class:"configure"},g5={key:0,class:"linkease-item"},h5={class:"linkease-item_name"},_5={class:"linkease-item_value"},x5=["href"],w5={href:" https://app.linkease.com/",target:"_blank"},k5=G({props:{linkease:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var c;return`http://${location.hostname}:${(c=i.linkease)==null?void 0:c.port}`}),r=()=>{La({setup:0})};return(c,x)=>{var h,f,v;return s(),l("ul",p5,[t("li",f5,[t("div",m5,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",v5,[(h=n.linkease)!=null&&h.enabel?(s(),l("span",b5,o(e(a)("\u5DF2\u914D\u7F6E")),1)):(s(),l("span",{key:1,class:"configure enabel",onClick:x[0]||(x[0]=b=>r())},o(e(a)("\u672A\u914D\u7F6E")),1))])]),(f=n.linkease)!=null&&f.enabel?(s(),l(O,{key:0},[(v=n.linkease)!=null&&v.port?(s(),l("li",g5,[t("div",h5,[t("span",null,o(e(a)("\u670D\u52A1\u5730\u5740:")),1)]),t("div",_5,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,x5)])])):D("",!0)],64)):D("",!0),t("div",null,[t("a",w5,o(e(a)("\u4E0B\u8F7D\u6613\u6709\u4E91\u5BA2\u6237\u7AEF\uFF0C\u968F\u65F6\u968F\u5730\u76F8\u518C\u5907\u4EFD\u3001\u8FDC\u7A0B\u8BBF\u95EE")),1)])])}}});var y5=N(k5,[["__scopeId","data-v-8b8d01c2"]]);const F5={class:"app-container"},E5={class:"app-container_title"},$5={class:"app-container_tool"},C5=["title"],D5={class:"DeviceBlock"},B5={href:"/cgi-bin/luci/admin/services/samba4"},Y5={class:"app-container_body"},A5={class:"app-container_nas-menu"},S5=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=$(!1),u=$("linkease"),r=$(),c=$a();(()=>{M.Nas.Service.Status.GET().then(b=>{var _;if((_=b==null?void 0:b.data)!=null&&_.result){const y=b.data.result;r.value=y,y.webdav&&(c.webdav=y.webdav)}})})();const h=()=>{La({setup:0})},f=()=>{d.value=!d.value},v=()=>{f(),Et.installAndGo("app-meta-gowebdav","GoWebDAV","/cgi-bin/luci/admin/nas/gowebdav")};return(b,_)=>{var k,w,p;const y=pt("GlHelp");return s(),l("div",F5,[t("div",E5,[t("span",null,[t("span",null,o(e(i)("\u5B58\u50A8\u670D\u52A1")),1),z(y,{type:"store"})]),t("div",$5,[t("div",{class:"app-container_configure",onClick:h},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u5B58\u50A8\u670D\u52A1\u4FE1\u606F")},[z(Gt,{onClick:f})],8,C5)]),T(t("div",D5,[t("div",{class:"menu_background",onClick:f}),t("ul",null,[t("li",null,[t("a",B5,o(e(i)("SAMBA\u9AD8\u7EA7\u914D\u7F6E")),1)]),t("li",null,[t("a",{onClick:v},o(e(i)("WebDAV\u9AD8\u7EA7\u914D\u7F6E")),1)])])],512),[[Yt,d.value]])]),t("div",Y5,[t("ul",A5,[t("button",{onClick:_[0]||(_[0]=m=>u.value="linkease"),class:ct({on:u.value=="linkease"})},o(e(i)("\u6613\u6709\u4E91")),3),t("button",{onClick:_[1]||(_[1]=m=>u.value="samba"),class:ct({on:u.value=="samba"})},o(e(i)("SAMBA")),3),t("button",{onClick:_[2]||(_[2]=m=>u.value="webdav"),class:ct({on:u.value=="webdav"})},o(e(i)("WEBDAV")),3)]),u.value=="samba"?(s(),H(Qc,{key:0,sambas:(k=r.value)==null?void 0:k.sambas},null,8,["sambas"])):u.value=="webdav"?(s(),H(m1,{key:1,webdav:(w=r.value)==null?void 0:w.webdav},null,8,["webdav"])):u.value=="linkease"?(s(),H(y5,{key:2,linkease:(p=r.value)==null?void 0:p.linkease},null,8,["linkease"])):D("",!0)])])}}});var z5=N(S5,[["__scopeId","data-v-008c9ca2"]]);const P5=n=>(st("data-v-b0e9cad0"),n=n(),dt(),n),T5={class:"app-container_docker"},I5={class:"docker-item"},L5={class:"docker-item_name"},M5={key:0,class:"docker-item_value"},N5={class:"configure"},O5={key:1,class:"docker-item_value"},V5={class:"input-switch"},G5=["value","disabled"],j5=P5(()=>t("em",null,null,-1)),q5=[j5],U5={key:0,class:"docker-item"},R5={class:"docker-item_name"},W5={class:"docker-item_value"},H5={class:"configure enabel"},Z5={key:0},J5={class:"tooltip-trigger"},K5={class:"docker_tip"},Q5={class:"tooltip-text tooltip-top"},X5={class:"docker_dir_tip"},t6=G({props:{docker:{type:Object}},setup(n){var x;const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var h;return((h=i.docker)==null?void 0:h.status)!="not installed"}),r=bt({enable:((x=i.docker)==null?void 0:x.status)=="running",disabled:!1}),c=()=>L(this,null,function*(){r.disabled=!0;try{const h=yield M.Guide.DockerSwitch.POST({enable:r.enable});if(h!=null&&h.data){const{success:f,error:v}=h.data;if(v)throw r.enable=!r.enable,v;(f||0)==0}}catch(h){E.Warning(`${h}`)}finally{r.disabled=!1}});return(h,f)=>{var v,b,_,y;return s(),l("ul",T5,[t("li",I5,[t("div",L5,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),(v=i.docker)!=null&&v.status?(s(),l(O,{key:0},[e(u)?(s(),l("div",O5,[t("label",V5,[T(t("input",{type:"checkbox",hidden:"",value:!e(r).enable,"onUpdate:modelValue":f[0]||(f[0]=k=>e(r).enable=k),disabled:e(r).disabled,onChange:c},null,40,G5),[[Rt,e(r).enable]]),t("span",{class:ct(e(r).enable?"enable":"close")},q5,2)])])):(s(),l("div",M5,[t("span",N5,o(e(a)("\u672A\u5B89\u88C5")),1)]))],64)):D("",!0)]),((b=n.docker)==null?void 0:b.status)=="running"?(s(),l("li",U5,[t("div",R5,[t("span",null,o(e(a)("Docker\u6839\u76EE\u5F55\uFF1A")),1)]),t("div",W5,[t("span",H5,o((_=n.docker)==null?void 0:_.path),1),(y=n.docker)!=null&&y.errorInfo?(s(),l("span",Z5,[t("span",J5,[t("span",K5,[z(Lt)]),t("div",null,[t("div",Q5,[t("span",X5,o(n.docker.errorInfo),1)])])])])):D("",!0)])])):D("",!0)])}}});var e6=N(t6,[["__scopeId","data-v-b0e9cad0"]]);const a6={},o6={width:"128px",height:"128px",viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},n6=t("g",{id:"icon_yellow",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"128",height:"128"}),t("path",{d:"M64,8 C33.075,8 8,33.075 8,64 C8,94.925 33.075,120 64,120 C94.925,120 120,94.925 120,64 C120,33.075 94.925,8 64,8 Z M60,37 C60,36.45 60.45,36 61,36 L67,36 C67.55,36 68,36.45 68,37 L68,71 C68,71.55 67.55,72 67,72 L61,72 C60.45,72 60,71.55 60,71 L60,37 Z M64,92 C60.6875,92 58,89.3125 58,86 C58,82.6875 60.6875,80 64,80 C67.3125,80 70,82.6875 70,86 C70,89.3125 67.3125,92 64,92 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])],-1),i6=[n6];function r6(n,i){return s(),l("svg",o6,i6)}var s6=N(a6,[["render",r6]]);const d6={key:0,class:"action"},l6={class:"title"},u6={class:"desc"},c6={class:"roots"},p6={class:"roots_tit"},f6={class:"root"},m6={class:"move"},v6={class:"roots_tit"},b6={key:0},g6=["onSubmit"],h6={class:"select-editable"},_6={selected:"",value:null},x6=["value"],w6={value:"useInput"},k6=["placeholder"],y6={key:1,class:"tips"},F6={class:"tips_content"},E6={class:"tip"},$6={key:0,class:"btns"},C6={key:1,class:"btns"},D6={key:1,class:"action docker_success"},B6={class:"title"},Y6={class:"finished"},A6={class:"successed"},S6={class:"btns"},z6={key:2,class:"action docker_download"},P6={class:"title"},T6={class:"finished"},I6={class:"successed"},L6={class:"docker_moves"},M6={class:"moves change"},N6={for:"move"},O6={class:"moves"},V6={for:"cover"},G6={class:"btns"},j6=G({props:{rootPath:{type:String,required:!0},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(),r=$(),c=$(0),x=$("null"),h=$(""),f=$(),v=$(!1),b=$("");(()=>{M.Nas.Disk.Status.GET().then(F=>{F!=null&&F.data.result&&(f.value=F==null?void 0:F.data.result)}),M.Guide.DockerStatus.GET().then(F=>{var Y;if((Y=F==null?void 0:F.data)!=null&&Y.result){const A=F.data.result;u.value=A}}),M.Guide.DockerPartitionList.GET().then(F=>{var Y;if((Y=F==null?void 0:F.data)!=null&&Y.result){const A=F.data.result;r.value=A}})})();const y=F=>{let Y=x.value;if(Y=="useInput"&&(Y=h.value),Y==null||Y=="null"||Y=="")return;const A=E.Loading(a("\u6B63\u5728\u8FC1\u79FB\u4E2D..."));M.Guide.DockerTransfer.POST({path:Y,force:F,overwriteDir:!!b.value}).then(C=>{var B;if(C!=null&&C.data){if((C.data.success||0)==0){if((B=C.data.result)!=null&&B.emptyPathWarning){v.value=!0,c.value=2;return}c.value=1;return}else if(C.data.error)throw C.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(C=>{E.Error(C)}).finally(()=>A.Close())},k=()=>{v.value=!1,y(!1)},w=F=>{F.preventDefault(),i.Close&&i.Close()},p=F=>{F.preventDefault(),location.reload()},m=F=>{F.preventDefault(),c.value=0},g=F=>{F.preventDefault(),y(!0)};return(F,Y)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>{var A,C,B,I,et,S;return[c.value==0?(s(),l("div",d6,[t("h2",l6,o(e(a)("Docker\u8FC1\u79FB\u5411\u5BFC")),1),t("p",u6,o(e(a)("\u5F53\u7CFB\u7EDF\u6839\u76EE\u5F55\u7A7A\u95F4\u4E0D\u8DB3\u65F6\uFF0C\u53EF\u5C06Docker\u6839\u76EE\u5F55\u8FC1\u79FB\u5230\u5916\u7F6E\u786C\u76D8\uFF0C\u4EE5\u4FDD\u8BC1\u7CFB\u7EDF\u7684\u6B63\u5E38\u8FD0\u884C\uFF08\u76EE\u6807\u5206\u533A\u4E0D\u652F\u6301NTFS\uFF0CFAT\u7B49\u6587\u4EF6\u7CFB\u7EDF\uFF09")),1),t("div",c6,[t("span",p6,o(e(a)("Docker\u6839\u76EE\u5F55\uFF1A")),1),t("span",f6,o((A=u.value)==null?void 0:A.path),1)]),t("div",m6,[t("span",v6,o(e(a)("\u8FC1\u79FB\u5230\uFF1A")),1),(B=(C=r.value)==null?void 0:C.partitionList)!=null&&B.length?(s(),l("div",b6,[t("form",{onSubmit:ft(k,["prevent"])},[t("label",null,[t("div",h6,[T(t("select",{"onUpdate:modelValue":Y[0]||(Y[0]=P=>x.value=P)},[t("option",_6,o(e(a)("\u8BF7\u9009\u62E9\u8FC1\u79FB\u8DEF\u5F84")),1),(s(!0),l(O,null,J((I=r.value)==null?void 0:I.partitionList,(P,V)=>(s(),l("option",{value:P,key:V},o(P),9,x6))),128)),t("option",w6,o(e(a)("- -\u81EA\u5B9A\u4E49- -")),1)],512),[[rt,x.value,void 0,{trim:!0}]]),x.value=="useInput"?T((s(),l("input",{key:0,type:"text","onUpdate:modelValue":Y[1]||(Y[1]=P=>h.value=P),required:"",placeholder:e(a)("\u8BF7\u8F93\u5165\u8FC1\u79FB\u8DEF\u5F84")},null,8,k6)),[[tt,h.value,void 0,{trim:!0}]]):D("",!0)])])],40,g6)])):r.value?(s(),l("div",y6,[t("div",F6,[z(Lt),t("span",E6,o(e(a)("\u68C0\u6D4B\u5230\u60A8\u8FD8\u6CA1\u6709\u6302\u8F7D\u5916\u7F6E\u786C\u76D8\u6216\u5206\u533A\u5C0F\u4E8E8GB\uFF0C\u9700\u8981\u60A8\u63A5\u4E0A\u786C\u76D8\u5E76\u683C\u5F0F\u5316\u6216\u624B\u52A8\u6302\u8F7D\u786C\u76D8\u540E\uFF0C\u518D\u6267\u884CDocker\u8FC1\u79FB\u5411\u5BFC\uFF0C\u5C06Docker\u8FC1\u79FB\u5230\u76EE\u6807\u786C\u76D8\u3002")),1)])])):D("",!0)]),(S=(et=r.value)==null?void 0:et.partitionList)!=null&&S.length?(s(),l("div",$6,[t("button",{class:"cbi-button cbi-button-apply",onClick:k},o(e(a)("\u786E\u5B9A")),1),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:w},o(e(a)("\u53D6\u6D88")),1)])):(s(),l("div",C6,[t("button",{class:"cbi-button cbi-button-apply",onClick:w},o(e(a)("\u786E\u5B9A")),1)]))])):c.value==1?(s(),l("div",D6,[t("h2",B6,o(e(a)("Docker\u8FC1\u79FB\u5411\u5BFC")),1),t("div",Y6,[z(He)]),t("p",A6,o(e(a)("\u8FC1\u79FB\u6210\u529F\uFF01")),1),t("div",S6,[t("button",{class:"cbi-button cbi-button-apply",onClick:p},o(e(a)("\u786E\u5B9A")),1)])])):c.value==2?(s(),l("div",z6,[t("h2",P6,o(e(a)("Docker\u8FC1\u79FB\u5411\u5BFC")),1),t("div",T6,[z(s6)]),t("p",I6,o(e(a)("\u8BE5\u76EE\u6807\u8DEF\u5F84\u4E0D\u4E3A\u7A7A")),1),t("div",L6,[t("div",M6,[T(t("input",{type:"radio",id:"move",name:"moves","onUpdate:modelValue":Y[2]||(Y[2]=P=>b.value=P),value:""},null,512),[[yt,b.value]]),t("label",N6,o(e(a)("\u66F4\u6362\u76EE\u5F55\uFF08\u4E0D\u8986\u76D6\u76EE\u6807\u8DEF\u5F84\uFF0C\u4EC5\u5C06Docker\u76EE\u5F55\u4FEE\u6539\u4E3A\u76EE\u6807\u8DEF\u5F84\uFF09")),1)]),t("div",O6,[T(t("input",{type:"radio",id:"cover",name:"moves","onUpdate:modelValue":Y[3]||(Y[3]=P=>b.value=P),value:"true"},null,512),[[yt,b.value]]),t("label",V6,o(e(a)("\u8986\u76D6\u8FC1\u79FB\uFF08\u8986\u76D6\u76EE\u6807\u8DEF\u5F84\uFF0C\u7EE7\u7EED\u8FC1\u79FB\u4F1A\u6E05\u7A7A\u8BE5\u76EE\u6807\u8DEF\u5F84\u4E0B\u7684\u6587\u4EF6\uFF09")),1)])]),t("div",G6,[v.value?(s(),l("button",{key:0,class:"cbi-button cbi-button-apply",onClick:g},o(e(a)("\u786E\u5B9A")),1)):D("",!0),t("button",{class:"cbi-button cbi-button-apply",onClick:m},o(e(a)("\u8FD4\u56DE")),1),v.value?D("",!0):(s(),l("button",{key:1,class:"cbi-button cbi-button-remove app-btn app-back",type:"button",onClick:p},o(e(a)("\u53D6\u6D88")),1))])])):D("",!0)]}),_:1},8,["Close"]))}});var q6=N(j6,[["__scopeId","data-v-81932f72"]]);const U6=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(q6,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},R6=n=>(st("data-v-3b60633e"),n=n(),dt(),n),W6={class:"app-container"},H6={class:"app-container_title"},Z6=R6(()=>t("span",null,"Docker",-1)),J6={key:0,class:"app-container_tool"},K6=["title"],Q6={class:"DeviceBlock"},X6={href:"/cgi-bin/luci/admin/docker/overview"},tp={key:1,class:"loading_placeholder"},ep=G({props:{docker:{type:Object}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=$(!1),u=$(),r=$(!1),c=()=>{r.value=!r.value},x=()=>{U6()};return setTimeout(()=>{M.Guide.DockerStatus.GET().then(f=>{var v;if((v=f==null?void 0:f.data)!=null&&v.result){const b=f.data.result;u.value=b}}).finally(()=>{d.value=!0})},1100),(f,v)=>{var y,k;const b=pt("GlHelp"),_=pt("icon-loading");return s(),l("div",W6,[t("div",H6,[t("span",null,[Z6,z(b,{type:"docker"})]),d.value?(s(),l("div",J6,[((y=u.value)==null?void 0:y.status)!="not installed"?(s(),l("div",{key:0,class:"app-container_configure",onClick:x},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),1)):D("",!0),((k=u.value)==null?void 0:k.status)==="running"?(s(),l("span",{key:1,class:"more_icon",title:e(i)("Docker\u7BA1\u7406")},[z(Gt,{onClick:c})],8,K6)):D("",!0)])):D("",!0),T(t("div",Q6,[t("div",{class:"menu_background",onClick:c}),t("ul",null,[t("li",null,[t("a",X6,o(e(i)("Docker\u9AD8\u7EA7\u914D\u7F6E")),1)])])],512),[[Yt,r.value]])]),t("div",null,[d.value?(s(),H(e6,{key:0,docker:u.value},null,8,["docker"])):(s(),l("div",tp,[z(_,{size:50,color:"currentColor"})]))])])}}});var ap=N(ep,[["__scopeId","data-v-3b60633e"]]);const op={class:"app-container_aria2"},np={class:"aria2-item"},ip={class:"aria2-item_name"},rp={class:"aria2-item_value"},sp={key:0,class:"configure"},dp={key:1,class:"configure enabel"},lp={class:"aria2-item"},up={class:"aria2-item_name"},cp={class:"aria2-item_value"},pp=["href"],fp={class:"aria2-item"},mp={class:"aria2-item_name"},vp={class:"aria2-item_value"},bp=["href"],gp={class:"aria2-item"},hp={class:"aria2-item_name right"},_p={class:"aria2-item_value"},xp=["href"],wp={class:"use-url_app"},kp={href:"https://doc.linkease.com/zh/guide/linkease_app/tutorial.html#%E8%BF%9C%E7%A8%8B%E4%B8%8B%E8%BD%BD",target:"_blank"},yp=G({props:{aria2:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var c;return`${location.origin}${(c=i.aria2)==null?void 0:c.webPath}`}),r=X(()=>{var h,f,v;let c=(h=i.aria2)==null?void 0:h.rpcToken;c?c=encodeURIComponent(btoa(c)):c="";const x=encodeURIComponent(location.hostname);return`${location.origin}${(f=i.aria2)==null?void 0:f.webPath}/#!/settings/rpc/set/http/${x}/${(v=i.aria2)==null?void 0:v.rpcPort}/jsonrpc/${c}`});return(c,x)=>{var h,f,v,b;return s(),l("ul",op,[t("li",np,[t("div",ip,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",rp,[((h=n.aria2)==null?void 0:h.status)=="running"?(s(),l("span",sp,o(e(a)("\u5DF2\u542F\u52A8")),1)):(s(),l("span",dp,o(e(a)("\u672A\u542F\u52A8")),1))])]),((f=n.aria2)==null?void 0:f.status)=="running"?(s(),l(O,{key:0},[t("li",lp,[t("div",up,[t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55:")),1)]),t("div",cp,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((v=n.aria2)==null?void 0:v.downloadPath)},o((b=n.aria2)==null?void 0:b.downloadPath),9,pp)])]),t("li",fp,[t("div",mp,[t("span",null,o(e(a)("\u7F51\u7EDC\u5730\u5740:")),1)]),t("div",vp,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,bp)])]),t("li",gp,[t("div",hp,[t("span",null,o(e(a)("\u8BA4\u8BC1\u5931\u8D25\uFF1F")),1)]),t("div",_p,[t("a",{href:e(r),target:"_blank",rel:"noopener noreferrer"},o(e(a)("\u70B9\u6B64\u81EA\u52A8\u914D\u7F6E AriaNg")),9,xp)])])],64)):D("",!0),t("div",wp,[t("a",kp,o(e(a)("\u4F7F\u7528\u6613\u6709\u4E91APP\uFF0C\u968F\u65F6\u968F\u5730\u8FDC\u7A0B\u4E0B\u8F7D")),1)])])}}});var Fp=N(yp,[["__scopeId","data-v-4d31c3c4"]]);const Ep={class:"app-container_qbittorrent"},$p={class:"qbittorrent-item"},Cp={class:"qbittorrent-item_name"},Dp={class:"qbittorrent-item_value"},Bp={key:0,class:"configure"},Yp={key:1,class:"configure enabel"},Ap={class:"qbittorrent-item"},Sp={class:"qbittorrent-item_name"},zp={class:"qbittorrent-item_value"},Pp=["href"],Tp={class:"qbittorrent-item"},Ip={class:"qbittorrent-item_name"},Lp={class:"qbittorrent-item_value"},Mp=["href"],Np={class:"qbittorrent-item"},Op={class:"qbittorrent-item_name right"},Vp={class:"qbittorrent-item_value"},Gp=G({props:{qbittorrent:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var r;return`http://${location.hostname}${(r=i.qbittorrent)==null?void 0:r.webPath}`});return(r,c)=>{var x,h,f,v;return s(),l("ul",Ep,[t("li",$p,[t("div",Cp,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",Dp,[((x=n.qbittorrent)==null?void 0:x.status)=="running"?(s(),l("span",Bp,o(e(a)("\u5DF2\u542F\u52A8")),1)):(s(),l("span",Yp,o(e(a)("\u672A\u542F\u52A8")),1))])]),((h=n.qbittorrent)==null?void 0:h.status)=="running"?(s(),l(O,{key:0},[t("li",Ap,[t("div",Sp,[t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55:")),1)]),t("div",zp,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((f=n.qbittorrent)==null?void 0:f.downloadPath)},o((v=n.qbittorrent)==null?void 0:v.downloadPath),9,Pp)])]),t("li",Tp,[t("div",Ip,[t("span",null,o(e(a)("\u7F51\u7EDC\u5730\u5740:")),1)]),t("div",Lp,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,Mp)])]),t("li",Np,[t("div",Op,[t("span",null,o(e(a)("\u9ED8\u8BA4\u7528\u6237\u540D\uFF1A"))+"admin",1)]),t("div",Vp,[t("span",null,o(e(a)("\u9ED8\u8BA4\u5BC6\u7801\uFF1A"))+"adminadmin",1)])])],64)):D("",!0)])}}});var jp=N(Gp,[["__scopeId","data-v-44bc5d56"]]);const qp={class:"app-container_transmission"},Up={class:"transmission-item"},Rp={class:"transmission-item_name"},Wp={class:"transmission-item_value"},Hp={key:0,class:"configure"},Zp={key:1,class:"configure enabel"},Jp={class:"transmission-item"},Kp={class:"transmission-item_name"},Qp={class:"transmission-item_value"},Xp=["href"],t3={class:"transmission-item"},e3={class:"transmission-item_name"},a3={class:"transmission-item_value"},o3=["href"],n3=G({props:{transmission:{type:Object}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=X(()=>{var r;return`http://${location.hostname}${(r=i.transmission)==null?void 0:r.webPath}`});return(r,c)=>{var x,h,f,v;return s(),l("ul",qp,[t("li",Up,[t("div",Rp,[t("span",null,o(e(a)("\u5F53\u524D\u72B6\u6001:")),1)]),t("div",Wp,[((x=n.transmission)==null?void 0:x.status)=="running"?(s(),l("span",Hp,o(e(a)("\u5DF2\u542F\u52A8")),1)):(s(),l("span",Zp,o(e(a)("\u672A\u542F\u52A8")),1))])]),((h=n.transmission)==null?void 0:h.status)=="running"?(s(),l(O,{key:0},[t("li",Jp,[t("div",Kp,[t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55:")),1)]),t("div",Qp,[t("a",{target:"_blank",href:"/cgi-bin/luci/admin/services/linkease/file/?path=/root"+((f=n.transmission)==null?void 0:f.downloadPath)},o((v=n.transmission)==null?void 0:v.downloadPath),9,Xp)])]),t("li",t3,[t("div",e3,[t("span",null,o(e(a)("\u7F51\u7EDC\u5730\u5740:")),1)]),t("div",a3,[t("a",{href:e(u),target:"_blank",rel:"noopener noreferrer"},o(e(u)),9,o3)])])],64)):D("",!0)])}}});var i3=N(n3,[["__scopeId","data-v-ab5c1db0"]]);const r3={},s3={width:"14px",height:"14px",viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},d3=t("path",{d:"M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z",id:"\u5F62\u72B6","fill-opacity":"0.65"},null,-1),l3=[d3];function u3(n,i){return s(),l("svg",s3,l3)}var Ht=N(r3,[["render",u3]]);const Ie=n=>(st("data-v-395b81d2"),n=n(),dt(),n),c3={key:0,class:"action"},p3={class:"title"},f3={class:"load_service input_row"},m3={class:"left"},v3={class:"radios"},b3=Ie(()=>t("label",{for:"Aria2"},"Aria2",-1)),g3={class:"radios"},h3=Ie(()=>t("label",{for:"qB"},"qBittorrent",-1)),_3={class:"radios"},x3=Ie(()=>t("label",{for:"Tr"},"Transmission",-1)),w3=["onSubmit"],k3={class:"input_row"},y3={class:"left"},F3={class:"tooltip-trigger"},E3={class:"tooltip-text tooltip-top"},$3={class:"dowload_dir_tip"},C3={class:"myinput_wrap"},D3={class:"input_row"},B3={class:"left"},Y3={class:"tooltip-trigger"},A3={class:"tooltip-text tooltip-top"},S3={class:"dowload_dir_tip"},z3={class:"myinput_wrap"},P3={class:"input_row"},T3={class:"left"},I3={class:"tooltip-trigger"},L3={class:"tooltip-text tooltip-bottom"},M3={class:"dowload_rpc_tip"},N3=["placeholder"],O3={class:"input_row"},V3={class:""},G3={class:"radios"},j3={for:"default"},q3={class:"radios"},U3={for:"add"},R3={class:"input_row"},W3=Ie(()=>t("div",{class:"left"},null,-1)),H3={class:"myinput_wrap Tracker_input"},Z3=["placeholder"],J3=["onSubmit"],K3={class:"input_row"},Q3={class:"left"},X3={class:"tooltip-trigger"},t8={class:"tooltip-text tooltip-top"},e8={class:"dowload_dir_tip"},a8={class:"myinput_wrap"},o8={class:"input_row"},n8={class:"left"},i8={class:"tooltip-trigger"},r8={class:"tooltip-text tooltip-top"},s8={class:"dowload_dir_tip"},d8={class:"myinput_wrap"},l8=["onSubmit"],u8={class:"input_row"},c8={class:"left"},p8={class:"tooltip-trigger"},f8={class:"tooltip-text tooltip-top"},m8={class:"dowload_dir_tip"},v8={class:"myinput_wrap"},b8={class:"input_row"},g8={class:"left"},h8={class:"tooltip-trigger"},_8={class:"tooltip-text tooltip-top"},x8={class:"dowload_dir_tip"},w8={class:"myinput_wrap"},k8={class:"btns"},y8={key:1,class:"action"},F8={class:"title"},E8={class:"finished"},$8={class:"successed"},C8={class:"btns"},D8=G({props:{services:{type:Object,required:!0},partitionList:{type:Array,required:!0},defaultTab:{type:String,required:!1},Close:Function},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(""),r=$(""),c=$(""),x=$(""),h=$("default"),f=$("Aria2"),v=$(""),b=$(""),_=$(""),y=$(""),k=$([]),w=$([]),p=$(0);At(()=>{var S,P,V,it,Ct,Dt,vt,ot,U,xt;switch(i.defaultTab){case"aria2":f.value="Aria2";break;case"qbittorrent":f.value="qBittorrent";break;case"transmission":f.value="Transmission";break}k.value=i.partitionList.map(lt=>({key:lt})),w.value=i.partitionList.filter(lt=>lt.startsWith("/mnt/")).map(lt=>lt.replace(/(\/mnt\/[^/]+).*/,"$1")),c.value=((S=i.services.aria2)==null?void 0:S.configPath)||"";const C=((P=i.services.aria2)==null?void 0:P.downloadPath)||((V=i.services.qbittorrent)==null?void 0:V.downloadPath)||((it=i.services.transmission)==null?void 0:it.downloadPath);C&&(x.value=C);const B=(Ct=i.services.aria2)==null?void 0:Ct.rpcToken;B&&(u.value=B),v.value=((Dt=i.services.qbittorrent)==null?void 0:Dt.configPath)||"";const I=((vt=i.services.qbittorrent)==null?void 0:vt.downloadPath)||C||((ot=i.services.transmission)==null?void 0:ot.downloadPath);I&&(b.value=I),_.value=((U=i.services.transmission)==null?void 0:U.configPath)||"";const et=((xt=i.services.transmission)==null?void 0:xt.downloadPath)||C||I;et&&(y.value=et)});const m=()=>{let C=c.value,B=x.value;C==null||C==""||B==null||B==""||L(this,null,function*(){if(yield Et.checkAndInstallApp("app-meta-aria2","Aria2")){const et=E.Loading(a("\u914D\u7F6E\u4E2D..."));M.Guide.Aria2Init.POST({configPath:C,downloadPath:B,rpcToken:u.value,btTracker:h.value=="add"?r.value:""}).then(S=>{var P;if(S!=null&&S.data){if((S.data.success||0)==0){p.value=1;return}else if((P=S.data)!=null&&P.error)throw S.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(S=>E.Error(S)).finally(()=>et.Close())}})},g=()=>{let C=v.value,B=b.value;C==null||C==""||B==null||B==""||L(this,null,function*(){if(yield Et.checkAndInstallApp("app-meta-qbittorrent","qBittorrent")){const et=E.Loading(a("\u914D\u7F6E\u4E2D..."));M.Guide.qbitorrentInit.POST({configPath:C,downloadPath:B}).then(S=>{var P;if(S!=null&&S.data){if((S.data.success||0)==0){p.value=1;return}else if((P=S.data)!=null&&P.error)throw S.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(S=>E.Error(S)).finally(()=>et.Close())}})},F=()=>{let C=_.value,B=y.value;C==null||C==""||B==null||B==""||L(this,null,function*(){if(yield Et.checkAndInstallApp("app-meta-transmission","Transmission")){const et=E.Loading(a("\u914D\u7F6E\u4E2D..."));M.Guide.transmissionInit.POST({configPath:C,downloadPath:B}).then(S=>{var P;if(S!=null&&S.data){if((S.data.success||0)==0){p.value=1;return}else if((P=S.data)!=null&&P.error)throw S.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(S=>E.Error(S)).finally(()=>et.Close())}})},Y=C=>{C.preventDefault(),i.Close&&i.Close()},A=C=>{C.preventDefault(),location.reload()};return(C,B)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[p.value==0?(s(),l("div",c3,[t("h2",p3,o(e(a)("\u4E0B\u8F7D\u670D\u52A1\u914D\u7F6E\u5411\u5BFC")),1),t("ul",null,[t("li",null,[t("div",f3,[t("div",m3,[t("span",null,o(e(a)("\u4E0B\u8F7D\u670D\u52A1\uFF1A")),1)]),t("div",v3,[T(t("input",{type:"radio",value:"Aria2","onUpdate:modelValue":B[0]||(B[0]=I=>f.value=I),name:"download",id:"Aria2"},null,512),[[yt,f.value]]),b3]),t("div",g3,[T(t("input",{type:"radio",value:"qBittorrent","onUpdate:modelValue":B[1]||(B[1]=I=>f.value=I),name:"download",id:"qB"},null,512),[[yt,f.value]]),h3]),t("div",_3,[T(t("input",{type:"radio",value:"Transmission","onUpdate:modelValue":B[2]||(B[2]=I=>f.value=I),name:"download",id:"Tr"},null,512),[[yt,f.value]]),x3])])])]),f.value=="Aria2"?(s(),l("form",{key:0,onSubmit:ft(m,["prevent"])},[t("ul",null,[t("li",null,[t("div",k3,[t("div",y3,[t("span",F3,[z(Ht),t("div",null,[t("div",E3,[t("span",$3,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u914D\u7F6E\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/Configs/aria2\uFF1B\u8BF7\u52FF\u4F7F\u7528 /tmp \u6216 /var \uFF0C\u4EE5\u514D\u91CD\u542F\u4EE5\u540E\u4EFB\u52A1\u4E22\u5931")),1)])])]),t("span",null,o(e(a)("\u914D\u7F6E\u76EE\u5F55\uFF1A")),1)]),t("div",C3,[z(Zt,{modelValue:c.value,"onUpdate:modelValue":B[3]||(B[3]=I=>c.value=I),modelModifiers:{trim:!0},title:e(a)("\u914D\u7F6E\u76EE\u5F55"),options:w.value.concat("/root").map(I=>({key:I+"/Configs/aria2"}))},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",D3,[t("div",B3,[t("span",Y3,[z(Ht),t("div",null,[t("div",A3,[t("span",S3,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/download")),1)])])]),t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55\uFF1A")),1)]),t("div",z3,[z(Zt,{modelValue:x.value,"onUpdate:modelValue":B[4]||(B[4]=I=>x.value=I),modelModifiers:{trim:!0},title:e(a)("\u4E0B\u8F7D\u76EE\u5F55"),options:k.value},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",P3,[t("div",T3,[t("span",I3,[z(Ht),t("div",null,[t("div",L3,[t("span",M3,o(e(a)("\u7528\u4E8E\u8FDC\u7A0B\u8BBF\u95EE\u7684\u4EE4\u724C\u3002")),1)])])]),t("span",null,o(e(a)("RPC \u4EE4\u724C\uFF1A")),1)]),T(t("input",{type:"text",class:"RPC_input",placeholder:e(a)("\u8BF7\u8F93\u5165RPC\u4EE4\u724C"),"onUpdate:modelValue":B[5]||(B[5]=I=>u.value=I)},null,8,N3),[[tt,u.value,void 0,{trim:!0}]])])]),t("li",null,[t("div",O3,[t("div",V3,[t("span",null,o(e(a)("\u9644\u52A0\u7684 BT Tracker\uFF1A")),1)]),t("div",G3,[T(t("input",{type:"radio",value:"default",name:"BT",id:"default","onUpdate:modelValue":B[6]||(B[6]=I=>h.value=I)},null,512),[[yt,h.value]]),t("label",j3,o(e(a)("\u9ED8\u8BA4")),1)]),t("div",q3,[T(t("input",{type:"radio",value:"add",name:"BT",id:"add","onUpdate:modelValue":B[7]||(B[7]=I=>h.value=I)},null,512),[[yt,h.value]]),t("label",U3,o(e(a)("\u81EA\u5DF1\u6DFB\u52A0")),1)])])]),t("li",null,[t("div",R3,[W3,t("div",H3,[h.value=="add"?T((s(),l("textarea",{key:0,"onUpdate:modelValue":B[8]||(B[8]=I=>r.value=I),rows:"4",placeholder:e(a)("\u8BF7\u8F93\u5165BT Tracker\u670D\u52A1\u5668\u5730\u5740\uFF0C\u591A\u4E2A\u5730\u5740\u4F7F\u7528\u6362\u884C\u6216\u8005\u82F1\u6587\u9017\u53F7\u5206\u9694")},null,8,Z3)),[[tt,r.value,void 0,{trim:!0}]]):D("",!0)])])])])],40,w3)):D("",!0),f.value=="qBittorrent"?(s(),l("form",{key:1,onSubmit:ft(g,["prevent"])},[t("ul",null,[t("li",null,[t("div",K3,[t("div",Q3,[t("span",X3,[z(Ht),t("div",null,[t("div",t8,[t("span",e8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u914D\u7F6E\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/Configs/qb\uFF1B\u8BF7\u52FF\u4F7F\u7528 /tmp \u6216 /var \uFF0C\u4EE5\u514D\u91CD\u542F\u4EE5\u540E\u4EFB\u52A1\u4E22\u5931")),1)])])]),t("span",null,o(e(a)("\u914D\u7F6E\u76EE\u5F55\uFF1A")),1)]),t("div",a8,[z(Zt,{modelValue:v.value,"onUpdate:modelValue":B[9]||(B[9]=I=>v.value=I),modelModifiers:{trim:!0},title:e(a)("\u914D\u7F6E\u76EE\u5F55"),options:w.value.concat("/root").map(I=>({key:I+"/Configs/qb"}))},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",o8,[t("div",n8,[t("span",i8,[z(Ht),t("div",null,[t("div",r8,[t("span",s8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/download")),1)])])]),t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55\uFF1A")),1)]),t("div",d8,[z(Zt,{modelValue:b.value,"onUpdate:modelValue":B[10]||(B[10]=I=>b.value=I),modelModifiers:{trim:!0},title:e(a)("\u4E0B\u8F7D\u76EE\u5F55"),options:k.value},null,8,["modelValue","title","options"])])])])])],40,J3)):D("",!0),f.value=="Transmission"?(s(),l("form",{key:2,onSubmit:ft(F,["prevent"])},[t("ul",null,[t("li",null,[t("div",u8,[t("div",c8,[t("span",p8,[z(Ht),t("div",null,[t("div",f8,[t("span",m8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u914D\u7F6E\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/Configs/tr\uFF1B\u8BF7\u52FF\u4F7F\u7528 /tmp \u6216 /var \uFF0C\u4EE5\u514D\u91CD\u542F\u4EE5\u540E\u4EFB\u52A1\u4E22\u5931")),1)])])]),t("span",null,o(e(a)("\u914D\u7F6E\u76EE\u5F55\uFF1A")),1)]),t("div",v8,[z(Zt,{modelValue:_.value,"onUpdate:modelValue":B[11]||(B[11]=I=>_.value=I),modelModifiers:{trim:!0},title:e(a)("\u914D\u7F6E\u76EE\u5F55"),options:w.value.concat("/root").map(I=>({key:I+"/Configs/transmission"}))},null,8,["modelValue","title","options"])])])]),t("li",null,[t("div",b8,[t("div",g8,[t("span",h8,[z(Ht),t("div",null,[t("div",_8,[t("span",x8,o(e(a)("\u7528\u4E8E\u653E\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u7684\u76EE\u5F55\u3002\u4F8B\u5982\uFF1A/mnt/sda1/download")),1)])])]),t("span",null,o(e(a)("\u4E0B\u8F7D\u76EE\u5F55\uFF1A")),1)]),t("div",w8,[z(Zt,{modelValue:y.value,"onUpdate:modelValue":B[12]||(B[12]=I=>y.value=I),modelModifiers:{trim:!0},title:e(a)("\u4E0B\u8F7D\u76EE\u5F55"),options:k.value},null,8,["modelValue","title","options"])])])])])],40,l8)):D("",!0),t("div",k8,[f.value=="Aria2"?(s(),l("button",{key:0,class:"cbi-button cbi-button-apply",onClick:m},o(e(a)("\u542F\u7528")),1)):D("",!0),f.value=="qBittorrent"?(s(),l("button",{key:1,class:"cbi-button cbi-button-apply",onClick:g},o(e(a)("\u542F\u7528")),1)):D("",!0),f.value=="Transmission"?(s(),l("button",{key:2,class:"cbi-button cbi-button-apply",onClick:F},o(e(a)("\u542F\u7528")),1)):D("",!0),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:Y},o(e(a)("\u53D6\u6D88")),1)])])):p.value==1?(s(),l("div",y8,[t("h2",F8,o(e(a)("%{status}\u4E0B\u8F7D\u670D\u52A1\u914D\u7F6E\u5411\u5BFC",{status:f.value})),1),t("div",E8,[z(He)]),t("p",$8,o(e(a)("\u914D\u7F6E\u6210\u529F\uFF01")),1),t("div",C8,[t("button",{class:"cbi-button cbi-button-apply",onClick:A},o(e(a)("\u786E\u5B9A")),1)])])):D("",!0)]),_:1},8,["Close"]))}});var B8=N(D8,[["__scopeId","data-v-395b81d2"]]);const Y8=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(B8,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},A8={class:"app-container"},S8={class:"app-container_title"},z8={class:"app-container_tool"},P8=["disabled"],T8=["title"],I8={class:"DeviceBlock"},L8={class:"app-container_body"},M8={class:"app-container_nas-menu"},N8=G({setup(n){const{$gettext:i,$ngettext:a}=W();$(!1);const d=$("aria2"),u=$();$a(),setTimeout(()=>{M.Guide.DownloadService.Status.GET().then(k=>{var w;if((w=k==null?void 0:k.data)!=null&&w.result){const p=k.data.result;u.value=p}})},800);const c=$(!1),x=$(!1),h=()=>{x.value=!x.value},f=()=>{M.Guide.DownloadPartition.List.GET().then(k=>{var p,m;let w=[];(m=(p=k==null?void 0:k.data)==null?void 0:p.result)!=null&&m.partitionList&&(w=k.data.result.partitionList),Y8({services:u.value,partitionList:w,defaultTab:d.value})})},v=(k,w,p)=>L(this,null,function*(){h(),Et.installAndGo(k,w,p)}),b=()=>{v("app-meta-aria2","Aria2","/cgi-bin/luci/admin/services/aria2")},_=()=>{v("app-meta-qbittorrent","qBittorrent","/cgi-bin/luci/admin/nas/qBittorrent")},y=()=>{v("app-meta-transmission","Transmission","/cgi-bin/luci/admin/services/transmission")};return(k,w)=>{var m,g,F;const p=pt("GlHelp");return s(),l("div",A8,[t("div",S8,[t("span",null,[t("span",null,o(e(i)("\u4E0B\u8F7D\u670D\u52A1")),1),z(p,{type:"download"})]),t("div",z8,[u.value?(s(),l("div",{key:0,class:"app-container_configure",onClick:f,disabled:c.value},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),9,P8)):D("",!0),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u9AD8\u7EA7\u914D\u7F6E")},[z(Gt,{onClick:h})],8,T8)]),T(t("div",I8,[t("div",{class:"menu_background",onClick:h}),t("ul",null,[t("li",null,[t("a",{onClick:b},o(e(i)("Aria2\u9AD8\u7EA7\u914D\u7F6E")),1)]),t("li",null,[t("a",{onClick:_},o(e(i)("qBittorrent\u9AD8\u7EA7\u914D\u7F6E")),1)]),t("li",null,[t("a",{onClick:y},o(e(i)("Transmission\u9AD8\u7EA7\u914D\u7F6E")),1)])])],512),[[Yt,x.value]])]),t("div",L8,[t("ul",M8,[t("button",{onClick:w[0]||(w[0]=Y=>d.value="aria2"),class:ct({on:d.value=="aria2"})},"Aria2",2),t("button",{onClick:w[1]||(w[1]=Y=>d.value="qbittorrent"),class:ct({on:d.value=="qbittorrent"})},"qBittorrent",2),t("button",{onClick:w[2]||(w[2]=Y=>d.value="transmission"),class:ct({on:d.value=="transmission"})},"Transmission",2)]),d.value=="aria2"?(s(),H(Fp,{key:0,aria2:(m=u.value)==null?void 0:m.aria2},null,8,["aria2"])):d.value=="qbittorrent"?(s(),H(jp,{key:1,qbittorrent:(g=u.value)==null?void 0:g.qbittorrent},null,8,["qbittorrent"])):d.value=="transmission"?(s(),H(i3,{key:2,transmission:(F=u.value)==null?void 0:F.transmission},null,8,["transmission"])):D("",!0)])])}}});var O8=N(N8,[["__scopeId","data-v-17fab0f2"]]);const V8={class:"actioner-container"},G8={class:"actioner-container_header"},j8={class:"actioner-container_body"},q8={class:"label-item"},U8={class:"label_info"},R8={class:"label-item"},W8={class:"label_info"},H8={class:"label-item"},Z8={class:"label_info"},J8={class:"label-item"},K8={class:"label_info"},Q8={class:"actioner-container_footer"},X8=G({props:{onSetup:{type:Function,required:!0},active:{type:String,default:"ddnsto"}},emits:["update:active"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=()=>{a.onSetup()},c=$(a.active),x=()=>{switch(i("update:active",c.value),c.value){case"ddnsto":a.onSetup("ddnsto");break;case"ali":a.onSetup("ddns-ali");break;case"dnspod":a.onSetup("ddns-dnspod");break;case"oray":a.onSetup("ddns-oray");break}};return(h,f)=>(s(),l("div",V8,[t("div",G8,[t("span",null,o(e(d)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",j8,[t("div",q8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":f[0]||(f[0]=v=>c.value=v),value:"ddnsto"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("DDNSTO")),1)]),t("p",U8,o(e(d)("DDNSTO \u662F\u4E00\u4E2A\u4E0D\u9700\u8981\u516C\u7F51IP\u4E5F\u53EF\u4EE5\u5728\u5916\u7F51\u8BBF\u95EE\u7684\u7A7F\u900F\u57DF\u540D\u670D\u52A1\uFF0C\u4E00\u4E2A\u6D4F\u89C8\u5668\u641E\u5B9A\u5185\u7F51\u7A7F\u900F\uFF0C\u8FDC\u7A0B\u8BBF\u95EEOpenwrt\u3001\u8FDC\u7A0B\u7EC8\u7AEF\u3001\u8FDC\u7A0B\u684C\u9762...")),1)]),t("div",R8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":f[1]||(f[1]=v=>c.value=v),value:"ali"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("\u963F\u91CC\u4E91")),1)]),t("p",W8,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1)]),t("div",H8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":f[2]||(f[2]=v=>c.value=v),value:"dnspod"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("Dnspod")),1)]),t("p",Z8,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1)]),t("div",J8,[t("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":f[3]||(f[3]=v=>c.value=v),value:"oray"},null,512),[[yt,c.value]]),t("span",null,o(e(d)("\u82B1\u751F\u58F3")),1)]),t("p",K8,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1)])]),t("div",Q8,[t("div",{class:"close",onClick:r},o(e(d)("\u53D6\u6D88")),1),t("div",{class:"next",onClick:x},o(e(d)("\u4E0B\u4E00\u6B65")),1)])]))}});var t4=N(X8,[["__scopeId","data-v-73552138"]]);const e4=n=>(st("data-v-b9ee57da"),n=n(),dt(),n),a4={class:"actioner-container"},o4={class:"actioner-container_body"},n4=e4(()=>t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})],-1)),i4={class:"body-title"},r4={class:"body-tips"},s4={class:"body-info"},d4=["href"],l4={href:"/cgi-bin/luci/admin/services/ddns",target:"_blank"},u4={class:"actioner-container_footer"},c4=G({props:{target:{type:String,required:!0},onSetup:{type:Function,required:!0}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=()=>{localStorage.setItem("firstOpen",JSON.stringify(!0)),location.reload()};return(u,r)=>(s(),l("div",a4,[t("div",o4,[n4,t("div",i4,o(e(i)("\u6DFB\u52A0\u6210\u529F")),1),t("p",r4,o(e(i)("\u8BF7\u7A0D\u7B491\u5206\u949F\u751F\u6548\u540E\u518D\u4F7F\u7528\u3002")),1),t("div",s4,[t("span",null,o(e(i)("\u8BBF\u95EE\u5730\u5740\uFF1A")),1),t("a",{href:n.target,target:"_blank",rel:"noopener noreferrer"},o(n.target),9,d4)]),t("div",null,[t("span",null,o(e(i)("\u53EF\u524D\u5F80")),1),t("a",l4,o(e(i)("\u670D\u52A1-\u52A8\u6001DNS")),1),t("span",null,o(e(i)("\u67E5\u770B\u66F4\u591A\u8BE6\u60C5")),1)])]),t("div",u4,[t("div",{class:"close",onClick:d},o(e(i)("\u5173\u95ED")),1)])]))}});var p4=N(c4,[["__scopeId","data-v-b9ee57da"]]);const f4=n=>(st("data-v-aefb6fdc"),n=n(),dt(),n),m4={class:"actioner-container"},v4={class:"actioner-container_header"},b4=f4(()=>t("div",{class:"actioner-container_body ddnsto-login"},[t("iframe",{src:"https://www.kooldns.cn/bind/#/auth?send=1&source=openwrt&callback=*"})],-1)),g4={class:"actioner-container_footer"},h4=G({props:{onSetup:{type:Function,required:!0},onDdnstoConfig:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.onSetup()},r=c=>{if(c.data.auth=="ddnsto"){const x=c.data.sign,h=c.data.token;x&&h&&(removeEventListener("message",r),i.onDdnstoConfig(x,h),i.onSetup("ddnsto-run"))}};return At(()=>{window.addEventListener("message",r)}),Ot(()=>{removeEventListener("message",r)}),(c,x)=>(s(),l("div",m4,[t("div",v4,[t("span",null,o(e(a)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),b4,t("div",g4,[t("div",{class:"close",onClick:u},o(e(a)("\u53D6\u6D88")),1)])]))}});var _4=N(h4,[["__scopeId","data-v-aefb6fdc"]]);const x4={class:"actioner-container"},w4={class:"actioner-container_header"},k4={class:"actioner-container_body ddnsto-bind"},y4=["src"],F4=G({props:{onSetup:{type:Function,required:!0},config:{type:Object,required:!0},domain:{type:String,required:!0}},emits:["update:domain"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=X(()=>{const{domain:h,token:f,sign:v,routerId:b,netaddr:_}=a.config,y=encodeURIComponent(h),k=encodeURIComponent(_);return`https://www.kooldns.cn/bind/#/domain?domain=${y}&sign=${v}&token=${f}&routerId=${b}&netaddr=${k}`}),c=h=>{if(h.data){const{auth:f,url:v}=h.data;f==="ddnsto"&&v&&x(v)}},x=h=>L(this,null,function*(){var f;try{const v=yield M.Guide.DdnstoAddress.POST({address:h});v!=null&&v.data&&(((f=v==null?void 0:v.data)==null?void 0:f.success)||0)==0&&(i("update:domain",h),a.onSetup("ddnsto-save"))}catch(v){}});return At(()=>{window.addEventListener("message",c)}),Ot(()=>{removeEventListener("message",c)}),(h,f)=>(s(),l("div",x4,[t("div",w4,[t("span",null,o(e(d)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",k4,[t("iframe",{src:e(r)},null,8,y4)])]))}});var E4=N(F4,[["__scopeId","data-v-0e2b47e6"]]);const $4=n=>(st("data-v-29e2aec8"),n=n(),dt(),n),C4={class:"actioner-container"},D4={class:"actioner-container_body"},B4=$4(()=>t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128","data-v-cda444e0":""},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063","data-v-cda444e0":""})],-1)),Y4={class:"body-title"},A4={class:"body-tips"},S4={class:"body-info"},z4=["href"],P4={href:"https://www.ddnsto.com/app/#/devices",target:"_blank"},T4={class:"actioner-container_footer"},I4=G({props:{onSetup:{type:Function,required:!0},target:{type:String,required:!0}},setup(n){const{$gettext:i,$ngettext:a}=W(),d=()=>{localStorage.setItem("firstOpen",JSON.stringify(!0)),location.reload()};return(u,r)=>(s(),l("div",C4,[t("div",D4,[B4,t("div",Y4,o(e(i)("\u6DFB\u52A0\u6210\u529F")),1),t("p",A4,o(e(i)("\u8BF7\u7A0D\u7B491\u5206\u949F\u751F\u6548\u540E\u518D\u4F7F\u7528\u3002")),1),t("div",S4,[t("span",null,o(e(i)("\u8BBF\u95EE\u5730\u5740\uFF1A")),1),t("a",{href:n.target,target:"_blank",rel:"noopener noreferrer"},o(n.target),9,z4)]),t("div",null,[t("span",null,o(e(i)("\u53EF\u524D\u5F80")),1),t("a",P4,o(e(i)("DDNSTO\u63A7\u5236\u53F0")),1),t("span",null,o(e(i)("\u67E5\u770B\u66F4\u591A\u8BE6\u60C5")),1)])]),t("div",T4,[t("div",{class:"close",onClick:d},o(e(i)("\u5173\u95ED")),1)])]))}});var L4=N(I4,[["__scopeId","data-v-29e2aec8"]]);const M4={class:"actioner-container"},N4={class:"actioner-container_header"},O4={class:"actioner-container_body"},V4={class:"actioner-container_footer"},G4=G({props:{onSetup:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.onSetup()},r=()=>L(this,null,function*(){if(h.value)return;h.value=!0;const v=E.Loading(a("\u5B89\u88C5\u4E2D..."));try{if(yield Et.installApp("app-meta-ddnsto",30)){i.onSetup("ddnsto-login");return}else c.value=a("\u5B89\u88C5\u5931\u8D25")}catch(b){c.value=b}finally{v.Close()}h.value=!1}),c=$(a("\u6B63\u5728\u68C0\u6D4B\u4E2D...")),x=$(!1),h=$(!1);return(()=>L(this,null,function*(){try{const v=yield M.App.Check.POST({name:"ddnsto"});if(v!=null&&v.data){const{result:b,error:_}=v.data;if(_){c.value=_;return}if(b){if(b.status=="installed"){i.onSetup("ddnsto-login");return}b.status=="uninstalled"&&(c.value=a("\u9700\u8981\u5B89\u88C5DDNSTO\u63D2\u4EF6\uFF0C\u70B9\u51FB\u201C\u786E\u5B9A\u201D\u5F00\u59CB\u5B89\u88C5"))}}}catch(v){c.value=v}x.value=!0}))(),(v,b)=>(s(),l("div",M4,[t("div",N4,[t("span",null,o(e(a)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",O4,[t("span",null,o(c.value),1)]),t("div",V4,[x.value?(s(),l(O,{key:0},[t("div",{class:"close",onClick:u},o(e(a)("\u53D6\u6D88")),1),t("div",{class:"next",onClick:r},o(e(a)("\u786E\u5B9A")),1)],64)):D("",!0)])]))}});var j4=N(G4,[["__scopeId","data-v-169b4450"]]);const q4={class:"actioner-container"},U4={class:"actioner-container_header"},R4={class:"actioner-container_body"},W4=G({props:{onSetup:{type:Function,required:!0},token:{type:String,required:!0},onDdnstoLocalConfig:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(a("\u6B63\u5728\u68C0\u6D4B\u63D2\u4EF6\u662F\u5426\u5DF2\u542F\u52A8..."));(v=>L(this,null,function*(){var b;try{const _=yield M.Guide.Ddnsto.POST({token:i.token});_!=null&&_.data&&(_.data.error&&(u.value=_.data.error),(((b=_==null?void 0:_.data)==null?void 0:b.success)||0)==0&&x())}catch(_){u.value=_}}))(i.token);const c=$(),x=()=>{const v=()=>L(this,null,function*(){if((yield h())===!0){f();return}c.value=window.setTimeout(v,2e3)});v()},h=()=>L(this,null,function*(){try{const v=yield M.App.Check.POST({name:"ddnsto",checkRunning:!0});if(v!=null&&v.data){v.data.error&&(u.value=v.data.error);const b=v.data.result;if((b==null?void 0:b.status)=="running")return!0}}catch(v){u.value=v}return!1});Ot(()=>{c.value&&clearInterval(c.value)});const f=()=>L(this,null,function*(){var v;try{const b=yield M.Guide.DdntoConfig.GET();if(b!=null&&b.data&&(b.data.error&&(u.value=b.data.error),(((v=b==null?void 0:b.data)==null?void 0:v.success)||0)==0&&b.data.result)){const _=b.data.result;i.onDdnstoLocalConfig(_.netAddr,_.deviceId),i.onSetup("ddnsto-bind")}}catch(b){u.value=b}});return(v,b)=>(s(),l("div",q4,[t("div",U4,[t("span",null,o(e(a)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",R4,o(u.value),1)]))}});var H4=N(W4,[["__scopeId","data-v-6590a3fa"]]);const Z4={class:"action-main"},J4=G({props:{Close:{type:Function,required:!0},url:{type:String,required:!0}},setup(n){const i=n,a=$("ddnsto-install"),d=h=>{h!=null?a.value=h:u()},u=()=>{i.Close&&i.Close()},r=bt({sign:"",token:"",domain:i.url,netaddr:"",routerId:""}),c=(h,f)=>{r.sign=h,r.token=f},x=(h,f)=>{r.netaddr=h,r.routerId=f};return(h,f)=>(s(),H(ht,{type:1},{default:R(()=>[t("div",Z4,[a.value=="ddnsto-install"?(s(),H(j4,{key:0,onSetup:d})):a.value=="ddnsto-login"?(s(),H(_4,{key:1,onSetup:d,onDdnstoConfig:c})):a.value=="ddnsto-run"?(s(),H(H4,{key:2,onSetup:d,token:e(r).token,onDdnstoLocalConfig:x},null,8,["token"])):a.value=="ddnsto-bind"?(s(),H(E4,{key:3,onSetup:d,config:{token:e(r).token,sign:e(r).sign,domain:e(r).domain,netaddr:e(r).netaddr,routerId:e(r).routerId},domain:e(r).domain,"onUpdate:domain":f[0]||(f[0]=v=>e(r).domain=v)},null,8,["config","domain"])):a.value=="ddnsto-save"?(s(),H(L4,{key:4,onSetup:d,target:e(r).domain},null,8,["target"])):D("",!0)])]),_:1}))}});var K4=N(J4,[["__scopeId","data-v-3b80943c"]]);const Q4=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(K4,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},X4={class:"action"},tf={class:"action-header"},ef=["innerHTML"],af={class:"action-footer"},of=G({props:{Close:Function,next:{type:Function},clear:{type:Function},continuer:{type:Function},nextTitle:{type:String},clearTitle:{type:String},continuerTitle:{type:String},title:{type:String},content:{type:String}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.next&&i.next(),i.Close&&i.Close()},r=()=>{i.clear&&i.clear(),i.Close&&i.Close()},c=()=>{i.continuer&&i.continuer(),i.Close&&i.Close()};return(x,h)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[t("div",X4,[t("div",tf,o(n.title||e(a)("\u63D0\u793A")),1),t("div",{class:"action-body",innerHTML:n.content},null,8,ef),t("div",af,[n.clear?(s(),l("div",{key:0,class:"clear",onClick:r},o(n.clearTitle||e(a)("\u8FD4\u56DE")),1)):D("",!0),t("div",{class:"next",onClick:u},o(n.nextTitle||e(a)("\u786E\u5B9A")),1),n.continuer?(s(),l("div",{key:1,class:"next",onClick:c},o(n.continuerTitle||e(a)("\u7EE7\u7EED\u4FDD\u5B58")),1)):D("",!0)])])]),_:1},8,["Close"]))}});var nf=N(of,[["__scopeId","data-v-145a3c50"]]);const Be=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(nf,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},rf=n=>(st("data-v-2c659599"),n=n(),dt(),n),sf={class:"actioner-container"},df=["onSubmit"],lf={class:"actioner-container_header"},uf={key:0,class:"title_info"},cf={href:"https://doc.linkease.com/zh/guide/istoreos/basic/domain.html#%E9%98%BF%E9%87%8C%E4%BA%91",target:"_blank"},pf={key:1,class:"title_info"},ff={href:"https://doc.linkease.com/zh/guide/istoreos/basic/domain.html#dnspod",target:"_blank"},mf={key:2,class:"title_info"},vf={href:"https://doc.linkease.com/zh/guide/istoreos/basic/domain.html#%E8%8A%B1%E7%94%9F%E5%A3%B3",target:"_blank"},bf={class:"label-item"},gf={class:"label-item_key"},hf={class:"label-item_value"},_f={value:"ipv4"},xf={value:"ipv6"},wf={class:"label_tips"},kf=rf(()=>t("svg",{width:"14px",height:"14px",viewBox:"0 0 14 14",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_alert",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"14",height:"14"}),t("path",{d:"M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])])],-1)),yf={class:"info"},Ff={class:"label-item"},Ef={class:"label-item_key"},$f={class:"label-item_value"},Cf={class:"label-item"},Df={class:"label-item_key"},Bf={class:"label-item_value"},Yf=["placeholder"],Af={class:"label-item"},Sf={class:"label-item_key"},zf={class:"label-item_value"},Pf=["placeholder"],Tf={class:"actioner-container_footer"},If=["disabled"],Lf=G({props:{name:{type:String,default:"ali"},onSetup:{type:Function,required:!0},target:{type:String,required:!0}},emits:["update:target"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$("ipv4"),c=$(a.name),x=$(""),h=$(""),f=$(""),v=$(!1),b=()=>{a.onSetup("index")},_=()=>{v.value=!0;const p=E.Loading(d("\u68C0\u6D4B\u4E2D..."));M.Network.CheckPublickNet.POST({ipVersion:r.value}).then(m=>{var g,F;if(m!=null&&m.data){if((g=m==null?void 0:m.data)!=null&&g.error){E.Warning(m==null?void 0:m.data.error);return}if((((F=m==null?void 0:m.data)==null?void 0:F.success)||0)==0){const Y=m.data.result;Y&&Y.address?w():y();return}}throw d("\u672A\u77E5\u9519\u8BEF")}).catch(m=>{E.Error(m)}).finally(()=>{p.Close(),v.value=!1})},y=()=>{Be({title:d("\u6E29\u99A8\u63D0\u793A"),nextTitle:d("\u4F7F\u7528DDNSTO"),continuerTitle:d("\u7EE7\u7EED\u4FDD\u5B58"),content:d("\u68C0\u6D4B\u5230\u60A8\u7684wan\u53E3\u6CA1\u6709\u516C\u7F51IP\u6216\u8005IPv6\u5730\u5740\uFF0C\u53EF\u4EE5\u4F7F\u7528DDNSTO\u914D\u7F6E\u8FDC\u7A0B\u57DF\u540D\u8BBF\u95EE"),next(){k()},continuer(){w()},clear(){}})},k=()=>{a.onSetup("ddnsto")},w=()=>{v.value=!0;const p=E.Loading(d("\u914D\u7F6E\u4E2D..."));M.Guide.PostDdns.POST({ipVersion:r.value,serviceName:c.value,domain:x.value,userName:h.value,password:f.value}).then(m=>{if(m!=null&&m.data){const{error:g,scope:F,success:Y}=m.data;if(g=="-100"&&F=="guide.ddns"){Be({title:d("\u6E29\u99A8\u63D0\u793A"),content:d("\u68C0\u6D4B\u5230\u4F60\u6709\u672A\u4FDD\u5B58\u7684\u914D\u7F6E\uFF0C\u53EF\u524D\u5F80\u9875\u9762\u53F3\u4E0A\u89D2\u70B9\u51FB\u67E5\u770B\uFF0C\u4FDD\u5B58\u5E76\u5E94\u7528\u6216\u8005\u6062\u590D\u914D\u7F6E\u540E\u7EE7\u7EED"),next(){}});return}if(g){E.Warning(g);return}if((Y||0)==0){i("update:target",x.value),a.onSetup("ddns-success");return}}throw d("\u672A\u77E5\u9519\u8BEF")}).catch(m=>{E.Error(m)}).finally(()=>{p.Close(),v.value=!1})};return(p,m)=>(s(),l("div",sf,[t("form",{class:"actioner-dns",onSubmit:ft(_,["prevent"])},[t("div",lf,[t("span",null,o(e(d)("\u57DF\u540D\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",{class:ct(["actioner-container_body",n.name])},[n.name=="ali"?(s(),l("div",uf,[t("p",null,o(e(d)("\u963F\u91CC\u4E91")),1),t("span",null,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1),t("a",cf,o(e(d)("\u67E5\u770B\u6559\u7A0B"))+">>",1)])):n.name=="dnspod"?(s(),l("div",pf,[t("p",null,o(e(d)("dnspod")),1),t("span",null,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1),t("a",ff,o(e(d)("\u67E5\u770B\u6559\u7A0B"))+">>",1)])):n.name=="oray"?(s(),l("div",mf,[t("p",null,o(e(d)("\u82B1\u751F\u58F3")),1),t("span",null,o(e(d)("\u4E3A\u62E5\u6709\u52A8\u6001IP\u7684\u4E3B\u673A\u914D\u7F6E\u4E00\u4E2A\u56FA\u5B9A\u7684\u53EF\u8BBF\u95EE\u57DF\u540D")),1),t("a",vf,o(e(d)("\u67E5\u770B\u6559\u7A0B"))+">>",1)])):D("",!0),t("div",bf,[t("div",gf,[t("span",null,o(e(d)("IP\u5730\u5740\u7248\u672C\uFF1A")),1)]),t("div",hf,[T(t("select",{name:"",id:"","onUpdate:modelValue":m[0]||(m[0]=g=>r.value=g)},[t("option",_f,o(e(d)("IPv4\u5730\u5740")),1),t("option",xf,o(e(d)("IPv6\u5730\u5740")),1)],512),[[rt,r.value]])]),t("div",wf,[kf,t("span",yf,o(e(d)("\u8BBE\u5B9A\u54EA\u4E00\u4E2A IP \u5730\u5740\uFF08IPv4 \u6216 IPv6\uFF09\u4F1A\u88AB\u53D1\u9001\u7ED9 DDNS \u63D0\u4F9B\u5546")),1)])]),t("div",Ff,[t("div",Ef,[t("span",null,o(e(d)("\u57DF\u540D\uFF1A")),1)]),t("div",$f,[T(t("input",{type:"text",placeholder:"myhost.example.com","onUpdate:modelValue":m[1]||(m[1]=g=>x.value=g),required:""},null,512),[[tt,x.value,void 0,{trim:!0}]])])]),t("div",Cf,[t("div",Df,[t("span",null,o(e(d)("\u7528\u6237\u540D\uFF1A")),1)]),t("div",Bf,[T(t("input",{type:"text","onUpdate:modelValue":m[2]||(m[2]=g=>h.value=g),placeholder:e(d)("\u8BF7\u8F93\u5165\u7528\u6237\u540D"),required:""},null,8,Yf),[[tt,h.value,void 0,{trim:!0}]])])]),t("div",Af,[t("div",Sf,[t("span",null,o(e(d)("\u5BC6\u7801\uFF1A")),1)]),t("div",zf,[T(t("input",{type:"password","onUpdate:modelValue":m[3]||(m[3]=g=>f.value=g),placeholder:e(d)("\u8BF7\u8F93\u5165\u5BC6\u7801"),required:""},null,8,Pf),[[tt,f.value,void 0,{trim:!0}]])])])],2),t("div",Tf,[t("div",{class:"close",onClick:b,type:"button"},o(e(d)("\u8FD4\u56DE")),1),t("button",{class:"next save",type:"submit",disabled:v.value},o(e(d)("\u4FDD\u5B58")),9,If)])],40,df)]))}});var Ge=N(Lf,[["__scopeId","data-v-2c659599"]]);const Mf={class:"action-main"},Nf=G({props:{Close:{type:Function,required:!0},url:{type:String,required:!0}},setup(n){const i=n,a=$(""),d=$("index"),u=h=>{if(h!=null){if(h=="ddnsto"){r();return}d.value=h}else c()},r=()=>{c(),Q4({url:i.url})},c=()=>{i.Close&&i.Close()},x=$("ddnsto");return(h,f)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[t("div",Mf,[d.value=="index"?(s(),H(t4,{key:0,onSetup:u,active:x.value,"onUpdate:active":f[0]||(f[0]=v=>x.value=v)},null,8,["active"])):d.value=="ddns-ali"?(s(),H(Ge,{key:1,onSetup:u,target:a.value,"onUpdate:target":f[1]||(f[1]=v=>a.value=v),name:"ali"},null,8,["target"])):d.value=="ddns-dnspod"?(s(),H(Ge,{key:2,onSetup:u,target:a.value,"onUpdate:target":f[2]||(f[2]=v=>a.value=v),name:"dnspod"},null,8,["target"])):d.value=="ddns-oray"?(s(),H(Ge,{key:3,onSetup:u,target:a.value,"onUpdate:target":f[3]||(f[3]=v=>a.value=v),name:"oray"},null,8,["target"])):d.value=="ddns-success"?(s(),H(p4,{key:4,onSetup:u,target:a.value},null,8,["target"])):D("",!0)])]),_:1},8,["Close"]))}});var Of=N(Nf,[["__scopeId","data-v-8a1e6470"]]);const Ma=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Of,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},ge=n=>(st("data-v-c59010b0"),n=n(),dt(),n),Vf={class:"app-container"},Gf={class:"app-container_title"},jf={class:"app-container_tool"},qf={class:"app-container_domain"},Uf={class:"domain-item"},Rf=ge(()=>t("div",{class:"domain-item_name"},[t("span",null,"DDNSTO: ")],-1)),Wf={class:"domain-item_value"},Hf=["href","title"],Zf={key:1,class:"configure"},Jf={class:"item_btn",href:"https://www.kooldns.cn/app/#/devices",target:"_blank"},Kf={key:0,class:"domain-item"},Qf=ge(()=>t("div",{class:"domain-item_name"},[t("span",null,"myddns_ipv4: ")],-1)),Xf={class:"domain-item_value"},t7={key:0},e7=["href"],a7={key:2,href:"/cgi-bin/luci/admin/services/ddns"},o7=ge(()=>t("svg",{t:"1653625385794",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4476",width:"28",height:"28"},[t("path",{d:"M145.83060282785186 873.7309800675556h650.2280809434073c24.411293468444445 0 44.384169832296294-19.97287636385185 44.38416861866666-44.384169832296294V500.90395784533337c0-13.315251313777777-8.876834209185184-22.19208430933333-22.19208430933333-22.19208430933333s-22.19208430933333 8.876834209185184-22.19208430933333 22.19208430933333v326.22364444444446H145.83060282785186V179.1187305054815h616.9399532657777c13.315251313777777 0 22.19208430933333-8.876834209185184 22.19208552296296-22.19208552296296s-8.876834209185184-22.19208430933333-22.19208552296296-22.19208430933333H145.83060282785186c-24.411293468444445 0-44.384169832296294 19.97287636385185-44.38416861866666 44.384169832296294v650.2280797297777c0 24.411293468444445 19.97287636385185 44.384169832296294 44.38416861866666 44.384169832296294z",fill:"#666","p-id":"4477"}),t("path",{d:"M887.0462301677038 203.53002276029633l-488.225862087111 488.2258633007407c-8.876834209185184 8.876834209185184-8.876834209185184 22.19208430933333 0 31.06891851851852 4.438417104592592 4.438417104592592 11.096042154666666 6.657625050074073 15.53445925925926 6.657625050074073s11.096042154666666-2.2192079454814815 15.53445925925926-6.657625050074073l490.4450712462222-490.4450712462222c8.876834209185184-8.876834209185184 8.876834209185184-22.19208430933333 0-31.06891851851852s-24.411293468444445-6.657625050074073-33.288127677629625 2.2192079454814815z",fill:"#666","p-id":"4478"})],-1)),n7=[o7],i7={key:1,class:"domain-item"},r7=ge(()=>t("div",{class:"domain-item_name"},[t("span",null,"myddns_ipv6: ")],-1)),s7={class:"domain-item_value"},d7={key:0},l7=["href"],u7={key:2,href:"/cgi-bin/luci/admin/services/ddns"},c7=ge(()=>t("svg",{t:"1653625385794",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4476",width:"28",height:"28"},[t("path",{d:"M145.83060282785186 873.7309800675556h650.2280809434073c24.411293468444445 0 44.384169832296294-19.97287636385185 44.38416861866666-44.384169832296294V500.90395784533337c0-13.315251313777777-8.876834209185184-22.19208430933333-22.19208430933333-22.19208430933333s-22.19208430933333 8.876834209185184-22.19208430933333 22.19208430933333v326.22364444444446H145.83060282785186V179.1187305054815h616.9399532657777c13.315251313777777 0 22.19208430933333-8.876834209185184 22.19208552296296-22.19208552296296s-8.876834209185184-22.19208430933333-22.19208552296296-22.19208430933333H145.83060282785186c-24.411293468444445 0-44.384169832296294 19.97287636385185-44.38416861866666 44.384169832296294v650.2280797297777c0 24.411293468444445 19.97287636385185 44.384169832296294 44.38416861866666 44.384169832296294z",fill:"#666","p-id":"4477"}),t("path",{d:"M887.0462301677038 203.53002276029633l-488.225862087111 488.2258633007407c-8.876834209185184 8.876834209185184-8.876834209185184 22.19208430933333 0 31.06891851851852 4.438417104592592 4.438417104592592 11.096042154666666 6.657625050074073 15.53445925925926 6.657625050074073s11.096042154666666-2.2192079454814815 15.53445925925926-6.657625050074073l490.4450712462222-490.4450712462222c8.876834209185184-8.876834209185184 8.876834209185184-22.19208430933333 0-31.06891851851852s-24.411293468444445-6.657625050074073-33.288127677629625 2.2192079454814815z",fill:"#666","p-id":"4478"})],-1)),p7=[c7],f7=G({setup(n){const{$gettext:i,$ngettext:a}=W();let d=!1,u;const r=$({}),c=function(){!d||(document.hidden?Promise.resolve():M.Guide.GetDdns.GET().then(v=>{var b;v!=null&&v.data&&(((b=v==null?void 0:v.data)==null?void 0:b.success)||0)==0&&v.data.result&&(r.value=v.data.result)})).then(()=>{!d||(u=window.setTimeout(c,3e3))})};At(()=>{d=!0,u=window.setTimeout(c,1100)}),Ot(()=>{u!==void 0&&window.clearTimeout(u),d=!1});const x=()=>{Ma({url:r.value.ddnstoDomain})},h=X(()=>{const v=r.value.ipv4Domain;return!v||v=="Stopped"||v=="Disabled"?v:`http://${v}`}),f=X(()=>{const v=r.value.ipv6Domain;return!v||v=="Stopped"||v=="Disabled"?v:`http://${v}`});return(v,b)=>{var y,k,w,p;const _=pt("GlHelp");return s(),l("div",Vf,[t("div",Gf,[t("span",null,[t("span",null,o(e(i)("\u8FDC\u7A0B\u57DF\u540D")),1),z(_,{type:"ddns"})]),t("div",jf,[t("div",{class:"app-container_configure",onClick:x},o(e(i)("\u5FEB\u901F\u914D\u7F6E")),1)])]),t("ul",qf,[t("li",Uf,[Rf,t("div",Wf,[(y=r.value)!=null&&y.ddnstoDomain?(s(),l("a",{key:0,class:"configure",href:(k=r.value)==null?void 0:k.ddnstoDomain,target:"_blank",rel:"noopener noreferrer",title:(w=r.value)==null?void 0:w.ddnstoDomain},o((p=r.value)==null?void 0:p.ddnstoDomain),9,Hf)):(s(),l("span",Zf,o(e(i)("\u672A\u5B89\u88C5\u6216\u672A\u914D\u7F6E")),1)),t("a",Jf,o(e(i)("\u63A7\u5236\u53F0")),1)])]),e(h)?(s(),l("li",Kf,[Qf,t("div",Xf,[e(h)=="Stopped"||e(h)=="Disabled"?(s(),l("span",t7,o(e(h)),1)):(s(),l("a",{key:1,class:"configure",href:e(h),target:"_blank",rel:"noopener noreferrer"},o(e(h)),9,e7)),e(h)?(s(),l("a",a7,n7)):D("",!0)])])):D("",!0),e(f)?(s(),l("li",i7,[r7,t("div",s7,[e(f)=="Stopped"||e(f)=="Disabled"?(s(),l("span",d7,o(e(f)),1)):(s(),l("a",{key:1,class:"configure",href:e(f),target:"_blank",rel:"noopener noreferrer"},o(e(f)),9,l7)),e(f)?(s(),l("a",u7,p7)):D("",!0)])])):D("",!0)])])}}});var m7=N(f7,[["__scopeId","data-v-c59010b0"]]);const v7={class:"nas-container"},b7={class:"nas-container_card"},g7={class:"nas-container_card"},h7={key:0,class:"nas-container_card"},_7={class:"nas-container_card"},x7={class:"nas-container_card"},w7=G({setup(n){return(i,a)=>(s(),l("div",v7,[t("div",b7,[z(Nc)]),t("div",g7,[z(z5)]),e(Kt)("dockerd")?(s(),l("div",h7,[z(ap)])):D("",!0),t("div",_7,[z(O8)]),t("div",x7,[z(m7)])]))}});var k7=N(w7,[["__scopeId","data-v-a221efb4"]]);const y7={class:"app-container"},F7={class:"app-container_title"},E7=["title"],$7={class:"DeviceBlock"},C7={href:"/cgi-bin/luci/admin/system/flash"},D7={href:"/cgi-bin/luci/admin/store/pages/maintance"},B7={class:"item-label"},Y7={class:"item-label_key"},A7={class:"item-label_value"},S7={class:"item-label"},z7={class:"item-label_key"},P7={class:"item-label_value"},T7={class:"item-label"},I7={class:"item-label_key"},L7={class:"item-label_value"},M7={class:"item-label"},N7={class:"item-label_key"},O7={class:"item-label_value"},V7={class:"item-label"},G7={class:"item-label_key"},j7={class:"item-label_value"},q7={class:"item-label"},U7={class:"item-label_key"},R7={class:"item-label_value"},W7={class:"item-label"},H7={class:"item-label_key"},Z7={class:"item-label_value"},J7={class:"item-label"},K7={class:"item-label_key"},Q7={class:"item-label_value"},X7=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=We(),u=X(()=>d.version),r=X(()=>d.systemStatus),c=$(!1),x=X(()=>{var y;return((y=r.value)==null?void 0:y.cpuUsage)||0}),h=X(()=>{var y;return((y=r.value)==null?void 0:y.cpuTemperature)||0}),f=X(()=>{var k;const y=((k=r.value)==null?void 0:k.memAvailablePercentage)||100;return 100-y}),v=It.stampForm;At(()=>{});const b=()=>{c.value=!c.value},_=()=>{b(),Et.installAndGo("app-meta-netdata","NetData","/cgi-bin/luci/admin/status/netdata")};return(y,k)=>{var p,m,g,F,Y;const w=pt("progress-item");return s(),l("div",y7,[t("div",F7,[t("span",null,o(e(i)("\u7CFB\u7EDF\u4FE1\u606F")),1),t("span",{class:"more_icon",title:e(i)("\u67E5\u770B\u7CFB\u7EDF\u4FE1\u606F")},[z(Gt,{onClick:b})],8,E7),T(t("div",$7,[t("div",{class:"menu_background",onClick:b}),t("ul",null,[t("li",null,[t("a",{onClick:_},o(e(i)("\u7CFB\u7EDF\u76D1\u63A7")),1)]),t("li",null,[t("a",C7,o(e(i)("\u5907\u4EFD\u5347\u7EA7")),1)]),t("li",null,[t("a",D7,o(e(i)("\u63D2\u4EF6\u5907\u4EFD")),1)])])],512),[[Yt,c.value]])]),t("div",B7,[t("div",Y7,[t("span",null,o(e(i)("CPU\u6E29\u5EA6")),1)]),t("div",A7,[z(w,{value:e(h)/1.5,text:`${e(h)}\u2103`},null,8,["value","text"])])]),t("div",S7,[t("div",z7,[t("span",null,o(e(i)("CPU\u4F7F\u7528\u7387")),1)]),t("div",P7,[z(w,{value:e(x),text:`${e(x)}%`},null,8,["value","text"])])]),t("div",T7,[t("div",I7,[t("span",null,o(e(i)("\u5185\u5B58\u4F7F\u7528\u7387")),1)]),t("div",L7,[z(w,{value:e(f),text:`${e(f)}%`},null,8,["value","text"])])]),t("div",M7,[t("div",N7,[t("span",null,o(e(i)("\u8BBE\u5907\u578B\u53F7")),1)]),t("div",O7,[t("span",null,o((p=e(u))==null?void 0:p.model),1)])]),t("div",V7,[t("div",G7,[t("span",null,o(e(i)("\u56FA\u4EF6\u7248\u672C")),1)]),t("div",j7,[t("span",null,o((m=e(u))==null?void 0:m.firmwareVersion),1)])]),t("div",q7,[t("div",U7,[t("span",null,o(e(i)("\u5185\u6838\u7248\u672C")),1)]),t("div",R7,[t("span",null,o((g=e(u))==null?void 0:g.kernelVersion),1)])]),t("div",W7,[t("div",H7,[t("span",null,o(e(i)("\u5DF2\u542F\u52A8")),1)]),t("div",Z7,[t("span",null,o(e(v)((F=e(r))==null?void 0:F.uptime)),1)])]),t("div",J7,[t("div",K7,[t("span",null,o(e(i)("\u7CFB\u7EDF\u65F6\u95F4")),1)]),t("div",Q7,[t("span",null,o((Y=e(r))==null?void 0:Y.localtime),1)])])])}}});var tm=N(X7,[["__scopeId","data-v-2baf3f98"]]);const Na=/\d+\.\d+\.\d+\.\d+/,em=n=>Na.test(n)&&ve.IPv4.isValid(n),Ut=n=>{const i=ve.IPv4.parse(n).toByteArray();return i[0]<<24|i[1]<<16|i[2]<<8|i[3]},la=n=>ve.fromByteArray([n>>24&255,n>>16&255,n>>8&255,n&255]).toString(),am=n=>{if(!Na.test(n)||!ve.IPv4.isIPv4(n))return!1;let i=0,a=Ut(n);for(let d=31;d>=0&&(a&1<{let u=Ut(n)&Ut(i),r=Ut(a),c=Ut(d),h=~Ut(i);return ru+1&&c{let a=Ut(i),d=Ut(n)&a,u=~a,r;return u>=105?(r=d|u-5,d=d|100):u>=3?(r=d|u-1,d=d|2):(d=d|1,r=d),[la(d),la(r)]},im=n=>ve.IPv4.subnetMaskFromPrefixLength(n).toString();var Nt={isValidMask:am,isValidIPv4:em,isValidMaskRange:om,calcMaskRange:nm,prefixToMask:im};const Qe=n=>(st("data-v-0d919a1e"),n=n(),dt(),n),rm=["onSubmit"],sm={class:"actioner-dns_header"},dm={class:"actioner-dns_body"},lm={class:"label-item"},um={class:"label-item_key"},cm={class:"label-item_value"},pm={class:"label-item"},fm={class:"label-item_key"},mm={class:"label-item_value"},vm={key:0,class:"chose_dhcp"},bm={key:0,class:"dhcp_info"},gm={key:1,class:"dhcp_info"},hm={class:"label-item"},_m={class:"label-item_key"},xm={class:"label-item_value"},wm={class:"label-item"},km={class:"label-item_key"},ym={class:"label-item_value"},Fm={class:"actioner-dns_footer"},Em=["disabled"],$m={key:1,class:"actioner-dns"},Cm={class:"actioner-dns_header"},Dm={class:"actioner-dns_body"},Bm={key:0,class:"setting_status"},Ym=Qe(()=>t("div",{class:"success_icon"},[t("svg",{t:"1642063181211",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5062",width:"128",height:"128"},[t("path",{d:"M512 85.333333c235.648 0 426.666667 191.018667 426.666667 426.666667s-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512 276.352 85.333333 512 85.333333z m-74.965333 550.4L346.453333 545.152a42.666667 42.666667 0 1 0-60.330666 60.330667l120.704 120.704a42.666667 42.666667 0 0 0 60.330666 0l301.653334-301.696a42.666667 42.666667 0 1 0-60.288-60.330667l-271.530667 271.488z",fill:"#52C41A","p-id":"5063"})])],-1)),Am={class:"config-message"},Sm=["href"],zm={key:1,class:"setting_status"},Pm=Qe(()=>t("div",{class:"success_icon"},[t("svg",{t:"1642063200324",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5898",width:"128",height:"128"},[t("path",{d:"M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z",fill:"#E84335","p-id":"5899"})])],-1)),Tm={class:"config-message"},Im={key:2,class:"setting_status"},Lm=Qe(()=>t("div",{class:"success_icon"},[t("svg",{width:"128px",height:"128px",viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t("g",{id:"icon_yellow",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t("g",{id:"Icon/Warning"},[t("rect",{id:"\u77E9\u5F62",fill:"#000000","fill-rule":"nonzero",opacity:"0",x:"0",y:"0",width:"128",height:"128"}),t("path",{d:"M64,8 C33.075,8 8,33.075 8,64 C8,94.925 33.075,120 64,120 C94.925,120 120,94.925 120,64 C120,33.075 94.925,8 64,8 Z M60,37 C60,36.45 60.45,36 61,36 L67,36 C67.55,36 68,36.45 68,37 L68,71 C68,71.55 67.55,72 67,72 L61,72 C60.45,72 60,71.55 60,71 L60,37 Z M64,92 C60.6875,92 58,89.3125 58,86 C58,82.6875 60.6875,80 64,80 C67.3125,80 70,82.6875 70,86 C70,89.3125 67.3125,92 64,92 Z",id:"\u5F62\u72B6",fill:"#FAAD14"})])])])],-1)),Mm={class:"config-message"},Nm=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=$({lanIp:"",netMask:"255.255.255.0",enableDhcp:!1,dhcpStart:"",dhcpEnd:""});$("");const c=$(!1);$(!0),$(!1);const x=$(""),h=$(2),f=$(!1),v=$("timeout");let b=!0;(()=>{M.Guide.GetLan.GET().then(m=>{m.data.result&&(f.value=m.data.result.enableDhcp||!1,m.data.result.enableDhcp=!1,r.value=m.data.result,m.data.result.lanIp!==location.hostname&&(b=!1))})})();const y=()=>{const m=r.value;if(!Nt.isValidIPv4(m.lanIp)){E.Warning(a("IPv4\u5730\u5740\u683C\u5F0F\u9519\u8BEF"));return}if(!Nt.isValidMask(m.netMask)){E.Warning(a("IPv4\u5B50\u7F51\u63A9\u7801\u683C\u5F0F\u9519\u8BEF"));return}const g=Nt.calcMaskRange(m.lanIp,m.netMask);m.dhcpStart=g[0],m.dhcpEnd=g[1],r.value=m},k=()=>{const m=r.value;if(!Nt.isValidIPv4(m.lanIp)){E.Warning(a("IPv4\u5730\u5740\u683C\u5F0F\u9519\u8BEF"));return}if(!Nt.isValidMask(m.netMask)){E.Warning(a("IPv4\u5B50\u7F51\u63A9\u7801\u683C\u5F0F\u9519\u8BEF"));return}if(m.enableDhcp&&!(Nt.isValidIPv4(m.dhcpStart)&&Nt.isValidIPv4(m.dhcpEnd)&&Nt.isValidMaskRange(m.lanIp,m.netMask,m.dhcpStart,m.dhcpEnd))){E.Warning(a("DHCP\u7684IP\u6C60\u683C\u5F0F\u9519\u8BEF\u6216\u8D85\u51FA\u5B50\u7F51\u8303\u56F4"));return}const g=E.Loading(a("\u6B63\u5728\u914D\u7F6E\u2026\u8BF7\u7A0D\u7B49"),30);let F=0;const Y=C=>{v.value=C,u.value=1,F=1,g.Close()},A=()=>{const C=new Date().getTime()+3e4,B=b?location.protocol+"//"+m.lanIp+(location.port?":"+location.port:""):location.origin,I=B+"/luci-static/resources/icons/loading.gif",et=()=>{F==0&&(new Date().getTime()>C?Y("timeout"):window.setTimeout(P,2e3))},S=()=>{F==0&&(x.value=B+location.pathname,Y("success"),window.setTimeout(()=>{h.value=1},1e3),window.setTimeout(()=>{location.href=x.value},2e3))},P=()=>{if(F!=0)return;console.log("check online ",I);const V=new Image;V.onload=S,V.onerror=et,V.src=I};window.setTimeout(P,5e3)};M.Guide.LanIp.POST(m).then(C=>{var B;if(C!=null&&C.data){if((C.data.success||0)==0)return;if((B=C.data)!=null&&B.error)throw C.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).catch(C=>{F==0&&(Y("fail"),E.Error(C))}),A(),window.setTimeout(()=>{F==0&&Y("timeout")},3e4)},w=m=>{m.preventDefault(),i.Close&&i.Close()},p=m=>{location.reload()};return(m,g)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0?(s(),l("form",{key:0,class:"actioner-dns",onSubmit:ft(k,["prevent"])},[t("div",sm,[t("span",null,o(e(a)("\u5185\u7F51\u914D\u7F6E")),1)]),t("div",dm,[t("div",lm,[t("div",um,[t("span",null,o(e(a)("IPv4\u5730\u5740")),1)]),t("div",cm,[T(t("input",{type:"text",placeholder:"192.168.100.1",required:"","onUpdate:modelValue":g[0]||(g[0]=F=>r.value.lanIp=F),onChange:y},null,544),[[tt,r.value.lanIp,void 0,{trim:!0}]])])]),t("div",pm,[t("div",fm,[t("span",null,o(e(a)("IPv4\u5B50\u7F51\u63A9\u7801")),1)]),t("div",mm,[T(t("input",{type:"text",placeholder:"255.255.255.0",required:"","onUpdate:modelValue":g[1]||(g[1]=F=>r.value.netMask=F),onChange:y},null,544),[[tt,r.value.netMask,void 0,{trim:!0}]])])]),f.value?(s(),l("div",vm,[z(Da,{modelValue:r.value.enableDhcp,"onUpdate:modelValue":g[2]||(g[2]=F=>r.value.enableDhcp=F)},{default:R(()=>[r.value.enableDhcp?(s(),l("span",bm,o(e(a)("\u4FEE\u6539DHCP\u670D\u52A1")),1)):(s(),l("span",gm,o(e(a)("\u4FDD\u6301DHCP\u670D\u52A1\u8BBE\u7F6E")),1))]),_:1},8,["modelValue"])])):D("",!0),r.value.enableDhcp?(s(),l(O,{key:1},[t("div",hm,[t("div",_m,[t("span",null,o(e(a)("IP\u6C60\u8D77\u59CB\u5730\u5740")),1)]),t("div",xm,[T(t("input",{type:"text",placeholder:"192.168.100.100",required:"","onUpdate:modelValue":g[3]||(g[3]=F=>r.value.dhcpStart=F)},null,512),[[tt,r.value.dhcpStart,void 0,{trim:!0}]])])]),t("div",wm,[t("div",km,[t("span",null,o(e(a)("IP\u6C60\u7ED3\u675F\u5730\u5740")),1)]),t("div",ym,[T(t("input",{type:"text",placeholder:"192.168.100.100",required:"","onUpdate:modelValue":g[4]||(g[4]=F=>r.value.dhcpEnd=F)},null,512),[[tt,r.value.dhcpEnd,void 0,{trim:!0}]])])])],64)):D("",!0)]),t("div",Fm,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:c.value},o(e(a)("\u786E\u8BA4")),9,Em),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:w},o(e(a)("\u53D6\u6D88")),1)])],40,rm)):u.value==1?(s(),l("div",$m,[t("div",Cm,[t("span",null,o(e(a)("\u66F4\u6362\u914D\u7F6E")),1)]),t("div",Dm,[v.value=="success"?(s(),l("div",Bm,[Ym,t("div",Am,o(e(a)("\u914D\u7F6E\u6210\u529F")),1),t("a",{href:x.value,class:"NewAdress"},o(e(a)("%{ countdown }s\u540E \u8DF3\u8F6C\u65B0\u5730\u5740",{countdown:""+h.value})),9,Sm)])):v.value=="fail"?(s(),l("div",zm,[Pm,t("div",Tm,o(e(a)("\u914D\u7F6E\u5931\u8D25")),1),t("p",null,o(e(a)("\u8BF7\u5C1D\u8BD5\u91CD\u65B0\u914D\u7F6E")),1),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:p},o(e(a)("\u6211\u77E5\u9053\u4E86")),1)])):v.value=="timeout"?(s(),l("div",Im,[Lm,t("div",Mm,o(e(a)("\u914D\u7F6E\u8D85\u65F6")),1),t("p",null,o(e(a)("\u8DEF\u7531\u5668 IP \u53EF\u80FD\u5DF2\u7ECF\u4FEE\u6539\u6210\u529F\u3002\u82E5\u5237\u65B0\u9875\u9762\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u8FDE\u63A5\u8DEF\u7531\u5668\uFF0C\u5426\u5219\u8BF7\u5C1D\u8BD5\u91CD\u65B0\u914D\u7F6E\u3002")),1),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:p},o(e(a)("\u5237\u65B0\u9875\u9762")),1)])):D("",!0)])])):D("",!0)]),_:1},8,["Close"]))}});var Om=N(Nm,[["__scopeId","data-v-0d919a1e"]]);const Vm=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Om,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Gm={key:0,class:"actioner-dns"},jm={class:"actioner-dns_header"},qm={class:"actioner-dns_body"},Um={class:"sandbox_info"},Rm={key:0,class:"disk_loading_icon"},Wm={class:"disk_loading_info"},Hm={key:1,class:"disk_tips"},Zm={class:"label-item"},Jm={class:"label-item_key"},Km={class:"label-item_value"},Qm={value:""},Xm=["value"],tv={class:"label-item"},ev={class:"label-item_key"},av={class:"label-item_value"},ov={selected:"true",value:""},nv=["value","disabled"],iv={class:"sandbox_tips"},rv={class:"sandbox_info timeout"},sv={class:"sandbox_roboot_tips"},dv={class:"sandbox_roboot_refresh"},lv={key:0,class:"actioner-dns_footer"},uv=["disabled"],cv={key:1,class:"actioner-tips"},pv={class:"actioner-tips_header"},fv={class:"actioner-tips_body"},mv={class:"sandbox_info"},vv={class:"actioner-tips_footer"},bv={key:2,class:"actioner-tips"},gv={class:"actioner-tips_header"},hv={class:"actioner-tips_body"},_v={class:"sandbox_info"},xv={class:"actioner-tips_footer"},wv=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0);$("disk");const r=$(""),c=$(3),x=$(""),h=$([]),f=$(""),v=$(null);(()=>{M.Nas.SandboxDisks.GET().then(F=>{var Y;if(F!=null&&F.data&&(Y=F.data)!=null&&Y.result){v.value=F.data.result;return}throw a("\u52A0\u8F7D\u78C1\u76D8\u4FE1\u606F\u5931\u8D25")}).catch(F=>{r.value=F,u.value=3})})();const _=()=>M.System.Reboot.POST({name:x.value,path:f.value}).then(F=>{var Y;if(!(F!=null&&F.data&&(((Y=F==null?void 0:F.data)==null?void 0:Y.success)||0)==0))throw a("\u672A\u77E5\u9519\u8BEF")}),y=F=>{var Y,A;f.value="",h.value=x.value&&((A=(Y=v.value)==null?void 0:Y.disks.find(C=>C.path==x.value))==null?void 0:A.childrens)||[]},k=()=>{c.value>0&&(c.value-=1,window.setTimeout(k,1e3))},w=F=>{F.preventDefault(),i.Close&&i.Close()},p=()=>{new Promise((F,Y)=>{const A="/luci-static/resources/icons/loading.gif",C=()=>{window.setTimeout(B,2e3)},B=()=>{const I=new Image;I.onload=F,I.onerror=C,I.src=A};window.setTimeout(B,1e4)}).then(()=>{window.setTimeout(()=>{location.reload()},2e3)})},m=F=>{const Y=E.Loading(a("\u914D\u7F6E\u6C99\u7BB1\u91CD\u542F\u4E2D..."));M.Nas.Sandbox.POST({path:f.value}).then(A=>{var C;if(A!=null&&A.data){if((A.data.success||0)==0)return u.value=2,window.setTimeout(k,1e3),_();if((C=A.data)!=null&&C.error)throw A.data.error}throw a("\u672A\u77E5\u9519\u8BEF")}).then(p).catch(A=>E.Warning(A)).finally(()=>Y.Close())},g=()=>{u.value=0};return(F,Y)=>{const A=pt("icon-loading");return s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0||u.value==2?(s(),l("div",Gm,[t("div",jm,[t("span",null,o(e(a)("\u6C99\u7BB1\u6A21\u5F0F\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",qm,[t("p",Um,o(e(a)("\u4E00\u4E2A\u7B80\u6613\u6C99\u7BB1\uFF0C\u65B9\u4FBF\u7528\u6765\u5B9E\u9A8C\u7CFB\u7EDF\u914D\u7F6E\u548C\u7A0B\u5E8F\uFF0C\u65B9\u4FBF\u5F00\u53D1\u672A\u5B8C\u6210\u7684\u8F6F\u4EF6\uFF0C\u4F46\u4E0D\u4FDD\u62A4 Docker \u548C\u786C\u76D8\u7684\u6570\u636E")),1),u.value==0?(s(),l(O,{key:0},[v.value?D("",!0):(s(),l("div",Rm,[z(A,{size:38,color:"currentColor"}),t("span",Wm,o(e(a)("\u6B63\u5728\u52A0\u8F7D\u4E2D...")),1)])),v.value&&v.value.disks.length==0?(s(),l("div",Hm,[z(Lt),t("span",null,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u6302\u8F7D\u7684\u78C1\u76D8\u4FE1\u606F\uFF0C\u8BF7\u5148\u63D2\u4E0A\u78C1\u76D8\uFF0C\u5EFA\u8BAE\u4F7F\u7528U\u76D8\u6216\u8005\u79FB\u52A8\u786C\u76D8\uFF0C\u65B9\u4FBF\u88C5\u5378")),1)])):D("",!0),v.value&&v.value.disks.length>0?(s(),l(O,{key:2},[t("div",Zm,[t("div",Jm,[t("span",null,o(e(a)("\u76EE\u6807\u78C1\u76D8\uFF08\u5EFA\u8BAE\u9009\u62E9U\u76D8\u6216\u8005\u79FB\u52A8\u786C\u76D8\uFF0C\u65B9\u4FBF\u88C5\u5378\uFF09")),1)]),t("div",Km,[T(t("select",{name:"",id:"",onChange:y,"onUpdate:modelValue":Y[0]||(Y[0]=C=>x.value=C)},[t("option",Qm,o(e(a)("\u8BF7\u9009\u62E9\u76EE\u6807\u78C1\u76D8")),1),(s(!0),l(O,null,J(v.value.disks,(C,B)=>(s(),l("option",{value:C.path,key:B},o(C.venderModel)+"\uFF08"+o(C.size)+"\uFF09 ",9,Xm))),128))],544),[[rt,x.value]])])]),t("div",tv,[t("div",ev,[t("span",null,o(e(a)("\u76EE\u6807\u5206\u533A\uFF08\u5206\u533A\u5927\u5C0F\u987B\u5927\u4E8E2G\uFF0C\u5C06\u6B64\u5206\u533A\u4F5C\u4E3A\u5916\u90E8 overlay \u4F7F\u7528\uFF09")),1)]),t("div",av,[T(t("select",{name:"",id:"","onUpdate:modelValue":Y[1]||(Y[1]=C=>f.value=C)},[t("option",ov,o(e(a)("\u8BF7\u9009\u62E9\u76EE\u6807\u5206\u533A")),1),(s(!0),l(O,null,J(h.value,(C,B)=>(s(),l("option",{value:C.path,key:B,disabled:C.sizeInt<(1<<30)*1||C.isSystemRoot},o(C.name)+"\uFF08"+o(C.filesystem||e(a)("\u672A\u683C\u5F0F\u5316"))+"\uFF09"+o(C.total),9,nv))),128))],512),[[rt,f.value]])])]),t("div",iv,[z(Lt),t("span",null,o(e(a)("\u6B64\u64CD\u4F5C\u4F1A\u5C06\u4F1A\u5220\u9664\u8BE5\u5206\u533A\u5168\u90E8\u6570\u636E")),1)])],64)):D("",!0)],64)):D("",!0),u.value==2?(s(),l(O,{key:1},[t("p",rv,[nt(o(e(a)("\u5373\u5C06\u91CD\u542F\u8BBE\u5907"))+" ",1),t("span",null,"\uFF08"+o(c.value)+"s\uFF09",1)]),t("p",sv,[nt(o(e(a)("\u7B49\u5F85\u8BBE\u5907\u91CD\u542F\uFF0C\u91CD\u542F\u5B8C\u6210\u540E")),1),t("span",dv,o(e(a)("\u8BF7\u5237\u65B0\u754C\u9762")),1)])],64)):D("",!0)]),u.value==0?(s(),l("div",lv,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:!f.value,onClick:Y[2]||(Y[2]=C=>u.value=1)},o(e(a)("\u5F00\u542F\u6C99\u7BB1")),9,uv),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:w},o(e(a)("\u53D6\u6D88")),1)])):D("",!0)])):D("",!0),u.value==1?(s(),l("div",cv,[t("div",pv,[t("span",null,o(e(a)("\u6E29\u99A8\u63D0\u793A")),1)]),t("div",fv,[t("p",mv,o(e(a)("\u6B64\u64CD\u4F5C\u4F1A\u5C06\u4F1A\u5220\u9664\u8BE5\u5206\u533A\u5168\u90E8\u6570\u636E\uFF0C\u5E76\u683C\u5F0F\u5316\u6210EXT4\uFF0C\u968F\u540E\u81EA\u52A8\u91CD\u542F\u8FDB\u5165\u6C99\u7BB1\u6A21\u5F0F\uFF0C\u662F\u5426\u7EE7\u7EED\uFF1F")),1)]),t("div",vv,[t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:m},o(e(a)("\u7EE7\u7EED")),1),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(a)("\u53D6\u6D88")),1)])])):D("",!0),u.value==3?(s(),l("div",bv,[t("div",gv,[t("span",null,o(e(a)("\u9519\u8BEF")),1)]),t("div",hv,[t("p",_v,o(r.value),1)]),t("div",xv,[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(a)("\u53D6\u6D88")),1)])])):D("",!0)]),_:1},8,["Close"])}}});var kv=N(wv,[["__scopeId","data-v-59ad49e6"]]);const yv=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(kv,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Fv={key:0,class:"actioner-dns"},Ev={class:"actioner-dns_header"},$v={class:"actioner-dns_body"},Cv={class:"sandbox_info"},Dv={class:"sandbox_environment"},Bv={class:"sandbox_environment_info"},Yv={class:"sandbox_environment_reboot"},Av=["innerHTML"],Sv={class:"actioner-dns_footer"},zv=["disabled"],Pv=["disabled"],Tv=["disabled"],Iv=G({props:{Close:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(0),r=$(!1),c=()=>{new Promise((b,_)=>{const y="/luci-static/resources/icons/loading.gif",k=()=>{window.setTimeout(w,2e3)},w=()=>{const p=new Image;p.onload=b,p.onerror=k,p.src=y};window.setTimeout(w,1e4)}).then(()=>{window.setTimeout(()=>{location.reload()},2e3)})},x=()=>{r.value=!0;const b=E.Loading(a("\u63D0\u4EA4\u4E2D..."));M.Nas.SandboxCommit.POST().then(_=>{var y,k;if(_!=null&&_.data)if((((y=_==null?void 0:_.data)==null?void 0:y.success)||0)==0){E.Loading(a("\u8BBE\u5907\u91CD\u542F\u4E2D..."));return}else(k=_==null?void 0:_.data)!=null&&k.error&&alert(_.data.error);throw a("\u672A\u77E5\u9519\u8BEF")}).then(c).catch(_=>{E.Error(_),r.value=!1}).finally(()=>b.Close())},h=()=>{r.value=!0;const b=E.Loading(a("\u91CD\u7F6E\u4E2D..."));M.Nas.SandboxReset.POST().then(_=>{var y,k;if(_!=null&&_.data)if((((y=_==null?void 0:_.data)==null?void 0:y.success)||0)==0){E.Loading(a("\u8BBE\u5907\u91CD\u542F\u4E2D... \u82E5\u9875\u9762\u957F\u65F6\u95F4\u672A\u5237\u65B0\u53EF\u80FD\u9700\u8981\u624B\u52A8\u586B\u5199\u5730\u5740"));return}else(k=_==null?void 0:_.data)!=null&&k.error&&alert(_.data.error);throw a("\u672A\u77E5\u9519\u8BEF")}).then(c).catch(_=>{E.Error(_),r.value=!1}).finally(()=>b.Close())},f=()=>{if(!confirm(a("\u786E\u5B9A\u653E\u5F03\u6C99\u7BB1\u4E2D\u7684\u6570\u636E\uFF1F\u518D\u6B21\u8FDB\u5165\u6C99\u7BB1\u9700\u8981\u91CD\u65B0\u683C\u5F0F\u5316\u76F8\u5E94\u78C1\u76D8\u5206\u533A")))return;r.value=!0;const b=E.Loading(a("\u6267\u884C\u4E2D..."));M.Nas.SandboxExit.POST().then(_=>{var y,k;if(_!=null&&_.data)if((((y=_==null?void 0:_.data)==null?void 0:y.success)||0)==0){E.Loading(a("\u8BBE\u5907\u91CD\u542F\u4E2D... \u82E5\u9875\u9762\u957F\u65F6\u95F4\u672A\u5237\u65B0\u53EF\u80FD\u9700\u8981\u624B\u52A8\u586B\u5199\u5730\u5740"));return}else(k=_==null?void 0:_.data)!=null&&k.error&&alert(_.data.error);throw a("\u672A\u77E5\u9519\u8BEF")}).then(c).catch(_=>{E.Error(_),r.value=!1}).finally(()=>b.Close())},v=b=>{b.preventDefault(),i.Close&&i.Close()};return(b,_)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[u.value==0?(s(),l("div",Fv,[t("div",Ev,[t("span",null,o(e(a)("\u6C99\u7BB1\u6A21\u5F0F\u914D\u7F6E\u5411\u5BFC")),1)]),t("div",$v,[t("p",Cv,o(e(a)("\u4E00\u4E2A\u7B80\u6613\u6C99\u7BB1\uFF0C\u65B9\u4FBF\u7528\u6765\u5B9E\u9A8C\u7CFB\u7EDF\u914D\u7F6E\u548C\u7A0B\u5E8F\uFF0C\u65B9\u4FBF\u5F00\u53D1\u672A\u5B8C\u6210\u7684\u8F6F\u4EF6\uFF0C\u4F46\u4E0D\u4FDD\u62A4 Docker \u548C\u786C\u76D8\u7684\u6570\u636E")),1),t("div",Dv,[t("p",null,o(e(a)("\u5F53\u524D\u5904\u4E8E\u6C99\u7BB1\u73AF\u5883\uFF1A")),1),t("p",null,o(e(a)("1\u3001\u70B9\u51FB\u201C\u63D0\u4EA4\u201D\u53EF\u5C06\u53D8\u66F4\u5408\u5E76\u5230\u975E\u6C99\u7BB1\u73AF\u5883")),1),t("p",null,o(e(a)("2\u3001\u70B9\u51FB\u201C\u91CD\u7F6E\u201D\u53EF\u5C06\u6C99\u7BB1\u6062\u590D\u5230\u521D\u59CB\u72B6\u6001")),1),t("p",null,o(e(a)("3\u3001\u70B9\u51FB\u201C\u9000\u51FA\u201D\u53EF\u9000\u51FA\u6C99\u7BB1\u73AF\u5883\uFF0C\u5E76\u653E\u5F03\u6C99\u7BB1\u4E2D\u7684\u6570\u636E")),1)]),t("div",Bv,[nt(o(e(a)("\u4EE5\u4E0A\u64CD\u4F5C\u90FD\u5C06\u91CD\u542F\u8BBE\u5907\uFF0C\u8BBE\u5907\u91CD\u542F\u5B8C\u6210\u540E\u4F1A\u81EA\u52A8\u5237\u65B0\u9875\u9762\u3002\u5982\u679C IP \u53D8\u5316\u53EF\u80FD\u9700\u8981")),1),t("span",Yv,o(e(a)("\u624B\u52A8\u5728\u5730\u5740\u680F\u8F93\u5165\u5730\u5740")),1),t("p",{class:"sandbox_environment_tex",innerHTML:e(a)("\u5982\u9700\u4E34\u65F6\u9000\u51FA\u6C99\u7BB1\u73AF\u5883\uFF0C\u8BF7\u5C06\u8BBE\u5907\u5173\u673A\u540E\u62D4\u51FA\u76F8\u5173\u78C1\u76D8\uFF0C\u542F\u52A8\u524D\u63D2\u5165\u76F8\u5173\u78C1\u76D8\u53EF\u518D\u6B21\u8FDB\u5165\u6C99\u7BB1\u3002
\u6CE8\u610F\u4E34\u65F6\u9000\u51FA\u6C99\u7BB1\u73AF\u5883\u4EE5\u540E\u5347\u7EA7\u56FA\u4EF6\u4F1A\u5BFC\u81F4\u4E4B\u524D\u7684\u6C99\u7BB1\u6570\u636E\u65E0\u6548",{},!0)},null,8,Av)])]),t("div",Sv,[t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:x,disabled:r.value},o(e(a)("\u63D0\u4EA4")),9,zv),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:h,disabled:r.value},o(e(a)("\u91CD\u7F6E")),9,Pv),t("button",{class:"cbi-button cbi-button-apply app-btn",onClick:f,disabled:r.value},o(e(a)("\u9000\u51FA")),9,Tv),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:v},o(e(a)("\u53D6\u6D88")),1)])])):D("",!0)]),_:1},8,["Close"]))}});var Lv=N(Iv,[["__scopeId","data-v-3e084f0f"]]);const Mv=()=>{const n=document.createElement("div");document.body.appendChild(n);const i=gt(Lv,{Close:()=>{a()}});i.mount(n);const a=()=>{i.unmount(),n.remove()};return{Close:a}},Nv={class:"nav-container"},Ov=["onClick"],Vv={key:1,class:"btn_styles color3 app-update-button-combind"},Gv={class:"app-update-button",onclick:"window.location.href='/cgi-bin/luci/admin/system/ota'"},jv={class:"app-update-button-text"},qv={key:0,style:{display:"inline-block"}},Uv={key:1},Rv=["title"],Wv={class:"app-update-button-menu"},Hv={class:"app-update-menu-item"},Zv={key:0,class:"app-update-menu-item-loading"},Jv=["disabled"],Kv={key:0,style:{display:"inline-block"}},Qv=G({setup(n){var F,Y;const{$gettext:i,$ngettext:a}=W(),d=$(!0);(Y=(F=window.quickstart_configs)==null?void 0:F.update)!=null&&Y.disable&&(d.value=!1);const u=$(!1),r=$(d.value),c=$(!1),x=We(),h=ze(),f=X(()=>h.status);$(!1),$(!0);const v=$(),b=()=>{Aa()};Tt(r,A=>{c.value=!0,M.System.AutoCheckUpdate.POST({enable:A}).catch(C=>{E.Warning(C)}).finally(()=>{c.value=!1})});const _=()=>{yv()},y=()=>{Mv()},k=()=>{alert(i("\u8BE5\u56FA\u4EF6\u4E0D\u652F\u6301\u6C99\u7BB1\u6A21\u5F0F"))},w=()=>{Vm()},p=()=>{Ta()},m=()=>{var A,C,B,I;window.open(`${(C=(A=window.quickstart_configs)==null?void 0:A.ttyd)!=null&&C.ssl?"https":"http"}://${window.location.hostname}:${((I=(B=window.quickstart_configs)==null?void 0:B.ttyd)==null?void 0:I.port)||7681}/`,"_blank")},g=()=>{u.value=!u.value};return d.value&&setTimeout(()=>{x.requestCheckUpdate()},1100),Kt("sandbox")&&M.Nas.GetSandbox.GET().then(C=>{var B,I,et;C!=null&&C.data&&((((B=C==null?void 0:C.data)==null?void 0:B.success)||0)==0?(I=C==null?void 0:C.data)!=null&&I.result&&(v.value=C.data.result):(et=C==null?void 0:C.data)!=null&&et.error&&alert(C.data.error))}).catch(C=>E.Warning(C)),(A,C)=>{var S,P,V,it,Ct,Dt;const B=pt("router-link"),I=pt("icon-loading"),et=pt("switch-box");return s(),l("div",Nv,[z(B,{to:"/network",custom:""},{default:R(({navigate:vt})=>[t("button",{class:"btn_styles color1",onClick:vt},o(e(i)("\u7F51\u7EDC\u5411\u5BFC")),9,Ov)]),_:1}),e(Kt)("ttyd")?(s(),l("button",{key:0,class:"btn_styles color2 app-btn-ttyd",onClick:m},o(e(i)("\u7EC8\u7AEF")),1)):D("",!0),e(Kt)("ota")?(s(),l("button",Vv,[t("div",Gv,[t("div",jv,[nt(o(e(i)("\u56FA\u4EF6\u66F4\u65B0"))+" ",1),d.value&&e(x).checkUpdate==null?(s(),l("span",qv,[z(I,{size:"0.8em",color:"currentColor"})])):D("",!0),(S=e(x).checkUpdate)!=null&&S.needUpdate?(s(),l("i",Uv)):D("",!0)])]),t("span",{class:"app-update-button-more",onClick:g,title:e(i)("\u56FA\u4EF6\u66F4\u65B0\u9009\u9879")},[z(Gt)],8,Rv),T(t("div",Wv,[t("div",{class:"menu_background",onClick:g}),t("ul",null,[t("li",null,[z(et,{modelValue:r.value,"onUpdate:modelValue":C[0]||(C[0]=vt=>r.value=vt)},{default:R(()=>[t("span",Hv,o(e(i)("\u81EA\u52A8\u68C0\u67E5\u66F4\u65B0")),1)]),_:1},8,["modelValue"]),c.value?(s(),l("span",Zv,[z(I,{size:"1em",color:"currentColor"})])):D("",!0)])])],512),[[Yt,u.value]])])):D("",!0),t("button",{class:"btn_styles color4",onClick:w},o(e(i)("\u5185\u7F51\u914D\u7F6E")),1),t("button",{class:"btn_styles color5",onClick:b,disabled:!((P=e(f))!=null&&P.proto)},[nt(o(e(i)("DNS\u914D\u7F6E"))+" ",1),(V=e(f))!=null&&V.proto?D("",!0):(s(),l("span",Kv,[z(I,{size:"0.8em",color:"currentColor"})]))],8,Jv),t("button",{class:"btn_styles color1",onClick:p},o(e(i)("\u8F6F\u4EF6\u6E90\u914D\u7F6E")),1),e(Kt)("sandbox")?(s(),l(O,{key:2},[((it=v.value)==null?void 0:it.status)=="unsupport"?(s(),l("button",{key:0,class:"btn_styles color2",onClick:k},o(e(i)("\u5F00\u542F\u6C99\u7BB1")),1)):((Ct=v.value)==null?void 0:Ct.status)=="stopped"?(s(),l("button",{key:1,class:"btn_styles color3",onClick:_},o(e(i)("\u5F00\u542F\u6C99\u7BB1")),1)):((Dt=v.value)==null?void 0:Dt.status)=="running"?(s(),l("button",{key:2,class:"btn_styles color4",onClick:y},o(e(i)("\u6C99\u7BB1\u5DF2\u5F00\u542F")),1)):D("",!0)],64)):D("",!0)])}}});var Xv=N(Qv,[["__scopeId","data-v-501131da"]]);const tb={},eb={width:"136px",height:"136px",viewBox:"0 0 136 136",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},ab=qt('',2),ob=[ab];function nb(n,i){return s(),l("svg",eb,ob)}var Oa=N(tb,[["render",nb]]);const ib={},rb={width:"136px",height:"136px",viewBox:"0 0 136 136",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},sb=qt('',2),db=[sb];function lb(n,i){return s(),l("svg",rb,db)}var Va=N(ib,[["render",lb]]);const he=n=>(st("data-v-eb96c2c2"),n=n(),dt(),n),ub=["onSubmit"],cb={class:"form-item"},pb={class:"label-name"},fb={class:"label-value switch_label"},mb={class:"label-flex pc-radio"},vb=["disabled"],bb=["disabled"],gb=he(()=>t("div",{class:"switch-button"},null,-1)),hb=[gb],_b={key:0,class:"form-item"},xb={class:"label-name"},wb={class:"label-value"},kb=["disabled"],yb={value:100},Fb={value:70},Eb={value:50},$b={value:30},Cb={key:0,class:"select-arrow"},Db={class:"form-item"},Bb={class:"label-name"},Yb={class:"label-value"},Ab=["disabled","placeholder"],Sb={class:"form-item"},zb={class:"label-name"},Pb={class:"label-value"},Tb=["disabled"],Ib=["value"],Lb={key:0,class:"select-arrow"},Mb={class:"form-item"},Nb={class:"label-name"},Ob={class:"label-value"},Vb=["type","disabled","placeholder"],Gb={key:0,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},jb=he(()=>t("path",{d:"M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z",fill:"currentColor"},null,-1)),qb=[jb],Ub={key:1,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},Rb=he(()=>t("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",fill:"currentColor"},null,-1)),Wb=[Rb],Hb={class:"form-item"},Zb={class:"label-name"},Jb={class:"label-value"},Kb=["disabled"],Qb={value:!1},Xb={value:!0},tg={key:0,class:"select-arrow"},eg={key:1,class:"form-item"},ag={class:"label-name"},og={class:"label-value"},ng=["disabled"],ig=["value"],rg={key:0,class:"select-arrow"},sg={key:2,class:"form-item"},dg={class:"label-name"},lg={class:"label-value"},ug=["disabled"],cg=he(()=>t("option",{value:"20"},"20 MHz",-1)),pg=he(()=>t("option",{value:"40"},"40 MHz",-1)),fg={key:0,value:"auto"},mg={key:1,value:"80"},vg={key:2,value:"160"},bg={key:0,class:"select-arrow"},gg={key:3,class:"form-item"},hg={class:"label-name"},_g={class:"label-value"},xg=["disabled"],wg={value:0},kg=["value"],yg=["disabled"],Fg={value:0},Eg=qt('',12),$g={key:2,class:"select-arrow"},Cg={class:"label-btns"},Dg=["disabled"],Bg={class:"label-btns"},Yg=G({props:{data:null},emits:["getData"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$(Object.assign({},a.data)),c=je("disabled"),x=$(!0),h=()=>{c.value||(r.value.disabled=!r.value.disabled)},f=je("setup",$(1)),v=()=>{f.value=2};Tt(()=>r.value.disabled,w=>{_()});const b=()=>L(this,null,function*(){if(r.value.txpower===a.data.txpower)return;const w=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:p}=yield M.Quickwifi.Power.POST({device:r.value.device||"",txpower:r.value.txpower||0}),{error:m,success:g}=p;if(m)throw m;(g==null||g==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(p){throw E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),p}finally{w.Close()}}),_=()=>L(this,null,function*(){const w=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:p}=yield M.Quickwifi.Switch.POST({ifaceName:r.value.ifaceName||"",enable:!r.value.disabled}),{error:m,success:g}=p;if(m)throw m;(g==null||g==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(p){throw console.error("\u8BF7\u6C42\u51FA\u9519:",p),E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),p}finally{w.Close()}}),y=()=>L(this,null,function*(){const w=ut({},r.value);delete w.encryptSelects,delete w.hwmodeSelects,delete w.disabled,delete w.txpower;const{data:p}=yield M.Quickwifi.Edit.POST(w),{error:m,success:g}=p;if(m)throw m;(g==null||g==0)&&(E.Success("\u914D\u7F6E\u5B8C\u6210"),v())}),k=()=>L(this,null,function*(){if(c.value)return;c.value=!0;const w=E.Loading("\u914D\u7F6E\u4E2D...");try{yield y(),yield i("getData")}catch(p){const m=E.Error(`${p}`);setTimeout(()=>{m.Close()},2e3)}finally{w.Close(),c.value=!1}});return(w,p)=>(s(),l("form",{class:"form-container",onSubmit:ft(k,["prevent"])},[t("div",cb,[t("div",pb,[t("span",null,o(e(d)("\u542F\u7528Wi-Fi")),1)]),t("div",fb,[t("div",mb,[t("label",null,[T(t("input",{type:"radio",value:!1,"onUpdate:modelValue":p[0]||(p[0]=m=>r.value.disabled=m),disabled:e(c)},null,8,vb),[[yt,r.value.disabled]]),nt(" "+o(e(d)("\u5F00\u542F")),1)]),t("label",null,[T(t("input",{type:"radio",value:!0,"onUpdate:modelValue":p[1]||(p[1]=m=>r.value.disabled=m),disabled:e(c)},null,8,bb),[[yt,r.value.disabled]]),nt(" "+o(e(d)("\u5173\u95ED")),1)])]),t("div",{class:"mobile-switch",onClick:h},[t("div",{class:ct(["switch-core",{"is-checked":!r.value.disabled,"is-disabled":e(c)}])},hb,2)])])]),r.value.isGuest?D("",!0):(s(),l("div",_b,[t("div",xb,[t("span",null,o(e(d)("\u53D1\u5C04\u529F\u7387")),1)]),t("div",wb,[T(t("select",{"onUpdate:modelValue":p[2]||(p[2]=m=>r.value.txpower=m),disabled:e(c),onChange:b},[t("option",yb,o(e(d)("\u6700\u5927")),1),t("option",Fb,o(e(d)("\u9AD8")),1),t("option",Eb,o(e(d)("\u4E2D")),1),t("option",$b,o(e(d)("\u4F4E")),1)],40,kb),[[rt,r.value.txpower]]),e(c)?D("",!0):(s(),l("div",Cb))])])),t("div",Db,[t("div",Bb,[t("span",null,o(e(d)("Wi-Fi\u540D\u79F0\uFF08SSID\uFF09")),1)]),t("div",Yb,[T(t("input",{"onUpdate:modelValue":p[3]||(p[3]=m=>r.value.ssid=m),disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u540D\u79F0")},null,8,Ab),[[tt,r.value.ssid]])])]),t("div",Sb,[t("div",zb,[t("span",null,o(e(d)("Wi-Fi \u5B89\u5168\u6027")),1)]),t("div",Pb,[T(t("select",{"onUpdate:modelValue":p[4]||(p[4]=m=>r.value.encryption=m),disabled:e(c)},[(s(!0),l(O,null,J(r.value.encryptSelects,m=>(s(),l("option",{value:m},o(m),9,Ib))),256))],8,Tb),[[rt,r.value.encryption]]),e(c)?D("",!0):(s(),l("div",Lb))])]),t("div",Mb,[t("div",Nb,[t("span",null,o(e(d)("Wi-Fi \u5BC6\u7801")),1)]),t("div",Ob,[T(t("input",{"onUpdate:modelValue":p[5]||(p[5]=m=>r.value.key=m),class:"password_input",type:x.value?"password":"",disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u5BC6\u7801")},null,8,Vb),[[xa,r.value.key]]),e(c)?D("",!0):(s(),l("div",{key:0,onClick:p[6]||(p[6]=m=>x.value=!x.value)},[x.value?(s(),l("svg",Gb,qb)):(s(),l("svg",Ub,Wb))]))])]),t("div",Hb,[t("div",Zb,[t("span",null,o(e(d)("SSID \u53EF\u89C1\u6027")),1)]),t("div",Jb,[T(t("select",{"onUpdate:modelValue":p[7]||(p[7]=m=>r.value.hidden=m),disabled:e(c)},[t("option",Qb,o(e(d)("\u663E\u793A")),1),t("option",Xb,o(e(d)("\u9690\u85CF")),1)],8,Kb),[[rt,r.value.hidden]]),e(c)?D("",!0):(s(),l("div",tg))])]),r.value.isGuest?D("",!0):(s(),l("div",eg,[t("div",ag,[t("span",null,o(e(d)("\u65E0\u7EBF\u6A21\u5F0F")),1)]),t("div",og,[T(t("select",{"onUpdate:modelValue":p[8]||(p[8]=m=>r.value.hwmode=m),disabled:e(c)},[(s(!0),l(O,null,J(r.value.hwmodeSelects,m=>(s(),l("option",{value:m},o(m),9,ig))),256))],8,ng),[[rt,r.value.hwmode]]),e(c)?D("",!0):(s(),l("div",rg))])])),r.value.isGuest?D("",!0):(s(),l("div",sg,[t("div",dg,[t("span",null,o(e(d)("\u9891\u5BBD")),1)]),t("div",lg,[T(t("select",{"onUpdate:modelValue":p[9]||(p[9]=m=>r.value.htmode=m),disabled:e(c)},[cg,pg,r.value.band==="2g"?(s(),l("option",fg," 20/40 MHz ")):D("",!0),r.value.band==="5g"?(s(),l("option",mg," 80 MHz ")):D("",!0),r.value.band==="5g"?(s(),l("option",vg," 160 MHz ")):D("",!0)],8,ug),[[rt,r.value.htmode]]),e(c)?D("",!0):(s(),l("div",bg))])])),r.value.isGuest?D("",!0):(s(),l("div",gg,[t("div",hg,[t("span",null,o(e(d)("\u4FE1\u9053")),1)]),t("div",_g,[r.value.band==="2g"?T((s(),l("select",{key:0,"onUpdate:modelValue":p[10]||(p[10]=m=>r.value.channel=m),disabled:e(c)},[t("option",wg,o(e(d)("\u81EA\u52A8")),1),(s(),l(O,null,J(13,m=>t("option",{value:m},o(m),9,kg)),64))],8,xg)),[[rt,r.value.channel,void 0,{number:!0}]]):D("",!0),r.value.band==="5g"?T((s(),l("select",{key:1,"onUpdate:modelValue":p[11]||(p[11]=m=>r.value.channel=m),disabled:e(c)},[t("option",Fg,o(e(d)("\u81EA\u52A8")),1),Eg],8,yg)),[[rt,r.value.channel,void 0,{number:!0}]]):D("",!0),e(c)?D("",!0):(s(),l("div",$g))])])),t("div",Cg,[t("button",{class:"btn primary-btn",disabled:e(c),onClick:k},o(e(d)("\u4FDD\u5B58\u914D\u7F6E")),9,Dg)]),t("div",Bg,[t("div",{class:"skip",onClick:p[12]||(p[12]=m=>v())},o(e(d)("\u8DF3\u8FC7")),1)])],40,ub))}});var Ag=N(Yg,[["__scopeId","data-v-eb96c2c2"]]);const Sg={id:"page",class:"page-container"},zg={class:"mobile-tags-container"},Pg={class:"tags-wrapper"},Tg={class:"tags-scroll"},Ig=["onClick"],Lg={class:"page-flex"},Mg={class:"page-sidebar"},Ng=["onClick"],Og={class:"page-main"},Vg={class:"popup-content"},Gg={class:"popup-tags"},jg=["onClick"],qg={class:"popup-footer"},Ug=G({setup(n){var w;const{$gettext:i}=W(),a=$(!1);Ue("disabled",a);const d=$([]),u=be(),r=wa(),c=$(String((w=u==null?void 0:u.query)==null?void 0:w.tab)),x=$(!1),h=p=>{var m;return(m=p.band)==null?void 0:m.toUpperCase()},f=p=>p.isGuest?p.band+"_Guest":p.ssid,v=p=>{a.value||(c.value=f(p),x.value=!1,c.value!==u.query.tab&&r.push({query:{tab:c.value}}))},b=$(),_=p=>{a.value||(b.value=f(p))},y=()=>{x.value=!1,b.value!==u.query.tab&&r.push({query:{tab:b.value}})};Tt(()=>x.value,p=>{p?b.value=c.value:c.value=b.value});const k=()=>L(this,null,function*(){try{const{data:p}=yield M.Quickwifi.List.GET(),{error:m,result:g}=p;if(m)throw m;g!=null&&g.ifaces&&(d.value=g.ifaces.map(Y=>mt(ut({},Y),{hidden:Y.hidden||!1,disabled:Y.disabled||!1,isGuest:Y.isGuest||!1,channel:Y.channel||0,txpower:Y.txpower||0,ifaceIndex:Y.ifaceIndex||0})));let F=!1;for(let Y=0;Y0&&v(d.value[0])}catch(p){console.log(p)}});return k(),(p,m)=>(s(),l("div",Sg,[t("div",zg,[t("div",Pg,[t("div",Tg,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:f(g),class:ct(c.value===f(g)?"tag-item active":"tag-item"),onClick:ft(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,Ig))),128))])])]),t("div",Lg,[t("div",Mg,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:f(g),class:ct(c.value===f(g)?"item activeItem":"item"),onClick:ft(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,Ng))),128))]),t("div",Og,[(s(!0),l(O,null,J(d.value,g=>(s(),l(O,{key:f(g)},[c.value===f(g)?(s(),H(Ag,{key:0,data:g,onGetData:k},null,8,["data"])):D("",!0)],64))),128))])]),x.value?(s(),l("div",{key:0,class:"popup-overlay",onClick:m[1]||(m[1]=ft(g=>x.value=!1,["self"]))},[t("div",Vg,[t("div",Gg,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:f(g),class:ct(b.value===f(g)?"popup-tag-item active":"popup-tag-item"),onClick:ft(F=>_(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,jg))),128))]),t("div",qg,[t("button",{class:"cancel-btn",onClick:m[0]||(m[0]=g=>x.value=!1)},o(e(i)("\u53D6\u6D88")),1),t("button",{class:"confirm-btn",onClick:y},o(e(i)("\u786E\u5B9A")),1)])])])):D("",!0)]))}});var Rg=N(Ug,[["__scopeId","data-v-a3d59e16"]]);const Wg={},Hg={width:"136px",height:"136px",viewBox:"0 0 136 136",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Zg=qt('',2),Jg=[Zg];function Kg(n,i){return s(),l("svg",Hg,Jg)}var Ga=N(Wg,[["render",Kg]]);const _e=n=>(st("data-v-500739e0"),n=n(),dt(),n),Qg={class:"ddnsto-bind"},Xg=_e(()=>t("div",{class:"ddnsto-container_bg"},null,-1)),t9={class:"ddnsto-container"},e9={key:1,class:"popular_container"},a9={class:"tip"},o9={class:"popular_item"},n9={class:"network-containers"},i9={class:"network-container_item"},r9={class:"thumbnail"},s9={class:"network-container_item"},d9={class:"thumbnail"},l9={class:"network-container_item"},u9={class:"thumbnail"},c9={class:"popular_txt"},p9={href:"/cgi-bin/luci/admin/network/network"},f9={key:2,class:"hello"},m9=_e(()=>t("img",{src:"https://assets.koolcenter.com/istoreos/firmware-guide/icon_huanying@2x.png",alt:""},null,-1)),v9={class:"radio_container"},b9={class:"radio_text"},g9={href:" https://www.linkease.com/rd/istoreos-user-agreement/",target:"_blank",rel:"noopener noreferrer"},h9={key:3,class:"set_up"},_9={class:"title"},x9={class:"password"},w9={class:"input_tip"},k9=["placeholder"],y9={class:"password"},F9={class:"input_tip"},E9={class:"input_box"},$9=["placeholder"],C9={class:"password_tip"},D9=_e(()=>t("div",{class:"occupy"},null,-1)),B9={key:4,class:"domain_container"},Y9={class:"title"},A9=_e(()=>t("div",{class:"domain_img"},[t("img",{src:"https://assets.koolcenter.com/istoreos/firmware-guide/iStore-domain.png",alt:""})],-1)),S9={class:"tip"},z9={href:"https://ddnsto.com",target:"_blank",rel:"noopener noreferrer"},P9={key:5,class:"wx_qr"},T9={class:"txt"},I9=_e(()=>t("div",null,[t("img",{src:"https://assets.koolcenter.com/istoreos/firmware-guide/istoreos-qr.jpg",alt:""})],-1)),L9={props:{close:{type:Function,required:!0},init:{type:Number,default:0}},setup(n){const i=n,{$gettext:a}=W(),d=$(i.init),u=$(""),r=$("");Ue("setup",d);const c=$(!1);let x=sessionStorage.getItem("setupNum");x&&(x=JSON.parse(x),d.value=x,sessionStorage.removeItem("setupNum"));let h=!1,f;const v=$({}),b=function(){!h||(document.hidden?Promise.resolve():M.Guide.GetDdns.GET().then(g=>{var F;g!=null&&g.data&&(((F=g==null?void 0:g.data)==null?void 0:F.success)||0)==0&&g.data.result&&(v.value=g.data.result)})).then(()=>{!h||(f=window.setTimeout(b,3e3))})},_=()=>{sessionStorage.setItem("setupNum",JSON.stringify(d.value))},y=()=>L(this,null,function*(){try{const g=yield M.GuidePage.completeGuide.POST();i.close(),location.reload()}catch(g){console.error("\u8BF7\u6C42\u5931\u8D25:",g)}}),k=()=>{Ma({url:v.value.ddnstoDomain})},w=g=>{const F=/^[a-zA-Z]{6,20}$/,Y=/^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/;return F.test(g)||Y.test(g)},p=()=>L(this,null,function*(){var F;if(!u.value||!r.value)return E.Warning(a("\u8BF7\u8F93\u5165\u5BC6\u7801"));if(!w(u.value))return E.Warning(a("\u5BC6\u7801\u683C\u5F0F\u4E0D\u6B63\u786E"));if(u.value!==r.value)return E.Warning(a("\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4"));const g=yield M.GuidePage.setPassword.POST({password:u.value});console.log(g,"setPassword"),((F=g==null?void 0:g.data)==null?void 0:F.success)==0&&(E.Success(a("\u7CFB\u7EDF\u5BC6\u7801\u8BBE\u7F6E\u6210\u529F")),setTimeout(()=>{m(5)},400))}),m=g=>{if(g===4&&!c.value)return E.Warning("\u8BF7\u52FE\u9009\u7528\u6237\u534F\u8BAE");d.value=g};return At(()=>{document.body.setAttribute("lock-scroll",!0),h=!0,f=window.setTimeout(b,1100)}),Ot(()=>{f!==void 0&&window.clearTimeout(f),h=!1}),Ye(()=>{document.body.removeAttribute("lock-scroll")}),(g,F)=>{const Y=pt("router-link");return s(),l("div",Qg,[Xg,t("div",t9,[d.value===1?(s(),H(Rg,{key:0})):d.value===2?(s(),l("div",e9,[t("p",null,o(e(a)("\u6B22\u8FCE\u4F7F\u7528\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC")),1),t("div",a9,o(e(a)("\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB")),1),t("div",o9,[t("div",n9,[t("div",i9,[z(Y,{to:"/network/pppoe?type=index"},{default:R(()=>[t("div",{class:"cover",onClick:F[0]||(F[0]=A=>_())},[t("div",r9,[z(Va),t("span",null,o(e(a)("\u5BBD\u5E26\u62E8\u53F7\u8FDE\u63A5")),1)])])]),_:1})]),t("div",s9,[z(Y,{to:"/network/dhcp?type=index"},{default:R(()=>[t("div",{class:"cover",onClick:F[1]||(F[1]=A=>_())},[t("div",d9,[z(Oa),t("span",null,o(e(a)("\u8FDE\u63A5\u73B0\u6709\u8DEF\u7531\u5668")),1)])])]),_:1})]),t("div",l9,[z(Y,{to:"/network/gateway?type=index"},{default:R(()=>[t("div",{class:"cover",onClick:F[2]||(F[2]=A=>_())},[t("div",u9,[z(Ga),t("span",null,o(e(a)("\u914D\u7F6E\u4E3A\u65C1\u8DEF\u7531")),1)])])]),_:1})])]),t("div",c9,[nt(o(e(a)("\u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528")),1),t("a",p9,o(e(a)("\u9AD8\u7EA7\u6A21\u5F0F")),1)])]),t("div",{class:"btn1",onClick:F[3]||(F[3]=A=>m(3))},o(e(a)("\u8DF3\u8FC7")),1)])):d.value===3?(s(),l("div",f9,[m9,t("p",null,o(e(a)("\u6B22\u8FCE\u4F7F\u7528iStoreOS")),1),t("div",v9,[t("div",{class:ct(["radio",c.value?"active":""]),onClick:F[4]||(F[4]=A=>c.value=!c.value)},[t("div",{class:ct(["yuan",c.value?"yuan1":""])},null,2)],2),t("div",b9,[nt(o(e(a)("\u6211\u5DF2\u5B8C\u6574\u9605\u8BFB\u5E76\u540C\u610F")),1),t("a",g9,o(e(a)("\u300AiStoreOS\u56FA\u4EF6\u7528\u6237\u534F\u8BAE\u300B")),1)])]),t("div",{class:"confirm",onClick:F[5]||(F[5]=A=>m(4))},o(e(a)("\u786E\u5B9A")),1)])):d.value===4?(s(),l("div",h9,[t("div",_9,o(e(a)("\u8BBE\u7F6E\u7CFB\u7EDF\u5BC6\u7801")),1),t("p",null,o(e(a)("\u6B64\u8BBE\u5907\u8FD8\u672A\u8BBE\u7F6E\u5BC6\u7801\uFF0C\u8BF7\u5148\u8BBE\u7F6E\u5BC6\u7801\u3002\u5982\u9057\u5FD8\u5BC6\u7801\uFF0C\u53EF\u4EE5\u901A\u8FC7\u91CD\u7F6E\u8BBE\u5907\u6062\u590D\u521D\u59CB\u5BC6\u7801\u3002")),1),t("div",x9,[t("div",w9,o(e(a)("\u8BF7\u586B\u5199\u5BC6\u7801"))+"\uFF1A",1),T(t("input",{class:"password_input",type:"password","onUpdate:modelValue":F[6]||(F[6]=A=>u.value=A),placeholder:e(a)("\u8BF7\u586B\u5199\u5BC6\u7801")},null,8,k9),[[tt,u.value,void 0,{trim:!0}]])]),t("div",y9,[t("div",F9,o(e(a)("\u8BF7\u518D\u6B21\u586B\u5199\u5BC6\u7801"))+"\uFF1A",1),t("div",E9,[T(t("input",{class:"password_input",type:"password","onUpdate:modelValue":F[7]||(F[7]=A=>r.value=A),placeholder:e(a)("\u8BF7\u518D\u6B21\u586B\u5199\u5BC6\u7801")},null,8,$9),[[tt,r.value,void 0,{trim:!0}]]),t("span",C9,o(e(a)("\u957F\u5EA6\u4E3A6\uFF5E20\u4E2A\u82F1\u6587\u3001\u6570\u5B57\u7ED3\u5408")),1)])]),D9,t("div",{class:"btn1",onClick:F[8]||(F[8]=A=>p())},o(e(a)("\u4FDD\u5B58")),1),t("div",{class:"skip",onClick:F[9]||(F[9]=A=>m(5))},o(e(a)("\u8DF3\u8FC7")),1)])):d.value===5?(s(),l("div",B9,[t("div",Y9,o(e(a)("\u5F00\u542F\u8FDC\u7A0B\u57DF\u540D\u8BBF\u95EE")),1),t("p",null,o(e(a)("\u901A\u8FC7\u5B89\u5168\u52A0\u5BC6\u901A\u9053\uFF0C\u968F\u65F6\u968F\u5730\u8FDC\u7A0B\u7BA1\u7406\u4F60\u7684iStoreOS")),1),A9,t("div",{class:"btn1",onClick:F[10]||(F[10]=A=>k())},o(e(a)("\u7ACB\u5373\u542F\u7528")),1),t("div",{class:"skip",onClick:F[11]||(F[11]=A=>m(6))},o(e(a)("\u8DF3\u8FC7")),1),t("div",S9,[nt(o(e(a)("\u57DF\u540D\u670D\u52A1\u7531"))+" ",1),t("a",z9,o(e(a)("ddnsto.com")),1),nt(" "+o(e(a)("\u63D0\u4F9B")),1)])])):(s(),l("div",P9,[t("p",null,o(e(a)("\u5173\u6CE8iStoreOS\u516C\u4F17\u53F7")),1),t("div",T9,o(e(a)("\u638C\u63E1\u6700\u65B0\u52A8\u6001")),1),I9,t("div",{class:"btn1",onClick:F[12]||(F[12]=A=>y())},o(e(a)("\u5F00\u59CB\u63A2\u7D22iStoreOS")),1)]))])])}}};var M9=N(L9,[["__scopeId","data-v-500739e0"]]);const Xe=n=>(st("data-v-9527eafe"),n=n(),dt(),n),N9={id:"page"},O9={style:{height:"48px","text-align":"right"}},V9={onclick:"void(0)",href:"https://www.istoreos.com/",target:"_blank",style:{"text-decoration":"none",color:"white","line-height":"1.5em"}},G9=Xe(()=>t("em",null,null,-1)),j9=Xe(()=>t("em",null,null,-1)),q9=Xe(()=>t("em",null,null,-1)),U9=G({setup(n){Bo();const{$gettext:i,$ngettext:a}=W();$(0);const d=$(!1),u=$(1);(()=>L(this,null,function*(){var x;try{const h=yield M.GuidePage.needSetup.GET();(x=h==null?void 0:h.data)!=null&&x.result&&(d.value=h.data.result.need||!1,u.value=h.data.result.wifi?1:2)}catch(h){console.log(h)}}))();const c=()=>{d.value=!1};return(x,h)=>(s(),l("div",N9,[t("div",O9,[t("a",V9,o(e(i)("iStoreOS\u5B98\u7F51")),1)]),z(Yl),G9,z(Xv),z(k7),j9,z(tm),q9,d.value?(s(),H(M9,{key:0,init:u.value,close:c},null,8,["init"])):D("",!0)]))}});var R9=N(U9,[["__scopeId","data-v-9527eafe"]]);const W9={};function H9(n,i){const a=pt("router-view");return s(),H(a)}var Z9=N(W9,[["render",H9]]);const J9={id:"page"},K9={class:"title"},Q9={class:"desc"},X9={class:"network-containers"},th={class:"network-container_item"},eh={class:"cover"},ah={class:"thumbnail"},oh={class:"network-container_item"},nh={class:"cover"},ih={class:"thumbnail"},rh={class:"network-container_item"},sh={class:"cover"},dh={class:"thumbnail"},lh=["innerHTML"],uh=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=i("\u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528%{link}",{link:''+i("\u9AD8\u7EA7\u6A21\u5F0F")+""},!0);return(u,r)=>{const c=pt("router-link");return s(),l("div",J9,[t("div",K9,o(e(i)("\u6B22\u8FCE\u4F7F\u7528\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC")),1),t("div",Q9,o(e(i)("\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB")),1),t("div",X9,[t("div",th,[z(c,{to:"/network/pppoe"},{default:R(()=>[t("div",eh,[t("div",ah,[z(Va),t("span",null,o(e(i)("\u5BBD\u5E26\u62E8\u53F7\u8FDE\u63A5")),1)])])]),_:1})]),t("div",oh,[z(c,{to:"/network/dhcp"},{default:R(()=>[t("div",nh,[t("div",ih,[z(Oa),t("span",null,o(e(i)("\u8FDE\u63A5\u73B0\u6709\u8DEF\u7531\u5668")),1)])])]),_:1})]),t("div",rh,[z(c,{to:"/network/gateway"},{default:R(()=>[t("div",sh,[t("div",dh,[z(Ga),t("span",null,o(e(i)("\u914D\u7F6E\u4E3A\u65C1\u8DEF\u7531")),1)])])]),_:1})])]),t("div",{class:"info",innerHTML:e(d)},null,8,lh)])}}});var ch=N(uh,[["__scopeId","data-v-0b149a51"]]);const ph={key:0,id:"page"},fh={class:"title"},mh={class:"desc"},vh={class:"network-message"},bh=["innerHTML"],gh=["onSubmit"],hh={class:"label-key"},_h=["placeholder","disabled"],xh={class:"label-key"},wh=["placeholder","disabled"],kh={key:0,class:"chose_dhcp"},yh={class:"dhcp_info"},Fh={key:1,class:"msg"},Eh={class:"btns"},$h=["disabled"],Ch=["onClick"],Dh={key:1,id:"page"},Bh={class:"title"},Yh={class:"btns"},Ah=["onClick"],Sh=["onClick"],zh=G({setup(n){const{$gettext:i,$ngettext:a}=W(),u=be().query.type,r=i("\u7531\u4E8E\u60A8\u7684\u8BBE\u5907\u6CA1\u6709 WAN \u53E3\uFF0C\u65E0\u6CD5\u4F7F\u7528\u672C\u8BBE\u7F6E\u5411\u5BFC\uFF0C\u5177\u4F53\u8BF7\u770B%{link}",{link:''+i("\u94FE\u63A5")+""},!0),c=$(0),x=$({}),h=$(""),f=$(!1),v=$(0),b=$(!1);(()=>L(this,null,function*(){var k,w;f.value=!0;try{const p=yield Promise.all([M.Guide.Pppoe.GET(),M.Guide.GetLan.GET()]);if(p[0].data){const{success:m,error:g,result:F}=p[0].data;F&&(F.enableLanDhcp=!1,x.value=F),m==-1011&&(f.value=!0,v.value=m)}(k=p[1].data)!=null&&k.result&&(((w=p[1].data)==null?void 0:w.result).enableDhcp||(b.value=!0,x.value.enableLanDhcp=!0))}catch(p){h.value=p}v.value==0&&(f.value=!1)}))();const y=()=>L(this,null,function*(){const k=x.value.account||"",w=x.value.password||"";if(k==""){h.value=i("\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A");return}if(w==""){h.value=i("\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A");return}f.value=!0;const p=E.Loading(i("\u914D\u7F6E\u4E2D..."));try{const m=yield M.Guide.Pppoe.POST({account:k,password:w});if(m!=null&&m.data){const{error:g,success:F}=m.data;g&&(h.value=g),(F==null||F==0)&&(E.Success(i("\u914D\u7F6E\u6210\u529F")),c.value=1)}}catch(m){h.value=m}f.value=!1,p.Close()});return(k,w)=>{const p=pt("switch-box"),m=pt("router-link");return c.value==0?(s(),l("div",ph,[t("h2",fh,o(e(i)("\u914D\u7F6E\u5BBD\u5E26\u8D26\u53F7")),1),t("h3",mh,o(e(i)("\u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u8DEF\u7531 WAN \u53E3\u8FDE\u63A5\u5230\u5149\u732B")),1),t("div",vh,[v.value==-1011?(s(),l("li",{key:0,innerHTML:e(r)},null,8,bh)):D("",!0)]),t("form",{onSubmit:ft(y,["prevent"])},[t("label",null,[t("div",hh,[t("span",null,o(e(i)("\u5BBD\u5E26\u8D26\u53F7")),1)]),T(t("input",{type:"text","onUpdate:modelValue":w[0]||(w[0]=g=>x.value.account=g),placeholder:e(i)("\u5BBD\u5E26\u8D26\u53F7"),required:"",disabled:f.value},null,8,_h),[[tt,x.value.account,void 0,{trim:!0}]])]),t("label",null,[t("div",xh,[t("span",null,o(e(i)("\u5BC6\u7801")),1)]),T(t("input",{type:"password","onUpdate:modelValue":w[1]||(w[1]=g=>x.value.password=g),placeholder:e(i)("\u5BBD\u5E26\u5BC6\u7801"),required:"",disabled:f.value},null,8,wh),[[tt,x.value.password,void 0,{trim:!0}]])]),b.value?(s(),l("div",kh,[z(p,{modelValue:x.value.enableLanDhcp,"onUpdate:modelValue":w[2]||(w[2]=g=>x.value.enableLanDhcp=g)},{default:R(()=>[t("span",yh,o(e(i)("\u542F\u7528LAN\u53E3DHCP\u670D\u52A1\uFF08\u7528\u4E8E\u4ECE\u65C1\u8DEF\u7531\u6A21\u5F0F\u6062\u590D\u6210\u9ED8\u8BA4\u72B6\u6001\uFF09")),1)]),_:1},8,["modelValue"])])):D("",!0),h.value?(s(),l("div",Fh,o(h.value),1)):D("",!0),t("div",Eh,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:f.value},o(e(i)("\u4FDD\u5B58\u914D\u7F6E")),9,$h),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:g})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(i)("\u8FD4\u56DE")),9,Ch)]),_:1},8,["to"])])],40,gh)])):c.value==1?(s(),l("div",Dh,[t("h2",Bh,o(e(i)("\u914D\u7F6E\u6210\u529F")),1),t("div",Yh,[z(m,{to:"/",custom:""},{default:R(({navigate:g})=>[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:g},o(e(i)("\u8FDB\u5165\u63A7\u5236\u53F0")),9,Ah)]),_:1}),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:g})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:g},o(e(i)("\u8FD4\u56DE")),9,Sh)]),_:1},8,["to"])])])):D("",!0)}}});var Ph=N(zh,[["__scopeId","data-v-f442676c"]]);const Th={key:0,id:"page"},Ih={class:"title"},Lh={class:"desc"},Mh={class:"network-message"},Nh=["innerHTML"],Oh=["onSubmit"],Vh={class:"label-key"},Gh={value:"dhcp"},jh={value:"static"},qh={class:"label-key"},Uh=["placeholder","disabled"],Rh={key:0,class:"msg"},Wh={class:"label-key"},Hh=["placeholder","disabled"],Zh={key:1,class:"msg"},Jh={class:"label-key"},Kh=["placeholder","disabled"],Qh={class:"label-key"},Xh=["disabled"],t_={value:"manual"},e_={class:"label-key"},a_=["onUpdate:modelValue","placeholder","disabled"],o_={class:"label-key"},n_=["placeholder","disabled"],i_={class:"label-key"},r_=["placeholder","disabled"],s_={key:2,class:"chose_dhcp"},d_={class:"dhcp_info"},l_={key:3,class:"msgs"},u_={class:"btns"},c_=["disabled"],p_=["onClick"],f_={key:1,id:"page"},m_={class:"title"},v_={class:"btns"},b_=["onClick"],g_=["onClick"],h_=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=i("\u7531\u4E8E\u60A8\u7684\u8BBE\u5907\u6CA1\u6709 WAN \u53E3\uFF0C\u65E0\u6CD5\u4F7F\u7528\u672C\u8BBE\u7F6E\u5411\u5BFC\uFF0C\u5177\u4F53\u8BF7\u770B%{link}",{link:''+i("\u94FE\u63A5")+""},!0),u=$(0),r=$({}),c=$(""),x=$(""),h=$(""),f=$(!1),v=$(""),b=$(""),_=$(0),y=It.checkIsIP,k=$(!1),p=be().query.type;(()=>L(this,null,function*(){var C,B;f.value=!0;try{const I=yield Promise.all([M.Guide.ClientModel.GET(),M.Guide.GetLan.GET()]);if(I[0]){const et=I[0];if(et.data){const{success:S,error:P,result:V}=et.data;V&&(V.wanProto!="dhcp"&&V.wanProto!="static"&&(V.wanProto="dhcp",V.dnsProto="auto"),V.enableLanDhcp=!1,r.value=V),S==-1011&&(_.value=S,f.value=!0)}}(C=I[1].data)!=null&&C.result&&(((B=I[1].data)==null?void 0:B.result).enableDhcp||(k.value=!0,r.value.enableLanDhcp=!0))}catch(I){c.value=I}_.value==0&&(f.value=!1)}))();const g=C=>{C.target.value=="static"?((r.value.staticIp==null||r.value.staticIp=="")&&(r.value.staticIp="192.168.1.100"),(r.value.subnetMask==null||r.value.subnetMask=="")&&(r.value.subnetMask="255.255.255.0"),r.value.dnsProto=="auto"&&setTimeout(()=>r.value.dnsProto="manual",0)):r.value.dnsProto=="manual"&&setTimeout(()=>r.value.dnsProto="auto",0)},F=C=>{const B=C.target;if(B.value==""){v.value="";return}y(B.value)?v.value="":v.value=i("\u8BF7\u8F93\u5165\u5408\u6CD5\u7684IP\u5730\u5740")},Y=C=>{const B=C.target;if(B.value==""){b.value="";return}y(B.value)?b.value="":b.value=i("\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5730\u5740")},A=()=>L(this,null,function*(){const C={};switch(r.value.wanProto){case"dhcp":break;case"static":C.staticIp=r.value.staticIp,C.subnetMask=r.value.subnetMask,C.gateway=r.value.gateway||"";break}switch(r.value.dnsProto){case"auto":break;case"manual":C.manualDnsIp=[],r.value.manualDnsIp!=null&&r.value.manualDnsIp.length>0?C.manualDnsIp=r.value.manualDnsIp:(C.manualDnsIp.push(x.value),h.value&&C.manualDnsIp.push(h.value));break}C.dnsProto=r.value.dnsProto,C.wanProto=r.value.wanProto,C.enableLanDhcp=r.value.enableLanDhcp;const B=E.Loading(i("\u914D\u7F6E\u4E2D...."));f.value=!0;try{const I=yield M.Guide.ClientModel.POST(C);if(I!=null&&I.data){const{success:et,error:S}=I==null?void 0:I.data;S&&(c.value=S),(et==null||et==0)&&(E.Success(i("\u914D\u7F6E\u6210\u529F")),u.value=1)}}catch(I){c.value=I}f.value=!1,B.Close()});return(C,B)=>{const I=pt("switch-box"),et=pt("router-link");return u.value==0?(s(),l("div",Th,[t("h2",Ih,o(e(i)("\u914D\u7F6E\u4E92\u8054\u7F51")),1),t("h3",Lh,o(e(i)("\u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u672C\u8BBE\u5907 WAN \u53E3\u8FDE\u63A5\u5230\u4E0A\u7EA7\u8DEF\u7531\u5668\u5C40\u57DF\u7F51\uFF08 LAN \uFF09\u63A5\u53E3")),1),t("div",Mh,[_.value==-1011?(s(),l("li",{key:0,innerHTML:e(d)},null,8,Nh)):D("",!0)]),t("form",{onSubmit:ft(A,["prevent"])},[t("label",null,[t("div",Vh,[t("span",null,o(e(i)("WAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F")),1)]),T(t("select",{"onUpdate:modelValue":B[0]||(B[0]=S=>r.value.wanProto=S),onInput:g},[t("option",Gh,o(e(i)("\u81EA\u52A8\u83B7\u53D6IP\u5730\u5740\uFF08DHCP\uFF09")),1),t("option",jh,o(e(i)("\u9759\u6001IP\u5730\u5740")),1)],544),[[rt,r.value.wanProto]])]),r.value.wanProto=="static"?(s(),l(O,{key:0},[t("label",null,[t("div",qh,[t("span",null,o(e(i)("IP\u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":B[1]||(B[1]=S=>r.value.staticIp=S),placeholder:e(i)("\u9759\u6001IP\u5730\u5740"),required:"",disabled:f.value,onInput:F},null,40,Uh),[[tt,r.value.staticIp,void 0,{trim:!0}]])]),v.value?(s(),l("p",Rh,o(v.value),1)):D("",!0),t("label",null,[t("div",Wh,[t("span",null,o(e(i)("\u5B50\u7F51\u63A9\u7801")),1)]),T(t("input",{type:"text","onUpdate:modelValue":B[2]||(B[2]=S=>r.value.subnetMask=S),placeholder:e(i)("\u5B50\u7F51\u63A9\u7801"),required:"",disabled:f.value,onInput:Y},null,40,Hh),[[tt,r.value.subnetMask,void 0,{trim:!0}]])]),b.value?(s(),l("p",Zh,o(b.value),1)):D("",!0),t("label",null,[t("div",Jh,[t("span",null,o(e(i)("\u7F51\u5173\u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":B[3]||(B[3]=S=>r.value.gateway=S),placeholder:e(i)("\u7F51\u5173\u5730\u5740"),required:"",disabled:f.value},null,8,Kh),[[tt,r.value.gateway,void 0,{trim:!0}]])])],64)):D("",!0),t("label",null,[t("div",Qh,[t("span",null,o(e(i)("DNS \u914D\u7F6E\u65B9\u5F0F")),1)]),T(t("select",{"onUpdate:modelValue":B[4]||(B[4]=S=>r.value.dnsProto=S)},[t("option",{value:"auto",disabled:r.value.wanProto=="static"},o(e(i)("\u81EA\u52A8\u83B7\u53D6\uFF08DHCP\uFF09")),9,Xh),t("option",t_,o(e(i)("\u624B\u5DE5\u914D\u7F6E")),1)],512),[[rt,r.value.dnsProto]])]),r.value.dnsProto=="manual"?(s(),l(O,{key:1},[r.value.manualDnsIp!=null&&r.value.manualDnsIp.length>0?(s(!0),l(O,{key:0},J(r.value.manualDnsIp,(S,P)=>(s(),l("label",null,[t("div",e_,[t("span",null,o(e(i)("DNS\u670D\u52A1\u5668")),1)]),T(t("input",{type:"text","onUpdate:modelValue":V=>r.value.manualDnsIp[P]=V,placeholder:e(i)("DNS\u670D\u52A1\u5668"),required:"",disabled:f.value},null,8,a_),[[tt,r.value.manualDnsIp[P],void 0,{trim:!0}]])]))),256)):(s(),l(O,{key:1},[t("label",null,[t("div",o_,[t("span",null,o(e(i)("DNS\u670D\u52A1\u5668")),1)]),T(t("input",{type:"text","onUpdate:modelValue":B[5]||(B[5]=S=>x.value=S),placeholder:e(i)("DNS\u670D\u52A1\u5668"),required:"",disabled:f.value},null,8,n_),[[tt,x.value,void 0,{trim:!0}]])]),t("label",null,[t("div",i_,o(e(i)("\u5907\u7528DNS\u670D\u52A1\u5668")),1),T(t("input",{type:"text","onUpdate:modelValue":B[6]||(B[6]=S=>h.value=S),placeholder:e(i)("\u5907\u7528DNS\u670D\u52A1\u5668"),disabled:f.value},null,8,r_),[[tt,h.value,void 0,{trim:!0}]])])],64))],64)):D("",!0),k.value?(s(),l("div",s_,[z(I,{modelValue:r.value.enableLanDhcp,"onUpdate:modelValue":B[7]||(B[7]=S=>r.value.enableLanDhcp=S)},{default:R(()=>[t("span",d_,o(e(i)("\u542F\u7528LAN\u53E3DHCP\u670D\u52A1\uFF08\u7528\u4E8E\u4ECE\u65C1\u8DEF\u7531\u6A21\u5F0F\u6062\u590D\u6210\u9ED8\u8BA4\u72B6\u6001\uFF09")),1)]),_:1},8,["modelValue"])])):D("",!0),c.value?(s(),l("div",l_,o(c.value),1)):D("",!0),t("div",u_,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:f.value},o(e(i)("\u4FDD\u5B58\u914D\u7F6E")),9,c_),z(et,{to:e(p)=="index"?"/":"/network",custom:""},{default:R(({navigate:S})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:S},o(e(i)("\u8FD4\u56DE")),9,p_)]),_:1},8,["to"])])],40,Oh)])):u.value==1?(s(),l("div",f_,[t("h2",m_,o(e(i)("\u914D\u7F6E\u6210\u529F")),1),t("div",v_,[z(et,{to:"/",custom:""},{default:R(({navigate:S})=>[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:S},o(e(i)("\u8FDB\u5165\u63A7\u5236\u53F0")),9,b_)]),_:1}),z(et,{to:e(p)=="index"?"/":"/network",custom:""},{default:R(({navigate:S})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:S},o(e(i)("\u8FD4\u56DE")),9,g_)]),_:1},8,["to"])])])):D("",!0)}}});var __=N(h_,[["__scopeId","data-v-162eca5f"]]);const x_=n=>(st("data-v-2dee59a8"),n=n(),dt(),n),w_={key:0,id:"page"},k_={class:"title"},y_=x_(()=>t("br",null,null,-1)),F_={class:"btns"},E_=["onClick"],$_={key:1,id:"page"},C_={class:"title"},D_={class:"desc"},B_=["onSubmit"],Y_={class:"label-key"},A_={class:"label-value"},S_={class:"label-key"},z_=["placeholder"],P_={class:"label-key"},T_=["placeholder"],I_={class:"label-key"},L_=["placeholder"],M_={class:"label-key"},N_=["placeholder"],O_={key:0,class:"msgs"},V_={class:"switch_inline"},G_={key:0,class:"switch_info"},j_={key:1,class:"switch_info"},q_={class:"switch_inline"},U_={class:"switch_info"},R_={class:"switch_inline"},W_={class:"switch_info"},H_={class:"btns"},Z_={class:"cbi-button cbi-button-apply app-btn app-next"},J_=["onClick"],K_={key:2,id:"page"},Q_={class:"title"},X_={class:"desc"},tx={class:"btns"},ex={key:3,id:"page"},ax={class:"title"},ox=["disabled"],nx={style:{"text-align":"left"}},ix={class:"btns"},rx=["disabled"],sx=["onClick"],dx=G({setup(n){const{$gettext:i,$ngettext:a}=W(),u=be().query.type,r=$(0),c=$(""),x=$(!1),h=X(()=>{var w,p,m;return!(((w=v.value)==null?void 0:w.ipv4addr)&&((p=v.value)==null?void 0:p.ipv4mask)&&((m=v.value)==null?void 0:m.gateway))}),f=$({subnetMask:"255.255.255.0",staticDnsIp:"223.5.5.5",staticLanIp:"",gateway:"",enableDhcp:!0,dhcp6c:!1,enableNat:!1}),v=$(),b=()=>{x.value=!0,M.Network.Status.GET().then(w=>{if(w!=null&&w.data){const{result:p}=w==null?void 0:w.data;p&&(v.value=p)}}).finally(()=>{x.value=!1})},_=w=>{var p,m,g,F,Y;w&&(f.value.staticLanIp=((p=v.value)==null?void 0:p.ipv4addr)||"",f.value.subnetMask=((m=v.value)==null?void 0:m.ipv4mask)&&Nt.prefixToMask(v.value.ipv4mask)||"",f.value.gateway=((g=v.value)==null?void 0:g.gateway)||"",f.value.staticDnsIp=((F=v.value)==null?void 0:F.dnsList)&&((Y=v.value)==null?void 0:Y.dnsList[0])||"223.5.5.5"),r.value=1},y=w=>{window.location.href=location.protocol+"//"+f.value.staticLanIp+(location.port?":"+location.port:"")},k=()=>L(this,null,function*(){const w=f.value,p=E.Loading(i("\u914D\u7F6E\u4E2D..."));try{const m=yield M.Guide.GatewayRouter.POST(w);if(m!=null&&m.data){const{success:g,error:F}=m==null?void 0:m.data;if(F&&(c.value=F),g==null||g==0){setTimeout(()=>{r.value=2,p.Close()},5e3);return}}}catch(m){c.value=m}p.Close()});return(w,p)=>{var F,Y,A,C;const m=pt("router-link"),g=pt("switch-box");return r.value==0?(s(),l("div",w_,[t("h2",k_,o(e(i)("\u65C1\u8DEF\u7531\u914D\u7F6E\u524D\u7684\u51C6\u5907\u5DE5\u4F5C")),1),t("code",null,[nt(o(e(i)("\u65C1\u8DEF\u7531\u6A21\u5F0F\uFF0C\u4E5F\u53EB\u5355\u81C2\u8DEF\u7531\u6A21\u5F0F\u3002"))+" ",1),t("p",null,o(e(i)("\u60A8\u53EF\u4EE5\u7528\u4E0A\u4E00\u7EA7\u8DEF\u7531\uFF08\u4E3B\u8DEF\u7531\uFF09\u62E8\u53F7\uFF0C\u7136\u540E\u7528\u672C\u8DEF\u7531\u6765\u5B9E\u73B0\u4E00\u4E9B\u9AD8\u7EA7\u529F\u80FD\u3002")),1),y_,t("p",null,o(e(i)("\u672C\u5411\u5BFC\u652F\u6301\u81EA\u52A8\u6216\u624B\u52A8\u914D\u7F6E\uFF1A")),1),t("p",null,o(e(i)("\u70B9\u51FB\u201C\u81EA\u52A8\u914D\u7F6E\u201D\u6309\u94AE\u5F00\u59CB\u81EA\u52A8\u914D\u7F6E\u5411\u5BFC\uFF1B")),1),t("p",null,o(e(i)("\u624B\u52A8\u914D\u7F6E\u5219\u9700\u81EA\u884C\u83B7\u53D6\u4E3B\u8DEF\u7531\u5668\u7684IP\u5730\u5740\uFF08\u4F8B\u5982 192.168.2.1 \uFF09\u548C\u5B50\u7F51\u63A9\u7801\uFF0C\u8BB0\u5F55\u4EE5\u5907\u540E\u7EED\u586B\u5199\uFF0C\u70B9\u51FB\u201C\u624B\u52A8\u914D\u7F6E\u201D\u6309\u94AE\uFF0C\u5207\u6362\u5230\u53C2\u6570\u914D\u7F6E\u9875\uFF0C\u6309\u5B9E\u9645\u60C5\u51B5\u81EA\u884C\u586B\u5199\u3002")),1)]),t("div",F_,[t("button",{class:"cbi-button cbi-button-success app-btn app-next",onClick:p[0]||(p[0]=B=>r.value=3)},o(e(i)("\u81EA\u52A8\u914D\u7F6E...")),1),t("button",{class:"cbi-button cbi-button-neutral app-btn app-next",onClick:p[1]||(p[1]=B=>_(!1))},o(e(i)("\u624B\u52A8\u914D\u7F6E...")),1),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:B})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:B},o(e(i)("\u8FD4\u56DE")),9,E_)]),_:1},8,["to"])])])):r.value==1?(s(),l("div",$_,[t("h2",C_,o(e(i)("\u914D\u7F6E\u65C1\u8DEF\u7531\u7F51\u7EDC")),1),t("h3",D_,o(e(i)("\u73B0\u5728\uFF0C\u8BF7\u4F60\u914D\u7F6E\u65C1\u8DEF\u7531\u4FE1\u606F")),1),t("form",{onSubmit:ft(k,["prevent"])},[t("label",null,[t("div",Y_,[t("span",null,o(e(i)("LAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F")),1)]),t("div",A_,[t("select",{disabled:"",style:Bt({backgroundColor:"rgba(215, 215, 215, 1)",color:"#333"})},[t("option",null,o(e(i)("\u65C1\u8DEF\u7531\u6A21\u5F0F\u4EC5\u652F\u6301\u9759\u6001IP\u5730\u5740")),1)],4)])]),t("label",null,[t("div",S_,[t("span",null,o(e(i)("IP \u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":p[2]||(p[2]=B=>f.value.staticLanIp=B),placeholder:e(i)("IP\u5730\u5740"),required:""},null,8,z_),[[tt,f.value.staticLanIp,void 0,{trim:!0}]])]),t("label",null,[t("div",P_,[t("span",null,o(e(i)("\u5B50\u7F51\u63A9\u7801")),1)]),T(t("input",{type:"text","onUpdate:modelValue":p[3]||(p[3]=B=>f.value.subnetMask=B),placeholder:e(i)("\u5B50\u7F51\u63A9\u7801"),required:""},null,8,T_),[[tt,f.value.subnetMask,void 0,{trim:!0}]])]),t("label",null,[t("div",I_,[t("span",null,o(e(i)("\u7F51\u5173\u5730\u5740")),1)]),T(t("input",{type:"text","onUpdate:modelValue":p[4]||(p[4]=B=>f.value.gateway=B),placeholder:e(i)("\u7F51\u5173\u5730\u5740"),required:""},null,8,L_),[[tt,f.value.gateway,void 0,{trim:!0}]])]),t("label",null,[t("div",M_,[t("span",null,o(e(i)("DNS\u670D\u52A1\u5668")),1)]),T(t("input",{type:"text","onUpdate:modelValue":p[5]||(p[5]=B=>f.value.staticDnsIp=B),placeholder:e(i)("223.5.5.5"),required:""},null,8,N_),[[tt,f.value.staticDnsIp,void 0,{trim:!0}]])]),c.value?(s(),l("div",O_,o(c.value),1)):D("",!0),t("div",V_,[z(g,{modelValue:f.value.enableDhcp,"onUpdate:modelValue":p[6]||(p[6]=B=>f.value.enableDhcp=B)},{default:R(()=>[f.value.enableDhcp?(s(),l("span",G_,o(e(i)("\u63D0\u4F9B DHCPv4 \u670D\u52A1\uFF08\u9700\u8981\u5173\u95ED\u4E3B\u8DEF\u7531 DHCP \u670D\u52A1\uFF09")),1)):(s(),l("span",j_,o(e(i)("\u63D0\u4F9B DHCPv4 \u670D\u52A1")),1))]),_:1},8,["modelValue"])]),t("div",q_,[z(g,{modelValue:f.value.dhcp6c,"onUpdate:modelValue":p[7]||(p[7]=B=>f.value.dhcp6c=B)},{default:R(()=>[t("span",U_,o(e(i)("\u81EA\u52A8\u83B7\u53D6 IPV6\uFF08\u5373\u5F00\u542F DHCPv6 \u5BA2\u6237\u7AEF\uFF09")),1)]),_:1},8,["modelValue"])]),t("div",R_,[z(g,{modelValue:f.value.enableNat,"onUpdate:modelValue":p[8]||(p[8]=B=>f.value.enableNat=B)},{default:R(()=>[t("span",W_,o(e(i)("\u5F00\u542F NAT\uFF08\u53EF\u4FEE\u590D\u67D0\u4E9B\u65E0\u7EBF\u70ED\u70B9\u4E0D\u80FD\u8BBF\u95EE\u5916\u7F51\u95EE\u9898\uFF09")),1)]),_:1},8,["modelValue"])]),t("div",H_,[t("button",Z_,o(e(i)("\u4FDD\u5B58\u914D\u7F6E")),1),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:B})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:B},o(e(i)("\u8FD4\u56DE")),9,J_)]),_:1},8,["to"])])],40,B_)])):r.value==2?(s(),l("div",K_,[t("h2",Q_,o(e(i)("\u914D\u7F6E\u6210\u529F")),1),t("h3",X_,o(e(i)("\u73B0\u5728\uFF0C\u5C06\u672C\u8DEF\u7531WAN\u53E3\u65AD\u5F00\uFF0C\u5C06\u5176\u4E2D\u4E00\u4E2ALAN\u53E3\u4E0E\u4E3B\u8DEF\u7531\u8FDE\u63A5\uFF0C\u5E76\u5C06\u5F53\u524D\u6D4F\u89C8\u5668\u8BBE\u5907\u8FDE\u63A5\u5230\u4E3B\u8DEF\u7531\u3002\u70B9\u51FB\u201C\u8FDB\u5165\u63A7\u5236\u53F0\u201D\u6D4F\u89C8\u5668\u5C06\u8DF3\u8F6C\u5230\u65B0\u7684\u8DEF\u7531IP")),1),t("div",tx,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",onClick:y},o(e(i)("\u8FDB\u5165\u63A7\u5236\u53F0")),1)])])):r.value==3?(s(),l("div",ex,[t("h2",ax,o(e(i)("\u65C1\u8DEF\u7531\u81EA\u52A8\u914D\u7F6E")),1),t("code",null,o(e(i)("\u9996\u5148\u786E\u8BA4\u4E3B\u8DEF\u7531\u5F00\u542F\u4E86 DHCP \u670D\u52A1\uFF0C\u786E\u8BA4\u672C\u8DEF\u7531 WAN \u53E3\u662F DHCP \u5BA2\u6237\u7AEF\u6A21\u5F0F\uFF08\u9ED8\u8BA4\u5373\u662F\uFF0C\u5982\u679C\u4E0D\u662F\u53EF\u4F7F\u7528\u201C\u8FDE\u63A5\u73B0\u6709\u8DEF\u7531\u5668\u201D\u5411\u5BFC\u6539\u6210 DHCP \u5BA2\u6237\u7AEF\uFF09\uFF0C\u7136\u540E\u5C06\u672C\u8DEF\u7531 WAN \u53E3\u4E0E\u4E3B\u8DEF\u7531\u7684 LAN \u8FDE\u63A5\uFF0C\u4EE5\u81EA\u52A8\u83B7\u53D6\u914D\u7F6E\u3002")),1),nt(" "+o(e(i)("1. \u6EE1\u8DB3\u4E0A\u8FF0\u6761\u4EF6\u4EE5\u540E\uFF0C\u70B9\u51FB\u201C\u5F53\u524D IPv4 \u4E0A\u6E38\u4FE1\u606F\u201D\u4EE5\u5237\u65B0\u5F53\u524D\u8FDE\u63A5\u4FE1\u606F\uFF0C\u6210\u529F\u4EE5\u540E\uFF0C\u201C\u81EA\u52A8\u586B\u5199\u201D\u6309\u94AE\u5C06\u88AB\u6FC0\u6D3B\u3002(\u5931\u8D25\u53EF\u518D\u6B21\u70B9\u51FB)"))+" ",1),t("button",{class:ct(["cbi-button cbi-button-neutral",e(h)?"cbi-button-neutral":"cbi-button-success"]),disabled:x.value,onClick:b},[nt(o(e(i)("\u5F53\u524D IPv4 \u4E0A\u6E38\u4FE1\u606F\uFF08\u70B9\u6B64\u5237\u65B0\uFF09"))+" ",1),t("p",nx,[t("ul",null,[t("li",null,o(e(i)("IP \u5730\u5740: "))+o((F=v.value)==null?void 0:F.ipv4addr),1),t("li",null,o(e(i)("\u5B50\u7F51\u63A9\u7801: "))+o(((Y=v.value)==null?void 0:Y.ipv4mask)&&e(Nt).prefixToMask(v.value.ipv4mask)),1),t("li",null,o(e(i)("\u7F51\u5173\u5730\u5740: "))+o((A=v.value)==null?void 0:A.gateway),1),t("li",null,o(e(i)("DNS\u670D\u52A1\u5668: "))+o(((C=v.value)==null?void 0:C.dnsList)&&v.value.dnsList[0]||(e(h)?"":e(i)("\uFF08\u65E0DNS\u670D\u52A1\u5668\uFF0C\u8BF7\u4E4B\u540E\u81EA\u884C\u586B\u5199\u516C\u5171DNS\u670D\u52A1\u5668\uFF0C\u4F8B\u5982 223.5.5.5\uFF09"))),1)])])],10,ox),nt(" "+o(e(i)("2. \u70B9\u51FB\u201C\u81EA\u52A8\u586B\u5199\u201D\uFF0C\u5C06\u5207\u6362\u5230\u53C2\u6570\u9875\u5E76\u81EA\u52A8\u586B\u5199\u3002\u6B64\u65F6\u4F9D\u7136\u53EF\u4EE5\u81EA\u884C\u8C03\u6574\u53C2\u6570\u3002"))+" ",1),t("div",ix,[t("button",{class:"cbi-button cbi-button-apply app-btn app-next",disabled:e(h),onClick:p[9]||(p[9]=B=>_(!0))},o(e(i)("\u81EA\u52A8\u586B\u5199..."))+o(e(h)?e(i)("\uFF08\u8BF7\u5148\u83B7\u53D6IPv4\u4E0A\u6E38\u4FE1\u606F\uFF09"):""),9,rx),z(m,{to:e(u)=="index"?"/":"/network",custom:""},{default:R(({navigate:B})=>[t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:B},o(e(i)("\u8FD4\u56DE")),9,sx)]),_:1},8,["to"])])])):D("",!0)}}});var lx=N(dx,[["__scopeId","data-v-2dee59a8"]]);const ux={class:"actioner-container"},cx={class:"actioner-container_header"},px={class:"actioner-container_body"},fx={class:"label-item"},mx={class:"label-item_key"},vx={class:"label-item_value"},bx=["value"],gx={class:"label-item_tips"},hx={class:"label-item"},_x={class:"label-item_key"},xx={key:0,class:"label-item_value"},wx={class:"msg-warning"},kx={key:1,class:"label-item_value"},yx=["value"],Fx={key:1,class:"msg-warning"},Ex={class:"label-item_tips"},$x={class:"actioner-container_footer"},Cx=["disabled"],Dx=["disabled"],Bx={key:1,class:"actioner-container_body setup-loading"},Yx={class:"actioner-container_body setup-error"},Ax={class:"actioner-container_footer"},Sx=["disabled"],zx={class:"actioner-container_body setup-success"},Px={class:"body-title"},Tx={class:"actioner-container_footer"},Ix=G({props:{Close:{type:Function,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=$("init"),x=$(""),h=[{name:"jbod",title:a("JBOD (\u7EBF\u6027)"),info:a("\u81F3\u5C11\u9700\u89812\u5757\u786C\u76D8\uFF0C\u5C06\u591A\u4E2A\u786C\u76D8\u5408\u5E76\u4E3A\u5355\u4E2A\u5B58\u50A8\u7A7A\u95F4\uFF0C\u5176\u5BB9\u91CF\u7B49\u4E8E\u6240\u6709\u786C\u76D8\u5BB9\u91CF\u7684\u603B\u548C\u3002\u4E0D\u63D0\u4F9B\u6570\u636E\u5197\u4F59\u3002"),select:2},{name:"raid0",title:a("RAID 0 (\u6761\u5E26)"),info:a("\u81F3\u5C11\u9700\u89812\u5757\u786C\u76D8\uFF0C\u201C\u533A\u5757\u5EF6\u5C55\u201D\u529F\u80FD\u662F\u5C06\u6570\u636E\u5206\u6210\u591A\u4E2A\u5757\uFF0C\u5E76\u5C06\u6570\u636E\u5757\u5206\u6563\u5230\u7EC4\u6210\u7684\u591A\u4E2A\u786C\u76D8\u4E0A\u4EE5\u63D0\u9AD8\u6027\u80FD\u7684\u8FC7\u7A0B\u3002\u4E0D\u63D0\u4F9B\u6570\u636E\u5197\u4F59\u3002"),select:2},{name:"raid1",title:a("RAID 1 (\u955C\u50CF)"),info:a("\u81F3\u5C11\u9700\u89812\u5757\u786C\u76D8\uFF0C\u540C\u65F6\u5411\u6240\u6709\u786C\u76D8\u5199\u5165\u76F8\u540C\u7684\u6570\u636E\u3002\u63D0\u4F9B\u6570\u636E\u5197\u4F59\u3002"),select:2},{name:"raid5",title:"RAID 5 ",info:a("\u81F3\u5C11\u9700\u89813\u5757\u786C\u76D8\uFF0C\u6267\u884C\u6BB5\u843D\u5206\u5757\u5EF6\u5C55\uFF0C\u5E76\u5BF9\u5206\u5E03\u5230\u6240\u6709\u7EC4\u6210\u786C\u76D8\u4E0A\u7684\u6570\u636E\u6267\u884C\u5947\u5076\u6821\u9A8C\uFF0C\u4ECE\u800C\u63D0\u4F9B\u6BD4 RAID 1 \u66F4\u6709\u6548\u7684\u6570\u636E\u5197\u4F59\u3002"),select:3},{name:"raid6",title:"RAID 6 ",info:a("\u81F3\u5C11\u9700\u89814\u5757\u786C\u76D8\uFF0C\u6267\u884C\u4E24\u4E2A\u5C42\u7EA7\u7684\u6570\u636E\u5947\u5076\u6821\u9A8C\u4EE5\u5B58\u50A8\u7B49\u4E8E 2 \u4E2A\u786C\u76D8\u5BB9\u91CF\u7684\u5197\u4F59\u6570\u636E\uFF0C\u63D0\u4F9B\u6BD4 RAID 5 \u66F4\u5927\u7A0B\u5EA6\u7684\u6570\u636E\u5197\u4F59\u3002"),select:4},{name:"raid10",title:"RAID 10",info:a("\u81F3\u5C11\u9700\u89814\u5757\u786C\u76D8\uFF0C\u63D0\u4F9B RAID 0 \u7684\u6027\u80FD\u548C RAID 1 \u7684\u6570\u636E\u4FDD\u62A4\u7EA7\u522B\uFF0C\u5C06\u786C\u76D8\u7EC4\u5408\u8FDB\u955C\u50CF\u6570\u636E\u7684\u7531\u4E24\u4E2A\u786C\u76D8\u7EC4\u6210\u7684\u7EC4\u3002"),select:4}],f=$("raid5"),v=$([]),b=m=>{let g="";return h.forEach(F=>{F.name===m&&(g=F.info)}),g},_=$(!1),y=bt({loading:!1,members:[]}),k=m=>{};(()=>L(this,null,function*(){y.loading=!0;try{const m=yield M.Raid.CreateList.GET();if(m!=null&&m.data){const{success:g,error:F,result:Y}=m.data;if(Y&&(y.members=Y.members||[]),F)throw F}}catch(m){console.log(m)}finally{y.loading=!1}}))();const p=()=>L(this,null,function*(){const m=h.filter(F=>F.name===f.value)[0],g=v.value;if(!m){E.Warning(a("\u8BF7\u9009\u62E9raid\u7C7B\u578B"));return}if(g.length==0){E.Warning(a("\u8BF7\u9009\u62E9\u78C1\u76D8"));return}if(m.select>g.length){E.Warning(a("\u8BF7\u9009\u62E9\u81F3\u5C11%{min}\u5757\u78C1\u76D8",{min:""+m.select}));return}if(!!confirm(a("\u662F\u5426\u7ACB\u5373\u521B\u5EFA %{name}\uFF1F\u9009\u62E9\u7684\u786C\u76D8\u6240\u6709\u5206\u533A\u5C06\u4F1A\u88AB\u6E05\u9664\uFF0C\u6B64\u64CD\u4F5C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u786C\u76D8\u6570\u636E\u4E22\u5931\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002",{name:m.name}))&&!!confirm(a("\u786E\u5B9A\u521B\u5EFA %{name}\uFF1F\u8BE5\u64CD\u4F5C\u4E0D\u53EF\u9006,\u8BF7\u8C28\u614E\u64CD\u4F5C",{name:m.name}))){_.value=!0,c.value="loading";try{const F=yield M.Raid.Create.POST({level:m.name,devicePaths:g});if(F.data){const{success:Y,error:A,result:C}=F.data;if(A)throw A;(Y||0)==0&&(c.value="success",r())}}catch(F){x.value=F,c.value="error"}finally{_.value=!1}}});return(m,g)=>{const F=pt("icon-loading"),Y=pt("icon-error"),A=pt("icon-success");return s(),l("div",ux,[t("div",cx,[t("span",null,o(e(a)("RAID\u521B\u5EFA\u5411\u5BFC")),1)]),c.value=="init"?(s(),l(O,{key:0},[t("div",px,[t("p",null,o(e(a)("RAID\u78C1\u76D8\u9635\u5217\u662F\u7528\u591A\u4E2A\u72EC\u7ACB\u7684\u78C1\u76D8\u7EC4\u6210\u5728\u4E00\u8D77\u5F62\u6210\u4E00\u4E2A\u5927\u7684\u78C1\u76D8\u7CFB\u7EDF\uFF0C\u4ECE\u800C\u5B9E\u73B0\u6BD4\u5355\u5757\u78C1\u76D8\u66F4\u597D\u7684\u5B58\u50A8\u6027\u80FD\u548C\u66F4\u9AD8\u7684\u53EF\u9760\u6027\u3002")),1),t("div",fx,[t("div",mx,[t("span",null,o(e(a)("RAID\u7EA7\u522B\uFF1A")),1)]),t("div",vx,[T(t("select",{"onUpdate:modelValue":g[0]||(g[0]=C=>f.value=C),onChange:k},[(s(),l(O,null,J(h,C=>t("option",{value:C.name},o(C.title),9,bx)),64))],544),[[rt,f.value]])]),t("div",gx,[z(Lt),nt(" "+o(b(f.value)),1)])]),t("div",hx,[t("div",_x,[t("span",null,o(e(a)("\u78C1\u76D8\u9635\u5217\u6210\u5458\uFF1A")),1)]),e(y).loading?(s(),l("div",xx,[t("span",wx,o(e(a)("\u68C0\u6D4B\u4E2D...")),1)])):(s(),l("div",kx,[e(y).members.length>0?(s(!0),l(O,{key:0},J(e(y).members,C=>(s(),l("label",null,[T(t("input",{type:"checkbox","onUpdate:modelValue":g[1]||(g[1]=B=>v.value=B),value:C.path},null,8,yx),[[Rt,v.value]]),nt(" \u3010"+o(C.model)+"\u3011"+o(C.name)+" "+o(C.path)+" ["+o(C.sizeStr)+"] ",1)]))),256)):(s(),l("span",Fx,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u53EF\u7528\u78C1\u76D8\u9635\u5217\u6210\u5458")),1))])),t("div",Ex,[z(Lt),nt(" "+o(e(a)("\u9009\u62E9\u5C06\u8981\u7528\u4E8E\u521B\u5EFA RAID \u7684\u786C\u76D8\uFF0C\u901A\u8FC7 USB \u63A5\u5165\u7684\u8BBE\u5907\u4E0D\u4F1A\u5728\u5217\u8868\u4E2D\u663E\u793A\uFF08USB\u63A5\u5165\u4E0D\u7A33\u5B9A\uFF09\u3002")),1)])])]),t("div",$x,[t("div",{class:"close",onClick:u,disabled:_.value},o(e(a)("\u53D6\u6D88")),9,Cx),t("div",{class:"next",onClick:p,disabled:_.value},o(e(a)("\u521B\u5EFA")),9,Dx)])],64)):c.value=="loading"?(s(),l("div",Bx,[z(F,{size:60,color:"#666"}),t("span",null,o(e(a)("\u6B63\u5728\u521B\u5EFA\u4E2D...")),1)])):c.value=="error"?(s(),l(O,{key:2},[t("div",Yx,[z(Y),t("span",null,o(x.value),1)]),t("div",Ax,[t("div",{class:"close",onClick:u},o(e(a)("\u5173\u95ED")),1),t("div",{class:"next",onClick:p,disabled:_.value},o(e(a)("\u91CD\u65B0\u521B\u5EFA")),9,Sx)])],64)):c.value=="success"?(s(),l(O,{key:3},[t("div",zx,[z(A),t("div",Px,o(e(a)("\u521B\u5EFA\u6210\u529F")),1)]),t("div",Tx,[t("div",{class:"close",onClick:u},o(e(a)("\u5173\u95ED")),1)])],64)):D("",!0)])}}});var Lx=N(Ix,[["__scopeId","data-v-77451104"]]);const Mx={class:"actioner-container"},Nx={class:"actioner-container_body"},Ox=["value"],Vx={class:"actioner-container_footer"},Gx=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=$("");return(()=>{M.Raid.Detail.POST({path:i.raid.path}).then(x=>{if(x.data){const{result:h,error:f}=x.data;f?r.value=f:r.value=(h==null?void 0:h.detail)||""}}).catch(x=>{r.value=x.message})})(),(x,h)=>(s(),l("div",Mx,[t("div",Nx,[t("textarea",{value:r.value},null,8,Ox)]),t("div",Vx,[t("div",{class:"close",onClick:u},o(e(a)("\u5173\u95ED")),1)])]))}});var jx=N(Gx,[["__scopeId","data-v-5ec616d8"]]);const qx={class:"actioner-container"},Ux={class:"actioner-container_header"},Rx={class:"actioner-container_body"},Wx={class:"label-item"},Hx={class:"label-item_key"},Zx={class:"label-item_value"},Jx={disabled:""},Kx={class:"label-item"},Qx={class:"label-item_key"},Xx={key:0,class:"label-item_value"},tw={class:"msg-warning"},ew={key:1,class:"label-item_value"},aw=["value"],ow={key:1,class:"msg-warning"},nw={class:"actioner-container_footer"},iw=["disabled"],rw=["disabled"],sw=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=()=>L(this,null,function*(){const b=f.value;if(b==""){E.Warning(a("\u8BF7\u9009\u62E9\u8981\u6DFB\u52A0\u7684\u786C\u76D8"));return}h.value=!0;const _=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const y=yield M.Raid.Add.POST({path:i.raid.path,memberPath:b});if(y.data){const{error:k,success:w}=y.data;if(k)throw k;(w||0)==0&&(E.Success(a("\u4FDD\u5B58\u6210\u529F")),r(),u())}}catch(y){E.Error(`${y}`)}finally{h.value=!1,_.Close()}}),x=bt({loading:!1,members:[]}),h=$(!1),f=$("");return(()=>L(this,null,function*(){x.loading=!0,h.value=!0;try{const b=yield M.Raid.CreateList.GET();if(b!=null&&b.data){const{success:_,error:y,result:k}=b.data;if(k&&(x.members=k.members||[]),y)throw y}}catch(b){console.log(b)}finally{h.value=!1,x.loading=!1}}))(),(b,_)=>(s(),l("div",qx,[t("div",Ux,[t("span",null,"RAID - "+o(n.raid.name)+" "+o(e(a)("\u4FEE\u6539")),1)]),t("div",Rx,[t("div",Wx,[t("div",Hx,o(e(a)("\u8BBE\u5907")),1),t("div",Zx,[t("select",Jx,[t("option",null,o(n.raid.name)+"_"+o(n.raid.venderModel)+" ("+o(n.raid.path)+"\uFF0C"+o(n.raid.level)+"\uFF0C"+o(n.raid.size)+") ",1)])])]),t("div",Kx,[t("div",Qx,o(e(a)("\u9009\u62E9\u786C\u76D8\uFF08\u9009\u62E9\u88AB\u6DFB\u52A0\u5230RAID\u7684\u786C\u76D8\uFF09\uFF1A")),1),e(x).loading?(s(),l("div",Xx,[t("span",tw,o(e(a)("\u68C0\u6D4B\u4E2D...")),1)])):(s(),l("div",ew,[e(x).members.length>0?(s(!0),l(O,{key:0},J(e(x).members,y=>(s(),l("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":_[0]||(_[0]=k=>f.value=k),value:y.path},null,8,aw),[[yt,f.value]]),nt(" \u3010"+o(y.model)+"\u3011"+o(y.name)+" "+o(y.path)+" ["+o(y.sizeStr)+"] ",1)]))),256)):(s(),l("span",ow,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u53EF\u7528\u78C1\u76D8\u9635\u5217\u6210\u5458")),1))]))])]),t("div",nw,[t("div",{class:"close",onClick:u,disabled:h.value},o(e(a)("\u53D6\u6D88")),9,iw),t("div",{class:"next",onClick:c,disabled:h.value},o(e(a)("\u4FDD\u5B58")),9,rw)])]))}});var dw=N(sw,[["__scopeId","data-v-70cb932e"]]);const lw={class:"actioner-container"},uw={class:"actioner-container_header"},cw={class:"actioner-container_body"},pw={class:"label-item"},fw={class:"label-item_key"},mw={class:"label-item_value"},vw={disabled:""},bw={class:"label-item"},gw={class:"label-item_key"},hw={class:"label-item_value"},_w=["value"],xw={class:"actioner-container_footer"},ww=["disabled"],kw=["disabled"],yw=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=()=>L(this,null,function*(){const f=h.value;if(f==""){E.Warning(a("\u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u786C\u76D8"));return}x.value=!0;const v=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const b=yield M.Raid.Remove.POST({path:i.raid.path,memberPath:f});if(b.data){const{error:_,success:y}=b.data;if(_)throw _;(y||0)==0&&(E.Success(a("\u4FDD\u5B58\u6210\u529F")),r(),u())}}catch(b){E.Error(`${b}`)}finally{x.value=!1,v.Close()}}),x=$(!1),h=$("");return(f,v)=>(s(),l("div",lw,[t("div",uw,[t("span",null,"RAID - "+o(n.raid.name)+" "+o(e(a)("\u79FB\u9664")),1)]),t("div",cw,[t("div",pw,[t("div",fw,o(e(a)("\u8BBE\u5907")),1),t("div",mw,[t("select",vw,[t("option",null,o(n.raid.name)+"_"+o(n.raid.venderModel)+" ("+o(n.raid.path)+"\uFF0C"+o(n.raid.level)+"\uFF0C"+o(n.raid.size)+") ",1)])])]),t("div",bw,[t("div",gw,o(e(a)("\u9009\u62E9\u786C\u76D8\uFF08\u9009\u62E9\u8981\u4ECERAID\u9635\u5217\u4E2D\u5220\u9664\u7684\u786C\u76D8\uFF09\uFF1A")),1),t("div",hw,[(s(!0),l(O,null,J(n.raid.members,b=>(s(),l("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":v[0]||(v[0]=_=>h.value=_),value:b},null,8,_w),[[yt,h.value]]),nt(" "+o(b),1)]))),256))])])]),t("div",xw,[t("div",{class:"close",onClick:u,disabled:x.value},o(e(a)("\u53D6\u6D88")),9,ww),t("div",{class:"next",onClick:c,disabled:x.value},o(e(a)("\u4FDD\u5B58")),9,kw)])]))}});var Fw=N(yw,[["__scopeId","data-v-56c0f6fb"]]);const Ew={class:"actioner-container"},$w={class:"actioner-container_header"},Cw={class:"actioner-container_body"},Dw={class:"label-item"},Bw={class:"label-item_key"},Yw={class:"label-item_value"},Aw={disabled:""},Sw={class:"label-item"},zw={class:"label-item_key"},Pw={key:0,class:"label-item_value"},Tw={class:"msg-warning"},Iw={key:1,class:"label-item_value"},Lw=["value"],Mw={key:1,class:"msg-warning"},Nw={class:"actioner-container_footer"},Ow=["disabled"],Vw=["disabled"],Gw=G({props:{Close:{type:Function,required:!0},raid:{type:Object,required:!0},success:{type:Function}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=()=>{i.Close()},r=()=>{i.success&&i.success()},c=()=>L(this,null,function*(){const b=f.value;if(b==""){E.Warning(a("\u8BF7\u9009\u62E9\u8981\u6DFB\u52A0\u7684\u786C\u76D8"));return}h.value=!0;const _=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const y=yield M.Raid.Recover.POST({path:i.raid.path,memberPath:b});if(y.data){const{error:k,success:w}=y.data;if(k)throw k;(w||0)==0&&(E.Success(a("\u4FDD\u5B58\u6210\u529F")),r(),u())}}catch(y){E.Error(`${y}`)}finally{h.value=!1,_.Close()}}),x=bt({loading:!1,members:[]}),h=$(!1),f=$("");return(()=>L(this,null,function*(){x.loading=!0,h.value=!0;try{const b=yield M.Raid.CreateList.GET();if(b!=null&&b.data){const{success:_,error:y,result:k}=b.data;if(k&&(x.members=k.members||[]),y)throw y}}catch(b){console.log(b)}finally{h.value=!1,x.loading=!1}}))(),(b,_)=>(s(),l("div",Ew,[t("div",$w,[t("span",null,"RAID - "+o(n.raid.name)+" "+o(e(a)("\u6062\u590D")),1)]),t("div",Cw,[t("div",Dw,[t("div",Bw,o(e(a)("\u8BBE\u5907")),1),t("div",Yw,[t("select",Aw,[t("option",null,o(n.raid.name)+"_"+o(n.raid.venderModel)+" ("+o(n.raid.path)+"\uFF0C"+o(n.raid.level)+"\uFF0C"+o(n.raid.size)+") ",1)])])]),t("div",Sw,[t("div",zw,o(e(a)("\u9009\u62E9\u786C\u76D8\uFF08\u9009\u62E9\u7A7A\u95F2\u7684\u786C\u76D8\u6062\u590DRAID\u8BBE\u5907\uFF09\uFF1A")),1),e(x).loading?(s(),l("div",Pw,[t("span",Tw,o(e(a)("\u68C0\u6D4B\u4E2D...")),1)])):(s(),l("div",Iw,[e(x).members.length>0?(s(!0),l(O,{key:0},J(e(x).members,y=>(s(),l("label",null,[T(t("input",{type:"radio","onUpdate:modelValue":_[0]||(_[0]=k=>f.value=k),value:y.path},null,8,Lw),[[yt,f.value]]),nt(" \u3010"+o(y.model)+"\u3011"+o(y.name)+" "+o(y.path)+" ["+o(y.sizeStr)+"] ",1)]))),256)):(s(),l("span",Mw,o(e(a)("\u68C0\u6D4B\u4E0D\u5230\u53EF\u7528\u78C1\u76D8\u9635\u5217\u6210\u5458")),1))]))])]),t("div",Nw,[t("div",{class:"close",onClick:u,disabled:h.value},o(e(a)("\u53D6\u6D88")),9,Ow),t("div",{class:"next",onClick:c,disabled:h.value},o(e(a)("\u4FDD\u5B58")),9,Vw)])]))}});var jw=N(Gw,[["__scopeId","data-v-0586260e"]]);const qw={class:"action-main"},Uw=G({props:{Close:{type:Function,required:!0},setup:{type:String,default:"create"},raid:{type:Object},success:{type:Function}},setup(n){return(i,a)=>(s(),H(ht,{type:2},{default:R(()=>[t("div",qw,[n.setup=="create"?(s(),H(Lx,{key:0,Close:n.Close},null,8,["Close"])):n.setup=="info"&&n.raid!=null?(s(),H(jx,{key:1,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):n.setup=="edit"&&n.raid!=null?(s(),H(dw,{key:2,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):n.setup=="remove"&&n.raid!=null?(s(),H(Fw,{key:3,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):n.setup=="recover"&&n.raid!=null?(s(),H(jw,{key:4,Close:n.Close,raid:n.raid,success:n.success},null,8,["Close","raid","success"])):D("",!0)])]),_:1}))}});var Rw=N(Uw,[["__scopeId","data-v-e20ba082"]]);const ce=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(Rw,mt(ut({},n),{Close:()=>{d()}}));a.use(Ba),a.mount(i);const d=()=>{a.unmount(),i.remove()};return{Close:d}},ja=n=>(st("data-v-f1411b40"),n=n(),dt(),n),Ww={id:"page"},Hw={name:"content"},Zw={class:"cbi-map-descr"},Jw={style:{color:"#f5365b","margin-top":"10px"}},Kw={style:{color:"#f5365b","margin-top":"10px"}},Qw={class:"btns"},Xw=["disabled"],tk={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},ek={class:"table cbi-section-table"},ak={style:{}},ok={class:"tr cbi-section-table-titles anonymous"},nk={class:"th cbi-section-table-cell","data-widget":"value"},ik={class:"th cbi-section-table-cell","data-widget":"value"},rk={class:"th cbi-section-table-cell","data-widget":"value"},sk={class:"th cbi-section-table-cell","data-widget":"value"},dk={class:"th cbi-section-table-cell","data-widget":"value"},lk={class:"th cbi-section-table-cell","data-widget":"value"},uk={class:"th cbi-section-table-cell","data-widget":"value"},ck={class:"th cbi-section-table-cell","data-widget":"value"},pk={class:"tr cbi-section-table-row"},fk={class:"td cbi-value-field"},mk={class:"td cbi-value-field"},vk=["title"],bk={class:"item-status"},gk={key:0,class:"item-status item-status-detail"},hk={class:"td cbi-value-field"},_k={class:"td cbi-value-field"},xk={class:"td cbi-value-field"},wk=ja(()=>t("br",null,null,-1)),kk={class:"td cbi-value-field"},yk=ja(()=>t("br",null,null,-1)),Fk={key:1,href:"/cgi-bin/luci/admin/quickstart/"},Ek={class:"td cbi-section-table-cell nowrap cbi-section-actions"},$k=["title","disabled","onClick"],Ck=["title","disabled","onClick"],Dk=["title","onClick"],Bk=["title","onClick"],Yk=["title","onClick"],Ak=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=bt({disksList:[]}),u=()=>L(this,null,function*(){try{const p=yield M.Raid.List.GET();if(p!=null&&p.data){const{success:m,error:g,result:F}=p.data;if(F&&(d.disksList=F.disks||[]),g)throw g}}catch(p){console.log(p)}}),r=It.easyInterval(u,5e3);Ye(()=>{r()});const c=p=>{switch(p.level){case"raid0":case"jbod":return!0}return p.status.indexOf("degraded")!=-1||p.status.indexOf("resyncing(")!=-1},x=p=>{let m=[];return p.childrens&&p.childrens.forEach(g=>{g.mountPoint&&m.push(`${g.name}(${g.mountPoint})`)}),m},h=()=>L(this,null,function*(){ce({setup:"create",success:()=>{u()}})}),f=p=>{ce({setup:"info",raid:p})},v=p=>L(this,null,function*(){if(p.childrens&&p.childrens.length>0&&p.childrens.filter(F=>F.mountPoint).length>0){Be({content:i("\u5220\u9664 RAID \u8BBE\u5907\u4E4B\u524D\u8BF7\u5148\u5378\u8F7D\u6587\u4EF6\u7CFB\u7EDF"),nextTitle:i("\u53BB\u5378\u8F7D"),next:()=>{location.href="/cgi-bin/luci/admin/system/mounts"},clearTitle:i("\u53D6\u6D88"),clear:()=>{}});return}if(!confirm(i("\u786E\u5B9A\u8981\u5220\u9664 %{name} \u8BE5\u78C1\u76D8\u9635\u5217\u5417\uFF1F\u5220\u9664\u64CD\u4F5C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u6570\u636E\u4E22\u5931\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002\u5220\u9664\u6210\u529F\u540E\uFF0C\u5982\u9700\u53E6\u5916\u7EC4RAID\uFF0C\u5EFA\u8BAE\u7A0D\u7B49\u51E0\u5206\u949F\u540E\u518D\u8BD5\u3002",{name:p.name}))||!confirm(i("\u786E\u5B9A\u8981\u5220\u9664 %{name} \u5417?",{name:p.name})))return;const m=E.Loading(i("\u5220\u9664\u4E2D..."));try{const g=yield M.Raid.Delete.POST({path:p.path,members:p.members});if(g.data){const{success:F,error:Y}=g.data;if(Y)throw Y;(F||0)==0&&(E.Success(i("\u5220\u9664\u6210\u529F")),u())}}catch(g){E.Error(`${g}`)}finally{m.Close()}}),b=p=>{ce({setup:"edit",raid:p,success:()=>{u()}})},_=p=>{ce({setup:"remove",raid:p,success:()=>{u()}})},y=p=>{ce({setup:"recover",raid:p,success:()=>{u()}})},k=$(!1),w=()=>{Be({content:i("\u5C06\u626B\u63CF\u78C1\u76D8\u91CC RAID \u7684\u78C1\u76D8\u9635\u5217\u914D\u7F6E\u5E76\u6062\u590D\uFF0C\u786E\u5B9A\u8981\u6062\u590D RAID \u78C1\u76D8\u9635\u5217\u5417\uFF1F"),nextTitle:i("\u786E\u5B9A"),next:()=>L(this,null,function*(){k.value=!0;const p=E.Loading(i("\u626B\u63CF\u4E2D..."));try{const m=yield M.Raid.Autofix.GET();if(m.data){const{error:g,success:F}=m.data;if(g)throw g;(F||0)==0&&(E.Success(i("\u6062\u590D\u5B8C\u6210")),u())}}catch(m){E.Error(`${m}`)}finally{p.Close(),k.value=!1}}),clearTitle:i("\u53D6\u6D88"),clear:()=>{}})};return(p,m)=>(s(),l("div",Ww,[t("h2",Hw,o(e(i)("RAID\u7BA1\u7406")),1),t("div",Zw,[t("p",null,o(e(i)("RAID \uFF08 Redundant Array of Independent Disks \uFF09\u5373\u72EC\u7ACB\u78C1\u76D8\u5197\u4F59\u9635\u5217\uFF0C\u7B80\u79F0\u4E3A\u300C\u78C1\u76D8\u9635\u5217\u300D\uFF0C\u5C31\u662F\u7528\u591A\u4E2A\u72EC\u7ACB\u7684\u78C1\u76D8\u7EC4\u6210\u5728\u4E00\u8D77\u5F62\u6210\u4E00\u4E2A\u5927\u7684\u78C1\u76D8\u7CFB\u7EDF\uFF0C\u4ECE\u800C\u5B9E\u73B0\u6BD4\u5355\u5757\u78C1\u76D8\u66F4\u597D\u7684\u5B58\u50A8\u6027\u80FD\u548C\u66F4\u9AD8\u7684\u53EF\u9760\u6027\u3002")),1),t("p",Jw," * "+o(e(i)("RAID\u529F\u80FD\u6B63\u5728\u516C\u6D4B\u4E2D\uFF0C\u4F7F\u7528\u8FC7\u7A0B\u4E2D\u5982\u9020\u6210\u6570\u636E\u4E22\u5931\u7B49\u95EE\u9898\uFF0C\u6982\u4E0D\u8D1F\u8D23\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528\u3002")),1),t("p",Kw," * "+o(e(i)("\u5982\u679C\u7531\u4E8E\u7CFB\u7EDF\u91CD\u7F6E\u6216\u91CD\u542F\u5BFC\u81F4\u7684RAID\u8BBE\u5907\u4E22\u5931\u53EF\u4EE5\u5C1D\u8BD5\u901A\u8FC7\u4E0B\u65B9'\u626B\u63CF\u6062\u590DRAID'\u6309\u94AE\u6062\u590D")),1)]),t("div",Qw,[t("button",{class:"btn cbi-button cbi-button-apply",onClick:m[0]||(m[0]=g=>h())},o(e(i)("\u521B\u5EFARAID")),1),t("button",{class:"btn cbi-button cbi-button-apply",onClick:m[1]||(m[1]=g=>w()),disabled:k.value},o(e(i)("\u626B\u63CF\u6062\u590DRAID")),9,Xw)]),t("div",null,[t("div",tk,[t("table",ek,[t("tbody",ak,[t("tr",ok,[t("th",nk,o(e(i)("\u540D\u79F0")),1),t("th",ik,o(e(i)("\u8BBE\u5907")),1),t("th",rk,o(e(i)("\u72B6\u6001")),1),t("th",sk,o(e(i)("\u7EA7\u522B")),1),t("th",dk,o(e(i)("\u5BB9\u91CF")),1),t("th",lk,o(e(i)("\u6210\u5458")),1),t("th",uk,o(e(i)("\u6302\u8F7D\u4FE1\u606F")),1),t("th",ck,o(e(i)("\u64CD\u4F5C")),1)]),(s(!0),l(O,null,J(e(d).disksList,g=>(s(),l("tr",pk,[t("td",fk,[t("b",null,o(g.name),1)]),t("td",mk,[t("b",null,o(g.path),1)]),t("td",{class:"td cbi-value-field",title:g.status+(g.rebuildStatus||"")},[t("b",bk,o(g.status),1),g.rebuildStatus?(s(),l("b",gk," \u2026 ")):D("",!0)],8,vk),t("td",hk,[t("b",null,o(g.level),1)]),t("td",_k,[t("b",null,o(g.size),1)]),t("td",xk,[(s(!0),l(O,null,J(g.members,F=>(s(),l("b",null,[nt(o(F)+" ",1),wk]))),256))]),t("td",kk,[x(g).length>0?(s(!0),l(O,{key:0},J(x(g),F=>(s(),l("b",null,[nt(o(F)+" ",1),yk]))),256)):(s(),l("a",Fk,o(e(i)("\u53BB\u6302\u8F7D")),1))]),t("td",Ek,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u6269\u5145"),disabled:c(g),onClick:F=>b(g)},o(e(i)("\u6269\u5145")),9,$k),t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u79FB\u9664"),disabled:c(g),onClick:F=>_(g)},o(e(i)("\u79FB\u9664")),9,Ck),t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u6062\u590D"),onClick:F=>y(g)},o(e(i)("\u6062\u590D")),9,Dk),t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u8BE6\u60C5"),onClick:F=>f(g)},o(e(i)("\u8BE6\u60C5")),9,Bk),t("button",{class:"cbi-button cbi-button-remove",title:e(i)("\u5982\u679C\u60A8\u5728RAID\u78C1\u76D8\u9635\u5217\u4E2D\u521B\u5EFA\u4E86\u6587\u4EF6\u7CFB\u7EDF\uFF0C\u5148\u5378\u8F7D\u6587\u4EF6\u7CFB\u7EDF\uFF0C\u540E\u5220\u9664\u6587\u4EF6\u7CFB\u7EDF\u5220\u9664\u64CD\u4F5C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u6570\u636E\u4E22\u5931\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),onClick:F=>v(g)},o(e(i)("\u5220\u9664")),9,Yk)])]))),256))])])])])]))}});var Sk=N(Ak,[["__scopeId","data-v-f1411b40"]]);const zk=n=>(st("data-v-2b6b4ef9"),n=n(),dt(),n),Pk={id:"page"},Tk=zk(()=>t("h2",{name:"content"},"S.M.A.R.T.",-1)),Ik={class:"cbi-map-descr"},Lk={class:"tabs"},Mk=["href","onClick"],Nk=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=[{to:"/smart",name:i("\u5E38\u89C4\u8BBE\u7F6E")},{to:"/smart/task",name:i("\u8BA1\u5212\u4EFB\u52A1")},{to:"/smart/log",name:i("\u67E5\u770B\u65E5\u5FD7")}],u=$(!1),r=bt({global:{enable:!1,powermode:"never",tmpDiff:0,tmpMax:0},devices:[],tasks:[]}),c=f=>{const{global:v,devices:b,tasks:_}=f;v&&(r.global.enable=v.enable||!1,r.global.powermode=v.powermode||"never"),r.devices=b||[],r.tasks=_||[]};(()=>L(this,null,function*(){try{const f=yield M.Smart.Config.GET();if(f.data){const{result:v}=f.data;v&&c(v)}}catch(f){}finally{u.value=!0}}))();const h=f=>L(this,null,function*(){const v=E.Loading(i("\u4FDD\u5B58\u4E2D..."));try{const b=yield M.Smart.Config.POST(f);if(b.data){console.log(b.data);const{success:_,error:y,result:k}=b.data;if(y)throw y;(_||0)==0&&(E.Success(i("\u4FDD\u5B58\u6210\u529F")),k&&c(k))}}catch(b){E.Error(`${b}`)}finally{v.Close()}});return(f,v)=>{const b=pt("router-link"),_=pt("router-view");return s(),l("div",Pk,[Tk,t("div",Ik,[t("p",null,o(e(i)("S.M.A.R.T.\uFF0C\u5168\u79F0\u4E3A\u201CSelf-Monitoring Analysis and Reporting Technology\u201D\uFF0C\u5373\u201C\u81EA\u6211\u76D1\u6D4B\u3001\u5206\u6790\u53CA\u62A5\u544A\u6280\u672F\u201D\uFF0C")),1),t("p",null,o(e(i)("\u662F\u4E00\u79CD\u81EA\u52A8\u7684\u786C\u76D8\u72B6\u6001\u68C0\u6D4B\u4E0E\u9884\u8B66\u7CFB\u7EDF\u548C\u89C4\u8303\u3002\u901A\u8FC7\u5728\u786C\u76D8\u786C\u4EF6\u5185\u7684\u68C0\u6D4B\u6307\u4EE4\u5BF9\u786C\u76D8\u7684\u786C\u4EF6\u5982\u78C1\u5934\u3001\u76D8\u7247\u3001\u9A6C\u8FBE\u3001")),1),t("p",null,o(e(i)("\u7535\u8DEF\u7684\u8FD0\u884C\u60C5\u51B5\u8FDB\u884C\u76D1\u63A7\u3001\u8BB0\u5F55\u5E76\u4E0E\u5382\u5546\u6240\u8BBE\u5B9A\u7684\u9884\u8BBE\u5B89\u5168\u503C\u8FDB\u884C\u6BD4\u8F83\uFF0C\u82E5\u76D1\u63A7\u60C5\u51B5\u5C06\u8981\u6216\u5DF2\u8D85\u51FA\u9884\u8BBE\u5B89\u5168\u503C\u7684\u5B89\u5168\u8303\u56F4\uFF0C")),1),t("p",null,o(e(i)("\u5C31\u53EF\u4EE5\u901A\u8FC7\u4E3B\u673A\u7684\u76D1\u63A7\u786C\u4EF6\u6216\u8F6F\u4EF6\u81EA\u52A8\u5411\u7528\u6237\u4F5C\u51FA\u8B66\u544A\u5E76\u8FDB\u884C\u8F7B\u5FAE\u7684\u81EA\u52A8\u4FEE\u590D\uFF0C\u4EE5\u63D0\u524D\u4FDD\u969C\u786C\u76D8\u6570\u636E\u7684\u5B89\u5168\u3002")),1)]),t("ul",Lk,[(s(),l(O,null,J(d,y=>z(b,{to:y.to,custom:"",key:y.to},{default:R(({route:k,href:w,navigate:p,isActive:m,isExactActive:g})=>[t("li",{class:ct({"active cbi-tab":m&&g})},[t("a",{href:w,onClick:p},o(y.name),9,Mk)],2)]),_:2},1032,["to"])),64))]),u.value?(s(),H(_,{key:0,name:"default"},{default:R(({Component:y,route:k})=>[(s(),H(oo,null,{default:R(()=>[(s(),H(no(y),{key:k.path,config:e(r),saveData:h},null,8,["config"]))]),_:2},1024))]),_:1})):D("",!0)])}}});var Ok=N(Nk,[["__scopeId","data-v-2b6b4ef9"]]);const Vk={class:"action-main"},Gk=G({setup(n){return(i,a)=>(s(),H(ht,{type:2},{default:R(()=>[t("div",Vk,[Pt(i.$slots,"default",{},void 0,!0)])]),_:3}))}});var Le=N(Gk,[["__scopeId","data-v-f3b0d6f0"]]);const jk={class:"actioner-container"},qk={class:"actioner-container_header"},Uk={class:"actioner-container_body"},Rk={class:"cbi-value"},Wk={class:"cbi-value-title"},Hk={class:"cbi-value-field"},Zk={class:"cbi-value-description"},Jk={class:"cbi-value"},Kk={class:"cbi-value-title"},Qk={class:"cbi-value-field"},Xk={class:"cbi-checkbox"},ty={value:-1},ey={value:0},ay=["value"],oy={class:"cbi-value-description"},ny={class:"cbi-value"},iy={class:"cbi-value-title"},ry={class:"cbi-value-field"},sy={class:"cbi-checkbox"},dy={value:-1},ly={value:0},uy=["value"],cy={class:"cbi-value-description"},py={class:"actioner-container_footer"},fy=["disabled"],my=["disabled"],vy=G({props:{close:{type:Function,required:!0},disk:{type:Object,required:!0},device:{type:Object},next:{type:Function,required:!0}},setup(n){var h,f,v;const i=n,{$gettext:a,$ngettext:d}=W();console.log(i.device);const u=$(!1),r=bt({tmpDiff:((h=i.device)==null?void 0:h.tmpDiff)||0,tmpMax:((f=i.device)==null?void 0:f.tmpMax)||0,devicePath:((v=i.device)==null?void 0:v.devicePath)||""}),c=()=>{u.value=!0,i.close()},x=()=>L(this,null,function*(){u.value=!0;try{yield i.next({tmpDiff:r.tmpDiff,tmpMax:r.tmpMax,devicePath:r.devicePath}),u.value=!1,c()}catch(b){}});return(b,_)=>(s(),H(Le,null,{default:R(()=>[t("div",jk,[t("div",qk,[t("span",null," S.M.A.R.T. \xBB "+o(e(a)("\u8BBE\u5907"))+" \xBB "+o(n.disk.path),1)]),t("div",Uk,[t("div",Rk,[t("label",Wk,o(e(a)("\u78C1\u76D8")),1),t("div",Hk,[t("div",Zk,o(n.disk.model)+" [ "+o(n.disk.path)+"\uFF0C"+o(n.disk.sizeStr)+" ] ",1)])]),t("div",Jk,[t("label",Kk,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u5DEE\u5F02\uFF09")),1),t("div",Qk,[t("div",Xk,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":_[0]||(_[0]=y=>e(r).tmpDiff=y)},[t("option",ty,o(e(a)("\u4F7F\u7528\u5168\u5C40\u914D\u7F6E")),1),t("option",ey,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(20,y=>t("option",{value:y},o(y)+"\xB0C",9,ay)),64))],512),[[rt,e(r).tmpDiff,void 0,{number:!0}]])]),t("div",oy,o(e(a)("\u81EA\u4E0A\u6B21\u62A5\u544A\u4EE5\u6765\u6E29\u5EA6\u53D8\u5316\u81F3\u5C11 N \u5EA6\uFF0C\u5219\u9700\u62A5\u544A.")),1)])]),t("div",ny,[t("label",iy,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u6700\u5927\uFF09")),1),t("div",ry,[t("div",sy,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":_[1]||(_[1]=y=>e(r).tmpMax=y)},[t("option",dy,o(e(a)("\u4F7F\u7528\u5168\u5C40\u914D\u7F6E")),1),t("option",ly,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(20,y=>t("option",{value:y*5},o(y*5)+"\xB0C",9,uy)),64))],512),[[rt,e(r).tmpMax,void 0,{number:!0}]])]),t("div",cy,o(e(a)("\u5982\u679C\u6E29\u5EA6\u5927\u4E8E\u6216\u7B49\u4E8E N \u6444\u6C0F\u5EA6\u5219\u62A5\u544A.")),1)])])]),t("div",py,[t("button",{class:"close",onClick:c,disabled:u.value},o(e(a)("\u53D6\u6D88")),9,fy),t("button",{class:"next",onClick:x,disabled:u.value},o(e(a)("\u4FDD\u5B58")),9,my)])])]),_:1}))}}),by={class:"actioner-container"},gy={class:"actioner-container_header"},hy={class:"actioner-container_body"},_y={class:"cbi-value"},xy={class:"cbi-value-title"},wy={class:"cbi-value-field"},ky={class:"cbi-checkbox"},yy={value:""},Fy=["value"],Ey={class:"cbi-value"},$y={class:"cbi-value-title"},Cy={class:"cbi-value-field"},Dy={class:"cbi-checkbox"},By={value:"short"},Yy={value:"long"},Ay={value:"conveyance"},Sy={value:"offline"},zy={class:"cbi-value"},Py={class:"cbi-value-title"},Ty={class:"cbi-value-field"},Iy={class:"cbi-checkbox"},Ly=t("option",{value:"*"},"*",-1),My=["value"],Ny={class:"cbi-value-description"},Oy={class:"cbi-value"},Vy={class:"cbi-value-title"},Gy={class:"cbi-value-field"},jy={class:"cbi-checkbox"},qy=t("option",{value:"*"},"*",-1),Uy=["value"],Ry={class:"cbi-value-description"},Wy={class:"cbi-value"},Hy={class:"cbi-value-title"},Zy={class:"cbi-value-field"},Jy={class:"cbi-checkbox"},Ky=t("option",{value:"*"},"*",-1),Qy=["value"],Xy={class:"cbi-value-description"},tF={class:"actioner-container_footer"},eF=["disabled"],aF=["disabled"],oF=G({props:{close:{type:Function,required:!0},config:{type:Object,required:!0},next:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=bt({type:"short",devicePath:"",month:"*",dayPerMonth:"*",hour:"*"}),c=$([]);(()=>L(this,null,function*(){try{const v=yield M.Smart.List.GET();if(v.data){const{result:b,error:_}=v.data;b&&b.disks&&(c.value=b.disks)}}catch(v){}}))();const h=()=>{u.value=!0,i.close()},f=()=>L(this,null,function*(){if(r.devicePath==""){E.Warning(a("\u8BF7\u9009\u62E9\u78C1\u76D8"));return}u.value=!0;try{yield i.next(r),h()}catch(v){}finally{u.value=!1}});return(v,b)=>(s(),H(Le,null,{default:R(()=>[t("div",by,[t("div",gy,[t("span",null,o(e(a)("\u521B\u5EFA\u8BA1\u5212\u4EFB\u52A1")),1)]),t("div",hy,[t("div",_y,[t("label",xy,o(e(a)("\u78C1\u76D8")),1),t("div",wy,[t("div",ky,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[0]||(b[0]=_=>e(r).devicePath=_)},[t("option",yy,o(e(a)("\u9009\u62E9\u78C1\u76D8")),1),(s(!0),l(O,null,J(c.value,_=>(s(),l("option",{value:_.path},o(_.model)+" [ "+o(_.path)+"\uFF0C"+o(_.sizeStr)+" ] ",9,Fy))),256))],512),[[rt,e(r).devicePath,void 0,{trim:!0}]])])])]),t("div",Ey,[t("label",$y,o(e(a)("\u7C7B\u578B")),1),t("div",Cy,[t("div",Dy,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[1]||(b[1]=_=>e(r).type=_)},[t("option",By,o(e(a)("\u77ED\u6682\u81EA\u68C0")),1),t("option",Yy,o(e(a)("\u957F\u65F6\u81EA\u68C0")),1),t("option",Ay,o(e(a)("\u4F20\u8F93\u65F6\u81EA\u68C0")),1),t("option",Sy,o(e(a)("\u79BB\u7EBF\u65F6\u81EA\u68C0")),1)],512),[[rt,e(r).type,void 0,{trim:!0}]])])])]),t("div",zy,[t("label",Py,o(e(a)("\u5C0F\u65F6")),1),t("div",Ty,[t("div",Iy,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[2]||(b[2]=_=>e(r).hour=_)},[Ly,(s(),l(O,null,J(24,(_,y)=>t("option",{value:`${y}`},o(y),9,My)),64))],512),[[rt,e(r).hour,void 0,{trim:!0}]])]),t("div",Ny,o(e(a)("* \u8868\u793A\u6BCF\u5C0F\u65F6")),1)])]),t("div",Oy,[t("label",Vy,o(e(a)("\u5929")),1),t("div",Gy,[t("div",jy,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[3]||(b[3]=_=>e(r).dayPerMonth=_)},[qy,(s(),l(O,null,J(31,_=>t("option",{value:`${_}`},o(_),9,Uy)),64))],512),[[rt,e(r).dayPerMonth,void 0,{trim:!0}]])]),t("div",Ry,o(e(a)("* \u8868\u793A\u6BCF\u5929")),1)])]),t("div",Wy,[t("label",Hy,o(e(a)("\u6708")),1),t("div",Zy,[t("div",Jy,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":b[4]||(b[4]=_=>e(r).month=_)},[Ky,(s(),l(O,null,J(12,(_,y)=>t("option",{value:`${_}`},o(_),9,Qy)),64))],512),[[rt,e(r).month,void 0,{trim:!0}]])]),t("div",Xy,o(e(a)("* \u8868\u793A\u6BCF\u6708")),1)])])]),t("div",tF,[t("button",{class:"close",onClick:h,disabled:u.value},o(e(a)("\u53D6\u6D88")),9,eF),t("button",{class:"next",onClick:f,disabled:u.value},o(e(a)("\u4FDD\u5B58")),9,aF)])])]),_:1}))}}),nF={class:"actioner-container"},iF={class:"actioner-container_header"},rF={class:"actioner-container_body"},sF=["value"],dF={class:"actioner-container_footer"},lF=["disabled"],uF=["disabled"],cF=G({props:{close:{type:Function,required:!0},task:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=$(""),c=$(""),x=$(""),h=()=>L(this,null,function*(){r.value+=".";try{const _=yield M.Smart.Test.Result.POST({type:"selftest",devicePath:i.task.devicePath||""});if(_.data){const{result:y,error:k}=_.data;y&&y.result&&(x.value=y.result),k&&(x.value=k)}}catch(_){_&&(x.value=_)}}),f=It.easyInterval(h,5e3);Ye(()=>{f()});const v=()=>{u.value=!0,f(),i.close()},b=()=>L(this,null,function*(){u.value=!0;try{const _=yield M.Smart.Test.POST({type:i.task.type||"short",devicePath:i.task.devicePath||""});if(_.data){const{success:y,error:k,result:w}=_.data;k&&(c.value=k),w&&w.result&&(c.value=w.result)}}catch(_){c.value=_}finally{}});return(_,y)=>(s(),H(Le,null,{default:R(()=>[t("div",nF,[t("div",iF,[t("span",null,o(e(a)("\u8FD0\u884C\u8C03\u8BD5")),1)]),t("div",rF,[t("textarea",{value:c.value+` +`+x.value+` +`+r.value,disabled:""},null,8,sF)]),t("div",dF,[t("div",{class:"close",onClick:v,disabled:u.value},o(e(a)("\u5173\u95ED")),9,lF),u.value?D("",!0):(s(),l("div",{key:0,class:"next",onClick:b,disabled:u.value},o(e(a)("\u8FD0\u884C")),9,uF))])])]),_:1}))}});var pF=N(cF,[["__scopeId","data-v-abf07ee0"]]);const fF={class:"actioner-container"},mF={class:"actioner-container_header"},vF={class:"tabs"},bF={class:"actioner-container_body"},gF={key:0,class:"table"},hF={class:"tr"},_F={class:"td left"},xF={class:"td left"},wF={class:"tr"},kF={class:"td left"},yF={class:"td left"},FF={class:"tr"},EF={class:"td left"},$F={class:"td left"},CF=["value"],DF=["value"],BF=["value"],YF={class:"actioner-container_footer"},AF=["disabled"],SF=G({props:{close:{type:Function,required:!0},disk:{type:Object,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=$("info"),c=_=>{switch(r.value=_,_){case"info":break;case"attribute":v();break;case"log":f();break;case"extend":b();break}},x=()=>{u.value=!0,i.close()},h=bt({log:"",attribute:"",extend:""}),f=()=>L(this,null,function*(){try{const _=yield M.Smart.Test.Result.POST({type:"selftest",devicePath:i.disk.path||""});if(_.data){const{result:y,error:k}=_.data;y&&y.result&&(h.log=y.result),k&&(h.log=k)}}catch(_){h.log=_}}),v=()=>L(this,null,function*(){try{const _=yield M.Smart.Attribute.Result.POST({devicePath:i.disk.path||""});if(_.data){const{result:y,error:k}=_.data;y&&y.result&&(h.attribute=y.result),k&&(h.attribute=k)}}catch(_){h.attribute=_}}),b=()=>L(this,null,function*(){try{const _=yield M.Smart.Extend.Result.POST({devicePath:i.disk.path||""});if(_.data){const{result:y,error:k}=_.data;y&&y.result&&(h.extend=y.result),k&&(h.extend=k)}}catch(_){h.extend=_}});return(_,y)=>(s(),H(Le,null,{default:R(()=>[t("div",fF,[t("div",mF,[t("ul",vF,[t("li",{class:ct({"active cbi-tab":r.value=="info"}),onClick:y[0]||(y[0]=k=>c("info"))},[t("a",null,o(e(a)("\u8BBE\u5907\u4FE1\u606F")),1)],2),t("li",{class:ct({"active cbi-tab":r.value=="attribute"}),onClick:y[1]||(y[1]=k=>c("attribute"))},[t("a",null,o(e(a)("\u5C5E\u6027")),1)],2),t("li",{class:ct({"active cbi-tab":r.value=="log"}),onClick:y[2]||(y[2]=k=>c("log"))},[t("a",null,o(e(a)("\u81EA\u68C0\u65E5\u5FD7")),1)],2),t("li",{class:ct({"active cbi-tab":r.value=="extend"}),onClick:y[3]||(y[3]=k=>c("extend"))},[t("a",null,o(e(a)("\u6269\u5C55\u4FE1\u606F")),1)],2)])]),t("div",bF,[r.value=="info"?(s(),l("table",gF,[t("tr",hF,[t("td",_F,o(e(a)("\u8BBE\u5907")),1),t("td",xF,o(n.disk.path),1)]),t("tr",wF,[t("td",kF,o(e(a)("\u578B\u53F7")),1),t("td",yF,o(n.disk.model),1)]),t("tr",FF,[t("td",EF,o(e(a)("\u5E8F\u53F7")),1),t("td",$F,o(n.disk.serial),1)])])):r.value=="attribute"?(s(),l("textarea",{key:1,disabled:"",value:e(h).attribute},null,8,CF)):r.value=="log"?(s(),l("textarea",{key:2,disabled:"",value:e(h).log},null,8,DF)):r.value=="extend"?(s(),l("textarea",{key:3,disabled:"",value:e(h).extend},null,8,BF)):D("",!0)]),t("div",YF,[t("div",{class:"close",onClick:x,disabled:u.value},o(e(a)("\u5173\u95ED")),9,AF)])])]),_:1}))}});var zF=N(SF,[["__scopeId","data-v-4a646cde"]]);const PF=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(vy,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Ae(a,i)},TF=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(oF,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Ae(a,i)},IF=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(pF,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Ae(a,i)},LF=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=z(zF,mt(ut({},n),{close:()=>{d()}})),d=()=>{i.remove()};Ae(a,i)},MF={class:"cbi-section"},NF={class:"cbi-value"},OF={class:"cbi-value-title"},VF={class:"cbi-value-field"},GF={class:"cbi-checkbox"},jF=["value"],qF={class:"cbi-value"},UF={class:"cbi-value-title"},RF={class:"cbi-value-field"},WF={class:"cbi-checkbox"},HF={value:"never"},ZF={value:"sleep"},JF={value:"standby"},KF={value:"idle"},QF={class:"cbi-value-description"},XF=t("br",null,null,-1),tE=t("br",null,null,-1),eE=t("br",null,null,-1),aE=t("br",null,null,-1),oE={class:"cbi-value"},nE={class:"cbi-value-title"},iE={class:"cbi-value-field"},rE={class:"cbi-checkbox"},sE={value:0},dE=["value"],lE={class:"cbi-value-description"},uE={class:"cbi-value"},cE={class:"cbi-value-title"},pE={class:"cbi-value-field"},fE={class:"cbi-checkbox"},mE={value:0},vE=["value"],bE={class:"cbi-value-description"},gE={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},hE={class:"table cbi-section-table"},_E={class:"tr cbi-section-table-titles anonymous"},xE={class:"th cbi-section-table-cell","data-widget":"value"},wE={class:"th cbi-section-table-cell","data-widget":"value"},kE={class:"th cbi-section-table-cell","data-widget":"value"},yE={class:"th cbi-section-table-cell","data-widget":"value"},FE={class:"th cbi-section-table-cell","data-widget":"value"},EE={class:"th cbi-section-table-cell","data-widget":"value"},$E={class:"th cbi-section-table-cell","data-widget":"value"},CE={class:"th cbi-section-table-cell","data-widget":"value"},DE={class:"tr cbi-section-table-row"},BE={class:"td cbi-value-field"},YE={class:"td cbi-value-field"},AE={class:"td cbi-value-field"},SE={class:"td cbi-value-field"},zE={class:"td cbi-value-field"},PE={class:"td cbi-value-field"},TE={class:"td cbi-value-field"},IE={class:"td cbi-value-field"},LE=["title","onClick"],ME=["title","onClick"],NE={class:"cbi-page-actions control-group"},OE=["value"],VE=G({props:{config:{type:Object,required:!0},saveData:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=bt(i.config),r=()=>{u.global.tmpDiff=i.config.global.tmpDiff||0,u.global.tmpMax=i.config.global.tmpMax||0,u.global.enable=i.config.global.enable||!1,u.global.powermode=i.config.global.powermode||"never",u.devices=i.config.devices||[],u.tasks=i.config.tasks||[]},c=$([]),x=()=>L(this,null,function*(){try{const _=yield M.Smart.List.GET();if(_.data){const{result:y,error:k}=_.data;y&&y.disks&&(c.value=y.disks||[])}}catch(_){}}),h=It.easyInterval(x,5e3);Ye(()=>{h()});const f=()=>L(this,null,function*(){yield i.saveData({global:u.global,devices:i.config.devices,tasks:i.config.tasks}),r()}),v=_=>{LF({disk:_})},b=(_,y)=>L(this,null,function*(){let k=null,w=-1;if(u.devices){for(let p=0;pL(this,null,function*(){p.tmpDiff==-1&&(p.tmpDiff=u.global.tmpDiff),p.tmpMax==-1&&(p.tmpMax=u.global.tmpMax),p.devicePath==""&&(p.devicePath=_.path);let m=[...u.devices];w>=0&&(m[w]=p);const g=new Map;m.forEach(F=>{F.devicePath!=null&&g.set(F.devicePath,null)});for(let F=0;F(s(),l(O,null,[t("fieldset",MF,[t("div",NF,[t("label",OF,o(e(a)("\u542F\u7528")),1),t("div",VF,[t("div",GF,[T(t("input",{type:"checkbox","onUpdate:modelValue":y[0]||(y[0]=k=>e(u).global.enable=k),value:!e(u).global.enable},null,8,jF),[[Rt,e(u).global.enable]])])])]),t("div",qF,[t("label",UF,o(e(a)("\u7535\u6E90\u6A21\u5F0F")),1),t("div",RF,[t("div",WF,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":y[1]||(y[1]=k=>e(u).global.powermode=k)},[t("option",HF,o(e(a)("\u603B\u662F")),1),t("option",ZF,o(e(a)("\u7761\u7720")),1),t("option",JF,o(e(a)("\u5F85\u673A")),1),t("option",KF,o(e(a)("\u95F2\u7F6E")),1)],512),[[rt,e(u).global.powermode,void 0,{trim:!0}]])]),t("div",QF,[t("span",null,o(e(a)("\u6D4B\u8BD5\u65F6\u78C1\u76D8\u4F1A\u8F6C\u52A8\uFF0C\u8BF7\u9009\u62E9\u5408\u9002\u7684\u6A21\u5F0F\u6765\u63A7\u5236\u78C1\u76D8\u8F6C\u52A8\u3002")),1),XF,t("span",null,"* "+o(e(a)("\u603B\u662F-\u65E0\u8BBA\u662F\u4EC0\u4E48\u529F\u8017\u6A21\u5F0F\u4E0B\u90FD\u6D4B\u8BD5(\u68C0\u67E5)\u78C1\u76D8\uFF0C\u5F53\u68C0\u67E5\u65F6\uFF0C\u8FD9\u53EF\u80FD\u4F1A\u4F7F\u505C\u8F6C\u7684\u78C1\u76D8\u5F00\u59CB\u8F6C\u52A8\u3002")),1),tE,t("span",null,"* "+o(e(a)("\u7761\u7720-\u5904\u4E8E\u7761\u7720\u6A21\u5F0F\u4E0B\u4E0D\u68C0\u67E5\u8BBE\u5907\u3002")),1),eE,t("span",null,"* "+o(e(a)("\u5F85\u673A-\u5904\u4E8E\u5F85\u673A\u548C\u7761\u7720\u6A21\u5F0F\u4E0B\u4E0D\u68C0\u67E5\u8BBE\u5907\u3002\u6B64\u6A21\u5F0F\u4E0B\u78C1\u76D8\u4E00\u822C\u4E0D\u65CB\u8F6C\uFF0C\u5982\u679C\u4F60\u4E0D\u60F3\u6BCF\u6B21\u68C0\u67E5\u90FD\u8F6C\u52A8\u78C1\u76D8\uFF0C\u90A3\u4E48\u8FD9\u4E2A\u6A21\u5F0F\u6BD4\u8F83\u9002\u5408\u3002")),1),aE,t("span",null,"* "+o(e(a)("\u95F2\u7F6E-\u5904\u4E8E\u5F85\u673A\u3001\u7761\u7720\u3001\u95F2\u7F6E\u6A21\u5F0F\u4E0B\u4E0D\u68C0\u67E5\u8BBE\u5907\uFF0C\u5728\u95F2\u7F6E\u72B6\u6001\u4E0B\uFF0C\u5927\u591A\u6570\u78C1\u76D8\u8FD8\u5728\u8F6C\u52A8\uFF0C\u6240\u4EE5\u8FD9\u53EF\u80FD\u4E0D\u9002\u5408\u4F60\u3002")),1)])])]),t("div",oE,[t("label",nE,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u5DEE\u5F02\uFF09")),1),t("div",iE,[t("div",rE,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":y[2]||(y[2]=k=>e(u).global.tmpDiff=k)},[t("option",sE,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(15,k=>t("option",{value:k},o(k)+"\xB0C",9,dE)),64))],512),[[rt,e(u).global.tmpDiff,void 0,{number:!0}]])]),t("div",lE,o(e(a)("\u81EA\u4E0A\u6B21\u62A5\u544A\u4EE5\u6765\u6E29\u5EA6\u53D8\u5316\u81F3\u5C11 N \u5EA6\uFF0C\u5219\u9700\u62A5\u544A.")),1)])]),t("div",uE,[t("label",cE,o(e(a)("\u6E29\u5EA6\u76D1\u6D4B\uFF08\u6700\u5927\uFF09")),1),t("div",pE,[t("div",fE,[T(t("select",{class:"cbi-input-select","onUpdate:modelValue":y[3]||(y[3]=k=>e(u).global.tmpMax=k)},[t("option",mE,o(e(a)("\u7981\u7528")),1),(s(),l(O,null,J(20,k=>t("option",{value:k*5},o(k*5)+"\xB0C",9,vE)),64))],512),[[rt,e(u).global.tmpMax,void 0,{number:!0}]])]),t("div",bE,o(e(a)("\u5982\u679C\u6E29\u5EA6\u5927\u4E8E\u6216\u7B49\u4E8E N \u6444\u6C0F\u5EA6\u5219\u62A5\u544A.")),1)])])]),t("div",gE,[t("table",hE,[t("thead",null,[t("tr",_E,[t("th",xE,o(e(a)("\u8BBE\u5907")),1),t("th",wE,o(e(a)("\u578B\u53F7")),1),t("th",kE,o(e(a)("\u5E8F\u53F7")),1),t("th",yE,o(e(a)("\u5BB9\u91CF")),1),t("th",FE,o(e(a)("\u6E29\u5EA6")),1),t("th",EE,o(e(a)("\u72B6\u6001")),1),t("th",$E,o(e(a)("\u5065\u5EB7")),1),t("th",CE,o(e(a)("\u64CD\u4F5C")),1)])]),t("tbody",null,[(s(!0),l(O,null,J(c.value,(k,w)=>(s(),l("tr",DE,[t("td",BE,[t("b",null,o(k.path),1)]),t("td",YE,[t("b",null,o(k.model),1)]),t("td",AE,[t("b",null,o(k.serial),1)]),t("td",SE,[t("b",null,o(k.sizeStr),1)]),t("td",zE,[t("b",null,o(k.temp),1)]),t("td",PE,[t("b",null,o(k.status),1)]),t("td",TE,[t("b",null,o(k.health),1)]),t("td",IE,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(a)("\u7F16\u8F91"),onClick:p=>b(k)},o(e(a)("\u7F16\u8F91")),9,LE),t("button",{class:"btn cbi-button cbi-button-apply",title:e(a)("\u8BE6\u60C5"),onClick:p=>v(k)},o(e(a)("\u8BE6\u60C5")),9,ME)])]))),256))])])]),t("span",NE,[t("input",{class:"btn cbi-button cbi-button-apply",type:"button",value:e(a)("\u4FDD\u5B58\u5E76\u5E94\u7528"),onClick:f},null,8,OE)])],64))}}),GE={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},jE={class:"table cbi-section-table"},qE={class:"tr cbi-section-table-titles anonymous"},UE={class:"th cbi-section-table-cell","data-widget":"value"},RE={class:"th cbi-section-table-cell","data-widget":"value"},WE={class:"th cbi-section-table-cell","data-widget":"value"},HE={class:"th cbi-section-table-cell","data-widget":"value"},ZE={class:"tr cbi-section-table-row"},JE={class:"td cbi-value-field"},KE={class:"td cbi-value-field"},QE={class:"td cbi-value-field"},XE={class:"td cbi-value-field"},t$=["title","onClick"],e$=["title","onClick"],a$=G({props:{config:{type:Object,required:!0},saveData:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=bt(i.config),r=f=>{switch(f){case"short":return a("\u77ED\u6682\u81EA\u68C0");case"long":return a("\u957F\u65F6\u81EA\u68C0");case"conveyance":return a("\u4F20\u8F93\u65F6\u81EA\u68C0");case"offline":return a("\u79BB\u7EBF\u65F6\u81EA\u68C0");default:return a("\u672A\u77E5")}},c=()=>{TF({config:i.config,disks:[],next:f=>L(this,null,function*(){yield i.saveData({tasks:[...u.tasks,f],global:i.config.global,devices:i.config.devices}),u.tasks=i.config.tasks||[]})})},x=f=>L(this,null,function*(){const v=[...u.tasks];v.splice(f,1),yield i.saveData({tasks:v,global:i.config.global,devices:i.config.devices}),u.tasks=i.config.tasks||[]}),h=f=>{IF({task:f})};return(f,v)=>(s(),l(O,null,[t("button",{class:"btn cbi-button cbi-button-apply",onClick:v[0]||(v[0]=b=>c())},o(e(a)("\u65B0\u5EFA")),1),t("div",GE,[t("table",jE,[t("thead",null,[t("tr",qE,[t("th",UE,o(e(a)("\u8BBE\u5907")),1),t("th",RE,o(e(a)("\u7C7B\u578B")),1),t("th",WE,o(e(a)("\u8C03\u5EA6")),1),t("th",HE,o(e(a)("\u529F\u80FD")),1)])]),t("tbody",null,[(s(!0),l(O,null,J(e(u).tasks,(b,_)=>(s(),l("tr",ZE,[t("td",JE,[t("b",null,o(b.devicePath),1)]),t("td",KE,[t("b",null,o(r(b.type)),1)]),t("td",QE,[t("b",null,o(b.month)+"/"+o(b.dayPerMonth)+"/"+o(b.hour),1)]),t("td",XE,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(a)("\u8C03\u8BD5"),onClick:y=>h(b)},o(e(a)("\u9884\u89C8")),9,t$),t("button",{class:"cbi-button cbi-button-remove",title:e(a)("\u5220\u9664"),onClick:y=>x(_)},o(e(a)("\u5220\u9664")),9,e$)])]))),256))])])])],64))}}),o$={class:"cbi-section"},n$=["value"],i$=G({setup(n){return L(this,null,function*(){let i,a;const d=$(""),u=()=>L(this,null,function*(){try{const r=yield M.Smart.Log.GET();if(r.data){const{result:c,error:x}=r.data;c&&c.result&&(d.value=c.result),x&&(d.value=x)}}catch(r){d.value=r}});return[i,a]=io(()=>u()),yield i,a(),(r,c)=>(s(),l("fieldset",o$,[t("textarea",{value:d.value,disabled:""},null,8,n$)]))})}});var r$=N(i$,[["__scopeId","data-v-997c3dee"]]);const s$={},d$={t:"1659511092204",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2332","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"200",height:"200"},l$=t("path",{d:"M514.048 62.464q93.184 0 175.616 35.328t143.872 96.768 96.768 143.872 35.328 175.616q0 94.208-35.328 176.128t-96.768 143.36-143.872 96.768-175.616 35.328q-94.208 0-176.64-35.328t-143.872-96.768-96.768-143.36-35.328-176.128q0-93.184 35.328-175.616t96.768-143.872 143.872-96.768 176.64-35.328zM772.096 576.512q26.624 0 45.056-18.944t18.432-45.568-18.432-45.056-45.056-18.432l-192.512 0 0-192.512q0-26.624-18.944-45.568t-45.568-18.944-45.056 18.944-18.432 45.568l0 192.512-192.512 0q-26.624 0-45.056 18.432t-18.432 45.056 18.432 45.568 45.056 18.944l192.512 0 0 191.488q0 26.624 18.432 45.568t45.056 18.944 45.568-18.944 18.944-45.568l0-191.488 192.512 0z","p-id":"2333"},null,-1),u$=[l$];function c$(n,i){return s(),l("svg",d$,u$)}var ua=N(s$,[["render",c$]]);const p$=["onSubmit"],f$={class:"actioner-dns_header"},m$={key:0},v$={key:1},b$={class:"actioner-dns_body"},g$={class:"label-item"},h$={class:"label-item_key"},_$={class:"label-item_value"},x$={class:"label-item"},w$={class:"label-item_key"},k$={class:"label-item_value"},y$={value:"dhcp"},F$={key:0,value:"pppoe"},E$={value:"static"},$$={class:"actioner-dns_footer"},C$=["disabled"],D$=G({props:{Close:{type:Function,required:!0},e:{type:String,required:!0},name:{type:String,required:!0},inface:{type:Object,required:!0},next:{type:Function,required:!0}},setup(n){const i=n,{$gettext:a,$ngettext:d}=W(),u=$(!1),r=$(i.inface),c=()=>L(this,null,function*(){E.Loading(a("\u914D\u7F6E\u4E2D...")).Close(),i.next(r.value),x()}),x=()=>{i.Close&&i.Close()};return(h,f)=>(s(),H(ht,{Close:n.Close,type:1},{default:R(()=>[t("form",{class:"actioner-dns",onSubmit:ft(c,["prevent"])},[t("div",f$,[n.name=="wan"?(s(),l("span",m$,o(n.e=="edit"?e(a)("\u7F16\u8F91WAN"):e(a)("\u6DFB\u52A0WAN")),1)):(s(),l("span",v$,o(n.e=="edit"?e(a)("\u7F16\u8F91LAN"):e(a)("\u6DFB\u52A0LAN")),1))]),t("div",b$,[t("div",g$,[t("div",h$,[t("span",null,o(e(a)("\u540D\u79F0")),1)]),t("div",_$,[t("span",null,o(r.value.name.toLocaleUpperCase()),1)])]),t("div",x$,[t("div",w$,[t("span",null,o(e(a)("\u534F\u8BAE\uFF08\u7F51\u7EDC\u83B7\u53D6\u65B9\u5F0F\uFF09")),1)]),t("div",k$,[T(t("select",{"onUpdate:modelValue":f[0]||(f[0]=v=>r.value.proto=v)},[t("option",y$,o(e(a)("DHCP\u5BA2\u6237\u7AEF")),1),n.name=="wan"?(s(),l("option",F$,"PPPoE")):D("",!0),t("option",E$,o(e(a)("\u9759\u6001\u5730\u5740")),1)],512),[[rt,r.value.proto]])])])]),t("div",$$,[t("button",{class:"cbi-button cbi-button-apply app-btn",disabled:u.value},o(e(a)("\u4FDD\u5B58")),9,C$),t("button",{class:"cbi-button cbi-button-remove app-btn app-back",onClick:x},o(e(a)("\u53D6\u6D88")),1)])],40,p$)]),_:1},8,["Close"]))}});var B$=N(D$,[["__scopeId","data-v-6f6071af"]]);const ca=n=>{const i=document.createElement("div");document.body.appendChild(i);const a=gt(B$,mt(ut({},n),{Close:()=>{d()}}));a.mount(i);const d=()=>{a.unmount(),i.remove()}},St=n=>(st("data-v-17a2fb98"),n=n(),dt(),n),Y$={id:"page"},A$={name:"content"},S$={class:"cbi-section cbi-tblsection",id:"cbi-nfs-mount"},z$={class:"table cbi-section-table"},P$={width:"200"},T$=St(()=>t("col",null,null,-1)),I$=St(()=>t("col",null,null,-1)),L$=St(()=>t("col",{width:"200"},null,-1)),M$={class:"tr cbi-section-table-cell"},N$={class:"th cbi-section-table-cell interface-device","data-widget":"value"},O$={class:"interface-device-flex"},V$=St(()=>t("th",{style:{width:"10px"}},null,-1)),G$=St(()=>t("th",{style:{width:"32px"}},null,-1)),j$=St(()=>t("th",null,null,-1)),q$={class:"tr cbi-section-table-row cbi-rowstyle-1"},U$={class:"td cbi-value-field interface-device info"},R$=["name","value","onUpdate:modelValue","onInput"],W$=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),H$={class:"td cbi-value-field"},Z$={class:"td cbi-value-field btns"},J$=["title","onClick"],K$=["onClick"],Q$={class:"tr cbi-section-table-row cbi-rowstyle-1"},X$={class:"td cbi-value-field"},tC=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),eC=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),aC={class:"tr cbi-section-table-row cbi-rowstyle-1"},oC={class:"td cbi-value-field interface-device info","data-widget":"value"},nC=["name","value","onUpdate:modelValue","onInput"],iC=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),rC={class:"td cbi-value-field"},sC={class:"td cbi-value-field btns"},dC=["title","onClick"],lC=["onClick"],uC={class:"tr cbi-section-table-row cbi-rowstyle-1"},cC={class:"td cbi-value-field"},pC=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),fC=St(()=>t("td",{class:"td cbi-value-field"},null,-1)),mC={class:"cbi-page-actions control-group"},vC=["value","disabled"],bC=G({setup(n){const{$gettext:i,$ngettext:a}=W(),d=bt({devices:[],interfaces:[]}),u=$(!1),r=bt({lan:[],wan:[]});(()=>{M.Network.GetInterfaceConfig.GET().then(y=>{if(y.data){const{result:k}=y.data;if(k){d.devices=k.devices||[],d.interfaces=k.interfaces||[];for(let w=0;w{y=="wan"?r.wan.splice(k,1):y=="lan"&&r.lan.splice(k,1)},h=(y,k)=>{if(k==null){let w=y=="wan"?r.wan.length:r.lan.length;w==6&&y=="wan"&&w++,ca({e:"add",name:y,inface:{name:y+`${w}`,proto:"dhcp",ipv4Addr:"",ipv6Addr:"",portName:"",deviceNames:[],ports:[],firewallType:y},next:p=>{y=="wan"?r.wan.push(p):r.lan.push(p),E.Message(i("\u8BF7\u5728\u4FDD\u5B58\u4EE5\u540E\u524D\u5F80'\u7F51\u7EDC-\u63A5\u53E3'\u9875\u9762\u914D\u7F6E\u63A5\u53E3\u8BE6\u7EC6\u53C2\u6570"))}})}else ca({e:"edit",name:y,inface:y=="wan"?r.wan[k]:r.lan[k],next:w=>{y=="wan"?r.wan[k]=w:r.lan[k]=w}})},f=(y,k)=>y?y.indexOf(k):-1,v=(y,k)=>{const p=y.target.value;for(let g=0;g{const p=y.target.value;for(let m=0;mL(this,null,function*(){u.value=!0;const y=[];for(let w=0;w(s(),l("div",Y$,[t("h2",A$,o(e(i)("\u7F51\u53E3\u914D\u7F6E")),1),t("div",null,[t("div",S$,[t("table",z$,[t("colgroup",null,[(s(!0),l(O,null,J(e(d).devices,w=>(s(),l("col",P$))),256)),T$,I$,L$]),t("thead",null,[t("tr",M$,[(s(!0),l(O,null,J(e(d).devices,w=>(s(),l("th",N$,[t("div",O$,[z(za,{item:w},null,8,["item"])])]))),256)),V$,G$,j$])]),t("tbody",null,[(s(!0),l(O,null,J(e(r).lan,(w,p)=>(s(),l("tr",q$,[(s(!0),l(O,null,J(e(d).devices,m=>(s(),l("td",U$,[T(t("input",{type:"checkbox",name:m.name,value:m.name,"onUpdate:modelValue":g=>w.deviceNames=g,onInput:g=>v(g,p)},null,40,R$),[[Rt,w.deviceNames]])]))),256)),W$,t("td",H$,[t("b",null,o(w.name),1)]),t("td",Z$,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u7F16\u8F91"),onClick:m=>h("lan",p)},o(e(i)("\u7F16\u8F91")),9,J$),p!=0?(s(),l("button",{key:0,class:"cbi-button cbi-button-remove",onClick:m=>x("lan",p)},o(e(i)("\u5220\u9664")),9,K$)):D("",!0)])]))),256)),t("tr",Q$,[(s(!0),l(O,null,J(e(d).devices,w=>(s(),l("td",X$))),256)),tC,eC,t("td",{class:"td cbi-value-field btns",onClick:k[0]||(k[0]=w=>h("lan"))},[z(ua,{class:"icon"})])]),(s(!0),l(O,null,J(e(r).wan,(w,p)=>(s(),l("tr",aC,[(s(!0),l(O,null,J(e(d).devices,m=>(s(),l("td",oC,[T(t("input",{type:"checkbox",name:m.name,value:m.name,"onUpdate:modelValue":g=>w.deviceNames=g,onInput:g=>b(g,p)},null,40,nC),[[Rt,w.deviceNames]])]))),256)),iC,t("td",rC,[t("b",null,o(w.name),1)]),t("td",sC,[t("button",{class:"btn cbi-button cbi-button-apply",title:e(i)("\u7F16\u8F91"),onClick:m=>h("wan",p)},o(e(i)("\u7F16\u8F91")),9,dC),p!=0?(s(),l("button",{key:0,class:"cbi-button cbi-button-remove",onClick:m=>x("wan",p)},o(e(i)("\u5220\u9664")),9,lC)):D("",!0)])]))),256)),t("tr",uC,[(s(!0),l(O,null,J(e(d).devices,w=>(s(),l("td",cC))),256)),pC,fC,t("td",{class:"td cbi-value-field btns",onClick:k[1]||(k[1]=w=>h("wan"))},[z(ua,{class:"icon"})])])])])]),t("div",mC,[t("input",{class:"btn cbi-button cbi-button-apply",type:"button",value:e(i)("\u4FDD\u5B58\u5E76\u5E94\u7528"),onClick:_,disabled:u.value},null,8,vC)])])]))}});var gC=N(bC,[["__scopeId","data-v-17a2fb98"]]);const hC={name:"CustomTable",props:{data:{type:Array,default:()=>[]},columns:{type:Array,required:!0,validator:n=>n.every(i=>i.label&&i.prop)},showSelection:{type:Boolean,default:!1},rowKey:{type:String,default:"id"},showPagination:{type:Boolean,default:!0},pageSize:{type:Number,default:10},currentPage:{type:Number,default:1},emptyText:{type:String,default:"\u6682\u65E0\u6570\u636E"},maxPagerCount:{type:Number,default:5},theadBgColor:{type:String,default:"#F8F8F8"}},emits:["selection-change","update:currentPage","page-change"],setup(n,{emit:i}){const{$gettext:a}=W(),d=$([]),u=$(!1),r=$(!1);$(null);const c=X(()=>n.data.length),x=X(()=>Math.ceil(c.value/n.pageSize)),h=X(()=>{if(!n.showPagination)return n.data;const Y=(n.currentPage-1)*n.pageSize,A=Y+n.pageSize;return n.data.slice(Y,A)}),f=X(()=>(n.currentPage-1)*n.pageSize+1),v=X(()=>{const Y=n.currentPage*n.pageSize;return Y>c.value?c.value:Y}),b=X(()=>({minWidth:`${n.columns.reduce((A,C)=>A+(parseInt(C.width)||50),n.showSelection?50:0)}px`})),_=X(()=>{const Y=[],A=Math.floor(n.maxPagerCount/2);let C=n.currentPage-A,B=n.currentPage+A;C<1&&(C=1,B=Math.min(n.maxPagerCount,x.value)),B>x.value&&(B=x.value,C=Math.max(1,B-n.maxPagerCount+1));for(let I=C;I<=B;I++)Y.push(I);return Y}),y=Y=>({width:Y.width?`${Math.max(50,parseInt(Y.width))}px`:"auto",minWidth:"50px",textAlign:Y.align||"center"}),k=()=>{u.value?d.value=[...h.value.map(Y=>Y[n.rowKey])]:d.value=[],m()},w=()=>{u.value=d.value.length===h.value.length&&h.value.length>0,m()},p=(Y,A)=>{A?d.value.includes(Y)||d.value.push(Y):d.value=d.value.filter(C=>C!==Y),w()},m=()=>{const Y=n.data.filter(A=>d.value.includes(A[n.rowKey]));i("selection-change",Y)},g=Y=>{Y<1||Y>x.value||(i("update:currentPage",Y),i("page-change",Y))},F=()=>{r.value=window.innerWidth<=768};return Tt(()=>n.data,()=>{d.value=[],u.value=!1},{deep:!0}),At(()=>{F(),window.addEventListener("resize",F)}),Ot(()=>{window.removeEventListener("resize",F)}),{selectedRows:d,allSelected:u,isMobile:r,total:c,totalPages:x,paginatedData:h,startItem:f,endItem:v,visiblePages:_,tableStyle:b,gettext:a,getColumnStyle:y,toggleAllSelection:k,handleSelectionChange:w,changePage:g,updateSelection:p}}},_C={class:"custom-table-container"},xC={key:0,class:"selection-header"},wC={key:0,class:"selection-cell"},kC=["checked","onChange"],yC={key:0,class:"empty-row"},FC=["colspan"],EC={key:0,class:"pagination-wrapper"},$C={class:"pagination-info"},CC={class:"pagination-controls"},DC=["disabled"],BC=["onClick"],YC=["disabled"];function AC(n,i,a,d,u,r){return s(),l("div",_C,[t("div",{class:"custom-table-wrapper",style:Bt({overflowX:d.isMobile?"auto":"hidden"})},[t("table",{class:ct(["custom-table",{"has-selection":a.showSelection}]),style:Bt(d.tableStyle)},[t("thead",{style:Bt({background:a.theadBgColor})},[t("tr",null,[a.showSelection?(s(),l("th",xC,[T(t("input",{type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=c=>d.allSelected=c),onChange:i[1]||(i[1]=(...c)=>d.toggleAllSelection&&d.toggleAllSelection(...c))},null,544),[[Rt,d.allSelected]])])):D("",!0),(s(!0),l(O,null,J(a.columns,(c,x)=>(s(),l("th",{key:x,style:Bt(d.getColumnStyle(c))},o(d.gettext(c.label)),5))),128))])],4),t("tbody",null,[(s(!0),l(O,null,J(d.paginatedData,(c,x)=>(s(),l("tr",{key:x,class:ct({"last-row":x===d.paginatedData.length-1})},[a.showSelection?(s(),l("td",wC,[t("input",{type:"checkbox",checked:d.selectedRows.includes(c[a.rowKey]),onChange:h=>d.updateSelection(c[a.rowKey],h.target.checked)},null,40,kC)])):D("",!0),(s(!0),l(O,null,J(a.columns,(h,f)=>(s(),l("td",{key:f,style:Bt({textAlign:h.align||"center"})},[h.slot?Pt(n.$slots,h.slot,{key:0,row:c,index:x},void 0,!0):(s(),l(O,{key:1},[nt(o(c[h.prop]),1)],64))],4))),128))],2))),128)),d.paginatedData.length===0?(s(),l("tr",yC,[t("td",{colspan:a.showSelection?a.columns.length+1:a.columns.length},o(a.emptyText),9,FC)])):D("",!0)])],6)],4),a.showPagination?(s(),l("div",EC,[t("div",$C,o(d.gettext("\u663E\u793A"))+" "+o(d.startItem)+" "+o(d.gettext("\u5230"))+" "+o(d.endItem)+" "+o(d.gettext("\u6761"))+"\uFF0C"+o(d.gettext("\u5171"))+" "+o(d.total)+" "+o(d.gettext("\u6761")),1),t("div",CC,[t("button",{disabled:a.currentPage===1,onClick:i[2]||(i[2]=c=>d.changePage(a.currentPage-1))},o(d.gettext("\u4E0A\u4E00\u9875")),9,DC),(s(!0),l(O,null,J(d.visiblePages,c=>(s(),l("button",{key:c,class:ct({active:c===a.currentPage}),onClick:x=>d.changePage(c)},o(c),11,BC))),128)),t("button",{disabled:a.currentPage===d.totalPages,onClick:i[3]||(i[3]=c=>d.changePage(a.currentPage+1))},o(d.gettext("\u4E0B\u4E00\u9875")),9,YC)])])):D("",!0)])}var Me=N(hC,[["render",AC],["__scopeId","data-v-2c8ecf89"]]);const qa=n=>(st("data-v-d28f7d82"),n=n(),dt(),n),SC={style:{display:"flex","align-items":"center"}},zC={class:"search_box"},PC={class:"search_container"},TC={class:"search_input_wrapper"},IC=["onKeyup","placeholder"],LC=qa(()=>t("path",{d:"M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},null,-1)),MC=[LC],NC=qa(()=>t("svg",{class:"refresh_icon",viewBox:"0 0 24 24",width:"26",height:"26"},[t("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"})],-1)),OC=[NC],VC=G({props:{showBatchDelete:{type:Boolean,default:!0},showAdd:{type:Boolean,default:!0}},emits:["refresh","batch-delete","search","handleAdd"],setup(n,{emit:i}){const a=n,{$gettext:d}=W(),u=$(""),r=$(!1),c=$(a.showBatchDelete),x=$(a.showAdd),h=()=>{i("refresh",{data:"\u8FD9\u662F\u5B50\u7EC4\u4EF6\u7684\u6570\u636E"})},f=()=>{i("search",String(u.value))},v=()=>{i("batch-delete",{data:"\u8FD9\u662F\u5B50\u7EC4\u4EF6\u7684\u6570\u636E"})},b=()=>{i("handleAdd")};return(_,y)=>(s(),l("div",SC,[x.value?(s(),l("button",{key:0,class:"del-button add-button--danger",style:{},onClick:b},[t("span",null,o(e(d)("\u6DFB\u52A0")),1)])):D("",!0),c.value?(s(),l("button",{key:1,class:"del-button del-button--danger",onClick:v},[t("span",null,o(e(d)("\u6279\u91CF\u5220\u9664")),1)])):D("",!0),t("div",zC,[t("div",PC,[t("div",TC,[T(t("input",{type:"text",onKeyup:ro(f,["enter"]),"onUpdate:modelValue":y[0]||(y[0]=k=>u.value=k),class:"search_input",placeholder:e(d)("\u8BF7\u8F93\u5165\u540D\u79F0/IP/MAC\u2026")},null,40,IC),[[tt,u.value,void 0,{trim:!0}]]),t("svg",{class:"search_icon",viewBox:"0 0 24 24",width:"24",height:"24",onClick:f},MC)]),t("button",{class:ct(["refresh_button",{rotate:r.value}]),onClick:h},OC,2)])])]))}});var ta=N(VC,[["__scopeId","data-v-d28f7d82"]]);const GC=n=>(st("data-v-9ce78472"),n=n(),dt(),n),jC=GC(()=>t("span",{class:"switch__button"},null,-1)),qC=[jC],UC=["checked","disabled"],RC=G({props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},activeColor:{default:"#409EFF"},inactiveColor:{default:"#DCDFE6"}},emits:["update:modelValue","change","beforeChange"],setup(n,{emit:i}){const a=n,d=()=>{if(i("beforeChange",!a.modelValue),a.disabled)return;const u=!a.modelValue;i("update:modelValue",u),i("change",u)};return X(()=>a.modelValue),(u,r)=>(s(),l("div",{class:ct(["switch",{"is-checked":n.modelValue,"is-disabled":n.disabled}]),onClick:d},[t("span",{class:"switch__core",style:Bt({backgroundColor:n.modelValue?n.activeColor:n.inactiveColor,borderColor:n.modelValue?n.activeColor:n.inactiveColor})},qC,4),t("input",{type:"checkbox",class:"switch__input",checked:n.modelValue,disabled:n.disabled},null,8,UC)],2))}});var jt=N(RC,[["__scopeId","data-v-9ce78472"]]);const WC={class:"flow"},HC={class:"flow-data"},ZC={key:0},JC={key:1},KC=G({props:{ipParam:{type:String}},setup(n){const i=n,{$gettext:a}=W();pa([fa,ma,va,ba,ga,ha]);const d=$(i.ipParam),u=$(),r=p=>{var g;const m=(g=u.value)==null?void 0:g[p];return!m||m.startTime==0?"":b(m.startTime*1e3)+"-"+b(m.endTime*1e3)},c=X(()=>{var m;let p=[];return(m=u.value)==null||m.forEach(g=>{p.push({value:g.uploadSpeed})}),p}),x=X(()=>{var m;let p=[];return(m=u.value)==null||m.forEach(g=>{p.push({value:g.downloadSpeed})}),p}),h=X(()=>{var m;let p="";if(u.value){let g=((m=u.value)==null?void 0:m.length)||0;if(g>0){let F=u.value[g-1];p=_(F.uploadSpeed)+"/s"}}return p}),f=X(()=>{var m;let p="";if(u.value){let g=((m=u.value)==null?void 0:m.length)||0;if(g>0){let F=u.value[g-1];p=_(F.downloadSpeed)+"/s"}}return p}),v=()=>L(this,null,function*(){var p;try{const m=yield M.DeviceMangement.speedsForOneDevice.POST({ip:d.value});if(m.data&&(p=m.data.result)!=null&&p.items){const g=m.data.result.slots||10;if(m.data.result.items.lengthg?u.value=m.data.result.items.slice(g-m.data.result.items.length):u.value=m.data.result.items}}catch(m){console.log(m)}}),b=It.dateForm,_=It.byteToSize,y=$();let k=null;const w=p=>{const m=Ya();return k=_a(p,m?"dark":"light"),k.setOption({animation:!1,backgroundColor:m?"#88888822":"#fff",color:["transparent","transparent"],tooltip:{trigger:"axis",formatter:g=>{if(Array.isArray(g)){let F="";g.length>0&&(F=r(g[0].axisValue));for(let Y=0;Y${g[Y].seriesName}: ${_(g[Y].value)}/s`;return F.toString()}else{const F=g;return`${r(F.axisValue)}
${F.seriesName}: ${_(F.value)}/s`}}},xAxis:{type:"category",boundaryGap:!1,splitLine:{lineStyle:{color:["#999"]},show:!1},name:"",show:!1,nameGap:0,nameTextStyle:{height:0,lineHeight:0,padding:0}},title:{text:a("\u6D41\u91CF\u7EDF\u8BA1"),textStyle:{fontSize:12,color:m?"#cccccc":"rgba(0, 0, 0, 0.6)"},top:"10px",left:"10px"},yAxis:{type:"value",name:"",minInterval:1e4,interval:1e3,axisLabel:{formatter:function(g,F){return`${_(g)}/s`},color:"#fff",show:!1},nameTextStyle:{color:"#fff"},splitLine:{lineStyle:{color:["#999"]},show:!1}},series:[{name:a("\u4E0B\u8F7D"),data:x.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(32, 199, 247, 1)"},{offset:1,color:"rgba(32, 199, 247, 0.1)"}],global:!1}}},{name:a("\u4E0A\u4F20"),data:c.value,type:"line",symbol:"none",showSymbol:!1,symbolSize:0,smooth:!0,areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(85, 58, 254, 1)"},{offset:1,color:"rgba(85, 58, 254, 0.1)"}],global:!1}}}],legend:{padding:0,align:"right",top:"10px",data:[{name:a("\u4E0A\u4F20"),itemStyle:{color:"rgb(85, 58, 254)"}},{name:a("\u4E0B\u8F7D"),itemStyle:{color:"rgb(32, 199, 247)"}}],textStyle:{color:m?"#cccccc":"rgba(0, 0, 0, 0.6)"},lineStyle:{color:"#333"}},grid:{left:"2%",right:"2%",bottom:"0%",top:"10%",containLabel:!0}}),k};return At(()=>{setTimeout(()=>L(this,null,function*(){if(y.value){yield v();const p=w(y.value),m=y.value;p.resize({width:m.clientWidth,height:m.clientHeight}),window.addEventListener("resize",()=>{p.resize({width:m.clientWidth,height:m.clientHeight})});const g=()=>L(this,null,function*(){if(k!=null){if(!document.hidden){if(yield v(),k==null)return;p.setOption({series:[{name:a("\u4E0B\u8F7D"),data:x.value,type:"line",areaStyle:{},smooth:!0},{name:a("\u4E0A\u4F20"),data:c.value,type:"line",areaStyle:{},smooth:!0}]})}setTimeout(g,5e3)}});setTimeout(g,5e3)}}),900)}),Ot(()=>{k!=null&&(k.dispose(),k=null)}),(p,m)=>(s(),l("div",WC,[t("div",{ref_key:"el",ref:y,class:"echart"},null,512),t("div",HC,[e(h)?(s(),l("span",ZC,o(e(a)("\u4E0A\u4F20:"))+" "+o(e(h)),1)):D("",!0),e(f)?(s(),l("span",JC,o(e(a)("\u4E0B\u8F7D:"))+" "+o(e(f)),1)):D("",!0)])]))}});var QC=N(KC,[["__scopeId","data-v-529a02b0"]]);const XC=["onClick"],tD={class:"modal-header"},eD={class:"modal-title"},aD={class:"modal-content"},oD={key:0,class:"modal-footer"},fe=G({props:{modelValue:{type:Boolean},title:{default:"\u63D0\u793A"},showClose:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!1},footerShow:{type:Boolean,default:!0},width:{default:"500px"}},emits:["update:modelValue","confirm","cancel","close"],setup(n,{expose:i,emit:a}){const d=n;so(b=>({"1df87c10":e(r)}));const{$gettext:u}=W(),r=X(()=>typeof d.width=="number"?`${d.width}px`:d.width),c=$(d.modelValue);Tt(()=>d.modelValue,b=>{c.value=b}),Tt(c,b=>{a("update:modelValue",b),b||a("close")}),X(()=>typeof d.width=="number"?`${d.width}px`:d.width);const x=()=>{c.value=!1},h=()=>{d.closeOnClickOverlay&&v()},f=()=>{a("confirm")},v=()=>{a("cancel"),x()};return i({show:()=>c.value=!0,hide:()=>c.value=!1}),(b,_)=>(s(),H($t,{name:"fade"},{default:R(()=>[c.value?(s(),l("div",{key:0,class:"modal-overlay",onClick:ft(h,["self"])},[z($t,{name:"slide"},{default:R(()=>[t("div",{class:"modal-container",style:Bt({maxWidth:e(r)})},[t("div",tD,[t("h3",eD,o(e(u)(n.title)),1),n.showClose?(s(),l("button",{key:0,class:"modal-close",onClick:v,"aria-label":"Close"}," \xD7 ")):D("",!0)]),t("div",aD,[Pt(b.$slots,"default")]),n.footerShow?(s(),l("div",oD,[Pt(b.$slots,"footer",{},()=>[t("button",{class:"modal-button cancel",onClick:v},o(e(u)("\u53D6\u6D88")),1),t("button",{class:"modal-button confirm",onClick:f},o(e(u)("\u4FDD\u5B58")),1)])])):D("",!0)],4)]),_:3})],8,XC)):D("",!0)]),_:3}))}}),xe=n=>(st("data-v-2573551c"),n=n(),dt(),n),nD={class:"container"},iD={style:{display:"flex","justify-content":"end"}},rD=["onClick"],sD=["onClick"],dD=["onClick"],lD={class:"custom-content"},uD={class:"IP_address"},cD={class:"item_box"},pD={class:"item_left"},fD={key:0,class:"tip"},mD=["onClick"],vD={key:1},bD={class:"item_box"},gD={class:"item_left"},hD={class:"item_box"},_D={class:"item_left"},xD=["placeholder"],wD={class:"item_box"},kD={class:"item_left"},yD=["placeholder"],FD={class:"item_box"},ED={class:"item_left"},$D=["placeholder"],CD={class:"custom-content"},DD=xe(()=>t("div",{class:"img_box"},[t("img",{src:"https://fwindex.koolcenter.com/cover/x86_64/cover.png",alt:""})],-1)),BD={class:"item_box"},YD={class:"item_left"},AD=["placeholder"],SD={class:"item_box"},zD=xe(()=>t("div",{class:"item_left"},"MAC\uFF1A",-1)),PD=["placeholder"],TD={class:"item_box"},ID={class:"item_left"},LD={key:0,value:null,disabled:""},MD=["value"],ND={class:"item_box"},OD={class:"item_left"},VD={key:0,class:"item_box"},GD=xe(()=>t("div",{class:"item_left"},"IP\uFF1A",-1)),jD=["placeholder"],qD={class:"custom-content"},UD={class:"info-content"},RD=xe(()=>t("div",{class:"img_box"},[t("img",{src:"https://fwindex.koolcenter.com/cover/x86_64/cover.png",alt:""})],-1)),WD={style:{"margin-bottom":"16px",flex:"1"}},HD={class:"item_box"},ZD={class:"item_left"},JD={class:"item_box"},KD={class:"item_left"},QD={class:"item_box"},XD=xe(()=>t("div",{class:"item_left"}," MAC\uFF1A",-1)),tB={class:"item_box"},eB={class:"item_left"},aB={class:"item_box"},oB={class:"item_left"},nB={class:"item_box"},iB={class:"item_left"},rB=G({emits:["openGloba"],setup(n,{emit:i}){const{$gettext:a}=W(),d=$(null),u=()=>{r(),A(),d.value=setInterval(A,3e3)},r=()=>{d.value&&(clearInterval(d.value),d.value=null)};At(()=>L(this,null,function*(){yield F(),u()})),Ot(()=>{r()});const c=$({});(()=>L(this,null,function*(){try{const{data:q}=yield M.DeviceMangement.globalConfigs.GET();q.result&&(c.value=q.result||{})}catch(q){}}))();const h=$([]),f=$([]),v=$(!1),b=$(!1),_=$(!1),y=X(()=>!I.dhcpGateway),k=$([{label:"\u4E3B\u673A\u540D\u79F0",prop:"hostname"},{label:"IP\u5730\u5740",prop:"ip"},{label:"MAC\u5730\u5740",prop:"mac"},{label:"\u4E0A\u4F20\u901F\u5EA6",prop:"uploadSpeedStr"},{label:"\u4E0B\u8F7D\u901F\u5EA6",prop:"downloadSpeedStr"},{label:"\u6807\u7B7E",prop:"staticAssigned",slot:"staticAssigned"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),w=q=>({default:a("\u9ED8\u8BA4\u7F51\u5173"),parent:a("\u4E0A\u7EA7\u8DEF\u7531"),myself:a("\u672C\u8BBE\u5907"),bypass:a("\u65C1\u8DEF\u7531"),floatip:a("\u6D6E\u52A8\u7F51\u5173")})[q]||q,p=()=>{v.value=!1,i("openGloba")},m=q=>{var Z,Q;if(q==!0&&!((Q=(Z=c.value)==null?void 0:Z.speedLimit)!=null&&Q.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"))},g=$([]),F=()=>L(this,null,function*(){var Z,Q,at;let q=E.Loading(a("\u52A0\u8F7D\u4E2D..."));try{const{data:_t}=yield M.DeviceMangement.listDevices.GET();_t.result&&(h.value=((Z=_t.result)==null?void 0:Z.devices)||[],f.value=((Q=_t.result)==null?void 0:Q.devices)||[],g.value=((at=_t.result)==null?void 0:at.dhcpTags)||[])}catch(_t){}finally{q.Close()}}),Y=(q,Z)=>{const Q={};return q.forEach(at=>{at.ip&&(Q[at.ip]={downloadSpeedStr:at.downloadSpeedStr||"0 B",uploadSpeedStr:at.uploadSpeedStr||"0 B"})}),Z.map(at=>at.ip&&Q[at.ip]?mt(ut({},at),{downloadSpeedStr:Q[at.ip].downloadSpeedStr,uploadSpeedStr:Q[at.ip].uploadSpeedStr}):mt(ut({},at),{downloadSpeedStr:at.downloadSpeedStr||"0 B",uploadSpeedStr:at.uploadSpeedStr||"0 B"}))},A=()=>L(this,null,function*(){try{const{data:q}=yield M.DeviceMangement.speedsForDevices.GET();q.result&&(f.value=Y(q.result,f.value))}catch(q){}}),C=q=>/^[a-zA-Z\s]+$/.test(q)?q.toUpperCase():q,B=bt({ip:"",mac:"",uploadSpeed:100,downloadSpeed:1e3,networkAccess:!1,enabled:!1,comment:"",action:"add"}),I=bt({hostname:"",assignedIP:"",assignedMac:"",bindIP:!1,tagTitle:"",tagName:"",dhcpGateway:"",action:"add"}),et=$(""),S=$({}),P=(q,Z)=>{var Q,at,_t,zt,wt,te,ee,ae,oe,ne,ie,re,se,kt,de,Fe;S.value=q,Z===1?(B.ip=q.ip||"",B.mac=q.mac||"",B.uploadSpeed=((Q=q==null?void 0:q.speedLimit)==null?void 0:Q.uploadSpeed)||100,B.downloadSpeed=((at=q==null?void 0:q.speedLimit)==null?void 0:at.downloadSpeed)||1e3,B.networkAccess=!((_t=q==null?void 0:q.speedLimit)!=null&&_t.networkAccess)||!1,B.enabled=((zt=q==null?void 0:q.speedLimit)==null?void 0:zt.enabled)||!1,B.comment=((wt=q==null?void 0:q.speedLimit)==null?void 0:wt.comment)||"",B.action=((te=q==null?void 0:q.speedLimit)==null?void 0:te.action)||"add",v.value=!0):Z===2?(I.hostname=((ee=q==null?void 0:q.staticAssigned)==null?void 0:ee.hostname)||"",I.assignedIP=((ae=q==null?void 0:q.staticAssigned)==null?void 0:ae.assignedIP)||"",I.assignedMac=((oe=q==null?void 0:q.staticAssigned)==null?void 0:oe.assignedMac)||"",I.bindIP=((ne=q==null?void 0:q.staticAssigned)==null?void 0:ne.bindIP)||!1,I.tagTitle=((ie=q==null?void 0:q.staticAssigned)==null?void 0:ie.tagTitle)||"",I.tagName=((re=q==null?void 0:q.staticAssigned)==null?void 0:re.tagName)||"",(se=q==null?void 0:q.staticAssigned)!=null&&se.dhcpGateway?(g.value.forEach(oa=>{var na;oa.gateway===((na=q==null?void 0:q.staticAssigned)==null?void 0:na.dhcpGateway)&&(V.value=oa)}),I.dhcpGateway=((de=q==null?void 0:q.staticAssigned)==null?void 0:de.dhcpGateway)||g.value[0]||""):(V.value=g.value[0]||null,I.dhcpGateway=((kt=V.value)==null?void 0:kt.gateway)||""),I.action=((Fe=q==null?void 0:q.staticAssigned)==null?void 0:Fe.action)||"add",b.value=!0):Z===3&&(et.value="",et.value=q.ip,_.value=!0)},V=$(g.value[0]||null),it=()=>{var q,Z,Q;V.value?(I.dhcpGateway=((q=V.value)==null?void 0:q.gateway)||"",I.tagName=((Z=V.value)==null?void 0:Z.tagName)||"",I.tagTitle=((Q=V.value)==null?void 0:Q.tagTitle)||""):(I.dhcpGateway="",I.tagName="",I.tagTitle="")},Ct=(q,Z)=>Z?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[q].test(Z.trim()):!1,Dt=q=>/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/.test(q.toString()),vt=()=>L(this,null,function*(){if(!I.hostname)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u540D\u79F0")}`);if(!I.assignedMac)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("MAC")}`);if(!Ct("mac",I.assignedMac))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684MAC\u5730\u5740")}`);if(!I.dhcpGateway)return E.Warning(`${a("\u8BF7\u9009\u62E9")}${a("\u7F51\u5173")}`);if(I.bindIP){if(!I.assignedIP)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("IP")}`);if(!Ct("ip",I.assignedIP))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`)}else I.assignedIP="";let q=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:Z}=yield M.DeviceMangement.staticDeviceConfig.POST(I);JSON.stringify(Z)==="{}"?(b.value=!1,U(),K(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((Z==null?void 0:Z.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(Z){E.Warning(`${Z==null?void 0:Z.error} || ${Z==null?void 0:Z.message}`)}finally{q.Close()}}),ot=()=>L(this,null,function*(){var Z,Q;if(!((Q=(Z=c.value)==null?void 0:Z.speedLimit)!=null&&Q.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"));if(B.networkAccess)B.downloadSpeed=0,B.uploadSpeed=0;else{if(!B.downloadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0B\u8F7D\u901F\u5EA6")}`);if(!Dt(B.downloadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0B\u8F7D\u901F\u5EA6")}`);if(!B.uploadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0A\u4F20\u901F\u5EA6")}`);if(!Dt(B.uploadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0A\u4F20\u901F\u5EA6")}`);B.downloadSpeed=Number(B.downloadSpeed),B.uploadSpeed=Number(B.uploadSpeed)}let q=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{B.networkAccess=!B.networkAccess;const{data:at}=yield M.DeviceMangement.speedLimitConfig.POST(B);JSON.stringify(at)==="{}"?(v.value=!1,U(),K(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((at==null?void 0:at.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(at){E.Warning(`${at==null?void 0:at.error} || ${at==null?void 0:at.message}`)}finally{B.downloadSpeed=1e3,B.uploadSpeed=100,q.Close()}}),U=()=>{S.value={},V.value=g.value[0]||null,I.hostname="",I.assignedIP="",I.assignedMac="",I.bindIP=!1,I.dhcpGateway="",I.tagName="",I.tagTitle="",I.action="add",B.ip="",B.mac="",B.uploadSpeed=100,B.downloadSpeed=1e3,B.networkAccess=!1,B.comment="",B.action="add"},xt=$([]),lt=$(null),K=()=>L(this,null,function*(){h.value=[],yield F()}),Mt=q=>h.value.filter(Z=>{const Q=Z.ip.includes(q),at=Z.mac.toLowerCase().includes(q.toLowerCase());return Q||at}),ke=q=>{q===""&&(f.value=h.value),f.value=Mt(q)},ye=()=>{if(xt.value.length===0)return E.Warning(a("\u8BF7\u52FE\u9009\u8981\u5220\u9664\u7684\u6570\u636E")+" !")};return(q,Z)=>(s(),l("div",nD,[t("div",iD,[z(ta,{onRefresh:K,showAdd:!1,showBatchDelete:!1,ref_key:"searchRef",ref:lt,onBatchDelete:ye,onSearch:ke},null,512)]),t("div",null,[z(Me,{data:f.value,columns:k.value,showPagination:!1},{action:R(({row:Q})=>[t("span",{style:{color:"#553AFE",cursor:"pointer"},onClick:at=>P(Q,2)},o(e(a)("\u9759\u6001\u5206\u914D")),9,rD),t("span",{style:{color:"#553AFE",cursor:"pointer",margin:"0 8px"},onClick:at=>P(Q,1)},o(e(a)("\u9650\u901F\u914D\u7F6E")),9,sD),t("span",{style:{color:"#553AFE",margin:"0 8px",cursor:"pointer"},onClick:at=>P(Q,3)},o(e(a)("\u8BE6\u60C5")),9,dD)]),staticAssigned:R(({row:Q})=>{var at,_t;return[t("span",null,o(w((at=Q==null?void 0:Q.staticAssigned)==null?void 0:at.tagTitle)||w((_t=Q==null?void 0:Q.staticAssigned)==null?void 0:_t.tagName)||"-"),1)]}),_:1},8,["data","columns"])]),z(fe,{modelValue:v.value,"onUpdate:modelValue":Z[6]||(Z[6]=Q=>v.value=Q),title:"\u9650\u901F\u914D\u7F6E","show-close":!0,onConfirm:ot,onCancel:U},{default:R(()=>{var Q,at,_t,zt;return[t("div",lD,[t("div",uD,"IP: "+o(S.value.ip),1),t("div",cD,[t("div",pD,o(e(a)("\u5BF9\u8BBE\u5907\u5F00\u542F\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(B).enabled,"onUpdate:modelValue":Z[0]||(Z[0]=wt=>e(B).enabled=wt),disabled:!((at=(Q=c.value)==null?void 0:Q.speedLimit)!=null&&at.enabled),onBeforeChange:m},null,8,["modelValue","disabled"])]),(zt=(_t=c.value)==null?void 0:_t.speedLimit)!=null&&zt.enabled?D("",!0):(s(),l("div",fD,[t("a",{href:"",onClick:ft(p,["prevent"])},o(e(a)("\u70B9\u6211\u8DF3\u8F6C\u5168\u5C40\u914D\u7F6E")),9,mD)])),e(B).enabled?(s(),l("div",vD,[t("div",bD,[t("div",gD,o(e(a)("\u7981\u6B62\u8BE5\u8BBE\u5907\u8BBF\u95EE\u7F51\u7EDC"))+"\uFF1A",1),z(jt,{modelValue:e(B).networkAccess,"onUpdate:modelValue":Z[1]||(Z[1]=wt=>e(B).networkAccess=wt),onChange:Z[2]||(Z[2]=()=>{})},null,8,["modelValue"])]),e(B).networkAccess?D("",!0):(s(),l(O,{key:0},[t("div",hD,[t("div",_D,o(e(a)("\u4E0B\u8F7D\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[3]||(Z[3]=wt=>e(B).downloadSpeed=wt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,xD),[[tt,e(B).downloadSpeed,void 0,{trim:!0}]]),nt(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",wD,[t("div",kD,o(e(a)("\u4E0A\u4F20\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[4]||(Z[4]=wt=>e(B).uploadSpeed=wt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,yD),[[tt,e(B).uploadSpeed,void 0,{trim:!0}]]),nt(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",FD,[t("div",ED,o(e(a)("\u6CE8\u89E3"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[5]||(Z[5]=wt=>e(B).comment=wt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,$D),[[tt,e(B).comment,void 0,{trim:!0}]])])],64))])):D("",!0)])]}),_:1},8,["modelValue"]),z(fe,{modelValue:b.value,"onUpdate:modelValue":Z[12]||(Z[12]=Q=>b.value=Q),title:"\u9759\u6001\u5206\u914D",width:"550px","show-close":!0,onConfirm:vt,onCancel:U},{default:R(()=>[t("div",CD,[DD,t("div",BD,[t("div",YD,o(e(a)("\u540D\u79F0"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[7]||(Z[7]=Q=>e(I).hostname=Q),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,AD),[[tt,e(I).hostname,void 0,{trim:!0}]])]),t("div",SD,[zD,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[8]||(Z[8]=Q=>e(I).assignedMac=Q),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,PD),[[tt,e(I).assignedMac,void 0,{trim:!0}]])]),t("div",TD,[t("div",ID,o(e(a)("\u7F51\u5173"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":Z[9]||(Z[9]=Q=>V.value=Q),onChange:it},[e(y)?(s(),l("option",LD,o(e(a)("\u8BF7\u9009\u62E9")),1)):D("",!0),(s(!0),l(O,null,J(g.value,Q=>(s(),l("option",{value:Q},o(Q.gateway)+"("+o(Q.tagTitle?w(Q.tagTitle):Q.tagName?Q.tagName:"-")+") ",9,MD))),256))],544),[[rt,V.value]])]),t("div",ND,[t("div",OD,o(e(a)("MAC\u5730\u5740\u4E0EIP\u7ED1\u5B9A"))+"\uFF1A",1),z(jt,{modelValue:e(I).bindIP,"onUpdate:modelValue":Z[10]||(Z[10]=Q=>e(I).bindIP=Q)},null,8,["modelValue"])]),e(I).bindIP?(s(),l("div",VD,[GD,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":Z[11]||(Z[11]=Q=>e(I).assignedIP=Q),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,jD),[[tt,e(I).assignedIP,void 0,{trim:!0}]])])):D("",!0)])]),_:1},8,["modelValue"]),z(fe,{modelValue:_.value,"onUpdate:modelValue":Z[13]||(Z[13]=Q=>_.value=Q),title:"\u8BE6\u60C5",width:"550px",footerShow:!1,"show-close":!0,onCancel:U},{default:R(()=>{var Q,at,_t,zt,wt;return[t("div",qD,[t("div",UD,[RD,t("div",WD,[t("div",HD,[t("div",ZD,o(e(a)("\u540D\u79F0"))+"\uFF1A",1),nt(" "+o(S.value.hostname||"-"),1)]),t("div",JD,[t("div",KD,o(e(a)("IP\u5730\u5740"))+"\uFF1A",1),nt(" "+o(S.value.ip),1)]),t("div",QD,[XD,nt(" "+o(S.value.mac),1)]),t("div",tB,[t("div",eB,o(e(a)("\u7F51\u5173"))+"\uFF1A",1),nt(" "+o(((Q=S.value)==null?void 0:Q.staticAssigned.dhcpGateway)||"-"),1)]),t("div",aB,[t("div",oB,o(e(a)("\u63A5\u53E3"))+"\uFF1A",1),nt(" "+o(C(S.value.intr)||"-"),1)]),t("div",nB,[t("div",iB,o(e(a)("\u6807\u7B7E"))+"\uFF1A",1),nt(" "+o(((_t=(at=S.value)==null?void 0:at.staticAssigned)==null?void 0:_t.tagTitle)||((wt=(zt=S.value)==null?void 0:zt.staticAssigned)==null?void 0:wt.tagName)||"-"),1)])])]),et.value?(s(),H(QC,{key:0,ipParam:et.value},null,8,["ipParam"])):D("",!0)])]}),_:1},8,["modelValue"])]))}});var sB=N(rB,[["__scopeId","data-v-2573551c"]]);const ea=n=>(st("data-v-7f378328"),n=n(),dt(),n),dB={class:"container"},lB={style:{display:"flex","justify-content":"end"}},uB=["onClick"],cB={class:"custom-content"},pB=ea(()=>t("div",{class:"img_box"},[t("img",{src:"https://fwindex.koolcenter.com/cover/x86_64/cover.png",alt:""})],-1)),fB={class:"item_box"},mB={class:"item_left"},vB=["placeholder"],bB={class:"item_box"},gB=ea(()=>t("div",{class:"item_left"},"MAC\uFF1A",-1)),hB=["placeholder"],_B={class:"item_box"},xB={class:"item_left"},wB={key:0,value:null,disabled:""},kB=["value"],yB={class:"item_box"},FB={class:"item_left"},EB={key:0,class:"item_box"},$B=ea(()=>t("div",{class:"item_left"},"IP\uFF1A",-1)),CB=["placeholder"],DB=G({setup(n){const{$gettext:i}=W(),a=$([]);(()=>L(this,null,function*(){var S;try{const{data:P}=yield M.DeviceMangement.globalConfigs.GET();P.result&&(a.value=((S=P.result)==null?void 0:S.dhcpTags)||[])}catch(P){}}))();const u=$([]),r=$([]),c=$(!1),x=$([{label:"\u4E3B\u673A\u540D\u79F0",prop:"hostname"},{label:"IP\u5730\u5740",prop:"assignedIP"},{label:"MAC\u5730\u5740",prop:"assignedMac"},{label:"\u9759\u6001IP\u7ED1\u5B9A",prop:"bindIP",slot:"bindIP"},{label:"\u6807\u7B7E",prop:"tagTitle",slot:"tagTitle"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),h=S=>({default:i("\u9ED8\u8BA4\u7F51\u5173"),parent:i("\u4E0A\u7EA7\u8DEF\u7531"),myself:i("\u672C\u8BBE\u5907"),bypass:i("\u65C1\u8DEF\u7531"),floatip:i("\u6D6E\u52A8\u7F51\u5173")})[S]||S,f=()=>L(this,null,function*(){let S=E.Loading(i("\u52A0\u8F7D\u4E2D..."));try{const{data:P}=yield M.DeviceMangement.listStaticDevices.GET();P.result&&(u.value=P.result||[],r.value=P.result||[])}catch(P){}finally{S.Close()}});f();const v=$(!0),b=$([]),_=S=>{b.value=S},y=()=>L(this,null,function*(){u.value=[];let S=E.Loading(i("\u52A0\u8F7D\u4E2D..."));yield f(),S.Close()}),k=S=>u.value.filter(P=>{const V=P.assignedIP.includes(S),it=P.assignedMac.toLowerCase().includes(S.toLowerCase());return V||it}),w=S=>{S===""&&(r.value=u.value),r.value=k(S)},p=S=>L(this,null,function*(){if(confirm(i("\u786E\u5B9A\u5220\u9664\uFF1F"))){let P={hostname:S.hostname||"",assignedIP:S.assignedIP||"",assignedMac:S.assignedMac||"",tagTitle:S.tagTitle||"",bindIP:S.bindIP||!1,tagName:S.tagName||"",dhcpGateway:S.dhcpGateway||"",action:"delete"};m(P,1)}}),m=(S,P)=>L(this,null,function*(){let V=E.Loading(i("\u5220\u9664\u4E2D..."));try{const{data:it}=yield M.DeviceMangement.staticDeviceConfig.POST(S);return P==1&&(JSON.stringify(it)==="{}"?E.Success("\u5220\u9664\u6210\u529F !"):E.Success((it==null?void 0:it.error)||"\u5220\u9664\u5931\u8D25\uFF01"),f()),it}catch(it){}finally{V.Close()}}),g=()=>L(this,null,function*(){if(b.value.length===0)return E.Warning(i("\u8BF7\u52FE\u9009\u8981\u5220\u9664\u7684\u6570\u636E")+" !");if(confirm(i("\u786E\u5B9A\u5220\u9664\uFF1F")))try{const S=b.value.map(P=>{const V={hostname:P.hostname||"",assignedIP:P.assignedIP||"",assignedMac:P.assignedMac||"",tagTitle:P.tagTitle||"",bindIP:P.bindIP||!1,tagName:P.tagName||"",dhcpGateway:P.dhcpGateway||"",action:"delete"};return m(V)});yield Promise.all(S),E.Success(i("\u6240\u6709\u5220\u9664\u64CD\u4F5C\u5DF2\u5B8C\u6210")),f()}catch(S){}}),F=X(()=>!C.dhcpGateway),Y=$(null),A=()=>{var S,P,V;Y.value?(C.dhcpGateway=((S=Y.value)==null?void 0:S.gateway)||"",C.tagName=((P=Y.value)==null?void 0:P.tagName)||"",C.tagTitle=((V=Y.value)==null?void 0:V.tagTitle)||""):(C.dhcpGateway="",C.tagName="",C.tagTitle="")},C=bt({hostname:"",assignedIP:"",assignedMac:"",bindIP:!1,tagTitle:"",tagName:"",dhcpGateway:"",action:"add"}),B=(S,P)=>P?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[S].test(P.trim()):!1,I=()=>L(this,null,function*(){if(!C.assignedMac)return E.Warning(`${i("\u8BF7\u8F93\u5165")}${i("MAC")}`);if(!B("mac",C.assignedMac))return E.Warning(`${i("\u8BF7\u8F93\u5165\u6B63\u786E\u7684MAC\u5730\u5740")}`);if(!C.dhcpGateway)return E.Warning(`${i("\u8BF7\u9009\u62E9")}${i("\u7F51\u5173")}`);if(C.bindIP){if(!C.assignedIP)return E.Warning(`${i("\u8BF7\u8F93\u5165")}${i("IP")}`);if(!B("ip",C.assignedIP))return E.Warning(`${i("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`)}else C.assignedIP="";let S=E.Loading(i("\u4FDD\u5B58\u4E2D..."));try{const{data:P}=yield M.DeviceMangement.staticDeviceConfig.POST(C);JSON.stringify(P)==="{}"?(c.value=!1,et(),y(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((P==null?void 0:P.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(P){E.Warning(`${P==null?void 0:P.error} || ${P==null?void 0:P.message}`)}finally{S.Close()}}),et=()=>{Y.value=null,C.hostname="",C.assignedIP="",C.assignedMac="",C.bindIP=!1,C.dhcpGateway="",C.tagName="",C.tagTitle="",C.action="add"};return(S,P)=>(s(),l("div",dB,[t("div",lB,[z(ta,{onHandleAdd:P[0]||(P[0]=V=>c.value=!0),onRefresh:y,onBatchDelete:g,onSearch:w})]),t("div",null,[z(Me,{data:r.value,columns:x.value,rowKey:"mac",showSelection:v.value,showPagination:!1,onSelectionChange:_},{action:R(({row:V})=>[t("button",{class:"del-button del-button--danger",onClick:it=>p(V)},[t("span",null,o(e(i)("\u5220\u9664")),1)],8,uB)]),tagTitle:R(({row:V})=>[t("span",null,o(h(V==null?void 0:V.tagTitle)||h(V==null?void 0:V.tagName)||"-"),1)]),bindIP:R(({row:V})=>[t("span",null,o(V!=null&&V.bindIP?e(i)("\u662F"):e(i)("\u5426")),1)]),_:1},8,["data","columns","showSelection"])]),z(fe,{modelValue:c.value,"onUpdate:modelValue":P[6]||(P[6]=V=>c.value=V),title:"\u9759\u6001\u5206\u914D",width:"550px","show-close":!0,onConfirm:I,onCancel:et},{default:R(()=>[t("div",cB,[pB,t("div",fB,[t("div",mB,o(e(i)("\u540D\u79F0"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[1]||(P[1]=V=>e(C).hostname=V),placeholder:e(i)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,vB),[[tt,e(C).hostname,void 0,{trim:!0}]])]),t("div",bB,[gB,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[2]||(P[2]=V=>e(C).assignedMac=V),placeholder:e(i)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,hB),[[tt,e(C).assignedMac,void 0,{trim:!0}]])]),t("div",_B,[t("div",xB,o(e(i)("\u7F51\u5173"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":P[3]||(P[3]=V=>Y.value=V),onChange:A},[e(F)?(s(),l("option",wB,o(e(i)("\u8BF7\u9009\u62E9")),1)):D("",!0),(s(!0),l(O,null,J(a.value,V=>(s(),l("option",{value:V},o(V.gateway)+"("+o(V.tagTitle?h(V.tagTitle):V.tagName?V.tagName:"-")+") ",9,kB))),256))],544),[[rt,Y.value]])]),t("div",yB,[t("div",FB,o(e(i)("MAC\u5730\u5740\u4E0EIP\u7ED1\u5B9A"))+"\uFF1A",1),z(jt,{modelValue:e(C).bindIP,"onUpdate:modelValue":P[4]||(P[4]=V=>e(C).bindIP=V)},null,8,["modelValue"])]),e(C).bindIP?(s(),l("div",EB,[$B,T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[5]||(P[5]=V=>e(C).assignedIP=V),placeholder:e(i)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,CB),[[tt,e(C).assignedIP,void 0,{trim:!0}]])])):D("",!0)])]),_:1},8,["modelValue"])]))}});var BB=N(DB,[["__scopeId","data-v-7f378328"]]);const YB={class:"container"},AB={style:{display:"flex","justify-content":"end"}},SB=["onClick"],zB={class:"custom-content"},PB={class:"item_box"},TB={class:"item_left"},IB={class:"item_box"},LB={class:"item_left"},MB=["placeholder"],NB={class:"item_box"},OB={class:"item_left"},VB=["placeholder"],GB={key:0,class:"tip"},jB=["onClick"],qB={key:1},UB={class:"item_box"},RB={class:"item_left"},WB={class:"item_box"},HB={class:"item_left"},ZB=["placeholder"],JB={class:"item_box"},KB={class:"item_left"},QB=["placeholder"],XB={class:"item_box"},tY={class:"item_left"},eY=["placeholder"],aY=G({emits:["openGloba"],setup(n,{emit:i}){const{$gettext:a}=W(),d=$({});(()=>L(this,null,function*(){try{const{data:S}=yield M.DeviceMangement.globalConfigs.GET();S.result&&(d.value=S.result||{})}catch(S){}}))();const r=$([]),c=$([]),x=$(!1),h=$([{label:"\u4E3B\u673A\u540D\u79F0",prop:"hostname"},{label:"IP\u5730\u5740",prop:"ip"},{label:"MAC\u5730\u5740",prop:"mac"},{label:"\u7981\u6B62\u7F51\u7EDC\u8BBF\u95EE",prop:"networkAccess",slot:"networkAccess"},{label:"\u4E0A\u4F20\u9650\u901F",prop:"uploadSpeed"},{label:"\u4E0B\u8F7D\u9650\u901F",prop:"downloadSpeed"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),f=()=>L(this,null,function*(){let S=E.Loading(a("\u52A0\u8F7D\u4E2D..."));try{const{data:P}=yield M.DeviceMangement.listSpeedLimitedDevices.GET();P.result&&(r.value=P.result||[],c.value=P.result||[])}catch(P){}finally{S.Close()}});f();const v=$(!0),b=$([]),_=S=>{b.value=S},y=()=>L(this,null,function*(){r.value=[];let S=E.Loading(a("\u52A0\u8F7D\u4E2D..."));yield f(),S.Close()}),k=S=>r.value.filter(P=>{const V=P.ip.includes(S),it=P.mac.toLowerCase().includes(S.toLowerCase());return V||it}),w=S=>{S===""&&(c.value=r.value),c.value=k(S)},p=S=>L(this,null,function*(){if(confirm(a("\u786E\u5B9A\u5220\u9664\uFF1F"))){let P={ip:S.ip||"",mac:S.mac||"",uploadSpeed:S.uploadSpeed||0,downloadSpeed:S.downloadSpeed||0,networkAccess:S.networkAccess||!1,comment:"",action:"delete"};m(P,1)}}),m=(S,P)=>L(this,null,function*(){let V=E.Loading(a("\u5220\u9664\u4E2D..."));try{const{data:it}=yield M.DeviceMangement.speedLimitConfig.POST(S);return P==1&&(JSON.stringify(it)==="{}"?E.Success("\u5220\u9664\u6210\u529F !"):E.Success((it==null?void 0:it.error)||"\u5220\u9664\u5931\u8D25\uFF01"),f()),it}catch(it){}finally{V.Close()}}),g=()=>L(this,null,function*(){if(b.value.length===0)return E.Warning(a("\u8BF7\u52FE\u9009\u8981\u5220\u9664\u7684\u6570\u636E")+" !");if(confirm(a("\u786E\u5B9A\u5220\u9664\uFF1F")))try{const S=b.value.map(P=>{const V={ip:P.ip||"",mac:P.mac||"",uploadSpeed:P.uploadSpeed||0,downloadSpeed:P.downloadSpeed||0,networkAccess:P.networkAccess||!1,comment:"",action:"delete"};return m(V)});yield Promise.all(S),E.Success(a("\u6240\u6709\u5220\u9664\u64CD\u4F5C\u5DF2\u5B8C\u6210")),f()}catch(S){}}),F=()=>{x.value=!1,i("openGloba")},Y=S=>{var P,V;if(S==!0&&!((V=(P=d.value)==null?void 0:P.speedLimit)!=null&&V.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"))},A=bt({ip:"",mac:"",uploadSpeed:100,downloadSpeed:1e3,networkAccess:!1,enabled:!1,comment:"",action:"add"}),C=S=>/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/.test(S.toString()),B=(S,P)=>P?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[S].test(P.trim()):!1,I=()=>L(this,null,function*(){var P,V;if(!((V=(P=d.value)==null?void 0:P.speedLimit)!=null&&V.enabled))return E.Warning(a("\u8BF7\u524D\u5F80\u5168\u5C40\u914D\u7F6E\u5F00\u542F\u9650\u901F"));if(!A.ip)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("IP")}`);if(!B("ip",A.ip))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`);if(!A.mac)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("MAC")}`);if(!B("mac",A.mac))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684MAC\u5730\u5740")}`);if(A.networkAccess)A.downloadSpeed=0,A.uploadSpeed=0;else{if(!A.downloadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0B\u8F7D\u901F\u5EA6")}`);if(!C(A.downloadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0B\u8F7D\u901F\u5EA6")}`);if(!A.uploadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0A\u4F20\u901F\u5EA6")}`);if(!C(A.uploadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0A\u4F20\u901F\u5EA6")}`);A.downloadSpeed=Number(A.downloadSpeed),A.uploadSpeed=Number(A.uploadSpeed)}let S=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{A.networkAccess=!A.networkAccess;const{data:it}=yield M.DeviceMangement.speedLimitConfig.POST(A);JSON.stringify(it)==="{}"?(y(),E.Success("\u4FDD\u5B58\u6210\u529F !")):E.Success((it==null?void 0:it.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01"),x.value=!1,et()}catch(it){E.Warning(`${it==null?void 0:it.error} || ${it==null?void 0:it.message}`)}finally{A.downloadSpeed=1e3,A.uploadSpeed=100,S.Close()}}),et=()=>{A.ip="",A.mac="",A.uploadSpeed=100,A.downloadSpeed=1e3,A.networkAccess=!1,A.comment="",A.action="add"};return(S,P)=>(s(),l("div",YB,[t("div",AB,[z(ta,{onHandleAdd:P[0]||(P[0]=V=>x.value=!0),onRefresh:y,onBatchDelete:g,onSearch:w})]),t("div",null,[z(Me,{data:c.value,columns:h.value,rowKey:"mac",showSelection:v.value,showPagination:!1,onSelectionChange:_},{action:R(({row:V})=>[t("button",{class:"del-button del-button--danger",onClick:it=>p(V)},[t("span",null,o(e(a)("\u5220\u9664")),1)],8,SB)]),networkAccess:R(({row:V})=>[t("span",null,o(V!=null&&V.networkAccess?e(a)("\u662F"):e(a)("\u5426")),1)]),_:1},8,["data","columns","showSelection"])]),z(fe,{modelValue:x.value,"onUpdate:modelValue":P[9]||(P[9]=V=>x.value=V),title:"\u9650\u901F\u914D\u7F6E","show-close":!0,onConfirm:I,onCancel:et},{default:R(()=>{var V,it,Ct,Dt;return[t("div",zB,[t("div",PB,[t("div",TB,o(e(a)("\u5BF9\u8BBE\u5907\u5F00\u542F\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(A).enabled,"onUpdate:modelValue":P[1]||(P[1]=vt=>e(A).enabled=vt),disabled:!((it=(V=d.value)==null?void 0:V.speedLimit)!=null&&it.enabled),onBeforeChange:Y},null,8,["modelValue","disabled"])]),t("div",IB,[t("div",LB,o(e(a)("IP\u5730\u5740"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[2]||(P[2]=vt=>e(A).ip=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,MB),[[tt,e(A).ip,void 0,{trim:!0}]])]),t("div",NB,[t("div",OB,o(e(a)("MAC\u5730\u5740"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[3]||(P[3]=vt=>e(A).mac=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,VB),[[tt,e(A).mac,void 0,{trim:!0}]])]),(Dt=(Ct=d.value)==null?void 0:Ct.speedLimit)!=null&&Dt.enabled?D("",!0):(s(),l("div",GB,[t("a",{href:"",onClick:ft(F,["prevent"])},o(e(a)("\u70B9\u6211\u8DF3\u8F6C\u5168\u5C40\u914D\u7F6E")),9,jB)])),e(A).enabled?(s(),l("div",qB,[t("div",UB,[t("div",RB,o(e(a)("\u7981\u6B62\u8BE5\u8BBE\u5907\u8BBF\u95EE\u7F51\u7EDC"))+"\uFF1A",1),z(jt,{modelValue:e(A).networkAccess,"onUpdate:modelValue":P[4]||(P[4]=vt=>e(A).networkAccess=vt),onChange:P[5]||(P[5]=()=>{})},null,8,["modelValue"])]),e(A).networkAccess?D("",!0):(s(),l(O,{key:0},[t("div",WB,[t("div",HB,o(e(a)("\u4E0B\u8F7D\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[6]||(P[6]=vt=>e(A).downloadSpeed=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,ZB),[[tt,e(A).downloadSpeed,void 0,{trim:!0}]]),nt(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",JB,[t("div",KB,o(e(a)("\u4E0A\u4F20\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[7]||(P[7]=vt=>e(A).uploadSpeed=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,QB),[[tt,e(A).uploadSpeed,void 0,{trim:!0}]]),nt(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",XB,[t("div",tY,o(e(a)("\u6CE8\u89E3"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":P[8]||(P[8]=vt=>e(A).comment=vt),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,eY),[[tt,e(A).comment,void 0,{trim:!0}]])])],64))])):D("",!0)])]}),_:1},8,["modelValue"])]))}});var oY=N(aY,[["__scopeId","data-v-6070492a"]]);const aa=n=>(st("data-v-d85760b8"),n=n(),dt(),n),nY={key:0,class:"dialog-overlay"},iY={class:"dialog-container"},rY={class:"dialog-title"},sY=aa(()=>t("div",{class:"loading-animation"},[t("div",{class:"spinner"})],-1)),dY={class:"dialog-message"},lY={key:0,class:"dialog-overlay"},uY={class:"dialog-container"},cY={class:"dialog-title"},pY=aa(()=>t("div",{style:{display:"flex","justify-content":"center"}},[t("svg",{t:"1752661662572",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5921",width:"50",height:"50"},[t("path",{d:"M0 512C0 229.234759 229.234759 0 512 0s512 229.234759 512 512-229.234759 512-512 512S0 794.765241 0 512z m419.310345 194.630621a35.310345 35.310345 0 0 0 49.399172 1.271172l335.518897-311.931586a35.310345 35.310345 0 0 0-48.075035-51.729655l-309.124413 289.544827-145.125518-149.645241a35.310345 35.310345 0 1 0-50.688 49.169655l168.112552 173.320828z",fill:"#553afe","p-id":"5922"})])],-1)),fY={class:"dialog-message"},mY={key:0,class:"dialog-overlay"},vY={class:"dialog-container tag-dialog"},bY={class:"dialog-title"},gY={class:"warning-message"},hY=aa(()=>t("svg",{class:"warning-icon",viewBox:"0 0 24 24"},[t("path",{fill:"currentColor",d:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16"})],-1)),_Y={class:"input-group"},xY={for:"tagName"},wY=["placeholder"],kY={class:"input-group"},yY={for:"tagName"},FY=["placeholder"],EY={class:"button-group"},$Y=G({emits:["confirm","update:modelValue"],setup(n,{expose:i,emit:a}){const{$gettext:d}=W(),u=$("install"),r=$("\u6D6E\u52A8\u7F51\u5173"),c=$(!1),x=$(!1),h=$(!1),f=$(""),v=$(""),b=()=>{u.value="install",c.value=!0},_=()=>{c.value=!1},y=()=>{c.value=!1,setTimeout(()=>{x.value=!0},300)},k=()=>{x.value=!1},w=$("1"),p=()=>{u.value="tag",w.value="1",f.value="",v.value="",h.value=!0},m=()=>{u.value="tag",w.value="2",h.value=!0},g=()=>{h.value=!1},F=(A,C)=>C?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[A].test(C.trim()):!1,Y=()=>{if(!F("ip",v.value.trim()))return E.Warning(`${d("\u8BF7\u8F93\u5165\u6B63\u786E\u7684IP\u5730\u5740")}`);f.value.trim()&&v.value.trim()&&(a("confirm",{tagName:f.value.trim(),gateway:v.value.trim(),type:w.value}),g())};return Tt(f,A=>{a("update:modelValue",A)}),Tt(v,A=>{a("update:modelValue",A)}),i({tagName:f,gateway:v,openInstallDialog:b,showInstallResult:y,openTagDialog:p,closeTagDialog:g,cancelInstall:_,openEditTagDialog:m,title:r}),(A,C)=>(s(),l(O,null,[z($t,{name:"fade"},{default:R(()=>[c.value&&u.value==="install"?(s(),l("div",nY,[t("div",iY,[t("div",rY,o(e(d)(`${r.value}`)),1),sY,t("p",dY,o(e(d)("\u6B63\u5728\u5B89\u88C5"))+"...",1),t("button",{class:"dialog-button",onClick:_},o(e(d)(""))+"\u5173\u95ED",1)])])):D("",!0)]),_:1}),z($t,{name:"fade"},{default:R(()=>[x.value&&u.value==="install"?(s(),l("div",lY,[t("div",uY,[t("div",cY,o(e(d)("\u7ED3\u679C")),1),pY,t("p",fY,o(e(d)("\u5B89\u88C5\u6210\u529F"))+"\uFF01",1),t("button",{class:"dialog-button",onClick:k},o(e(d)("\u786E\u5B9A")),1)])])):D("",!0)]),_:1}),z($t,{name:"fade"},{default:R(()=>[h.value&&u.value==="tag"?(s(),l("div",mY,[t("div",vY,[t("div",bY,o(e(d)(w.value==="1"?"\u6DFB\u52A0\u6807\u7B7E":"\u7F16\u8F91\u6807\u7B7E")),1),t("div",gY,[hY,t("span",null,o(e(d)("\u6CE8\u610F\uFF1A\u6DFB\u52A0\u6807\u7B7E\u65F6\uFF0C\u8BF7\u52FF\u5C06\u201Codhcpd\u201D\u6216\u7F51\u7EDC\u63A5\u53E3\uFF08\u4F8B\u5982\u201Clan\u201D,\u201Cwan\u201D,\u201Cwan6\u201D\u7B49\uFF09\u4F5C\u4E3A\u540D\u79F0\uFF0C\u6B64\u4E3E\u5C06\u4EA7\u751F\u51B2\u7A81\u3002\u5EFA\u8BAE\u5728\u540D\u79F0\u524D\u9762\u52A0\u4E0A\u524D\u7F00\u201Ct_\u201D\u4EE5\u675C\u7EDD\u6B64\u7C7B\u51B2\u7A81\u3002")),1)]),t("div",_Y,[t("label",xY,o(e(d)("\u6807\u7B7E\u540D\u79F0"))+"\uFF1A",1),T(t("input",{id:"tagName","onUpdate:modelValue":C[0]||(C[0]=B=>f.value=B),type:"text",placeholder:e(d)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,wY),[[tt,f.value]])]),t("div",kY,[t("label",yY,o(e(d)("\u7F51\u5173"))+"\uFF1A",1),T(t("input",{id:"tagName","onUpdate:modelValue":C[1]||(C[1]=B=>v.value=B),type:"text",placeholder:e(d)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,FY),[[tt,v.value]])]),t("div",EY,[t("button",{class:"cancel-button",onClick:g},o(e(d)("\u53D6\u6D88")),1),t("button",{class:"confirm-button",onClick:Y},o(e(d)("\u786E\u5B9A")),1)])])])):D("",!0)]),_:1})],64))}});var CY=N($Y,[["__scopeId","data-v-d85760b8"]]);const Ua=n=>(st("data-v-94644288"),n=n(),dt(),n),DY={class:"tab-container"},BY={class:"tab-header"},YY=["onClick"],AY={class:"tab-content_g"},SY={key:0,class:"not_installed"},zY=Ua(()=>t("svg",{t:"1752659436579",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4943",width:"150",height:"150"},[t("path",{d:"M216.896 97.232l-55.792 106.24 704.784 8.928-24.352-75.888-38.496-39.28z",fill:"#FFFFFF","p-id":"4944"}),t("path",{d:"M192.016 255.968h655.968v592H192.016z",fill:"#FFFFFF","p-id":"4945"}),t("path",{d:"M921.904 187.008l-66.72-80.656a69.744 69.744 0 0 0-55.168-26.32h-576a71.296 71.296 0 0 0-55.664 26.416l-66.256 80.56a93.984 93.984 0 0 0-22.08 61.024v600a96.288 96.288 0 0 0 96 96h672a96.288 96.288 0 0 0 96-96v-600a93.984 93.984 0 0 0-22.112-61.024zM512.016 777.856L246.128 512.032h166.144v-132.976h199.392v132.976h166.128zM179.664 179.664l33.152-66.464h598.128l33.2 66.464z",fill:"#909399","p-id":"4946"})],-1)),PY={key:1},TY={class:"item_box"},IY={class:"item_left"},LY={class:"item_box"},MY={class:"item_left"},NY=["placeholder"],OY={class:"item_box"},VY={class:"item_left"},GY=["placeholder"],jY={class:"item_box"},qY={class:"item_left"},UY={key:0,class:"not_installed"},RY=Ua(()=>t("svg",{t:"1752659436579",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4943",width:"150",height:"150"},[t("path",{d:"M216.896 97.232l-55.792 106.24 704.784 8.928-24.352-75.888-38.496-39.28z",fill:"#FFFFFF","p-id":"4944"}),t("path",{d:"M192.016 255.968h655.968v592H192.016z",fill:"#FFFFFF","p-id":"4945"}),t("path",{d:"M921.904 187.008l-66.72-80.656a69.744 69.744 0 0 0-55.168-26.32h-576a71.296 71.296 0 0 0-55.664 26.416l-66.256 80.56a93.984 93.984 0 0 0-22.08 61.024v600a96.288 96.288 0 0 0 96 96h672a96.288 96.288 0 0 0 96-96v-600a93.984 93.984 0 0 0-22.112-61.024zM512.016 777.856L246.128 512.032h166.144v-132.976h199.392v132.976h166.128zM179.664 179.664l33.152-66.464h598.128l33.2 66.464z",fill:"#909399","p-id":"4946"})],-1)),WY={key:1},HY={class:"item_box"},ZY={class:"item_left"},JY={class:"item_box"},KY={class:"item_left"},QY={key:0,value:"",disabled:""},XY=["value"],tA={class:"item_box"},eA={class:"item_left"},aA=["placeholder"],oA={class:"item_box"},nA={class:"item_left"},iA=["placeholder"],rA={class:"item_box"},sA={class:"item_left"},dA={style:{"margin-bottom":"16px"}},lA={class:"item_box"},uA={class:"item_left"},cA={class:"item_box"},pA={class:"item_left"},fA=["value"],mA={class:"item_box"},vA={class:"item_left"},bA={style:{display:"flex","justify-content":"end","margin-bottom":"8px"}},gA=["onClick"],hA=["onClick"],_A=G({setup(n,{expose:i}){const{$gettext:a}=W(),d=X(()=>!f.role),u=$([]),r=$([{label:"\u6807\u9898",prop:"tagTitle",slot:"tagTitle"},{label:"ID",prop:"tagName",slot:"tagName"},{label:"\u7F51\u5173",prop:"gateway",slot:"gateway"},{label:"\u64CD\u4F5C",prop:"action",slot:"action"}]),c=$([{name:a("\u4E3B\u8DEF\u7531"),value:"fallback"},{name:a("\u65C1\u8DEF\u7531"),value:"main"}]),x=bt({dhcpEnabled:!1,dhcpGateway:""}),h=bt({enabled:!1,uploadSpeed:"",downloadSpeed:"",installed:!0}),f=bt({enabled:!1,role:"",setIP:"",checkIP:""}),v=$({}),b=()=>L(this,null,function*(){var ot,U,xt,lt,K,Mt,ke,ye,q,Z,Q,at,_t,zt,wt,te,ee,ae,oe,ne,ie,re,se;try{const{data:kt}=yield M.DeviceMangement.globalConfigs.GET();if(kt.result){if(v.value=kt.result||{},x.dhcpEnabled=((U=(ot=kt.result)==null?void 0:ot.dhcpGlobal)==null?void 0:U.dhcpEnabled)||!1,(lt=(xt=kt.result)==null?void 0:xt.dhcpGlobal)!=null&<.dhcpGateway)x.dhcpGateway=(Mt=(K=kt.result)==null?void 0:K.dhcpGlobal)==null?void 0:Mt.dhcpGateway;else{const de=(ye=(ke=kt.result)==null?void 0:ke.dhcpGlobal)==null?void 0:ye.gatewaySels.find(Fe=>Fe.title==="myself");de?x.dhcpGateway=de.gateway:x.dhcpGateway=""}u.value=((q=kt.result)==null?void 0:q.dhcpTags)||[],h.enabled=((Q=(Z=kt.result)==null?void 0:Z.speedLimit)==null?void 0:Q.enabled)||!1,h.uploadSpeed=((_t=(at=kt.result)==null?void 0:at.speedLimit)==null?void 0:_t.uploadSpeed)||"",h.downloadSpeed=((wt=(zt=kt.result)==null?void 0:zt.speedLimit)==null?void 0:wt.downloadSpeed)||"",f.enabled=((ee=(te=kt.result)==null?void 0:te.floatGateway)==null?void 0:ee.enabled)||!1,f.role=((oe=(ae=kt.result)==null?void 0:ae.floatGateway)==null?void 0:oe.role)||"",f.setIP=((ie=(ne=kt.result)==null?void 0:ne.floatGateway)==null?void 0:ie.setIP)||"",f.checkIP=((se=(re=kt.result)==null?void 0:re.floatGateway)==null?void 0:se.checkIP)||""}}catch(kt){}});b();const _=()=>L(this,null,function*(){let ot=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:U}=yield M.DeviceMangement.dhcpGatewayConfig.POST(x);JSON.stringify(U)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((U==null?void 0:U.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(U){E.Warning(`${U==null?void 0:U.error} || ${U==null?void 0:U.message}`)}finally{ot.Close()}}),y=(ot,U)=>L(this,null,function*(){let xt=E.Loading(a("\u68C0\u67E5\u4E2D..."));try{const lt=yield M.App.Check.POST({name:ot});if(xt.Close(),lt!=null&<.data){const{result:K,error:Mt}=lt.data;if(Mt)E.Warning(Mt);else{if(K)return K.status=="installed";E.Warning(a("\u68C0\u67E5\u63D2\u4EF6\u72B6\u6001\u5931\u8D25"))}}return!1}catch(lt){return xt.Close(),E.Warning(lt),!1}}),k=$(!1),w=$(!1),p=()=>L(this,null,function*(){(yield y("app-meta-floatip"))&&(w.value=!0)}),m=()=>L(this,null,function*(){(yield y("app-meta-eqos"))&&(k.value=!0)});p(),m();const g=[{id:"tag",label:"DHCP"},{id:"gateway",label:"\u6D6E\u52A8\u7F51\u5173"},{id:"ip",label:"IP\u9650\u901F"}],F=$("tag");i({activeTab:F});const Y=ot=>{F.value=ot},A=$(),C=ot=>({default:a("\u9ED8\u8BA4\u7F51\u5173"),parent:a("\u4E0A\u7EA7\u8DEF\u7531"),myself:a("\u672C\u8BBE\u5907"),bypass:a("\u65C1\u8DEF\u7531"),floatip:a("\u6D6E\u52A8\u7F51\u5173")})[ot]||ot,B=ot=>L(this,null,function*(){if(ot=="app-meta-floatip"?A.value.title="\u6D6E\u52A8\u7F51\u5173":A.value.title="IP\u9650\u901F",A.value.openInstallDialog(),yield Et.installApp(ot))return ot=="app-meta-floatip"?p():m(),A.value.showInstallResult(),!0;A.value.cancelInstall(),E.Error(a("\u5B89\u88C5\u5931\u8D25\u6216\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u8F6F\u4EF6\u6E90\u6216\u7A0D\u5019\u91CD\u8BD5"))}),I=ot=>/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/.test(ot.toString()),et=()=>L(this,null,function*(){if(h.enabled){if(!h.downloadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0B\u8F7D\u901F\u5EA6")}`);if(!I(h.downloadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0B\u8F7D\u901F\u5EA6")}`);if(!h.uploadSpeed)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u4E0A\u4F20\u901F\u5EA6")}`);if(!I(h.uploadSpeed))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E0A\u4F20\u901F\u5EA6")}`);h.downloadSpeed=Number(h.downloadSpeed),h.uploadSpeed=Number(h.uploadSpeed)}else h.downloadSpeed=0,h.uploadSpeed=0;let ot=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:U}=yield M.DeviceMangement.enableSpeedLimit.POST(h);JSON.stringify(U)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((U==null?void 0:U.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(U){E.Warning(`${U==null?void 0:U.error} || ${U==null?void 0:U.message}`)}finally{ot.Close()}}),S=(ot,U)=>U?{ip:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\/([0-9]|[1-2][0-9]|3[0-2]))?$/,mac:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$|^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/}[ot].test(U.trim()):!1,P=()=>L(this,null,function*(){if(!f.role)return E.Warning(a("\u8BF7\u9009\u62E9\u8282\u70B9\u89D2\u8272"));if(!f.setIP)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u6D6E\u52A8\u7F51\u5173")}IP`);if(!S("ip",f.setIP))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u6D6E\u52A8\u7F51\u5173IP\u5730\u5740")}`);if(!f.checkIP)return E.Warning(`${a("\u8BF7\u8F93\u5165")}${a("\u65C1\u8DEF\u7531")}IP`);if(!S("ip",f.checkIP))return E.Warning(`${a("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u65C1\u8DEF\u7531IP\u5730\u5740")}`);let ot=E.Loading(a("\u4FDD\u5B58\u4E2D..."));try{const{data:U}=yield M.DeviceMangement.enableFloatGateway.POST(f);JSON.stringify(U)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((U==null?void 0:U.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(U){E.Warning(`${U==null?void 0:U.error} || ${U==null?void 0:U.message}`)}finally{ot.Close()}}),V=ot=>L(this,null,function*(){if(confirm(a("\u786E\u5B9A\u5220\u9664\uFF1F"))){let U=E.Loading(a("\u5220\u9664\u4E2D...")),xt={action:"delete",tagName:ot.tagTitle||ot.tagName||"",dhcpOption:(ot==null?void 0:ot.dhcpOption)||[]};try{const{data:lt}=yield M.DeviceMangement.dhcpTagsConfig.POST(xt);JSON.stringify(lt)==="{}"?(E.Success(a("\u5220\u9664\u6210\u529F")),b()):E.Success((lt==null?void 0:lt.error)||"\u5220\u9664\u5931\u8D25\uFF01")}catch(lt){E.Warning(`${lt==null?void 0:lt.error} || ${lt==null?void 0:lt.message}`)}finally{U.Close()}}}),it=()=>{A.value.openTagDialog()},Ct=$([]),Dt=ot=>L(this,null,function*(){Ct.value=ot.dhcpOption?ot.dhcpOption:[],A.value.tagName=ot.tagName||"",A.value.gateway=ot.gateway||"",yield qe(),A.value.openEditTagDialog()}),vt=ot=>L(this,null,function*(){let U=E.Loading(a("\u4FDD\u5B58\u4E2D..."));const xt=[`3,${ot.gateway}`,`6,${ot.gateway}`];let lt={action:ot.type==1?"add":"edit",tagName:ot.tagName,dhcpOption:xt};try{const{data:K}=yield M.DeviceMangement.dhcpTagsConfig.POST(lt);JSON.stringify(K)==="{}"?(E.Success(a("\u4FDD\u5B58\u6210\u529F")),b()):E.Success((K==null?void 0:K.error)||"\u4FDD\u5B58\u5931\u8D25\uFF01")}catch(K){E.Warning(`${K==null?void 0:K.error} || ${K==null?void 0:K.message}`)}finally{U.Close()}});return(ot,U)=>{var xt,lt;return s(),l("div",DY,[t("div",BY,[(s(),l(O,null,J(g,K=>t("button",{key:K.id,class:ct(["tab-button",{active:F.value===K.id}]),onClick:Mt=>Y(K.id)},o(e(a)(K.label)),11,YY)),64))]),t("div",AY,[T(t("div",null,[k.value?(s(),l("div",PY,[t("div",TY,[t("div",IY,o(e(a)("IP\u9650\u901F"))+"\uFF1A",1),z(jt,{modelValue:e(h).enabled,"onUpdate:modelValue":U[1]||(U[1]=K=>e(h).enabled=K),onChange:U[2]||(U[2]=()=>{})},null,8,["modelValue"])]),e(h).enabled?(s(),l(O,{key:0},[t("div",LY,[t("div",MY,o(e(a)("\u4E0B\u8F7D\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[3]||(U[3]=K=>e(h).downloadSpeed=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,NY),[[tt,e(h).downloadSpeed,void 0,{trim:!0}]]),nt(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)]),t("div",OY,[t("div",VY,o(e(a)("\u4E0A\u4F20\u901F\u5EA6"))+"\uFF08Mbit/s\uFF09\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[4]||(U[4]=K=>e(h).uploadSpeed=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,GY),[[tt,e(h).uploadSpeed,void 0,{trim:!0}]]),nt(" \xA0 "+o(e(a)("\u603B\u5E26\u5BBD")),1)])],64)):D("",!0),t("div",jY,[t("div",qY,[t("button",{class:"add-button add-button--danger",onClick:et},o(e(a)("\u4FDD\u5B58")),1)])])])):(s(),l("div",SY,[zY,t("span",null,o(e(a)("\u8F6F\u4EF6\u6682\u672A\u5B89\u88C5")),1),t("div",{class:"not_installed_btn",onClick:U[0]||(U[0]=K=>B("app-meta-eqos"))},o(e(a)("\u7ACB\u5373\u5B89\u88C5")),1)]))],512),[[Yt,F.value==="ip"]]),T(t("div",null,[w.value?(s(),l("div",WY,[t("div",HY,[t("div",ZY,o(e(a)("\u6D6E\u52A8\u7F51\u5173"))+"\uFF1A",1),z(jt,{modelValue:e(f).enabled,"onUpdate:modelValue":U[6]||(U[6]=K=>e(f).enabled=K),onChange:U[7]||(U[7]=()=>{})},null,8,["modelValue"])]),t("div",JY,[t("div",KY,o(e(a)("\u8282\u70B9\u89D2\u8272"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":U[8]||(U[8]=K=>e(f).role=K),onChange:U[9]||(U[9]=()=>{})},[e(d)?(s(),l("option",QY,o(e(a)("\u8BF7\u9009\u62E9")),1)):D("",!0),(s(!0),l(O,null,J(c.value,K=>(s(),l("option",{value:K.value},o(K.name),9,XY))),256))],544),[[rt,e(f).role]])]),t("div",tA,[t("div",eA,o(e(a)("\u6D6E\u52A8\u7F51\u5173IP"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[10]||(U[10]=K=>e(f).setIP=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,aA),[[tt,e(f).setIP,void 0,{trim:!0}]])]),t("div",oA,[t("div",nA,o(e(a)("\u65C1\u8DEF\u7531IP"))+"\uFF1A",1),T(t("input",{id:"tagName",type:"text","onUpdate:modelValue":U[11]||(U[11]=K=>e(f).checkIP=K),placeholder:e(a)("\u8BF7\u8F93\u5165")+"...",class:"tag-input"},null,8,iA),[[tt,e(f).checkIP,void 0,{trim:!0}]])]),t("div",rA,[t("div",sA,[t("button",{class:"add-button add-button--danger",onClick:P},o(e(a)("\u4FDD\u5B58")),1)])])])):(s(),l("div",UY,[RY,t("span",null,o(e(a)("\u8F6F\u4EF6\u6682\u672A\u5B89\u88C5")),1),t("div",{class:"not_installed_btn",onClick:U[5]||(U[5]=K=>B("app-meta-floatip"))},o(e(a)("\u7ACB\u5373\u5B89\u88C5")),1)]))],512),[[Yt,F.value==="gateway"]]),T(t("div",null,[t("div",dA,[t("div",lA,[t("div",uA,o(e(a)("\u542F\u7528"))+"DHCP\uFF1A",1),z(jt,{modelValue:e(x).dhcpEnabled,"onUpdate:modelValue":U[12]||(U[12]=K=>e(x).dhcpEnabled=K),onChange:U[13]||(U[13]=()=>{})},null,8,["modelValue"])]),t("div",cA,[t("div",pA,"DHCP"+o(e(a)("\u7F51\u5173"))+"\uFF1A",1),T(t("select",{"onUpdate:modelValue":U[14]||(U[14]=K=>e(x).dhcpGateway=K),onChange:U[15]||(U[15]=()=>{})},[(s(!0),l(O,null,J((lt=(xt=v.value)==null?void 0:xt.dhcpGlobal)==null?void 0:lt.gatewaySels,K=>(s(),l("option",{value:K.gateway},o(K.gateway)+" ("+o(K.title?C(K.title):"")+") ",9,fA))),256))],544),[[rt,e(x).dhcpGateway]])]),t("div",mA,[t("div",vA,[t("button",{class:"add-button add-button--danger",onClick:_},o(e(a)("\u4FDD\u5B58")),1)])])]),t("div",bA,[t("button",{class:"add-button add-button--danger",onClick:it},[t("span",null,o(e(a)("\u6DFB\u52A0")),1)])]),z(Me,{data:u.value,columns:r.value,showSelection:!1,showPagination:!1,theadBgColor:"#e8e6f9"},{action:R(({row:K})=>[K.autoCreated?D("",!0):(s(),l("span",{key:0,style:{color:"#553AFE",cursor:"pointer"},onClick:Mt=>Dt(K)},o(e(a)("\u7F16\u8F91")),9,gA)),K.autoCreated?D("",!0):(s(),l("span",{key:1,style:{color:"#F04134",cursor:"pointer","margin-left":"18px"},onClick:Mt=>V(K)},o(e(a)("\u5220\u9664")),9,hA))]),tagTitle:R(({row:K})=>[t("span",null,o(C(K.tagTitle)),1)]),tagName:R(({row:K})=>[t("span",null,o(K.tagName||"-"),1)]),gateway:R(({row:K})=>[t("span",null,o(K.gateway||"-"),1)]),_:1},8,["data","columns"])],512),[[Yt,F.value==="tag"]])]),z(CY,{ref_key:"tagDialogRef",ref:A,onConfirm:vt},null,512)])}}});var xA=N(_A,[["__scopeId","data-v-94644288"]]);const Ra=n=>(st("data-v-a5a78984"),n=n(),dt(),n),wA={id:"page"},kA={style:{"text-align":"left",display:"flex","align-items":"center","margin-bottom":"20px","padding-top":"4px"}},yA=Ra(()=>t("svg",{width:"20",height:"20",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},[t("path",{d:"M20 30 L50 50 L20 70",stroke:"#d6dbf8","stroke-width":"8","stroke-linecap":"round",fill:"none"})],-1)),FA={style:{"text-decoration":"none",color:"var(--breadcrumbs-tit-color1)","line-height":"1.5em"}},EA={class:"device_container",style:{color:"black"}},$A={class:"tab-container"},CA={class:"tabs_box_g"},DA=["onClick"],BA={class:"tab-content_g"},YA={key:0,class:"content-item"},AA={key:1,class:"content-item"},SA={key:2,class:"content-item"},zA={key:3,class:"content-item"},PA=Ra(()=>t("div",{style:{height:"30px"}},null,-1)),TA=G({setup(n){const{$gettext:i}=W(),a=$(["\u8BBE\u5907\u5217\u8868","\u9759\u6001\u5206\u914D\u5217\u8868","\u9650\u901F\u8BBE\u5907\u5217\u8868","\u5168\u5C40\u8BBE\u7F6E"]),d=$(0),u=$(null),r=()=>L(this,null,function*(){d.value=3,yield qe(),u.value&&(u.value.activeTab="ip")});return(c,x)=>{const h=pt("router-link");return s(),l(O,null,[t("div",wA,[t("div",kA,[z(h,{to:"/",style:{"text-decoration":"none",color:"var(--breadcrumbs-tit-color)","line-height":"1.5em","margin-right":"4px"}},{default:R(()=>[nt(o(e(i)("\u9996\u9875")),1)]),_:1}),yA,t("a",FA,o(e(i)("\u8BBE\u5907\u7BA1\u7406")),1)])]),t("div",EA,[t("div",$A,[t("div",CA,[(s(!0),l(O,null,J(a.value,(f,v)=>(s(),l("button",{key:v,onClick:b=>d.value=v,class:ct({active:d.value===v})},o(e(i)(f)),11,DA))),128))]),t("div",BA,[d.value===0?(s(),l("div",YA,[z(sB,{onOpenGloba:r})])):D("",!0),d.value===1?(s(),l("div",AA,[z(BB)])):D("",!0),d.value===2?(s(),l("div",SA,[z(oY,{onOpenGloba:r})])):D("",!0),d.value===3?(s(),l("div",zA,[z(xA,{ref_key:"configureRef",ref:u},null,512)])):D("",!0)]),PA])])],64)}}});var IA=N(TA,[["__scopeId","data-v-a5a78984"]]);const we=n=>(st("data-v-1ad1f636"),n=n(),dt(),n),LA=["onSubmit"],MA={class:"form-item"},NA={class:"label-name"},OA={class:"label-value switch_label"},VA={class:"label-flex pc-radio"},GA=["disabled"],jA=["disabled"],qA=we(()=>t("div",{class:"switch-button"},null,-1)),UA=[qA],RA={key:0,class:"form-item"},WA={class:"label-name"},HA={class:"label-value"},ZA=["disabled"],JA={value:100},KA={value:70},QA={value:50},XA={value:30},tS={key:0,class:"select-arrow"},eS={class:"form-item"},aS={class:"label-name"},oS={class:"label-value"},nS=["disabled","placeholder"],iS={class:"form-item"},rS={class:"label-name"},sS={class:"label-value"},dS=["disabled"],lS=["value"],uS={key:0,class:"select-arrow"},cS={class:"form-item"},pS={class:"label-name"},fS={class:"label-value"},mS=["type","disabled","placeholder"],vS={key:0,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},bS=we(()=>t("path",{d:"M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z",fill:"currentColor"},null,-1)),gS=[bS],hS={key:1,class:"seeIcon",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},_S=we(()=>t("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",fill:"currentColor"},null,-1)),xS=[_S],wS={class:"form-item"},kS={class:"label-name"},yS={class:"label-value"},FS=["disabled"],ES={value:!1},$S={value:!0},CS={key:0,class:"select-arrow"},DS={key:1,class:"form-item"},BS={class:"label-name"},YS={class:"label-value"},AS=["disabled"],SS=["value"],zS={key:0,class:"select-arrow"},PS={key:2,class:"form-item"},TS={class:"label-name"},IS={class:"label-value"},LS=["disabled"],MS=we(()=>t("option",{value:"20"},"20 MHz",-1)),NS=we(()=>t("option",{value:"40"},"40 MHz",-1)),OS={key:0,value:"auto"},VS={key:1,value:"80"},GS={key:2,value:"160"},jS={key:0,class:"select-arrow"},qS={key:3,class:"form-item"},US={class:"label-name"},RS={class:"label-value"},WS=["disabled"],HS={value:0},ZS=["value"],JS=["disabled"],KS={value:0},QS=qt('',12),XS={key:2,class:"select-arrow"},tz={class:"label-btns"},ez=["disabled"],az=G({props:{data:null},emits:["getData"],setup(n,{emit:i}){const a=n,{$gettext:d,$ngettext:u}=W(),r=$(Object.assign({},a.data)),c=je("disabled"),x=$(!0),h=()=>{c.value||(r.value.disabled=!r.value.disabled)};Tt(()=>r.value.disabled,y=>{v()});const f=()=>L(this,null,function*(){if(r.value.txpower===a.data.txpower)return;const y=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:k}=yield M.Quickwifi.Power.POST({device:r.value.device||"",txpower:r.value.txpower||0}),{error:w,success:p}=k;if(w)throw w;(p==null||p==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(k){throw E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),k}finally{y.Close()}}),v=()=>L(this,null,function*(){const y=E.Loading("\u914D\u7F6E\u4E2D...");try{const{data:k}=yield M.Quickwifi.Switch.POST({ifaceName:r.value.ifaceName||"",enable:!r.value.disabled}),{error:w,success:p}=k;if(w)throw w;(p==null||p==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}catch(k){throw console.error("\u8BF7\u6C42\u51FA\u9519:",k),E.Error("\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"),k}finally{y.Close()}}),b=()=>L(this,null,function*(){const y=ut({},r.value);delete y.encryptSelects,delete y.hwmodeSelects,delete y.disabled,delete y.txpower;const{data:k}=yield M.Quickwifi.Edit.POST(y),{error:w,success:p}=k;if(w)throw w;(p==null||p==0)&&E.Success("\u914D\u7F6E\u5B8C\u6210")}),_=()=>L(this,null,function*(){if(c.value)return;c.value=!0;const y=E.Loading("\u914D\u7F6E\u4E2D...");try{yield b(),yield i("getData")}catch(k){const w=E.Error(`${k}`);setTimeout(()=>{w.Close()},2e3)}finally{y.Close(),c.value=!1}});return(y,k)=>(s(),l("form",{class:"form-container",onSubmit:ft(_,["prevent"])},[t("div",MA,[t("div",NA,[t("span",null,o(e(d)("\u542F\u7528Wi-Fi")),1)]),t("div",OA,[t("div",VA,[t("label",null,[T(t("input",{type:"radio",value:!1,"onUpdate:modelValue":k[0]||(k[0]=w=>r.value.disabled=w),disabled:e(c)},null,8,GA),[[yt,r.value.disabled]]),nt(" "+o(e(d)("\u5F00\u542F")),1)]),t("label",null,[T(t("input",{type:"radio",value:!0,"onUpdate:modelValue":k[1]||(k[1]=w=>r.value.disabled=w),disabled:e(c)},null,8,jA),[[yt,r.value.disabled]]),nt(" "+o(e(d)("\u5173\u95ED")),1)])]),t("div",{class:"mobile-switch",onClick:h},[t("div",{class:ct(["switch-core",{"is-checked":!r.value.disabled,"is-disabled":e(c)}])},UA,2)])])]),r.value.isGuest?D("",!0):(s(),l("div",RA,[t("div",WA,[t("span",null,o(e(d)("\u53D1\u5C04\u529F\u7387")),1)]),t("div",HA,[T(t("select",{"onUpdate:modelValue":k[2]||(k[2]=w=>r.value.txpower=w),disabled:e(c),onChange:f},[t("option",JA,o(e(d)("\u6700\u5927")),1),t("option",KA,o(e(d)("\u9AD8")),1),t("option",QA,o(e(d)("\u4E2D")),1),t("option",XA,o(e(d)("\u4F4E")),1)],40,ZA),[[rt,r.value.txpower]]),e(c)?D("",!0):(s(),l("div",tS))])])),t("div",eS,[t("div",aS,[t("span",null,o(e(d)("Wi-Fi\u540D\u79F0\uFF08SSID\uFF09")),1)]),t("div",oS,[T(t("input",{"onUpdate:modelValue":k[3]||(k[3]=w=>r.value.ssid=w),disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u540D\u79F0")},null,8,nS),[[tt,r.value.ssid]])])]),t("div",iS,[t("div",rS,[t("span",null,o(e(d)("Wi-Fi \u5B89\u5168\u6027")),1)]),t("div",sS,[T(t("select",{"onUpdate:modelValue":k[4]||(k[4]=w=>r.value.encryption=w),disabled:e(c)},[(s(!0),l(O,null,J(r.value.encryptSelects,w=>(s(),l("option",{value:w},o(w),9,lS))),256))],8,dS),[[rt,r.value.encryption]]),e(c)?D("",!0):(s(),l("div",uS))])]),t("div",cS,[t("div",pS,[t("span",null,o(e(d)("Wi-Fi \u5BC6\u7801")),1)]),t("div",fS,[T(t("input",{"onUpdate:modelValue":k[5]||(k[5]=w=>r.value.key=w),class:"password_input",type:x.value?"password":"",disabled:e(c),placeholder:e(d)("\u8BF7\u8F93\u5165WIFI\u5BC6\u7801")},null,8,mS),[[xa,r.value.key]]),e(c)?D("",!0):(s(),l("div",{key:0,onClick:k[6]||(k[6]=w=>x.value=!x.value)},[x.value?(s(),l("svg",vS,gS)):(s(),l("svg",hS,xS))]))])]),t("div",wS,[t("div",kS,[t("span",null,o(e(d)("SSID \u53EF\u89C1\u6027")),1)]),t("div",yS,[T(t("select",{"onUpdate:modelValue":k[7]||(k[7]=w=>r.value.hidden=w),disabled:e(c)},[t("option",ES,o(e(d)("\u663E\u793A")),1),t("option",$S,o(e(d)("\u9690\u85CF")),1)],8,FS),[[rt,r.value.hidden]]),e(c)?D("",!0):(s(),l("div",CS))])]),r.value.isGuest?D("",!0):(s(),l("div",DS,[t("div",BS,[t("span",null,o(e(d)("\u65E0\u7EBF\u6A21\u5F0F")),1)]),t("div",YS,[T(t("select",{"onUpdate:modelValue":k[8]||(k[8]=w=>r.value.hwmode=w),disabled:e(c)},[(s(!0),l(O,null,J(r.value.hwmodeSelects,w=>(s(),l("option",{value:w},o(w),9,SS))),256))],8,AS),[[rt,r.value.hwmode]]),e(c)?D("",!0):(s(),l("div",zS))])])),r.value.isGuest?D("",!0):(s(),l("div",PS,[t("div",TS,[t("span",null,o(e(d)("\u9891\u5BBD")),1)]),t("div",IS,[T(t("select",{"onUpdate:modelValue":k[9]||(k[9]=w=>r.value.htmode=w),disabled:e(c)},[MS,NS,r.value.band==="2g"?(s(),l("option",OS," 20/40 MHz ")):D("",!0),r.value.band==="5g"?(s(),l("option",VS," 80 MHz ")):D("",!0),r.value.band==="5g"?(s(),l("option",GS," 160 MHz ")):D("",!0)],8,LS),[[rt,r.value.htmode]]),e(c)?D("",!0):(s(),l("div",jS))])])),r.value.isGuest?D("",!0):(s(),l("div",qS,[t("div",US,[t("span",null,o(e(d)("\u4FE1\u9053")),1)]),t("div",RS,[r.value.band==="2g"?T((s(),l("select",{key:0,"onUpdate:modelValue":k[10]||(k[10]=w=>r.value.channel=w),disabled:e(c)},[t("option",HS,o(e(d)("\u81EA\u52A8")),1),(s(),l(O,null,J(13,w=>t("option",{value:w},o(w),9,ZS)),64))],8,WS)),[[rt,r.value.channel,void 0,{number:!0}]]):D("",!0),r.value.band==="5g"?T((s(),l("select",{key:1,"onUpdate:modelValue":k[11]||(k[11]=w=>r.value.channel=w),disabled:e(c)},[t("option",KS,o(e(d)("\u81EA\u52A8")),1),QS],8,JS)),[[rt,r.value.channel,void 0,{number:!0}]]):D("",!0),e(c)?D("",!0):(s(),l("div",XS))])])),t("div",tz,[t("button",{class:"btn primary-btn",disabled:e(c),onClick:_},o(e(d)("\u4FDD\u5B58\u914D\u7F6E")),9,ez)])],40,LA))}});var oz=N(az,[["__scopeId","data-v-1ad1f636"]]);const Ne=n=>(st("data-v-40cb5302"),n=n(),dt(),n),nz={id:"page",class:"page-container"},iz={class:"mobile-tags-container"},rz={class:"tags-wrapper"},sz={class:"tags-scroll"},dz=["onClick"],lz={class:"more-btn-wrapper"},uz=Ne(()=>t("div",{class:"fade-overlay"},null,-1)),cz=Ne(()=>t("div",{class:"line"},null,-1)),pz=Ne(()=>t("div",{class:"line"},null,-1)),fz=Ne(()=>t("div",{class:"line"},null,-1)),mz=[cz,pz,fz],vz={class:"page-flex"},bz={class:"page-sidebar"},gz=["onClick"],hz={class:"page-main"},_z={class:"popup-content"},xz={class:"popup-tags"},wz=["onClick"],kz={class:"popup-footer"},yz=G({setup(n){var w;const{$gettext:i}=W(),a=$(!1);Ue("disabled",a);const d=$([]),u=be(),r=wa(),c=$(String((w=u==null?void 0:u.query)==null?void 0:w.tab)),x=$(!1),h=p=>{var m;return(m=p.band)==null?void 0:m.toUpperCase()},f=p=>p.isGuest?p.band+"_Guest":p.ssid,v=p=>{a.value||(c.value=f(p),x.value=!1,c.value!==u.query.tab&&r.push({query:{tab:c.value}}))},b=$(),_=p=>{a.value||(b.value=f(p))},y=()=>{x.value=!1,b.value!==u.query.tab&&r.push({query:{tab:b.value}})};Tt(()=>x.value,p=>{p?b.value=c.value:c.value=b.value});const k=()=>L(this,null,function*(){try{const{data:p}=yield M.Quickwifi.List.GET(),{error:m,result:g}=p;if(m)throw m;g!=null&&g.ifaces&&(d.value=g.ifaces.map(Y=>mt(ut({},Y),{hidden:Y.hidden||!1,disabled:Y.disabled||!1,isGuest:Y.isGuest||!1,channel:Y.channel||0,txpower:Y.txpower||0,ifaceIndex:Y.ifaceIndex||0})));let F=!1;for(let Y=0;Y0&&v(d.value[0])}catch(p){console.log(p)}});return k(),(p,m)=>(s(),l("div",nz,[t("div",iz,[t("div",rz,[t("div",sz,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:f(g),class:ct(c.value===f(g)?"tag-item active":"tag-item"),onClick:ft(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,dz))),128))]),t("div",lz,[uz,t("div",{class:"more-btn",onClick:m[0]||(m[0]=g=>x.value=!0)},mz)])])]),t("div",vz,[t("div",bz,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:f(g),class:ct(c.value===f(g)?"item activeItem":"item"),onClick:ft(F=>v(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,gz))),128))]),t("div",hz,[(s(!0),l(O,null,J(d.value,g=>(s(),l(O,{key:f(g)},[c.value===f(g)?(s(),H(oz,{key:0,data:g,onGetData:k},null,8,["data"])):D("",!0)],64))),128))])]),x.value?(s(),l("div",{key:0,class:"popup-overlay",onClick:m[2]||(m[2]=ft(g=>x.value=!1,["self"]))},[t("div",_z,[t("div",xz,[(s(!0),l(O,null,J(d.value,g=>(s(),l("div",{key:f(g),class:ct(b.value===f(g)?"popup-tag-item active":"popup-tag-item"),onClick:ft(F=>_(g),["stop"])},o(h(g))+" "+o(g.isGuest?` ${e(i)("\u8BBF\u5BA2")}`:"")+" Wi-Fi "+o(g.ifaceIndex?`[${g.ifaceIndex}]`:""),11,wz))),128))]),t("div",kz,[t("button",{class:"cancel-btn",onClick:m[1]||(m[1]=g=>x.value=!1)},o(e(i)("\u53D6\u6D88")),1),t("button",{class:"confirm-btn",onClick:y},o(e(i)("\u786E\u5B9A")),1)])])])):D("",!0)]))}});var Fz=N(yz,[["__scopeId","data-v-40cb5302"]]);const Ez=()=>window.vue_base||"/cgi-bin/luci/admin/quickstart",Wa=lo({history:uo(Ez()),routes:[{name:"IndexPage",path:"/",meta:{title:"\u63A7\u5236\u53F0"},component:R9},{name:"NetworkPage",path:"/network",meta:{title:"\u7F51\u7EDC\u8BBE\u7F6E\u5411\u5BFC"},component:Z9,children:[{path:"",component:ch},{path:"pppoe",component:Ph},{path:"dhcp",component:__},{path:"gateway",component:lx}]},{path:"/quickwifi",component:Fz},{name:"RaidPage",path:"/raid",meta:{title:"raid\u5411\u5BFC"},component:Sk},{name:"SmartPage",path:"/smart",meta:{title:"smart\u68C0\u6D4B"},component:Ok,children:[{path:"",component:VE},{path:"task",component:a$},{path:"log",component:r$}]},{path:"/interfaceconfig",component:gC},{path:"/devicemanagement",component:IA}]});Wa.beforeEach((n,i)=>(n.meta.title,!0));const Ft=gt(Po);Ft.component("svg-menu",Vo);Ft.component("svg-system",Wo);Ft.component("svg-download",Xo);Ft.component("svg-store",dn);Ft.component("svg-info",mn);Ft.component("svg-disk",Mn);Ft.component("svg-nav",qn);Ft.component("progress-item",Ca);Ft.component("svg-view-show",mi);Ft.component("svg-view-hidden",xi);Ft.component("article-item",Ci);Ft.component("switch-box",Da);Ft.component("editable-select",Zt);Ft.use(Ba);Ft.use(Wa);Ft.use(co());fo(Ft).finally(()=>Ft.mount("#app"))});export default $z(); diff --git a/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/style.css b/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/style.css index 17f1b58b6f..4248ce8ed8 100644 --- a/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/style.css +++ b/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/style.css @@ -1 +1 @@ -@keyframes bganimation-41cbce66{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-41cbce66{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-41cbce66{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-41cbce66]{animation:rotateEnter-41cbce66 .7s;position:relative}.rotate-leave-active[data-v-41cbce66]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-41cbce66]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.disk-item-tooltip[data-v-41cbce66]{position:fixed;background:rgba(0,0,0,.7);z-index:10111;color:#fff;padding:.5rem 1rem;font-size:1em;min-width:200px;line-height:24px}.disk-item-tooltip[data-v-41cbce66]:after{content:"";position:absolute;bottom:-6px;border-color:#4c4c4c rgba(0,0,0,0) rgba(0,0,0,0);left:0;right:0;text-align:center;width:0;margin:0 auto;border-width:6px 8px 0;border-style:solid}#main .app-btn,#actioner .app-btn{min-height:36px}@keyframes bganimation-2d97dedc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2d97dedc{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2d97dedc{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2d97dedc]{animation:rotateEnter-2d97dedc .7s;position:relative}.rotate-leave-active[data-v-2d97dedc]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2d97dedc]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#main[data-v-2d97dedc]{width:100%}#main[data-v-2d97dedc],#main[data-v-2d97dedc] *{-webkit-box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-sizing:border-box;word-wrap:break-word;outline:none}@keyframes bganimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active{animation:rotateEnter .7s;position:relative}.rotate-leave-active{opacity:0;display:none;position:relative;z-index:-999}.app-container{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}:root{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:rgba(255,255,255,.6);--breadcrumbs-tit-color1:#fff}@media (prefers-color-scheme: light){:root{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:rgba(255,255,255,.6);--breadcrumbs-tit-color1:#fff}}@media (prefers-color-scheme: dark){:root{--flow-bg-color: transparent;--flow-span-color: #cccccc;--card-bg-color: #88888822;--card-box-shadow: 0 0 .5rem 0 rgba(0, 0, 0, .35);--app-container_title-color: #cccccc;--app-container_status-label_block: #727272;--item-label_key-span-color: #cccccc;--item-label_value-span-color: #cccccc;--app-container_status-label_bg: #0000001a;--item_btn-border: 1px solid #cccccc;--item_btn-color: #cccccc;--tit-color: #cccccc;--popup-bg-color: #000;--tag-bg-color: #1e1e1e;--gradient-bg-color:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 62%, rgba(0,0,0,1) 100%);--breadcrumbs-tit-color:rgba(255,255,255,.6);--breadcrumbs-tit-color1:#fff}#app svg path{color:#666}#app svg circle{stroke:#666}}@media (prefers-color-scheme: no-preference){:root{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:rgba(255,255,255,.6);--breadcrumbs-tit-color1:#fff}}body[theme=dark]{--flow-bg-color: transparent;--flow-span-color: #cccccc;--card-bg-color: #88888822;--card-box-shadow: 0 0 .5rem 0 rgba(0, 0, 0, .35);--app-container_title-color: #cccccc;--app-container_status-label_block: #727272;--item-label_key-span-color: #cccccc;--item-label_value-span-color: #cccccc;--app-container_status-label_bg: #0000001a;--item_btn-border: 1px solid #cccccc;--item_btn-color: #cccccc;--tit-color: #cccccc;--popup-bg-color: #000;--tag-bg-color: #1e1e1e;--gradient-bg-color:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 62%, rgba(0,0,0,1) 100%);--breadcrumbs-tit-color:rgba(255,255,255,.6);--breadcrumbs-tit-color1:#fff}body[theme=light]{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:rgba(255,255,255,.6);--breadcrumbs-tit-color1:#fff}@keyframes bganimation-3ee635ef{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3ee635ef{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3ee635ef{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3ee635ef]{animation:rotateEnter-3ee635ef .7s;position:relative}.rotate-leave-active[data-v-3ee635ef]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3ee635ef]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.progress[data-v-3ee635ef]{width:100%;display:block;position:relative;background-color:#eee;border-radius:4px;height:18px;line-height:18px;overflow:hidden}.progress .progress-value[data-v-3ee635ef]{transition:.5s;position:absolute;left:0;top:0;bottom:0;height:100%;text-align:center;color:#fff;vertical-align:middle;font-size:12px}@keyframes bganimation-54af3568{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-54af3568{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-54af3568{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-54af3568]{animation:rotateEnter-54af3568 .7s;position:relative}.rotate-leave-active[data-v-54af3568]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-54af3568]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}label.checkbox_switch[data-v-54af3568]{cursor:pointer;display:flex!important;align-items:center;width:initial!important}label.checkbox_switch input[type=checkbox][data-v-54af3568]{height:0!important;width:0!important;opacity:0!important;margin:0!important;padding:0!important;border:none!important}label.checkbox_switch .checkbox_switch_on[data-v-54af3568],label.checkbox_switch .checkbox_switch_off[data-v-54af3568]{flex:none}label.checkbox_switch .checkbox_switch_on[data-v-54af3568]{display:none!important}label.checkbox_switch .checkbox_switch_off[data-v-54af3568]{display:inline-flex!important}label.checkbox_switch input[type=checkbox]:checked~.checkbox_switch_on[data-v-54af3568]{display:inline-flex!important}label.checkbox_switch input[type=checkbox]:checked~.checkbox_switch_off[data-v-54af3568]{display:none!important}label.checkbox_switch svg[data-v-54af3568]{height:1em;width:2em}article[data-v-995510fc]{flex:0 0 100%;max-width:20%;position:relative;border-radius:4px;padding:10px}@media screen and (max-width: 1080px){article[data-v-995510fc]{max-width:33.333%}}@keyframes bganimation-995510fc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-995510fc{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-995510fc{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-995510fc]{animation:rotateEnter-995510fc .7s;position:relative}.rotate-leave-active[data-v-995510fc]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-995510fc]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 768px){article[data-v-995510fc]{max-width:50%}}@keyframes bganimation-782f97c0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-782f97c0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-782f97c0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-782f97c0]{animation:rotateEnter-782f97c0 .7s;position:relative}.rotate-leave-active[data-v-782f97c0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-782f97c0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}a[data-v-782f97c0]{position:relative;display:block;width:100%;transition:.4s;cursor:pointer}a[data-v-782f97c0]:hover{transform:scale(1.07);transition:.4s;position:relative}a:hover .cover .thumbnail[data-v-782f97c0]{box-shadow:0 6px 40px #1c67f2}a .cover[data-v-782f97c0]{position:relative;padding-top:130%;z-index:1}a .cover[data-v-782f97c0] .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:6px;overflow:hidden;z-index:1;background-color:#2dc8fd;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}a .cover[data-v-782f97c0] .thumbnail i{display:block;font-size:100px;color:#eee}a .cover[data-v-782f97c0] .thumbnail span{display:block;text-align:center;width:100%;color:#eeee;font-size:28px;margin:1rem 0}article:nth-child(9n+1) a .cover .thumbnail[data-v-782f97c0]{background-color:#ff9100}article:nth-child(9n+2) a .cover .thumbnail[data-v-782f97c0]{background-color:#2dc8fd}article:nth-child(9n+3) a .cover .thumbnail[data-v-782f97c0]{background-color:#f66a2c}article:nth-child(9n+4) a .cover .thumbnail[data-v-782f97c0]{background-color:#9b58de}article:nth-child(9n+5) a .cover .thumbnail[data-v-782f97c0]{background-color:#297ff3}article:nth-child(9n+6) a .cover .thumbnail[data-v-782f97c0]{background-color:#27aa8f}article:nth-child(9n+7) a .cover .thumbnail[data-v-782f97c0]{background-color:#f15a4a}article:nth-child(9n+8) a .cover .thumbnail[data-v-782f97c0]{background-color:#439c07}@keyframes bganimation-c446588c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-c446588c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-c446588c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-c446588c]{animation:rotateEnter-c446588c .7s;position:relative}.rotate-leave-active[data-v-c446588c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-c446588c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.select-editable[data-v-c446588c]{position:relative;line-height:1.5rem;padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:.25rem;margin:.25rem .1rem}.select-editable select[data-v-c446588c],.select-editable input[data-v-c446588c]{height:100%;padding:0;border:none;margin:0}.select-editable select[data-v-c446588c]{position:relative;width:100%}.select-editable input[data-v-c446588c]{position:absolute;top:0;left:.75rem;width:88%}.select-editable select[data-v-c446588c]:focus,.select-editable input[data-v-c446588c]:focus{outline:none;box-shadow:none}@keyframes bganimation-47c6049a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-47c6049a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-47c6049a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-47c6049a]{animation:rotateEnter-47c6049a .7s;position:relative}.rotate-leave-active[data-v-47c6049a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-47c6049a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes turn-47c6049a{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}.quick-loading[data-v-47c6049a]{animation:turn-47c6049a 1s steps(12,end) infinite;margin:0!important;padding:0!important;background:none!important;display:flex!important}.quick-loading svg[data-v-47c6049a]{width:100%;height:100%}.quick-loading svg path[data-v-47c6049a]{fill:#fff}@keyframes bganimation-0cc5bf50{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0cc5bf50{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0cc5bf50{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0cc5bf50]{animation:rotateEnter-0cc5bf50 .7s;position:relative}.rotate-leave-active[data-v-0cc5bf50]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0cc5bf50]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}a[data-v-0cc5bf50]{margin-left:4px;width:20px;vertical-align:middle}a svg[data-v-0cc5bf50]{width:22px;height:22px}a:hover svg path[data-v-0cc5bf50]{fill:#3688ff}@keyframes bganimation-770b811c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-770b811c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-770b811c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-770b811c]{animation:rotateEnter-770b811c .7s;position:relative}.rotate-leave-active[data-v-770b811c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-770b811c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.flow[data-v-770b811c]{position:relative;height:460px}.flow .echart[data-v-770b811c]{width:100%;height:100%}.flow .flow-data[data-v-770b811c]{position:absolute;right:10px;top:10px}.flow .flow-data span[data-v-770b811c]{display:block;color:var(--flow-span-color);font-size:12px;margin-bottom:5px;font-weight:600;font-family:PingFangSC-Semibold,PingFang SC}@media screen and (max-width: 600px){.flow[data-v-770b811c]{height:76.6vw}}@keyframes bganimation-48bf84c6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-48bf84c6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-48bf84c6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-48bf84c6]{animation:rotateEnter-48bf84c6 .7s;position:relative}.rotate-leave-active[data-v-48bf84c6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-48bf84c6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes turn-48bf84c6{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}.toast[data-v-48bf84c6]{position:fixed;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;justify-content:space-around;box-sizing:content-box;width:100px;max-width:70%;padding:16px;color:#fff;font-size:14px;text-align:center;background-color:#000000b3;border-radius:8px;transform:translate3d(-50%,-50%,0);z-index:9999;transition:.3s;cursor:pointer}.toast div.icon[data-v-48bf84c6]{width:50px;height:50px;margin:15px 0;background:none!important}.toast div.icon svg[data-v-48bf84c6]{width:100%;height:100%}.toast div.icon svg path[data-v-48bf84c6]{fill:#fff}.toast .loading[data-v-48bf84c6]{animation:turn-48bf84c6 1s steps(12,end) infinite}.toast .message[data-v-48bf84c6]{display:block;width:100%;flex:0 0 100%;word-wrap:break-word}[lock-scroll=true]{overflow:hidden!important;height:100vh}@keyframes bganimation-a96d68d4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a96d68d4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a96d68d4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a96d68d4]{animation:rotateEnter-a96d68d4 .7s;position:relative}.rotate-leave-active[data-v-a96d68d4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a96d68d4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.bg[data-v-a96d68d4]{position:fixed;inset:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}#actioner[data-v-a96d68d4]{position:fixed;z-index:1000;width:100%;height:100%;inset:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;overflow:auto}#actioner[data-v-a96d68d4],#actioner[data-v-a96d68d4] *{-webkit-box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-sizing:border-box;word-wrap:break-word;outline:none}.action-container[data-v-a96d68d4]{width:100%;height:100%;background-color:#fff;position:fixed;z-index:9999;inset:0;margin:auto;overflow:auto}.action-container .action-container_header[data-v-a96d68d4]{width:100%;height:36px;line-height:36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 .625rem;position:absolute;top:0;left:0;right:0;border-bottom:1px solid #1e1e1e;background-color:#252526}.action-container .action-container_header .title[data-v-a96d68d4]{color:#eee;font-size:16px}.action-container .action-container_header button.close[data-v-a96d68d4]{width:36px;height:36px;margin:0;padding:10px;background:none;border:none;cursor:pointer;opacity:1}.action-container .action-container_header button.close[data-v-a96d68d4] svg.icon{width:100%;height:100%}.action-container .action-container_header button.close[data-v-a96d68d4] svg.icon path{fill:#eee}.action-container .action-container_header button.close[data-v-a96d68d4]:hover{opacity:.9}.action-container .action-container_body[data-v-a96d68d4]{width:100%;height:100%;padding-top:36px}@keyframes bganimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active{animation:rotateEnter .7s;position:relative}.rotate-leave-active{opacity:0;display:none;position:relative;z-index:-999}.app-container{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes dialogEnter{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes dialogLeave{0%{transform:scale(1)}to{transform:scale(0)}}.dialog-enter-active{animation:dialogEnter .3s linear forwards}.dialog-leave-active{animation:dialogLeave .3s linear forwards}.actioner-dns[data-v-2ac87be2]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-2ac87be2]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-2ac87be2]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-2ac87be2]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-2ac87be2]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2ac87be2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2ac87be2]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-2ac87be2]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-2ac87be2],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-2ac87be2]{width:100%;height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-2ac87be2]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-2ac87be2]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-2ac87be2]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-2ac87be2]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-2ac87be2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2ac87be2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2ac87be2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2ac87be2]{animation:rotateEnter-2ac87be2 .7s;position:relative}.rotate-leave-active[data-v-2ac87be2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2ac87be2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-2ac87be2]{min-height:34vh}}@media screen and (max-width: 800px){.actioner-dns[data-v-2ac87be2]{width:100%}}.action[data-v-4ca82311]{width:700px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action .action-body[data-v-4ca82311]{width:100%;text-align:center;padding:3rem 0}.action .action-body h2.title[data-v-4ca82311]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0;text-align:center}.action .action-body .info[data-v-4ca82311]{color:#666;font-size:1.3em;margin:1rem 0}.action .action-body .btns[data-v-4ca82311]{width:100%;margin-top:3rem}.action .action-body .btns button[data-v-4ca82311]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-4ca82311{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4ca82311{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4ca82311{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4ca82311]{animation:rotateEnter-4ca82311 .7s;position:relative}.rotate-leave-active[data-v-4ca82311]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4ca82311]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.format .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 900px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 800px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 700px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 500px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@keyframes bganimation-17b89cb7{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-17b89cb7{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-17b89cb7{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-17b89cb7]{animation:rotateEnter-17b89cb7 .7s;position:relative}.rotate-leave-active[data-v-17b89cb7]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-17b89cb7]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container_status-label_bg[data-v-17b89cb7]{flex:0 0 230px;width:230px;height:80px;display:flex;background:var(--app-container_status-label_bg);align-items:center;padding:10px;margin-right:10px;transition:.3s}.app-container_status-label_bg .app-container_status-label_text[data-v-17b89cb7]{margin-left:6px;font-size:14px;line-height:22px;text-align:left}.app-container_status-label_bg .app-container_status-label_text .text_status[data-v-17b89cb7]{color:#999}.app-container_status-label_bg .app-container_status-label_text .text_style[data-v-17b89cb7]{margin:6px 0}.app-container_status-label_bg .app-container_status-label_text .text_style.close[data-v-17b89cb7]{color:#999}.app-container_status-label_bg .app-container_status-label_text .text_info[data-v-17b89cb7]{font-weight:700;font-size:14px}@keyframes bganimation-6f355f28{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6f355f28{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6f355f28{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6f355f28]{animation:rotateEnter-6f355f28 .7s;position:relative}.rotate-leave-active[data-v-6f355f28]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6f355f28]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-interfaces[data-v-6f355f28]{width:100%;height:80px;display:flex;flex-wrap:nowrap;overflow:hidden}.app-interfaces a[data-v-6f355f28]{list-style:none;text-decoration:none}.app-interfaces a.btn-f[data-v-6f355f28]{position:absolute;width:50px;height:80px;left:0;line-height:80px;text-align:center;color:#fff;font-size:26px;cursor:pointer;background-color:#00000059;opacity:0;transition:.3s;z-index:1}.app-interfaces a.btn-f[data-v-6f355f28]:hover{opacity:1;transition:.3s}.app-interfaces a.btn-r[data-v-6f355f28]{position:absolute;right:0;width:50px;line-height:80px;text-align:center;color:#fff;font-size:26px;cursor:pointer;background-color:#00000059;opacity:0;transition:.3s;z-index:1}.app-interfaces a.btn-r[data-v-6f355f28]:hover{opacity:1;transition:.3s}.actioner-dns[data-v-2deed63d]{width:800px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-2deed63d]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-2deed63d]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-2deed63d]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-2deed63d]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2deed63d]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2deed63d]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-2deed63d]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-2deed63d],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-2deed63d]{height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-2deed63d]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-2deed63d]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-2deed63d]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-2deed63d]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.actioner-dns .select-editable[data-v-2deed63d]{position:relative;border:solid grey 1px;width:100%}.actioner-dns .select-editable select[data-v-2deed63d]{top:0;left:0;font-size:14px;border:none;width:100%;margin:0}.actioner-dns .select-editable input[data-v-2deed63d]{position:absolute;top:-4px;left:0;width:95%;padding:1px;font-size:14px;border:none}.actioner-dns .select-editable select[data-v-2deed63d]:focus,.actioner-dns .select-editable input[data-v-2deed63d]:focus{outline:none}.actioner-dns[data-v-2deed63d] ::placeholder{color:#999}.successed[data-v-2deed63d]{text-align:center;font-size:14px;margin-bottom:104px}.finished[data-v-2deed63d]{display:flex;justify-content:center;margin:80px 80px 28px}.docker_moves[data-v-2deed63d]{text-align:center}.docker_moves .moves[data-v-2deed63d]{margin-top:10px}.docker_moves .moves input[data-v-2deed63d]{cursor:pointer}.docker_moves .moves label[data-v-2deed63d]{margin-left:10px;cursor:pointer}.btns[data-v-2deed63d]{text-align:center}.item_info[data-v-2deed63d]{margin-left:10px}.softsource_tit[data-v-2deed63d]{margin:0 auto}.softsource_successed[data-v-2deed63d]{width:20%!important}@keyframes bganimation-2deed63d{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2deed63d{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2deed63d{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2deed63d]{animation:rotateEnter-2deed63d .7s;position:relative}.rotate-leave-active[data-v-2deed63d]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2deed63d]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-2deed63d]{min-height:34vh}}@media screen and (max-width: 860px){.actioner-dns[data-v-2deed63d]{width:100%}}@keyframes bganimation-3e27ac04{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3e27ac04{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3e27ac04{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3e27ac04]{animation:rotateEnter-3e27ac04 .7s;position:relative}.rotate-leave-active[data-v-3e27ac04]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3e27ac04]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}em[data-v-3e27ac04]{display:block;margin:.5rem 0;width:100%}.app-container_status-container[data-v-3e27ac04]{width:100%;background-color:var(--card-bg-color);padding:10px 30px;border-radius:6px;position:relative}.app-container_status-container .more_icon[data-v-3e27ac04]{position:absolute;right:22px;cursor:pointer}.app-container_status-container .more_icon svg[data-v-3e27ac04]{position:relative;z-index:9999}.app-container_status-container .DeviceBlock[data-v-3e27ac04]{position:absolute;z-index:999;width:60%;right:22px}.app-container_status-container .DeviceBlock ul[data-v-3e27ac04]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:0;right:0;text-align:center;position:absolute;word-break:keep-all;margin-top:24px}.app-container_status-container .DeviceBlock ul li[data-v-3e27ac04]{line-height:28px}.app-container_status-container .DeviceBlock ul li a[data-v-3e27ac04]{color:#1e1e1e;text-decoration:none;cursor:pointer;font-size:14px;margin:0 20px;display:block}.app-container_status-container .DeviceBlock ul li .domain[data-v-3e27ac04]{cursor:pointer}.app-container_status-container .DeviceBlock ul li[data-v-3e27ac04]:hover{background-color:#eee}.app-container_status-container .DeviceBlock li[data-v-3e27ac04]:last-child{margin-top:5px}.app-container_status-container span.container_success[data-v-3e27ac04]{display:block;font-size:15px;font-family:PingFangSC-Medium,PingFang SC}.app-container_status-container span.container_failure[data-v-3e27ac04]{display:block;font-size:1.2em}.app-container_status-container .container_configure[data-v-3e27ac04]{font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#553afe;line-height:20px;cursor:pointer}.app-container_status-container span.container_title[data-v-3e27ac04]{font-size:1.25rem;color:#333;display:block}.app-container_status-container span.container_content[data-v-3e27ac04]{font-size:1.25rem;color:#666}.app-container_status-container .devise[data-v-3e27ac04]{display:block;font-size:12px;color:#727272}.app-container_status-container span.container_time[data-v-3e27ac04]{font-size:12px;color:#727272;margin-top:3px;display:block}.app-container_status-label[data-v-3e27ac04]{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between}.app-container_status-label .app-container_status-label_item[data-v-3e27ac04]{flex:0 0 50%;max-width:50%}.app-container_status-label_block[data-v-3e27ac04]{display:block;color:var(--app-container_status-label_block);margin:10px 0 8px}.app-container_status-container_body[data-v-3e27ac04]{width:100%;height:100%;text-align:center;display:flex;align-items:center;align-content:center}.app-container_status-container_body svg[data-v-3e27ac04]{min-width:32px}.app-container_status-container_body .app-container_status-info[data-v-3e27ac04]{margin-left:10px;text-align:left;margin-right:10px;min-width:57px}.app-container_status-container_body svg[data-v-3e27ac04]{width:50px;height:50px}.app-container_status-container_body span[data-v-3e27ac04]{width:100%;margin:5px 0}.menu_background[data-v-3e27ac04]{position:fixed;inset:0}.app-container_body[data-v-3e27ac04]{width:100%}.network-container[data-v-2d777a95]{width:100%;display:flex;flex-wrap:wrap}.network-container .network-container_flow[data-v-2d777a95]{flex:0 0 100%;max-width:60%;padding-right:10px}.network-container .network-container_flow .network-container_flow-container[data-v-2d777a95]{border-radius:6px;overflow:hidden;position:relative;background-color:var(--flow-bg-color);box-shadow:var(--card-box-shadow)}.network-container .network-container_status[data-v-2d777a95]{flex:0 0 100%;max-width:40%;padding-left:10px;display:flex;flex-wrap:wrap}@keyframes bganimation-2d777a95{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2d777a95{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2d777a95{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2d777a95]{animation:rotateEnter-2d777a95 .7s;position:relative}.rotate-leave-active[data-v-2d777a95]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2d777a95]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 992px){.network-container[data-v-2d777a95]{width:100%}.network-container .network-container_flow[data-v-2d777a95]{flex:0 0 100%;max-width:100%;padding-right:0}.network-container .network-container_status[data-v-2d777a95]{flex:0 0 100%;max-width:100%;padding-left:0;margin-top:1rem}}.action .action-footer button[data-v-3dae3be2]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-3dae3be2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3dae3be2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3dae3be2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3dae3be2]{animation:rotateEnter-3dae3be2 .7s;position:relative}.rotate-leave-active[data-v-3dae3be2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3dae3be2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.format[data-v-3dae3be2]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.format .action-header[data-v-3dae3be2]{width:100%;height:70px;line-height:70px}.action.format .action-header .action-header_title[data-v-3dae3be2]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.format .action-body[data-v-3dae3be2]{width:100%;height:calc(100% - 140px);overflow:auto}.action.format .action-footer[data-v-3dae3be2]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.format .action-footer .auto[data-v-3dae3be2]{flex:auto}.action.format .disk-list[data-v-3dae3be2]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}.action.format .label-item[data-v-3dae3be2]{width:100%;margin:1rem 0}.action.format .label-item .label-item_key[data-v-3dae3be2]{width:100%;font-size:16px;color:#666}.action.format .label-item .label-item_key span[data-v-3dae3be2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action.format .label-item .label-item_key span[data-v-3dae3be2]:before{content:"*";color:#f56c6c;margin-right:4px}.action.format .label-item .label-item_value[data-v-3dae3be2]{width:100%;margin-top:5px}.action.format .label-item .label-item_value select[data-v-3dae3be2],.action.format .label-item .label-item_value input[data-v-3dae3be2]{width:100%;height:36px}.action.format .label-item .label-item_path[data-v-3dae3be2]{padding:0 14px;background-color:#e5e5e5;width:100%;height:28px;line-height:28px;margin-top:10px}.action.format .auto[data-v-3dae3be2]{flex:auto}.action.format p.msg[data-v-3dae3be2]{margin:.5rem 0;color:red}.action.format .disk-info[data-v-3dae3be2]{width:100%;text-align:center}.action.format .disk-info .disk-info_icon[data-v-3dae3be2]{width:100px;height:100px;margin:0 auto}.action.format .disk-info .disk-info_icon svg[data-v-3dae3be2]{width:100%;height:100%}.action.format .disk-info .disk-info_mount-name[data-v-3dae3be2]{margin:1rem 0;font-size:1.5em;color:#333}.action.result[data-v-3dae3be2]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.result .action-body[data-v-3dae3be2]{width:100%;height:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.action.result .action-body .action-body_icon[data-v-3dae3be2]{width:100px;height:100px}.action.result .action-body .action-body_icon svg.icon[data-v-3dae3be2]{width:100%;height:100%}.action.result .action-body .action-body_msg[data-v-3dae3be2]{font-size:2em;color:#666;text-align:center;width:100%;margin:1rem 0}.action.result .action-body .action-body_info[data-v-3dae3be2]{margin:1rem 0;width:100%;text-align:center;color:#666;font-size:1.2em}.action.result .action-body .action-body_info a[data-v-3dae3be2]{color:#0000fb}.action.result .btns[data-v-3dae3be2]{width:100%;text-align:center;margin:1rem 0}@keyframes bganimation-3dae3be2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3dae3be2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3dae3be2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3dae3be2]{animation:rotateEnter-3dae3be2 .7s;position:relative}.rotate-leave-active[data-v-3dae3be2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3dae3be2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.format[data-v-3dae3be2]{width:168%}}@media screen and (max-width: 900px){.action.format[data-v-3dae3be2]{width:146%}}@media screen and (max-width: 800px){.action.format[data-v-3dae3be2]{width:136%}}@media screen and (max-width: 700px){.action.format[data-v-3dae3be2]{width:116%}}@media screen and (max-width: 500px){.action.format[data-v-3dae3be2]{width:100%}}.action .action-footer button[data-v-5f5fb500]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-5f5fb500{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5f5fb500{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5f5fb500{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5f5fb500]{animation:rotateEnter-5f5fb500 .7s;position:relative}.rotate-leave-active[data-v-5f5fb500]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5f5fb500]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.format[data-v-5f5fb500]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.format .action-header[data-v-5f5fb500]{width:100%;height:70px;line-height:70px}.action.format .action-header .action-header_title[data-v-5f5fb500]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.format .action-body[data-v-5f5fb500]{width:100%;height:calc(100% - 140px);overflow:auto}.action.format .action-footer[data-v-5f5fb500]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.format .action-footer .auto[data-v-5f5fb500]{flex:auto}.action.format .disk-list[data-v-5f5fb500]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}.action.format .label-item[data-v-5f5fb500]{width:100%;margin:1rem 0}.action.format .label-item .label-item_key[data-v-5f5fb500]{width:100%;font-size:16px;color:#666}.action.format .label-item .label-item_key span[data-v-5f5fb500]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action.format .label-item .label-item_key span[data-v-5f5fb500]:before{content:"*";color:#f56c6c;margin-right:4px}.action.format .label-item .label-item_value[data-v-5f5fb500]{width:100%;margin-top:5px}.action.format .label-item .label-item_value select[data-v-5f5fb500],.action.format .label-item .label-item_value input[data-v-5f5fb500]{width:100%;height:36px}.action.format .label-item .label-item_path[data-v-5f5fb500]{padding:0 14px;background-color:#e5e5e5;width:100%;height:28px;line-height:28px;margin-top:10px}.action.format .auto[data-v-5f5fb500]{flex:auto}.action.format p.msg[data-v-5f5fb500]{margin:.5rem 0;color:red}.action.format .disk-info[data-v-5f5fb500]{width:100%;text-align:center}.action.format .disk-info .disk-info_icon[data-v-5f5fb500]{width:100px;height:100px;margin:0 auto}.action.format .disk-info .disk-info_icon svg[data-v-5f5fb500]{width:100%;height:100%}.action.format .disk-info .disk-info_mount-name[data-v-5f5fb500]{margin:1rem 0;font-size:1.5em;color:#333}@keyframes bganimation-5f5fb500{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5f5fb500{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5f5fb500{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5f5fb500]{animation:rotateEnter-5f5fb500 .7s;position:relative}.rotate-leave-active[data-v-5f5fb500]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5f5fb500]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.result[data-v-5f5fb500]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.result .action-body[data-v-5f5fb500]{width:100%;height:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.action.result .action-body .action-body_icon[data-v-5f5fb500]{width:100px;height:100px}.action.result .action-body .action-body_icon svg.icon[data-v-5f5fb500]{width:100%;height:100%}.action.result .action-body .action-body_msg[data-v-5f5fb500]{font-size:2em;color:#666;text-align:center;width:100%;margin:1rem 0}.action.result .action-body .action-body_info[data-v-5f5fb500]{margin:1rem 0;width:100%;text-align:center;color:#666;font-size:1.2em}.action.result .action-body .action-body_info a[data-v-5f5fb500]{color:#0000fb}.action.result .btns[data-v-5f5fb500]{width:100%;text-align:center;margin:1rem 0}@keyframes bganimation-4e7285ca{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4e7285ca{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4e7285ca{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4e7285ca]{animation:rotateEnter-4e7285ca .7s;position:relative}.rotate-leave-active[data-v-4e7285ca]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4e7285ca]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.disk-item.error[data-v-4e7285ca]{color:red}.disk-content[data-v-4e7285ca]{padding:1rem;border:1px solid #cfcfcf;margin:16px 0}.disk-content li.disk-item[data-v-4e7285ca]{width:100%;display:flex;align-items:center}.disk-content li.disk-item .disk-item_name[data-v-4e7285ca]{flex:0 0 50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.disk-content li.disk-item .value-data[data-v-4e7285ca]{width:100%;text-overflow:ellipsis;white-space:nowrap;height:100%;color:#297ff3;cursor:default}.disk-content li.disk-item .value-data button[data-v-4e7285ca]{background:none;border:none;width:100%;text-align:right;color:#297ff3;cursor:pointer}.disk-content li.disk-item .value-data button[data-v-4e7285ca]:hover{opacity:.7}.disk-content li.disk-item .value-data.buttondiv[data-v-4e7285ca]{cursor:pointer}.disk-content li.disk-item .disk_value[data-v-4e7285ca]{flex:0 0 50%;display:flex;justify-content:space-between;align-items:center}.disk-content li.disk-item .disk_value .cbi-button[data-v-4e7285ca]{margin-left:10px}.disk-content li.disk-item .disk_value .disk-item_value[data-v-4e7285ca]{flex:auto;padding-left:10px;position:relative}.disk-content li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-4e7285ca]{position:absolute;background:rgba(0,0,0,.7);z-index:10111;color:#fff;padding:.5rem 1rem;left:10px;right:0;bottom:100%;margin-bottom:6px;text-align:center;font-size:1em;visibility:hidden;opacity:0}.disk-content li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-4e7285ca]:after{content:"";position:absolute;bottom:-6px;border-color:#4c4c4c rgba(0,0,0,0) rgba(0,0,0,0);left:0;right:0;text-align:center;width:0;margin:0 auto;border-width:6px 8px 0;border-style:solid}.disk-content li.disk-item .disk_value .disk-item_value:hover .disk-item-tooltip[data-v-4e7285ca]{visibility:visible;transition:.7s;opacity:1}.disk-content .disk_status[data-v-4e7285ca]{display:flex;text-align:left;padding-left:10px;font-size:12px;padding-top:6px}.disk-content .disk_status .disk_status_item[data-v-4e7285ca]{display:flex;margin-right:20px}.disk-content .disk_status .disk_status_item .disk_tip[data-v-4e7285ca]{display:flex;align-items:center}.disk_infoicon[data-v-4e7285ca]{margin-left:10px;cursor:pointer}.tooltip-trigger[data-v-4e7285ca]{flex:none}.tooltip-trigger[data-v-4e7285ca]{position:relative;display:inline-block;cursor:help;margin-right:6px;margin-left:10px}.tooltip-trigger .tooltip-text[data-v-4e7285ca]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.tooltip-trigger .tooltip-text span[data-v-4e7285ca]{color:#fff}.tooltip-trigger .tooltip-text .disk_dir_tip[data-v-4e7285ca]{min-width:15rem;display:inline-block}.tooltip-trigger:hover .tooltip-text[data-v-4e7285ca]{visibility:visible;opacity:1}.tooltip-top[data-v-4e7285ca]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%)}.tooltip-top[data-v-4e7285ca]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-bottom[data-v-4e7285ca]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}@keyframes bganimation-4e7285ca{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4e7285ca{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4e7285ca{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4e7285ca]{animation:rotateEnter-4e7285ca .7s;position:relative}.rotate-leave-active[data-v-4e7285ca]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4e7285ca]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.disk-content li.disk-item .disk_value[data-v-4e7285ca]{display:block}.disk-content .disk_status[data-v-4e7285ca]{flex-wrap:wrap}}.action[data-v-56d0d562]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;padding:3rem;border-radius:6px;display:flex;flex-direction:column;flex-wrap:nowrap}.action ul[data-v-56d0d562]{overflow:auto}.action ul .app-container_info[data-v-56d0d562]{display:flex;justify-content:space-between;max-width:56%;margin-top:18px;font-weight:600}.action ul .app-container_body[data-v-56d0d562]{width:100%;height:100%}.action .action-footer[data-v-56d0d562]{text-align:center;margin-top:46px}.action .action-footer button[data-v-56d0d562]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-56d0d562{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-56d0d562{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-56d0d562{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-56d0d562]{animation:rotateEnter-56d0d562 .7s;position:relative}.rotate-leave-active[data-v-56d0d562]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-56d0d562]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action[data-v-56d0d562]{width:160%}}@media screen and (max-width: 800px){.action[data-v-56d0d562]{width:138%}}@media screen and (max-width: 700px){.action[data-v-56d0d562]{width:132%}}@media screen and (max-width: 600px){.action[data-v-56d0d562]{width:116%}}@media screen and (max-width: 500px){.action[data-v-56d0d562]{width:100%}}@media screen and (max-width: 400px){.action[data-v-56d0d562]{width:90%}}@media screen and (max-width: 300px){.action[data-v-56d0d562]{width:100%}}@keyframes bganimation-5e9b583e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5e9b583e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5e9b583e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5e9b583e]{animation:rotateEnter-5e9b583e .7s;position:relative}.rotate-leave-active[data-v-5e9b583e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5e9b583e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.disk-item.error[data-v-5e9b583e]{color:red}li.disk-item[data-v-5e9b583e]{width:100%;display:flex;margin:1rem 0;align-items:center}li.disk-item .disk-item_name[data-v-5e9b583e]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.disk-item .disk_icon[data-v-5e9b583e]{padding-left:1rem;align-self:center;align-items:center;flex:none;display:flex}li.disk-item .disk_value[data-v-5e9b583e]{display:flex;justify-content:flex-end;width:50%}li.disk-item .disk_value .disk-item_value[data-v-5e9b583e]{flex:auto;padding-left:10px;position:relative;cursor:help}li.disk-item .disk_value .disk-item_value .value-data[data-v-5e9b583e]{width:100%;text-overflow:ellipsis;white-space:nowrap;height:100%}li.disk-item .disk_value .disk-item_value .value-data button[data-v-5e9b583e]{background:none;border:none;width:100%;text-align:right;color:#297ff3;cursor:pointer;padding:0;margin:0;line-height:normal}li.disk-item .disk_value .disk-item_value .value-data button[data-v-5e9b583e]:hover{opacity:.7}li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-5e9b583e]{position:absolute;background:rgba(0,0,0,.7);z-index:10111;color:#fff;padding:.5rem 1rem;left:10px;right:0;bottom:100%;margin-bottom:6px;text-align:center;font-size:1em;visibility:hidden;opacity:0}li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-5e9b583e]:after{content:"";position:absolute;bottom:-6px;border-color:#4c4c4c rgba(0,0,0,0) rgba(0,0,0,0);left:0;right:0;text-align:center;width:0;margin:0 auto;border-width:6px 8px 0;border-style:solid}li.disk-item .disk_value .disk-item_value:hover .disk-item-tooltip[data-v-5e9b583e]{visibility:visible;transition:.7s;opacity:1}.disk_infoicon[data-v-5e9b583e]{margin-left:10px;cursor:pointer}.tooltip-trigger[data-v-5e9b583e]{flex:none;cursor:help}.tooltip-trigger[data-v-5e9b583e]{position:relative;display:inline-block;cursor:help;margin-right:6px;margin-left:10px}.tooltip-trigger .tooltip-text[data-v-5e9b583e]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.tooltip-trigger .tooltip-text span[data-v-5e9b583e]{color:#fff}.tooltip-trigger .tooltip-text .disk_dir_tip[data-v-5e9b583e]{min-width:15rem;display:inline-block}.tooltip-trigger:hover .tooltip-text[data-v-5e9b583e]{visibility:visible;opacity:1}.tooltip-top[data-v-5e9b583e]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%)}.tooltip-top[data-v-5e9b583e]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-bottom[data-v-5e9b583e]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}@keyframes bganimation-2b8c3ff1{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2b8c3ff1{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2b8c3ff1{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2b8c3ff1]{animation:rotateEnter-2b8c3ff1 .7s;position:relative}.rotate-leave-active[data-v-2b8c3ff1]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2b8c3ff1]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-2b8c3ff1]{position:relative;display:flex;flex-wrap:wrap;width:100%;height:100%}.app-container ul[data-v-2b8c3ff1]{flex:0 0 100%;width:100%}.app-container ul .app-container_title[data-v-2b8c3ff1]{display:flex;justify-content:space-between;align-items:center}.app-container ul .app-container_title .more_icon[data-v-2b8c3ff1]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container ul .app-container_title .more_icon[data-v-2b8c3ff1] svg path{fill:var(--item_btn-color)}.app-container ul .app-container_title .DeviceBlock[data-v-2b8c3ff1]{position:absolute;z-index:999;width:30%;right:22px}.app-container ul .app-container_title .DeviceBlock ul[data-v-2b8c3ff1]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:8px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container ul .app-container_title .DeviceBlock ul li[data-v-2b8c3ff1]{margin:6px 0;cursor:pointer;line-height:28px}.app-container ul .app-container_title .DeviceBlock ul li a[data-v-2b8c3ff1]{color:#1e1e1e;text-decoration:none;cursor:pointer;font-size:14px;display:block}.app-container ul .app-container_title .DeviceBlock ul li[data-v-2b8c3ff1]:hover{background-color:#eee}.app-container ul .app-container_title .app-container_tool[data-v-2b8c3ff1]{display:flex;flex-wrap:wrap;align-items:center}.app-container ul .app-container_title .app-container_tool .app-container_configure[data-v-2b8c3ff1]{height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;justify-content:center;align-items:center}.app-container ul .app-container_title .app-container_tool .more_icon[data-v-2b8c3ff1]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:1var --item_btn-border;border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container ul .app-container_title .app-container_tool .more_icon[data-v-2b8c3ff1] svg path{fill:var(--item_btn-color)}.app-container ul .disk_loading_icon[data-v-2b8c3ff1]{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:10px}.app-container ul .disk_loading_icon .disk_loading_info[data-v-2b8c3ff1]{margin-top:5px}.refresh[data-v-2b8c3ff1]{margin-left:20px}.app-container_info[data-v-2b8c3ff1]{font-size:14px;font-weight:700;height:31px;line-height:52px}.app-container_body[data-v-2b8c3ff1]{width:100%;height:100%}.menu_background[data-v-2b8c3ff1]{position:fixed;inset:0}@keyframes bganimation-8166802a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8166802a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8166802a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8166802a]{animation:rotateEnter-8166802a .7s;position:relative}.rotate-leave-active[data-v-8166802a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8166802a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.sambas-item[data-v-8166802a]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.sambas-item .sambas-item_name[data-v-8166802a]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.sambas-item .sambas-item_value[data-v-8166802a]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-container_samba li.samba-item[data-v-8166802a]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}.app-container_samba li.samba-item .samba-item_name[data-v-8166802a]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.app-container_samba li.samba-item .samba-item_value[data-v-8166802a]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-container_samba li.samba-item .samba-item_value button[data-v-8166802a]{background:none;border:none;width:100%;text-align:right;color:#297ff3;cursor:pointer}.app-container_samba li.samba-item .samba-item_value button[data-v-8166802a]:hover{opacity:.7}.tit[data-v-8166802a]{color:var(--tit-color);font-weight:700;font-size:16px}@keyframes bganimation-45def11c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-45def11c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-45def11c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-45def11c]{animation:rotateEnter-45def11c .7s;position:relative}.rotate-leave-active[data-v-45def11c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-45def11c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.webdav-item[data-v-45def11c]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.webdav-item .webdav-item_name[data-v-45def11c]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.webdav-item .webdav-item_value[data-v-45def11c]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes bganimation-0bd83418{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0bd83418{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0bd83418{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0bd83418]{animation:rotateEnter-0bd83418 .7s;position:relative}.rotate-leave-active[data-v-0bd83418]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0bd83418]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}ul.disk-item[data-v-0bd83418]{width:100%;margin-bottom:10px}ul.disk-item .auto[data-v-0bd83418]{flex:auto}ul.disk-item .disk-item_icon[data-v-0bd83418]{width:24px;height:24px;margin-right:.5rem}ul.disk-item .disk-item_icon svg[data-v-0bd83418]{width:100%;height:100%}ul.disk-item li.disk-info[data-v-0bd83418]{display:flex;flex-wrap:nowrap;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding:5px 1rem;height:50px;cursor:pointer;color:#666;font-size:12px;border-left:3px solid #89897f}ul.disk-item li.disk-info[data-v-0bd83418]:hover{background-color:#ecf5ff}ul.disk-item li.disk-info .disk-item_icon svg path[data-v-0bd83418]{fill:#09aaff}ul.disk-item li.disk-info .disk-item_f[data-v-0bd83418]{display:flex;flex-wrap:wrap}ul.disk-item li.disk-info .disk-item_f .disk-item_venderModel[data-v-0bd83418],ul.disk-item li.disk-info .disk-item_f .disk-item_used[data-v-0bd83418]{width:100%}ul.disk-item li.disk-info.on[data-v-0bd83418]{border-left:3px solid #ff9c08}ul.disk-item li.disk-info.on.nopoint[data-v-0bd83418]{background-color:#ecf5ff}ul.disk-item .disk-children[data-v-0bd83418]{width:100%;color:#666}ul.disk-item .disk-children li.disk-children_item[data-v-0bd83418]{width:100%;height:40px;line-height:40px;padding-left:2rem;font-size:12px;cursor:pointer;display:flex;flex-wrap:nowrap;align-items:center;border-left:3px solid #89897f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.disk-item .disk-children li.disk-children_item[data-v-0bd83418]:hover{background-color:#ecf5ff}ul.disk-item .disk-children li.disk-children_item span[data-v-0bd83418]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}ul.disk-item .disk-children li.disk-children_item.on.on[data-v-0bd83418]{border-left:3px solid #ff9c08;background-color:#ecf5ff}.action .action-footer button[data-v-b222ef5e]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.list[data-v-b222ef5e]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.list .action-header[data-v-b222ef5e]{width:100%;height:70px;line-height:70px}.action.list .action-header .action-header_title[data-v-b222ef5e]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.list .action-body[data-v-b222ef5e]{width:100%;height:calc(100% - 176px)}.action.list .action-msg[data-v-b222ef5e]{width:100%;height:36px;line-height:36px;text-align:center}.action.list .action-footer[data-v-b222ef5e]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.list .action-footer .auto[data-v-b222ef5e]{flex:auto}.action.list .disk-list[data-v-b222ef5e]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.format[data-v-b222ef5e]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.format .action-header[data-v-b222ef5e]{width:100%;height:70px;line-height:70px}.action.format .action-header .action-header_title[data-v-b222ef5e]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.format .action-body[data-v-b222ef5e]{width:100%;height:calc(100% - 140px);overflow:auto}.action.format .action-footer[data-v-b222ef5e]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.format .action-footer .auto[data-v-b222ef5e]{flex:auto}.action.format .disk-list[data-v-b222ef5e]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}.action.format .label-item[data-v-b222ef5e]{width:100%;margin:1rem 0}.action.format .label-item .label-item_key[data-v-b222ef5e]{width:100%;font-size:16px;color:#666}.action.format .label-item .label-item_key span[data-v-b222ef5e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action.format .label-item .label-item_key span[data-v-b222ef5e]:before{content:"*";color:#f56c6c;margin-right:4px}.action.format .label-item .label-item_value[data-v-b222ef5e]{width:100%;margin-top:5px}.action.format .label-item .label-item_value select[data-v-b222ef5e],.action.format .label-item .label-item_value input[data-v-b222ef5e]{width:100%;height:36px}.action.format .auto[data-v-b222ef5e]{flex:auto}.action.format p.msg[data-v-b222ef5e]{margin:.5rem 0;color:red}.action.format .disk-info[data-v-b222ef5e]{width:100%;text-align:center}.action.format .disk-info .disk-info_icon[data-v-b222ef5e]{width:100px;height:100px;margin:0 auto}.action.format .disk-info .disk-info_icon svg[data-v-b222ef5e]{width:100%;height:100%}.action.format .disk-info .disk-info_mount-name[data-v-b222ef5e]{margin:1rem 0;font-size:1.5em;color:#333}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.result[data-v-b222ef5e]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.result .action-header[data-v-b222ef5e]{width:100%;height:70px;line-height:70px}.action.result .action-header .action-header_title[data-v-b222ef5e]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.result .action-body[data-v-b222ef5e]{width:100%;height:calc(100% - 140px);overflow:auto}.action.result .action-body .format-result[data-v-b222ef5e]{width:100%;text-align:center;font-size:2em;color:#333;margin:1rem 0}.action.result .action-body .format-info[data-v-b222ef5e]{width:100%;text-align:center;font-size:1.3em}.action.result .action-body .format-info a[data-v-b222ef5e]{color:#f70324}.action.result .action-footer[data-v-b222ef5e]{width:100%;height:70px;line-height:70px;color:#333}.action.result .auto[data-v-b222ef5e]{flex:auto}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.list[data-v-b222ef5e]{width:136%}}@media screen and (max-width: 900px){.action.list[data-v-b222ef5e]{width:126%}}@media screen and (max-width: 800px){.action.list[data-v-b222ef5e]{width:112%}}@media screen and (max-width: 700px){.action.list[data-v-b222ef5e]{width:100%}}@media screen and (max-width: 500px){.action.list[data-v-b222ef5e]{width:80%}}@keyframes bganimation-45926ac6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-45926ac6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-45926ac6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-45926ac6]{animation:rotateEnter-45926ac6 .7s;position:relative}.rotate-leave-active[data-v-45926ac6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-45926ac6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-45926ac6]{width:700px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action .action-body[data-v-45926ac6]{width:100%;text-align:center;padding:3rem 0}.action .action-body h2.title[data-v-45926ac6]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0;text-align:center}.action .action-body .info[data-v-45926ac6]{color:#666;font-size:1.3em;margin:1rem 0}.action .action-body .btns[data-v-45926ac6]{width:100%;margin-top:3rem}.action .action-body .btns button[data-v-45926ac6]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-45926ac6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-45926ac6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-45926ac6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-45926ac6]{animation:rotateEnter-45926ac6 .7s;position:relative}.rotate-leave-active[data-v-45926ac6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-45926ac6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.format .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 900px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 800px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 700px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 500px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@keyframes bganimation-2b3974a4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2b3974a4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2b3974a4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2b3974a4]{animation:rotateEnter-2b3974a4 .7s;position:relative}.rotate-leave-active[data-v-2b3974a4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2b3974a4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-2b3974a4]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action .action-header[data-v-2b3974a4]{width:100%;height:70px;line-height:70px}.action .action-header .action-header_title[data-v-2b3974a4]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action .action-body[data-v-2b3974a4]{width:100%;height:calc(100% - 140px);overflow:auto}.action .action-body .label-item[data-v-2b3974a4]{width:100%;margin:1rem 0}.action .action-body .label-item .label-item_key[data-v-2b3974a4]{width:100%;font-size:12px;color:#666}.action .action-body .label-item .label-item_key span[data-v-2b3974a4]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action .action-body .label-item .label-item_key span[data-v-2b3974a4]:before{content:"*";color:#f56c6c;margin-right:4px}.action .action-body .label-item .label-item_value[data-v-2b3974a4]{width:100%;margin-top:5px}.action .action-body .label-item .label-item_value select[data-v-2b3974a4],.action .action-body .label-item .label-item_value input[data-v-2b3974a4]{width:100%;height:36px}.action .action-footer[data-v-2b3974a4]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action .action-footer .auto[data-v-2b3974a4]{flex:auto}.action .action-footer button[data-v-2b3974a4]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-88275da0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-88275da0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-88275da0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-88275da0]{animation:rotateEnter-88275da0 .7s;position:relative}.rotate-leave-active[data-v-88275da0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-88275da0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-88275da0]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action .action-header[data-v-88275da0]{width:100%;height:70px;line-height:70px}.action .action-header .action-header_title[data-v-88275da0]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action .action-body[data-v-88275da0]{width:100%;height:calc(100% - 140px)}.action .action-body .label-item[data-v-88275da0]{width:100%;margin:1rem 0}.action .action-body .label-item .label-item_key[data-v-88275da0]{width:100%;font-size:12px;color:#666}.action .action-body .label-item .label-item_key span[data-v-88275da0]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action .action-body .label-item .label-item_key span[data-v-88275da0]:before{content:"*";color:#f56c6c;margin-right:4px}.action .action-body .label-item .label-item_value[data-v-88275da0]{width:100%;margin-top:5px}.action .action-body .label-item .label-item_value select[data-v-88275da0],.action .action-body .label-item .label-item_value input[data-v-88275da0]{width:100%;height:36px}.action .action-body .samba-item[data-v-88275da0]{margin-top:-18px;font-size:12px}.action .action-body .samba-item .samba-item_allow[data-v-88275da0]{display:flex;align-items:flex-end}.action .action-body .samba-item .samba-item_allow .samba-allow[data-v-88275da0]{padding-left:10px;cursor:pointer}.action .action-body .samba-item .samba-item_tips[data-v-88275da0]{margin-top:10px}.action .action-body .samba-item .samba-item_tips .tooltip-trigger[data-v-88275da0]{display:flex}.action .action-body .samba-item .samba-item_tips .samba_dir_tip[data-v-88275da0]{margin-left:10px}.action .action-footer[data-v-88275da0]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center;padding-bottom:30px}.action .action-footer .auto[data-v-88275da0]{flex:auto}.action .action-footer button[data-v-88275da0]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-3f686017{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3f686017{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3f686017{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3f686017]{animation:rotateEnter-3f686017 .7s;position:relative}.rotate-leave-active[data-v-3f686017]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3f686017]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-3f686017]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action h2.title[data-v-3f686017]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0;text-align:center}.action h3.desc[data-v-3f686017]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;margin:1rem 0;text-align:center}.action form[data-v-3f686017]{width:100%;display:block;padding:2rem 0}.action form label[data-v-3f686017]{width:100%;display:block;margin:1rem 0}.action form label input[data-v-3f686017],.action form label select[data-v-3f686017]{width:100%;display:block;height:42px}.action .btns[data-v-3f686017]{width:100%;margin-top:3rem}.action .btns button[data-v-3f686017]{display:block;width:100%!important;margin:.5rem 0}.action li.disk-item[data-v-3f686017]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;padding:5px 1rem;border-bottom:1px solid #eee;cursor:pointer}.action li.disk-item[data-v-3f686017]:hover{background-color:#eee}.action li.disk-item .disk-item_f[data-v-3f686017]{display:flex;flex-wrap:wrap}.action li.disk-item .disk-item_f .disk-item_venderModel[data-v-3f686017],.action li.disk-item .disk-item_f .disk-item_used[data-v-3f686017]{width:100%}.action .tips[data-v-3f686017]{float:right;font-size:.8em}@keyframes bganimation-3f686017{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3f686017{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3f686017{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3f686017]{animation:rotateEnter-3f686017 .7s;position:relative}.rotate-leave-active[data-v-3f686017]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3f686017]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 500px){.action h2.title[data-v-3f686017]{font-size:2em}}@keyframes bganimation-8b8d01c2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8b8d01c2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8b8d01c2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8b8d01c2]{animation:rotateEnter-8b8d01c2 .7s;position:relative}.rotate-leave-active[data-v-8b8d01c2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8b8d01c2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.linkease-item[data-v-8b8d01c2]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.linkease-item .linkease-item_name[data-v-8b8d01c2]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.linkease-item .linkease-item_value[data-v-8b8d01c2]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.linkease-item .linkease-item_value .configure[data-v-8b8d01c2]{color:#297ff3;padding:3px}li.linkease-item .linkease-item_value .configure.enabel[data-v-8b8d01c2]{cursor:pointer}a[data-v-8b8d01c2]{text-decoration:none;color:#297ff3}@keyframes bganimation-008c9ca2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-008c9ca2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-008c9ca2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-008c9ca2]{animation:rotateEnter-008c9ca2 .7s;position:relative}.rotate-leave-active[data-v-008c9ca2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-008c9ca2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-008c9ca2]{position:relative;display:flex;flex-wrap:wrap;width:100%;height:100%;align-content:flex-start}.app-container .app-container_title[data-v-008c9ca2]{width:100%;display:flex;flex-wrap:wrap;align-content:center;justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-008c9ca2]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-008c9ca2]{height:30px;line-height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-008c9ca2]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-008c9ca2] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-008c9ca2]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-008c9ca2]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:15px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-008c9ca2]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-008c9ca2]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-008c9ca2]:hover{background-color:#eee}.app-container .app-container_title button[data-v-008c9ca2]{margin-left:10px}.app-container .app-container_body[data-v-008c9ca2]{flex:0 0 100%;width:100%;height:66%}.app-container ul.app-container_nas-menu[data-v-008c9ca2]{width:100%;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;margin-top:20px}.app-container ul.app-container_nas-menu button[data-v-008c9ca2]{flex:0 0 100%!important;max-width:33.333%!important;height:30px;background:none;border:none!important;background-color:#eee;color:#333;cursor:pointer;margin:0!important;padding:5px 0!important;border-radius:0!important;line-height:20px;font-size:16px}.app-container ul.app-container_nas-menu button.on[data-v-008c9ca2],.app-container ul.app-container_nas-menu button[data-v-008c9ca2]:hover{color:#297ff3;background-color:#d1e2f9}.menu_background[data-v-008c9ca2]{position:fixed;inset:0}@keyframes bganimation-b0e9cad0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b0e9cad0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b0e9cad0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b0e9cad0]{animation:rotateEnter-b0e9cad0 .7s;position:relative}.rotate-leave-active[data-v-b0e9cad0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b0e9cad0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.docker-item[data-v-b0e9cad0]{width:100%;display:flex;flex-wrap:wrap;margin:1.5rem 0}li.docker-item .docker-item_name[data-v-b0e9cad0]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.docker-item .docker-item_value[data-v-b0e9cad0]{flex:0 0 100%;max-width:50%;padding-left:10px;float:left;display:flex}li.docker-item .docker-item_value .configure[data-v-b0e9cad0]{color:#297ff3;overflow:hidden;white-space:nowrap;padding:3px;overflow-x:hidden;text-overflow:ellipsis}li.docker-item .docker-item_value .configure.enabel[data-v-b0e9cad0]{color:#888;overflow-x:hidden;text-overflow:ellipsis}li.docker-item .docker-item_root[data-v-b0e9cad0]{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:16px;max-width:323px;flex:0 0 100%}.docker_tip svg[data-v-b0e9cad0]{vertical-align:bottom;margin-left:22px}.tooltip-trigger[data-v-b0e9cad0]{position:relative;display:inline-block;cursor:help;margin-right:6px}.tooltip-trigger .tooltip-text[data-v-b0e9cad0]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.tooltip-trigger .tooltip-text span[data-v-b0e9cad0]{color:#fff}.tooltip-trigger .tooltip-text .docker_dir_tip[data-v-b0e9cad0]{min-width:15rem;display:inline-block}.tooltip-trigger:hover .tooltip-text[data-v-b0e9cad0]{visibility:visible;opacity:1}.tooltip-top[data-v-b0e9cad0]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%);margin-left:12px}.tooltip-right[data-v-b0e9cad0]{top:50%;left:100%;margin-left:5px;transform:translateY(-50%)}.tooltip-left[data-v-b0e9cad0]{top:50%;right:100%;margin-right:5px;transform:translateY(-50%)}.tooltip-top[data-v-b0e9cad0]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-bottom[data-v-b0e9cad0]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}.input-switch[data-v-b0e9cad0]{display:inline-block;cursor:pointer;position:relative}.input-switch span[data-v-b0e9cad0]{display:block;position:relative;width:50px;height:20px;border-radius:10px;padding:2px}.input-switch span em[data-v-b0e9cad0]{display:block;width:16px;height:16px;background-color:#fff;border-radius:10px}.input-switch span.enable[data-v-b0e9cad0]{background-color:#297ff3;transition:.3s}.input-switch span.enable em[data-v-b0e9cad0]{transform:translate(30px);transition:.3s}.input-switch span.close[data-v-b0e9cad0]{background-color:#cecece;transition:.3s}.input-switch span.close em[data-v-b0e9cad0]{transform:translate(0);transition:.3s}@keyframes bganimation-81932f72{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-81932f72{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-81932f72{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-81932f72]{animation:rotateEnter-81932f72 .7s;position:relative}.rotate-leave-active[data-v-81932f72]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-81932f72]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-81932f72]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action h2.title[data-v-81932f72]{width:100%;display:block;color:#1e1e1e;font-size:22px;padding:0;margin:0;text-align:center}.action .roots[data-v-81932f72]{display:flex;max-width:342px;align-items:center;margin-top:32px;margin-bottom:16px}.action .roots .root[data-v-81932f72]{color:#000000d4;font-size:14px;text-align:center}.action .move[data-v-81932f72]{display:flex;justify-content:left;align-items:center}.action .change[data-v-81932f72]{width:678px}.action .desc[data-v-81932f72]{width:100%;display:block;font-size:1.2em;padding:0;margin:1rem 0;margin-top:32px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#000000d4}.action form[data-v-81932f72]{width:100%;display:block}.action .tips[data-v-81932f72]{width:477px}.action .tips .tip[data-v-81932f72]{color:#faad14;padding-left:6px}.action .btns[data-v-81932f72]{width:100%;margin:104px auto 0}.action .btns button[data-v-81932f72]{display:block;width:100%!important;margin-left:0;margin-right:0}.action .roots_tit[data-v-81932f72]{color:#000000d4;font-size:14px;font-weight:700;width:118px;text-align:right;flex:none}.action .successed[data-v-81932f72]{text-align:center;font-size:14px}.action .finished[data-v-81932f72]{display:flex;justify-content:center;margin:80px 80px 28px}.action .docker_moves[data-v-81932f72]{text-align:center}.action .docker_moves .moves[data-v-81932f72]{margin-top:10px}.action .docker_moves .moves input[data-v-81932f72]{cursor:pointer}.action .docker_moves .moves label[data-v-81932f72]{margin-left:10px;cursor:pointer}.select-editable[data-v-81932f72]{position:relative;border:solid grey 1px;width:438px;height:34px}.select-editable select[data-v-81932f72]{position:absolute;top:0;left:0;font-size:14px;border:none;width:100%;height:100%;margin:0}.select-editable input[data-v-81932f72]{position:absolute;top:0;left:0;width:95%;padding:1px;font-size:14px;border:none}.select-editable select[data-v-81932f72]:focus,.select-editable input[data-v-81932f72]:focus{outline:none}[data-v-81932f72]::placeholder{color:#999}@keyframes bganimation-81932f72{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-81932f72{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-81932f72{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-81932f72]{animation:rotateEnter-81932f72 .7s;position:relative}.rotate-leave-active[data-v-81932f72]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-81932f72]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action[data-v-81932f72]{width:100%}.docker_download[data-v-81932f72]{width:80%}}@keyframes bganimation-3b60633e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3b60633e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3b60633e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3b60633e]{animation:rotateEnter-3b60633e .7s;position:relative}.rotate-leave-active[data-v-3b60633e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3b60633e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-3b60633e]{position:relative;flex-wrap:wrap;width:100%;height:100%}.app-container .app-container_title[data-v-3b60633e]{justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-3b60633e]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-3b60633e]{height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;justify-content:center;align-items:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-3b60633e]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-3b60633e] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-3b60633e]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-3b60633e]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:15px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-3b60633e]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-3b60633e]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-3b60633e]:hover{background-color:#eee}.app-container button[data-v-3b60633e],.app-container .refresh[data-v-3b60633e]{margin-left:20px}.app-container .app-container_body[data-v-3b60633e]{width:100%;height:100%}.app-container .loading_placeholder[data-v-3b60633e]{display:flex;flex-direction:column;align-items:center}.menu_background[data-v-3b60633e]{position:fixed;inset:0}@keyframes bganimation-4d31c3c4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4d31c3c4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4d31c3c4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4d31c3c4]{animation:rotateEnter-4d31c3c4 .7s;position:relative}.rotate-leave-active[data-v-4d31c3c4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4d31c3c4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.aria2-item[data-v-4d31c3c4]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.aria2-item .aria2-item_name[data-v-4d31c3c4]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.aria2-item .aria2-item_value[data-v-4d31c3c4]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.aria2-item .aria2-item_value .configure[data-v-4d31c3c4]{color:#297ff3;padding:3px}li.aria2-item .aria2-item_value .configure.enabel[data-v-4d31c3c4]{color:#888}.use-url_app[data-v-4d31c3c4]{padding-bottom:14px}.use-url_app a[data-v-4d31c3c4]{text-decoration:none;color:#297ff3}@keyframes bganimation-44bc5d56{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-44bc5d56{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-44bc5d56{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-44bc5d56]{animation:rotateEnter-44bc5d56 .7s;position:relative}.rotate-leave-active[data-v-44bc5d56]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-44bc5d56]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.qbittorrent-item[data-v-44bc5d56]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.qbittorrent-item .qbittorrent-item_name[data-v-44bc5d56]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.qbittorrent-item .qbittorrent-item_value[data-v-44bc5d56]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.qbittorrent-item .qbittorrent-item_value .configure[data-v-44bc5d56]{color:#297ff3;padding:3px}li.qbittorrent-item .qbittorrent-item_value .configure.enabel[data-v-44bc5d56]{color:#888}a[data-v-44bc5d56]{text-decoration:none;color:#297ff3}@keyframes bganimation-ab5c1db0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-ab5c1db0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-ab5c1db0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-ab5c1db0]{animation:rotateEnter-ab5c1db0 .7s;position:relative}.rotate-leave-active[data-v-ab5c1db0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-ab5c1db0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.transmission-item[data-v-ab5c1db0]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.transmission-item .transmission-item_name[data-v-ab5c1db0]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.transmission-item .transmission-item_value[data-v-ab5c1db0]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.transmission-item .transmission-item_value .configure[data-v-ab5c1db0]{color:#297ff3;padding:3px}li.transmission-item .transmission-item_value .configure.enabel[data-v-ab5c1db0]{color:#888}a[data-v-ab5c1db0]{text-decoration:none;color:#297ff3}@keyframes bganimation-395b81d2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-395b81d2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-395b81d2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-395b81d2]{animation:rotateEnter-395b81d2 .7s;position:relative}.rotate-leave-active[data-v-395b81d2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-395b81d2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-395b81d2]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;padding:1rem 87px;border-radius:6px}.action p[data-v-395b81d2]{color:#999;font-size:14px}.action input[data-v-395b81d2]{font-size:14px;font-family:PingFangSC-Regular,PingFang SC}.action h2.title[data-v-395b81d2]{width:100%;color:#1e1e1e;font-size:22px;font-family:PingFangSC-Medium,PingFang SC;padding:0;margin:0;text-align:center}.action span[data-v-395b81d2]{font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#000000d4;font-weight:700}.action form label[data-v-395b81d2]{width:100%}.action form label input[data-v-395b81d2],.action form label select[data-v-395b81d2]{height:100%;font-size:14px}.action .myinput_wrap[data-v-395b81d2],.action .RPC_input[data-v-395b81d2]{width:85%}.action .myinput_wrap textarea[data-v-395b81d2]{width:100%;padding:2px 3px;border:1px solid #dee2e6;border-radius:.25rem}.action .input_row[data-v-395b81d2]{margin:16px 0;display:flex;justify-content:left;align-items:center}.action .input_row .radios[data-v-395b81d2]{margin-right:10px}.action .input_row .radios input[data-v-395b81d2],.action .input_row .radios label[data-v-395b81d2]{cursor:pointer}.action .Tracker label[data-v-395b81d2]{margin-right:10px;cursor:pointer}.action .Tracker_input[data-v-395b81d2]{padding:6px 2px}.action .btns[data-v-395b81d2]{width:100%;margin:42px auto 0}.action .btns button[data-v-395b81d2]{display:block;width:100%!important;margin:.5rem 0}.action .tooltip-trigger[data-v-395b81d2]{position:relative;display:inline-block;cursor:help;margin-right:6px}.action .tooltip-trigger .tooltip-text[data-v-395b81d2]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.action .tooltip-trigger .tooltip-text span[data-v-395b81d2]{color:#fff}.action .tooltip-trigger .tooltip-text .dowload_dir_tip[data-v-395b81d2]{min-width:14rem;display:inline-block}.action .tooltip-trigger:hover .tooltip-text[data-v-395b81d2]{visibility:visible;opacity:1}.action .tooltip-top[data-v-395b81d2]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%)}.action .tooltip-bottom[data-v-395b81d2]{top:100%;left:50%;margin-top:5px;transform:translate(-50%)}.action .tooltip-bottom .dowload_rpc_tip[data-v-395b81d2]{min-width:10rem;display:inline-block}.action .tooltip-right[data-v-395b81d2]{top:50%;left:100%;margin-left:5px;transform:translateY(-50%)}.action .tooltip-left[data-v-395b81d2]{top:50%;right:100%;margin-right:5px;transform:translateY(-50%)}.action .tooltip-top[data-v-395b81d2]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.action .tooltip-bottom[data-v-395b81d2]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}.action .successed[data-v-395b81d2]{text-align:center;font-size:14px}.action .finished[data-v-395b81d2]{display:flex;justify-content:center;margin:80px 80px 28px}.left[data-v-395b81d2]{display:flex;align-items:center;justify-content:flex-start;width:110px;flex:none}.select-editable[data-v-395b81d2]{position:relative;border:1px solid #dee2e6;border-radius:.25rem;margin:.25rem .1rem}.select-editable select[data-v-395b81d2]{top:0;left:0;font-size:14px;border:none;width:100%;margin:0}.select-editable input[data-v-395b81d2]{position:absolute;top:-4px;left:0;width:95%;padding:1px;font-size:14px;border:none}.select-editable select[data-v-395b81d2]:focus,.select-editable input[data-v-395b81d2]:focus{outline:none}[data-v-395b81d2]::placeholder{color:#999}@keyframes bganimation-395b81d2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-395b81d2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-395b81d2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-395b81d2]{animation:rotateEnter-395b81d2 .7s;position:relative}.rotate-leave-active[data-v-395b81d2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-395b81d2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 500px){.action[data-v-395b81d2]{width:100%}.action .input_row[data-v-395b81d2]{display:block}.action .input_row .myinput_wrap[data-v-395b81d2],.action .input_row .RPC_input[data-v-395b81d2]{width:100%}}@keyframes bganimation-17fab0f2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-17fab0f2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-17fab0f2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-17fab0f2]{animation:rotateEnter-17fab0f2 .7s;position:relative}.rotate-leave-active[data-v-17fab0f2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-17fab0f2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-17fab0f2]{position:relative;display:flex;flex-wrap:wrap;width:100%;height:100%;align-content:flex-start}.app-container .app-container_title[data-v-17fab0f2]{width:100%;display:flex;flex-wrap:wrap;align-content:center;justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-17fab0f2]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-17fab0f2]{height:30px;line-height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-17fab0f2]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-17fab0f2] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-17fab0f2]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-17fab0f2]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:15px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-17fab0f2]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-17fab0f2]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-17fab0f2]:hover{background-color:#eee}.app-container .app-container_title button[data-v-17fab0f2]{margin-left:10px}.app-container .app-container_body[data-v-17fab0f2]{flex:0 0 100%;width:100%;height:66%}.app-container ul.app-container_nas-menu[data-v-17fab0f2]{width:100%;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;margin-top:20px}.app-container ul.app-container_nas-menu button[data-v-17fab0f2]{flex:0 0 100%!important;max-width:33.333%!important;height:30px;background:none;border:none!important;background-color:#eee;color:#333;cursor:pointer;margin:0!important;padding:5px 0!important;border-radius:0!important;line-height:20px;font-size:16px}.app-container ul.app-container_nas-menu button.on[data-v-17fab0f2],.app-container ul.app-container_nas-menu button[data-v-17fab0f2]:hover{color:#297ff3;background-color:#d1e2f9}.menu_background[data-v-17fab0f2]{position:fixed;inset:0}@keyframes bganimation-73552138{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-73552138{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-73552138{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-73552138]{animation:rotateEnter-73552138 .7s;position:relative}.rotate-leave-active[data-v-73552138]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-73552138]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}h3[data-v-73552138]{text-align:center;margin-bottom:20px}.label-item[data-v-73552138]{display:flex;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:0 30px}.label-item label[data-v-73552138]{display:flex;flex-wrap:wrap;align-items:center;width:100%;height:26px;line-height:26px;cursor:pointer}.label-item label input[type=radio][data-v-73552138]{top:0;right:0;vertical-align:middle}.label-item label span[data-v-73552138]{font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#000000d4;display:inline-block;margin-left:10px}.label-item p.label_info[data-v-73552138]{color:#999;font-size:12px;padding-left:24px;line-height:20px}.label-item .label-item_key[data-v-73552138]{display:flex;flex-wrap:wrap;align-items:center}.label-item .label-item_key .ddnsto_serve[data-v-73552138]{flex:0 0 100%;display:flex;justify-content:space-between;margin-bottom:14px}.label-item .label-item_key .ddnsto_serve_item[data-v-73552138]{flex:0 0 100%;display:flex;justify-content:space-between}@keyframes bganimation-b9ee57da{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b9ee57da{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b9ee57da{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b9ee57da]{animation:rotateEnter-b9ee57da .7s;position:relative}.rotate-leave-active[data-v-b9ee57da]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b9ee57da]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-b9ee57da]{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.actioner-container_body svg.icon[data-v-b9ee57da]{width:100px;height:100px}.actioner-container_body .body-title[data-v-b9ee57da]{width:100%;display:block;color:#1e1e1e;font-size:2em;padding:0;margin:1rem 0;text-align:center}.actioner-container_body .body-tips[data-v-b9ee57da]{text-align:center}.actioner-container_body .body-info[data-v-b9ee57da]{color:#666;font-size:1.3em;margin:1rem 0;width:100%;text-align:center}.actioner-container_body .body-tips[data-v-b9ee57da]{margin:1rem 0;display:block;width:100%}.actioner-container_body .body-btns[data-v-b9ee57da]{width:100%;margin-top:3rem}.actioner-container_body .body-btns button[data-v-b9ee57da]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-aefb6fdc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-aefb6fdc{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-aefb6fdc{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-aefb6fdc]{animation:rotateEnter-aefb6fdc .7s;position:relative}.rotate-leave-active[data-v-aefb6fdc]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-aefb6fdc]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}iframe[data-v-aefb6fdc]{width:100%;height:100%;border:none}@keyframes bganimation-0e2b47e6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0e2b47e6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0e2b47e6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0e2b47e6]{animation:rotateEnter-0e2b47e6 .7s;position:relative}.rotate-leave-active[data-v-0e2b47e6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0e2b47e6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}iframe[data-v-0e2b47e6]{width:100%;height:100%;border:none}@keyframes bganimation-29e2aec8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-29e2aec8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-29e2aec8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-29e2aec8]{animation:rotateEnter-29e2aec8 .7s;position:relative}.rotate-leave-active[data-v-29e2aec8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-29e2aec8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-29e2aec8]{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.actioner-container_body svg.icon[data-v-29e2aec8]{width:100px;height:100px}.actioner-container_body .body-title[data-v-29e2aec8]{width:100%;display:block;color:#1e1e1e;font-size:2em;padding:0;margin:1rem 0;text-align:center}.actioner-container_body .body-info[data-v-29e2aec8]{color:#666;font-size:1.3em;margin:1rem 0;width:100%}.actioner-container_body .body-tips[data-v-29e2aec8]{margin:1rem 0;display:block;width:100%}.actioner-container_body .body-btns[data-v-29e2aec8]{width:100%;margin-top:3rem}.actioner-container_body .body-btns button[data-v-29e2aec8]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-169b4450{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-169b4450{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-169b4450{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-169b4450]{animation:rotateEnter-169b4450 .7s;position:relative}.rotate-leave-active[data-v-169b4450]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-169b4450]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-169b4450]{display:flex;align-items:center;justify-content:center}@keyframes bganimation-6590a3fa{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6590a3fa{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6590a3fa{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6590a3fa]{animation:rotateEnter-6590a3fa .7s;position:relative}.rotate-leave-active[data-v-6590a3fa]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6590a3fa]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-6590a3fa]{display:flex;align-items:center;justify-content:center}@keyframes bganimation-3b80943c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3b80943c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3b80943c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3b80943c]{animation:rotateEnter-3b80943c .7s;position:relative}.rotate-leave-active[data-v-3b80943c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3b80943c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-3b80943c]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-3b80943c] .actioner-container{width:100%}.action-main[data-v-3b80943c] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:20px;border-bottom:1px solid #eee;justify-content:center;padding:0 10px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;color:#0060ff;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-3b80943c] .actioner-container .actioner-container_body{padding:1rem;text-align:center;width:100%;height:400px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_body a{text-decoration:none}.action-main[data-v-3b80943c] .actioner-container .actioner-container_body.ddnsto-bind{height:280px}@keyframes bganimation-3b80943c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3b80943c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3b80943c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3b80943c]{animation:rotateEnter-3b80943c .7s;position:relative}.rotate-leave-active[data-v-3b80943c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3b80943c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-3b80943c]{width:90%}}@keyframes bganimation-145a3c50{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-145a3c50{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-145a3c50{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-145a3c50]{animation:rotateEnter-145a3c50 .7s;position:relative}.rotate-leave-active[data-v-145a3c50]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-145a3c50]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-145a3c50]{width:500px;max-height:90%;background-color:#fff;position:relative;z-index:99999;margin:auto;border-radius:4px;padding:10px 0}.action .action-header[data-v-145a3c50]{width:100%;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;padding-left:1rem;padding-right:1rem;text-align:left;font-size:18px;line-height:1;color:#303133}.action .action-body[data-v-145a3c50]{display:block;margin:2rem 0;line-height:24px;padding:0 15px;color:#606266;font-size:14px}.action .action-footer[data-v-145a3c50]{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action .next[data-v-145a3c50]{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:120px;height:32px;background:#553AFE;border-radius:2px}.action .next[data-v-145a3c50]:hover{opacity:.8}.action .clear[data-v-145a3c50]{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action .clear[data-v-145a3c50]:hover{opacity:.8}@keyframes bganimation-2c659599{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2c659599{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2c659599{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2c659599]{animation:rotateEnter-2c659599 .7s;position:relative}.rotate-leave-active[data-v-2c659599]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2c659599]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.title_info[data-v-2c659599]{display:block;width:100%;text-align:center}.title_info p[data-v-2c659599]{font-size:20px;margin-bottom:10px}.label-item[data-v-2c659599]{width:100%;margin:1rem 0}.label-item .label-item_key[data-v-2c659599]{width:100%;font-size:12px;color:#666}.label-item .label-item_key span[data-v-2c659599]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-2c659599]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-2c659599]{width:100%;margin-top:5px}.label-item .label-item_value select[data-v-2c659599],.label-item .label-item_value input[data-v-2c659599]{width:100%;height:36px;color:#000}.label-item .label-item_value input[data-v-2c659599]::placeholder{color:#999;font-size:12PX}.label-item .label_tips[data-v-2c659599]{display:flex;margin-top:6px}.label-item .label_tips .info[data-v-2c659599]{margin-left:8px}.label-message[data-v-2c659599]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}@keyframes bganimation-8a1e6470{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8a1e6470{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8a1e6470{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8a1e6470]{animation:rotateEnter-8a1e6470 .7s;position:relative}.rotate-leave-active[data-v-8a1e6470]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8a1e6470]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-8a1e6470]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-8a1e6470] .actioner-container{width:100%}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:20px;border-bottom:1px solid #eee;justify-content:center;padding:0 10px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .next.save{height:32px;background:#553AFE;border-radius:2px;line-height:16px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body{padding:1rem;width:100%;height:400px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body a{text-decoration:none}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body.ali,.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body.dnspod,.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body.oray{height:451px}@keyframes bganimation-8a1e6470{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8a1e6470{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8a1e6470{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8a1e6470]{animation:rotateEnter-8a1e6470 .7s;position:relative}.rotate-leave-active[data-v-8a1e6470]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8a1e6470]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-8a1e6470]{width:90%}}@keyframes bganimation-c59010b0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-c59010b0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-c59010b0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-c59010b0]{animation:rotateEnter-c59010b0 .7s;position:relative}.rotate-leave-active[data-v-c59010b0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-c59010b0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-c59010b0]{position:relative;flex-wrap:wrap;width:100%;height:100%}.app-container a[data-v-c59010b0]{text-decoration:none}.app-container .app-container_title[data-v-c59010b0]{justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-c59010b0]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-c59010b0]{height:30px;border-radius:4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-c59010b0]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-c59010b0] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-c59010b0]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-c59010b0]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:0;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-c59010b0]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-c59010b0]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-c59010b0]:hover{background-color:#eee}.app-container button[data-v-c59010b0],.app-container .refresh[data-v-c59010b0]{margin-left:20px}.app-container .app-container_body[data-v-c59010b0]{width:100%;height:100%}.menu_background[data-v-c59010b0]{position:fixed;inset:0}.app-container_domain li.domain-item[data-v-c59010b0]{width:100%;display:flex;flex-wrap:wrap;margin:1.5rem 0;align-items:center}.app-container_domain li.domain-item .domain-item_name[data-v-c59010b0]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.app-container_domain li.domain-item .domain-item_value[data-v-c59010b0]{flex:0 0 100%;max-width:50%;padding-left:10px;float:left;display:flex;align-items:center;justify-content:space-between}.app-container_domain li.domain-item .domain-item_value .configure[data-v-c59010b0]{overflow:hidden;white-space:nowrap;padding:3px;overflow-x:hidden;text-overflow:ellipsis}.app-container_domain li.domain-item .domain-item_value .item_btn[data-v-c59010b0]{border:var(--item_btn-border);border-radius:4px;font-size:12px;padding:7px;color:var(--item_btn-color);text-align:center;min-width:60px}.app-container_domain li.domain-item .domain-item_value .configure.enabel[data-v-c59010b0]{color:#888;overflow-x:hidden;text-overflow:ellipsis}.app-container_domain li.domain-item .domain-item_root[data-v-c59010b0]{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:16px;max-width:323px;flex:0 0 100%}.app-container_domain .domain_tip svg[data-v-c59010b0]{vertical-align:bottom;margin-left:22px}.app-container_domain .tooltip-trigger[data-v-c59010b0]{position:relative;display:inline-block;cursor:help;margin-right:6px}.app-container_domain .tooltip-trigger .tooltip-text[data-v-c59010b0]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.app-container_domain .tooltip-trigger .tooltip-text span[data-v-c59010b0]{color:#fff}.app-container_domain .tooltip-trigger .tooltip-text .domain_dir_tip[data-v-c59010b0]{min-width:15rem;display:inline-block}.app-container_domain .tooltip-trigger:hover .tooltip-text[data-v-c59010b0]{visibility:visible;opacity:1}.app-container_domain .tooltip-top[data-v-c59010b0]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%);margin-left:12px}.app-container_domain .tooltip-right[data-v-c59010b0]{top:50%;left:100%;margin-left:5px;transform:translateY(-50%)}.app-container_domain .tooltip-left[data-v-c59010b0]{top:50%;right:100%;margin-right:5px;transform:translateY(-50%)}.app-container_domain .tooltip-top[data-v-c59010b0]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.app-container_domain .tooltip-bottom[data-v-c59010b0]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}@keyframes bganimation-a221efb4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a221efb4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a221efb4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a221efb4]{animation:rotateEnter-a221efb4 .7s;position:relative}.rotate-leave-active[data-v-a221efb4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a221efb4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.nas-container[data-v-a221efb4]{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between}.nas-container .nas-container_card[data-v-a221efb4]{flex:0 0 49%;max-width:49%;margin-bottom:1.5vw}@keyframes bganimation-a221efb4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a221efb4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a221efb4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a221efb4]{animation:rotateEnter-a221efb4 .7s;position:relative}.rotate-leave-active[data-v-a221efb4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a221efb4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 992px){.nas-container .nas-container_card[data-v-a221efb4]{flex:0 0 100%;max-width:100%;padding-right:0;margin-bottom:.8rem}}@keyframes bganimation-2baf3f98{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2baf3f98{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2baf3f98{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2baf3f98]{animation:rotateEnter-2baf3f98 .7s;position:relative}.rotate-leave-active[data-v-2baf3f98]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2baf3f98]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container_title .more_icon[data-v-2baf3f98]{position:absolute;right:22px;cursor:pointer}.app-container_title .DeviceBlock[data-v-2baf3f98]{position:absolute;z-index:999;width:10%;right:22px;margin-top:14px}.app-container_title .DeviceBlock ul[data-v-2baf3f98]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:0;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container_title .DeviceBlock ul li[data-v-2baf3f98]{margin:6px 0;line-height:28px;cursor:pointer}.app-container_title .DeviceBlock ul li a[data-v-2baf3f98]{color:#1e1e1e;text-decoration:none;cursor:pointer;font-size:14px;margin:0 20px;display:block}.app-container_title .DeviceBlock ul li[data-v-2baf3f98]:hover{background-color:#eee}.item-label[data-v-2baf3f98]{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;width:100%;margin:1rem 0}.item-label .item-label_key[data-v-2baf3f98]{flex:0 0 100%;max-width:100px;text-align:left}.item-label .item-label_key span[data-v-2baf3f98]{font-size:14px;color:var(--item-label_key-span-color)}.item-label .item-label_value[data-v-2baf3f98]{flex:1;text-align:left}.item-label .item-label_value span[data-v-2baf3f98]{font-size:14px;color:var(--item-label_value-span-color)}.item-title span[data-v-2baf3f98]{font-size:16px;font-weight:550;color:#555}.item-flex[data-v-2baf3f98]{width:100%;display:flex;flex-wrap:wrap}.item-flex .auto[data-v-2baf3f98]{flex:auto}.item-flex button.app-editor[data-v-2baf3f98]{padding:8px 1.3rem}.menu_background[data-v-2baf3f98]{position:fixed;inset:0}@keyframes bganimation-0d919a1e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0d919a1e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0d919a1e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0d919a1e]{animation:rotateEnter-0d919a1e .7s;position:relative}.rotate-leave-active[data-v-0d919a1e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0d919a1e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-0d919a1e]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-0d919a1e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-0d919a1e]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-0d919a1e]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-0d919a1e]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-0d919a1e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-0d919a1e]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-0d919a1e]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-0d919a1e],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-0d919a1e]{width:100%;height:36px}.actioner-dns .actioner-dns_body .chose_dhcp[data-v-0d919a1e]{height:1em;font-size:1.3em}.actioner-dns .actioner-dns_body .chose_dhcp .dhcp_info[data-v-0d919a1e]{margin-left:10px;user-select:none}.actioner-dns .actioner-dns_body .label-message[data-v-0d919a1e]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-0d919a1e]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-0d919a1e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-0d919a1e]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.setting_status[data-v-0d919a1e]{text-align:center}.setting_status p[data-v-0d919a1e]{margin:10px 0}.setting_status a[data-v-0d919a1e]{text-align:center;display:block;text-decoration:none}.NewAdress[data-v-0d919a1e]{margin-top:10px}@keyframes bganimation-0d919a1e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0d919a1e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0d919a1e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0d919a1e]{animation:rotateEnter-0d919a1e .7s;position:relative}.rotate-leave-active[data-v-0d919a1e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0d919a1e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-0d919a1e]{min-height:34vh}}@media screen and (max-width: 800px){.actioner-dns[data-v-0d919a1e]{width:100%}}@keyframes bganimation-59ad49e6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-59ad49e6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-59ad49e6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-59ad49e6]{animation:rotateEnter-59ad49e6 .7s;position:relative}.rotate-leave-active[data-v-59ad49e6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-59ad49e6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-59ad49e6]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_header span[data-v-59ad49e6]{margin:0 auto}.actioner-dns .actioner-dns_body[data-v-59ad49e6]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .sandbox_roboot_tips[data-v-59ad49e6]{margin-top:24px;text-align:center}.actioner-dns .actioner-dns_body .disk_loading_icon[data-v-59ad49e6]{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:10px}.actioner-dns .actioner-dns_body .disk_loading_icon .disk_loading_info[data-v-59ad49e6]{margin-top:5px}.actioner-dns .actioner-dns_body .disk_tips[data-v-59ad49e6]{text-align:center;font-size:16px;margin-top:159px;color:#f9ad1e}.actioner-dns .actioner-dns_body .disk_tips svg[data-v-59ad49e6]{vertical-align:middle}.actioner-dns .actioner-dns_body .disk_tips span[data-v-59ad49e6]{margin-left:6px}.actioner-dns .actioner-dns_body .sandbox_info[data-v-59ad49e6]{text-align:center;line-height:22px}.actioner-dns .actioner-dns_body .label-item[data-v-59ad49e6]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-59ad49e6]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-59ad49e6]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-59ad49e6]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-59ad49e6]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-59ad49e6],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-59ad49e6]{width:100%;height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-59ad49e6]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .actioner-dns_body .sandbox_tips svg[data-v-59ad49e6]{vertical-align:middle}.actioner-dns .actioner-dns_body .sandbox_tips span[data-v-59ad49e6]{font-size:12px;margin-left:4px}.actioner-dns .config-message[data-v-59ad49e6]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-59ad49e6]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.actioner-tips[data-v-59ad49e6]{width:400px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-tips .actioner-tips_header[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-tips .sandbox_info[data-v-59ad49e6]{padding:62px 54px;line-height:20px}.actioner-tips .actioner-tips_footer[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.timeout[data-v-59ad49e6]{margin-top:114px}.timeout span[data-v-59ad49e6],.sandbox_roboot_refresh[data-v-59ad49e6]{color:#5e72e4}option[data-v-59ad49e6]:disabled{background-color:#e0e0e0}@keyframes bganimation-59ad49e6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-59ad49e6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-59ad49e6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-59ad49e6]{animation:rotateEnter-59ad49e6 .7s;position:relative}.rotate-leave-active[data-v-59ad49e6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-59ad49e6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-tips_footer button[data-v-59ad49e6]{width:100%!important}}@media screen and (max-width: 900px){.actioner-dns[data-v-59ad49e6]{width:100%}}@media screen and (max-width: 700px){.actioner-dns .actioner-dns_body[data-v-59ad49e6]{min-height:42vh}.actioner-tips[data-v-59ad49e6]{width:80%;line-height:22px}.actioner-tips .sandbox_info[data-v-59ad49e6]{padding:34px 10px;font-size:10px}.actioner-tips .actioner-tips_header[data-v-59ad49e6]{font-size:20px}.actioner-tips .actioner-tips_footer button[data-v-59ad49e6]{width:100%!important}}@media screen and (max-width: 600px){.actioner-dns .actioner-dns_footer button[data-v-59ad49e6]{width:100%!important;margin-bottom:10px;margin-left:0}}@media screen and (max-width: 500px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-59ad49e6]{width:228px;overflow:hidden;text-overflow:ellipsis}}@media screen and (max-width: 400px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-59ad49e6]{width:163px;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_footer button[data-v-59ad49e6]{width:100%!important;margin-bottom:10px}.actioner-tips .sandbox_info[data-v-59ad49e6]{padding:3px 10px}}@keyframes bganimation-3e084f0f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3e084f0f{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3e084f0f{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3e084f0f]{animation:rotateEnter-3e084f0f .7s;position:relative}.rotate-leave-active[data-v-3e084f0f]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3e084f0f]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-3e084f0f]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_header span[data-v-3e084f0f]{margin:0 auto}.actioner-dns .actioner-dns_body[data-v-3e084f0f]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .sandbox_info[data-v-3e084f0f]{text-align:center;line-height:22px}.actioner-dns .actioner-dns_body .sandbox_environment[data-v-3e084f0f]{font-size:16px;line-height:28px;margin:20px 0}.actioner-dns .actioner-dns_body .sandbox_environment_info[data-v-3e084f0f]{font-size:16px;line-height:28px}.actioner-dns .actioner-dns_body .sandbox_environment_info .sandbox_environment_reboot[data-v-3e084f0f]{color:#5e72e4}.actioner-dns .actioner-dns_body .sandbox_environment_info .sandbox_environment_tex[data-v-3e084f0f]{color:red;font-size:.9em}.actioner-dns .actioner-dns_footer[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-3e084f0f]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.actioner-tips[data-v-3e084f0f]{width:400px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-tips .actioner-tips_header[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-tips .sandbox_info[data-v-3e084f0f]{padding:62px 54px;line-height:20px}.actioner-tips .actioner-tips_footer[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.timeout[data-v-3e084f0f]{margin-top:114px}.timeout span[data-v-3e084f0f]{color:#5e72e4}@keyframes bganimation-3e084f0f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3e084f0f{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3e084f0f{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3e084f0f]{animation:rotateEnter-3e084f0f .7s;position:relative}.rotate-leave-active[data-v-3e084f0f]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3e084f0f]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-tips_footer button[data-v-3e084f0f]{width:100%!important}}@media screen and (max-width: 900px){.actioner-dns[data-v-3e084f0f]{width:100%}}@media screen and (max-width: 700px){.actioner-dns .actioner-dns_body[data-v-3e084f0f]{min-height:42vh}.actioner-dns .actioner-dns_footer button[data-v-3e084f0f]{width:100%!important;margin-bottom:10px}.actioner-tips[data-v-3e084f0f]{width:80%;line-height:22px}.actioner-tips .sandbox_info[data-v-3e084f0f]{padding:34px 10px;font-size:10px}.actioner-tips .actioner-tips_header[data-v-3e084f0f]{font-size:20px}.actioner-tips .actioner-tips_footer button[data-v-3e084f0f]{width:100%!important}}@media screen and (max-width: 600px){.actioner-dns .actioner-dns_footer button[data-v-3e084f0f]{width:100%!important;margin-bottom:10px;margin-left:0}}@media screen and (max-width: 500px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-3e084f0f]{width:228px;overflow:hidden;text-overflow:ellipsis}}@media screen and (max-width: 400px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-3e084f0f]{width:163px;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .sandbox_info[data-v-3e084f0f]{font-size:10px}.actioner-dns .actioner-dns_body .sandbox_environment[data-v-3e084f0f],.actioner-dns .actioner-dns_body .sandbox_environment_info[data-v-3e084f0f]{font-size:12px}.actioner-tips .sandbox_info[data-v-3e084f0f]{padding:3px 10px}}@keyframes bganimation-501131da{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-501131da{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-501131da{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-501131da]{animation:rotateEnter-501131da .7s;position:relative}.rotate-leave-active[data-v-501131da]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-501131da]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.nav-container[data-v-501131da]{width:100%;margin-bottom:8px}.nav-container .btn_styles[data-v-501131da]{width:132px;height:52px;border-radius:8px;margin-right:8px}.nav-container .app-update-button-combind[data-v-501131da]{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;position:relative;padding:0}.nav-container .app-update-button-combind .app-update-button[data-v-501131da]{flex:auto;display:flex;align-items:center;height:100%}.nav-container .app-update-button-combind .app-update-button .app-update-button-text[data-v-501131da]{flex:auto}.nav-container .app-update-button-combind .app-update-button .app-update-button-text i[data-v-501131da]{display:inline-block;padding:3px;background-color:red;border-radius:50%}.nav-container .app-update-button-combind .app-update-button-more[data-v-501131da]{display:inline-flex;width:28px;border-left:solid 1px;align-items:center;justify-content:center;flex-wrap:nowrap;height:100%}.nav-container .app-update-button-combind .app-update-button-more[data-v-501131da] svg path{color:inherit!important;fill:currentColor}.nav-container .app-update-button-combind .app-update-button-menu[data-v-501131da]{position:absolute;z-index:999;width:30%;right:0;top:100%}.nav-container .app-update-button-combind .app-update-button-menu ul[data-v-501131da]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:8px;right:0;text-align:center;position:absolute;word-break:keep-all}.nav-container .app-update-button-combind .app-update-button-menu ul li[data-v-501131da]{cursor:pointer;font-size:16px;line-height:1em;color:#1e1e1e;padding:0 5px;position:relative}.nav-container .app-update-button-combind .app-update-button-menu ul li .app-update-menu-item[data-v-501131da]{padding:5px 2px;white-space:nowrap}.nav-container .app-update-button-combind .app-update-button-menu ul li .app-update-menu-item-loading[data-v-501131da]{display:flex;justify-content:center;align-items:center;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fffc}.nav-container .cover-buttob[data-v-501131da]{margin-left:0;margin-right:5px}.nav-container a[data-v-501131da]{padding:12px 1rem;margin-right:1rem;margin-bottom:1rem;display:inline-block;min-width:100px;text-align:center}.nav-container a[data-v-501131da]:hover{box-shadow:0 0 10px 1px #c5c5c5;transition:.3s;transform:scale(1.1)}.nav-container .app-btn-ttyd[data-v-501131da]:before{content:"\276f "}.nav-container .MoreMenu[data-v-501131da]{cursor:pointer;color:#297ff3;margin-left:20px;font-size:16px;font-weight:600}.nav-container[data-v-501131da]{display:flex;justify-content:start;align-items:center;flex-wrap:wrap;width:100%}.nav-container button[data-v-501131da]{cursor:pointer;margin-bottom:10px}.nav-container button[data-v-501131da]:hover{box-shadow:0 0 2px #0000001f,0 2px 2px #0003}.update[data-v-501131da]{visibility:hidden}.color1[data-v-501131da]{border:1px solid #553AFE;color:#533afe;background:rgba(85,58,254,.16)}.color2[data-v-501131da]{background:#2b2b2b;border:#444;color:#fff}.color3[data-v-501131da]{border:1px solid #FF6A67;background:rgba(255,107,103,.16);color:#ff6a67}.color4[data-v-501131da]{border:1px solid #3688FF;background:rgba(51,134,255,.16);color:#3688ff}.color5[data-v-501131da]{border:1px solid #FE3ACC;background:rgba(254,58,204,.16);color:#fe3acc}.menu_background[data-v-501131da]{position:fixed;inset:0}tr>td,tr>th,.tr>.td,.tr>.th,.cbi-section-table-row:before,#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2){border:none}@keyframes bganimation-5baea60c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5baea60c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5baea60c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5baea60c]{animation:rotateEnter-5baea60c .7s;position:relative}.rotate-leave-active[data-v-5baea60c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5baea60c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.custom-table-container[data-v-5baea60c]{width:100%;font-size:14px;color:var(--flow-span-color)}.custom-table-container input[data-v-5baea60c]{margin:0}.custom-table-container .custom-table-wrapper[data-v-5baea60c]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.custom-table-container .custom-table[data-v-5baea60c]{width:100%;border-collapse:collapse;table-layout:auto}.custom-table-container .custom-table thead[data-v-5baea60c]{border-radius:8px!important;background:#F8F8F8}.custom-table-container .custom-table thead tr th[data-v-5baea60c]{color:var(--flow-span-color)!important;font-weight:500!important;border:none!important;padding:18px 8px!important;white-space:nowrap}.custom-table-container .custom-table tbody tr[data-v-5baea60c]{background:transparent;border-bottom:1px solid #f8f8f8!important}.custom-table-container .custom-table tbody tr[data-v-5baea60c]:last-child{border-bottom:none!important}.custom-table-container .custom-table tbody tr td[data-v-5baea60c]{padding:24px 8px!important;white-space:nowrap}.custom-table-container .custom-table tbody tr:hover td[data-v-5baea60c]{background-color:#00000005!important}.custom-table-container .custom-table tbody tr.empty-row td[data-v-5baea60c]{text-align:center!important;padding:30px 0!important;color:#c98d8d66!important;border-bottom:none!important}.custom-table-container .custom-table .selection-header[data-v-5baea60c],.custom-table-container .custom-table .selection-cell[data-v-5baea60c]{width:50px!important;min-width:50px!important;text-align:center!important}.custom-table-container .pagination-wrapper[data-v-5baea60c]{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:0 8px}.custom-table-container .pagination-wrapper .pagination-info[data-v-5baea60c]{color:#0009;font-size:13px}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-5baea60c]{min-width:32px;height:32px;margin:0 4px;padding:0 8px;background:#fff;color:#000000a6;cursor:pointer;transition:all .3s}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-5baea60c]:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-5baea60c]:disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.custom-table-container .pagination-wrapper .pagination-controls button.active[data-v-5baea60c]{color:#fff;background-color:#1890ff;border-color:#1890ff}@media (max-width: 768px){.custom-table-container .custom-table thead tr th[data-v-5baea60c]{padding:8px 4px!important;font-size:13px!important}.custom-table-container .custom-table tbody tr td[data-v-5baea60c]{padding:12px 4px!important;font-size:13px!important}.custom-table-container .pagination-wrapper[data-v-5baea60c]{flex-direction:column;align-items:flex-start;gap:12px}.custom-table-container .pagination-wrapper .pagination-controls[data-v-5baea60c]{display:flex;flex-wrap:wrap;gap:4px}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-5baea60c]{min-width:28px;height:28px;margin:0;padding:0 6px;font-size:13px}}@keyframes bganimation-78f3be5c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-78f3be5c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-78f3be5c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-78f3be5c]{animation:rotateEnter-78f3be5c .7s;position:relative}.rotate-leave-active[data-v-78f3be5c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-78f3be5c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.del-button[data-v-78f3be5c]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:8px 15px;font-size:14px;border-radius:4px}.add-button--danger[data-v-78f3be5c]{color:#fff;background-color:#553afe;border-color:#553afe}.add-button--danger[data-v-78f3be5c]:hover{background:#5c44f8;border-color:#5c44f8;color:#fff}.add-button--danger[data-v-78f3be5c]:active{background:#553AFE;border-color:#553afe;color:#fff}.add-button.is-disabled[data-v-78f3be5c]{opacity:.5;cursor:not-allowed}.del-button--danger[data-v-78f3be5c]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.del-button--danger[data-v-78f3be5c]:hover{background:#f78989;border-color:#f78989;color:#fff}.del-button--danger[data-v-78f3be5c]:active{background:#dd6161;border-color:#dd6161;color:#fff}.del-button.is-disabled[data-v-78f3be5c]{opacity:.5;cursor:not-allowed}.search_box[data-v-78f3be5c]{width:350px}.search_box .search_container[data-v-78f3be5c]{display:flex;align-items:center;gap:8px}.search_box .search_container .search_input_wrapper[data-v-78f3be5c]{position:relative;flex-grow:1}.search_box .search_container .search_input_wrapper .search_icon[data-v-78f3be5c]{position:absolute;right:10px;top:50%;transform:translateY(-50%);fill:#000c;cursor:pointer}.search_box .search_container .search_input_wrapper .search_input[data-v-78f3be5c]{width:100%;padding:4px 35px 4px 12px;border-radius:4px;border:1px solid rgba(0,0,0,.6);font-size:14px;outline:none;transition:border-color .3s;color:#222;background:transparent}.search_box .search_container .search_input_wrapper .search_input[data-v-78f3be5c]:focus{border-color:#4a90e2}.search_box .search_container .refresh_button[data-v-78f3be5c]{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .3s;display:flex;align-items:center;justify-content:center}.search_box .search_container .refresh_button[data-v-78f3be5c]:hover{background-color:#f0f0f0}.search_box .search_container .refresh_button .refresh_icon[data-v-78f3be5c]{fill:#000c;transition:transform .3s}.search_box .search_container .refresh_button.rotate .refresh_icon[data-v-78f3be5c]{animation:spin-78f3be5c 1s linear infinite}@keyframes spin-78f3be5c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bganimation-78f3be5c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-78f3be5c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-78f3be5c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-78f3be5c]{animation:rotateEnter-78f3be5c .7s;position:relative}.rotate-leave-active[data-v-78f3be5c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-78f3be5c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media (max-width: 827px){.search_box[data-v-78f3be5c]{width:80%}.del-button[data-v-78f3be5c]{padding:6px 8px}}@keyframes bganimation-77e6f338{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-77e6f338{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-77e6f338{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-77e6f338]{animation:rotateEnter-77e6f338 .7s;position:relative}.rotate-leave-active[data-v-77e6f338]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-77e6f338]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.switch[data-v-77e6f338]{display:inline-flex;align-items:center;position:relative;font-size:14px;height:20px}.switch.is-disabled[data-v-77e6f338]{opacity:.6;cursor:not-allowed}.switch.is-disabled .switch__core[data-v-77e6f338]{cursor:not-allowed}.switch__input[data-v-77e6f338]{position:absolute;width:0;height:0;opacity:0;margin:0;z-index:-1}.switch__core[data-v-77e6f338]{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid;outline:none;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:border-color .3s,background-color .3s}.switch__button[data-v-77e6f338]{position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff;box-shadow:0 1px 2px #0003}.switch.is-checked .switch__button[data-v-77e6f338]{transform:translate(20px)}@keyframes bganimation-55d205aa{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-55d205aa{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-55d205aa{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-55d205aa]{animation:rotateEnter-55d205aa .7s;position:relative}.rotate-leave-active[data-v-55d205aa]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-55d205aa]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.flow[data-v-55d205aa]{position:relative;height:260px}.flow .echart[data-v-55d205aa]{width:100%;height:100%}.flow .flow-data[data-v-55d205aa]{position:absolute;right:10px;top:10px}.flow .flow-data span[data-v-55d205aa]{display:block;color:var(--flow-span-color);font-size:12px;margin-bottom:5px;font-weight:600;font-family:PingFangSC-Semibold,PingFang SC}@media screen and (max-width: 600px){.flow[data-v-55d205aa]{height:55vw}}@keyframes bganimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active{animation:rotateEnter .7s;position:relative}.rotate-leave-active{opacity:0;display:none;position:relative;z-index:-999}.app-container{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:999;backdrop-filter:blur(2px)}.modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:var(--1df87c10);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-container .modal-header{padding:8px 12px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.modal-container .modal-header .modal-title{margin:0;font-size:18px;color:#333;padding:0;text-align:center;background:transparent!important}.modal-container .modal-header .modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;transition:color .2s}.modal-container .modal-header .modal-close:hover{color:#666}.modal-container .modal-content{padding:18px;overflow-y:auto;flex:1}.modal-container .modal-footer{padding:8px 12px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.modal-container .modal-footer .modal-button{padding:4px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s;border:1px solid transparent}.modal-container .modal-footer .modal-button.cancel{background-color:#fff;border-color:#ddd;color:#666}.modal-container .modal-footer .modal-button.cancel:hover{background-color:#f5f5f5}.modal-container .modal-footer .modal-button.confirm{background-color:#553afe;color:#fff}.modal-container .modal-footer .modal-button.confirm:hover{background-color:#3f21fe}@media (max-width: 768px){.modal-container{width:95%;max-width:none;max-height:90vh;margin:0 10px}.modal-container .modal-header{padding:12px 16px}.modal-container .modal-header .modal-title{font-size:16px;background:transparent!important}.modal-container .modal-header .modal-close{font-size:20px}.modal-container .modal-content{padding:16px}.modal-container .modal-footer{padding:12px 16px;flex-direction:column-reverse;gap:8px}.modal-container .modal-footer .modal-button{width:100%;padding:10px;font-size:15px}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease,opacity .3s ease}.slide-enter-from,.slide-leave-to{transform:translateY(-20px);opacity:0}@keyframes bganimation-46592916{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-46592916{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-46592916{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-46592916]{animation:rotateEnter-46592916 .7s;position:relative}.rotate-leave-active[data-v-46592916]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-46592916]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}[data-v-46592916] .tag-input{padding:4px 12px}.custom-content[data-v-46592916]{position:relative}.custom-content .img_box[data-v-46592916]{position:absolute;right:0;top:0;width:100px;height:100px}.custom-content .img_box>img[data-v-46592916]{width:100%;height:100%}.custom-content .IP_address[data-v-46592916]{text-align:center;padding:14px 16px;background:rgba(85,58,254,.1);border-radius:8px;margin-bottom:16px}.custom-content .tip[data-v-46592916]{text-align:center;margin-top:16px;font-size:12px}.custom-content .item_box[data-v-46592916]{margin-top:12px;display:flex;align-items:center}.custom-content .item_box>input[data-v-46592916]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>input[data-v-46592916]::placeholder{color:#8898aa}.custom-content .item_box>select[data-v-46592916]{width:45%;background:transparent!important;color:var(--card-box-shadow)}.custom-content .item_box>select>option[data-v-46592916]{padding:4px 12px!important}.custom-content .item_box .item_left[data-v-46592916]{width:140px;text-align:right}.info-content[data-v-46592916]{display:flex}.info-content .img_box[data-v-46592916]{position:relative}.info-content .item_box .item_left[data-v-46592916]{width:100px}@keyframes bganimation-46592916{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-46592916{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-46592916{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-46592916]{animation:rotateEnter-46592916 .7s;position:relative}.rotate-leave-active[data-v-46592916]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-46592916]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-67478e2a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-67478e2a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-67478e2a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-67478e2a]{animation:rotateEnter-67478e2a .7s;position:relative}.rotate-leave-active[data-v-67478e2a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-67478e2a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.custom-content[data-v-67478e2a]{position:relative}.custom-content .img_box[data-v-67478e2a]{position:absolute;right:0;top:0;width:100px;height:100px}.custom-content .img_box>img[data-v-67478e2a]{width:100%;height:100%}.custom-content .IP_address[data-v-67478e2a]{text-align:center;padding:14px 16px;background:rgba(85,58,254,.1);border-radius:8px;margin-bottom:16px}.custom-content .tip[data-v-67478e2a]{text-align:center;margin-top:16px;font-size:12px}.custom-content .item_box[data-v-67478e2a]{margin-top:12px;display:flex;align-items:center}.custom-content .item_box>input[data-v-67478e2a]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>input[data-v-67478e2a]::placeholder{color:#8898aa}.custom-content .item_box>select[data-v-67478e2a]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>select>option[data-v-67478e2a]{padding:4px 12px!important}.custom-content .item_box .item_left[data-v-67478e2a]{width:140px;text-align:right}.del-button[data-v-67478e2a]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:6px 10px;font-size:14px;border-radius:4px}.del-button--danger[data-v-67478e2a]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.del-button--danger[data-v-67478e2a]:hover{background:#f78989;border-color:#f78989;color:#fff}.del-button--danger[data-v-67478e2a]:active{background:#dd6161;border-color:#dd6161;color:#fff}.del-button.is-disabled[data-v-67478e2a]{opacity:.5;cursor:not-allowed}@keyframes bganimation-67478e2a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-67478e2a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-67478e2a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-67478e2a]{animation:rotateEnter-67478e2a .7s;position:relative}.rotate-leave-active[data-v-67478e2a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-67478e2a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-03e4dbad{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-03e4dbad{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-03e4dbad{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-03e4dbad]{animation:rotateEnter-03e4dbad .7s;position:relative}.rotate-leave-active[data-v-03e4dbad]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-03e4dbad]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.custom-content[data-v-03e4dbad]{position:relative}.custom-content .img_box[data-v-03e4dbad]{position:absolute;right:0;top:0;width:100px;height:100px}.custom-content .img_box>img[data-v-03e4dbad]{width:100%;height:100%}.custom-content .IP_address[data-v-03e4dbad]{text-align:center;padding:14px 16px;background:rgba(85,58,254,.1);border-radius:8px;margin-bottom:16px}.custom-content .tip[data-v-03e4dbad]{text-align:center;margin-top:16px;font-size:12px}.custom-content .item_box[data-v-03e4dbad]{margin-top:12px;display:flex;align-items:center}.custom-content .item_box>input[data-v-03e4dbad]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>input[data-v-03e4dbad]::placeholder{color:#8898aa}.custom-content .item_box>select[data-v-03e4dbad]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>select>option[data-v-03e4dbad]{padding:4px 12px!important}.custom-content .item_box .item_left[data-v-03e4dbad]{width:140px;text-align:right}.del-button[data-v-03e4dbad]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:6px 10px;font-size:14px;border-radius:4px}.del-button--danger[data-v-03e4dbad]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.del-button--danger[data-v-03e4dbad]:hover{background:#f78989;border-color:#f78989;color:#fff}.del-button--danger[data-v-03e4dbad]:active{background:#dd6161;border-color:#dd6161;color:#fff}.del-button.is-disabled[data-v-03e4dbad]{opacity:.5;cursor:not-allowed}@keyframes bganimation-03e4dbad{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-03e4dbad{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-03e4dbad{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-03e4dbad]{animation:rotateEnter-03e4dbad .7s;position:relative}.rotate-leave-active[data-v-03e4dbad]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-03e4dbad]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-585dd8da{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-585dd8da{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-585dd8da{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-585dd8da]{animation:rotateEnter-585dd8da .7s;position:relative}.rotate-leave-active[data-v-585dd8da]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-585dd8da]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.dialog-overlay[data-v-585dd8da]{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.dialog-container[data-v-585dd8da]{background-color:#fff;border-radius:12px;padding:16px;width:100%;max-width:400px;box-shadow:0 4px 12px #00000026}.dialog-container .dialog-title[data-v-585dd8da]{margin:0 0 20px;font-size:1.2rem;font-weight:500;color:#333;text-align:left}.dialog-container .dialog-message[data-v-585dd8da]{margin:20px 0;font-size:1rem;color:#666;text-align:center}.dialog-container .loading-animation[data-v-585dd8da]{margin:20px 0}.dialog-container .loading-animation .spinner[data-v-585dd8da]{width:40px;height:40px;margin:0 auto;border:4px solid rgba(110,72,170,.2);border-radius:50%;border-top-color:#8d78fa;animation:spin-585dd8da 1s linear infinite}.dialog-container .dialog-button[data-v-585dd8da]{background-color:#553afe;color:#fff;border:none;border-radius:6px;padding:4px 20px;font-size:1rem;cursor:pointer;transition:all .2s;margin:0 auto;display:block}.dialog-container .dialog-button[data-v-585dd8da]:hover{background-color:#553afe;opacity:.9}.dialog-container .dialog-button[data-v-585dd8da]:active{transform:scale(.98)}.dialog-container .warning-message[data-v-585dd8da]{display:flex;gap:8px;background-color:#fff8e1;border-left:4px solid #FFC107;padding:12px;margin-bottom:20px;border-radius:4px;font-size:.9rem;color:#333;text-align:left}.dialog-container .warning-message .warning-icon[data-v-585dd8da]{flex-shrink:0;width:20px;height:20px;color:#ffa000}.dialog-container .input-group[data-v-585dd8da]{margin-bottom:16px;text-align:left}.dialog-container .input-group label[data-v-585dd8da]{display:block;margin-bottom:8px;font-size:.95rem;color:#333}.dialog-container .input-group .tag-input[data-v-585dd8da]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.dialog-container .input-group .tag-input[data-v-585dd8da]:focus{outline:none;border-color:#6e48aa}.dialog-container .button-group[data-v-585dd8da]{display:flex;justify-content:flex-end;gap:12px}.dialog-container .button-group .cancel-button[data-v-585dd8da]{background-color:#fff;color:#333;border:1px solid #ddd;border-radius:6px;padding:4px 20px;font-size:1rem;cursor:pointer;transition:all .2s}.dialog-container .button-group .cancel-button[data-v-585dd8da]:hover{background-color:#e0e0e0}.dialog-container .button-group .cancel-button[data-v-585dd8da]:active{transform:scale(.98)}.dialog-container .button-group .confirm-button[data-v-585dd8da]{background-color:#553afe;color:#fff;border:none;border-radius:6px;padding:4px 20px;font-size:1rem;cursor:pointer;transition:all .2s}.dialog-container .button-group .confirm-button[data-v-585dd8da]:hover{background-color:#553afe;opacity:.9}.dialog-container .button-group .confirm-button[data-v-585dd8da]:active{transform:scale(.98)}.tag-dialog[data-v-585dd8da]{max-width:500px}.fade-enter-active[data-v-585dd8da],.fade-leave-active[data-v-585dd8da]{transition:opacity .3s ease}.fade-enter-from[data-v-585dd8da],.fade-leave-to[data-v-585dd8da]{opacity:0}@keyframes spin-585dd8da{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-circle-585dd8da{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes icon-line-tip-585dd8da{0%{width:0;left:1px;top:15px}54%{width:0;left:1px;top:15px}70%{width:40px;left:-6px;top:30px}84%{width:14px;left:17px;top:38px}to{width:12px;left:8px;top:22px}}@keyframes icon-line-long-585dd8da{0%{width:0;right:37px;top:43px}65%{width:0;right:37px;top:43px}84%{width:44px;right:0;top:28px}to{width:20px;right:8px;top:20px}}@media (max-width: 480px){.dialog-container[data-v-585dd8da]{padding:16px}.dialog-container .dialog-title[data-v-585dd8da]{font-size:1.1rem;margin-bottom:16px}.dialog-container .dialog-message[data-v-585dd8da]{font-size:.95rem;margin:16px 0}.dialog-container .warning-message[data-v-585dd8da]{font-size:.85rem;padding:10px}.dialog-container .input-group[data-v-585dd8da]{margin-bottom:20px}.dialog-container .input-group label[data-v-585dd8da]{font-size:.9rem}.dialog-container .input-group .tag-input[data-v-585dd8da]{padding:8px 10px;font-size:.95rem}.dialog-container .button-group[data-v-585dd8da]{gap:8px}.dialog-container .button-group .cancel-button[data-v-585dd8da],.dialog-container .button-group .confirm-button[data-v-585dd8da]{padding:4px 16px;font-size:.95rem}.dialog-container .loading-animation .spinner[data-v-585dd8da]{width:36px;height:36px}}@keyframes bganimation-028f5af8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-028f5af8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-028f5af8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-028f5af8]{animation:rotateEnter-028f5af8 .7s;position:relative}.rotate-leave-active[data-v-028f5af8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-028f5af8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.add-button[data-v-028f5af8]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:8px 12px;font-size:14px;border-radius:4px}.add-button--danger[data-v-028f5af8]{color:#fff;background-color:#553afe;border-color:#553afe}.add-button--danger[data-v-028f5af8]:hover{background:#5c44f8;border-color:#5c44f8;color:#fff}.add-button--danger[data-v-028f5af8]:active{background:#553AFE;border-color:#553afe;color:#fff}.add-button.is-disabled[data-v-028f5af8]{opacity:.5;cursor:not-allowed}.tab-container[data-v-028f5af8]{display:flex;flex-direction:row;width:100%;margin:0 auto;border-radius:8px;overflow:hidden}@media (max-width: 768px){.tab-container[data-v-028f5af8]{flex-direction:column}}.tab-header[data-v-028f5af8]{display:flex;flex-direction:column;width:120px}@media (max-width: 768px){.tab-header[data-v-028f5af8]{flex-direction:row;width:100%;overflow-x:auto;white-space:nowrap}}.tab-button[data-v-028f5af8]{padding:12px 16px;text-align:left;border:none;background:transparent!important;cursor:pointer;font-size:14px;color:var(--flow-span-color);transition:all .3s ease;border-radius:8px 0 0 8px}.tab-button[data-v-028f5af8]:hover{background:var(--tag-bg-color)}.tab-button.active[data-v-028f5af8]{background:var(--tag-bg-color);font-weight:500;margin:0}@media (max-width: 768px){.tab-button[data-v-028f5af8]{border-radius:8px 8px 0 0;text-align:center;flex:1;min-width:max-content}.tab-button.active[data-v-028f5af8]{border-radius:8px 8px 0 0}}.tab-content_g[data-v-028f5af8]{flex:1;padding:20px;background:var(--tag-bg-color);border-radius:0 8px 8px 0;min-height:60vh}.tab-content_g .not_installed[data-v-028f5af8]{display:flex;flex-direction:column;align-items:center}.tab-content_g .not_installed>span[data-v-028f5af8]{color:var(--tit-color);margin:20px 0}.tab-content_g .not_installed .not_installed_btn[data-v-028f5af8]{padding:6px 16px;background:#553AFE;border-radius:4px;font-size:14px;color:#fff;cursor:pointer}@media (max-width: 768px){.tab-content_g[data-v-028f5af8]{border-radius:0 0 8px 8px}}.item_box[data-v-028f5af8]{margin-top:12px;display:flex;align-items:center;color:var(--tit-color)!important}.item_box>input[data-v-028f5af8]{width:40%;color:var(--card-box-shadow);background:transparent!important;color:var(--tit-color)!important}@media (max-width: 768px){.item_box>input[data-v-028f5af8]{width:70%}}.item_box>input[data-v-028f5af8]::placeholder{color:var(--item-label_key-span-color)}.item_box>select[data-v-028f5af8]{background:transparent!important;width:40%;color:var(--card-box-shadow)}@media (max-width: 768px){.item_box>select[data-v-028f5af8]{width:70%}}.item_box>select>option[data-v-028f5af8]{padding:4px 12px!important}.item_box .item_left[data-v-028f5af8]{width:140px;text-align:right}@media (max-width: 768px){.item_box .item_left[data-v-028f5af8]{width:100px}}@keyframes bganimation-7cca0358{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-7cca0358{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-7cca0358{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-7cca0358]{animation:rotateEnter-7cca0358 .7s;position:relative}.rotate-leave-active[data-v-7cca0358]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-7cca0358]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.tab-container[data-v-7cca0358]{margin:0 auto}.tabs_box_g[data-v-7cca0358]{display:flex}.tabs_box_g button[data-v-7cca0358]{padding:14px 24px;border:none;background:none;cursor:pointer;font-size:14px;border-radius:8px 8px 0 0;margin:0;transition:all .3s ease}.tabs_box_g button.active[data-v-7cca0358]{background:var(--card-bg-color);color:#553afe;font-weight:700;position:relative}.tab-content_g[data-v-7cca0358]{background:var(--card-bg-color);padding:16px;border-radius:0 8px 8px}.content-item[data-v-7cca0358]{min-height:60vh}@keyframes bganimation-7cca0358{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-7cca0358{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-7cca0358{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-7cca0358]{animation:rotateEnter-7cca0358 .7s;position:relative}.rotate-leave-active[data-v-7cca0358]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-7cca0358]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media (max-width: 827px){.tabs_box_g button[data-v-7cca0358]{padding:7px 12px!important}.tab-content_g[data-v-7cca0358]{border-radius:0 0 8px 8px}}@keyframes bganimation-eb96c2c2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-eb96c2c2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-eb96c2c2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-eb96c2c2]{animation:rotateEnter-eb96c2c2 .7s;position:relative}.rotate-leave-active[data-v-eb96c2c2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-eb96c2c2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}button[data-v-eb96c2c2]{outline:none;cursor:pointer;border:none}.skip[data-v-eb96c2c2]{font-size:16px;color:#0060ff;line-height:22px;margin:12px 0 0;cursor:pointer}.pc-radio[data-v-eb96c2c2]{display:flex;flex-wrap:wrap;align-items:center}.label-flex.pc-radio label[data-v-eb96c2c2]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.label-flex.pc-radio input[type=radio][data-v-eb96c2c2]{margin:0 4px 0 0;top:0}.mobile-switch[data-v-eb96c2c2]{display:none;align-items:center}.switch-core[data-v-eb96c2c2]{position:relative;width:50px;border:1px solid #dcdfe6;outline:none;border-radius:20px;box-sizing:border-box;background:#dcdfe6;cursor:pointer;transition:border-color .3s,background-color .3s;display:inline-block}.switch-core.is-checked[data-v-eb96c2c2]{border-color:#409eff;background-color:#409eff}.switch-core.is-disabled[data-v-eb96c2c2]{opacity:.6;cursor:not-allowed}.switch-button[data-v-eb96c2c2]{position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff}.switch-core.is-checked .switch-button[data-v-eb96c2c2]{transform:translate(20px)}.switch-label[data-v-eb96c2c2]{font-size:14px;color:#999}.switch-label.active[data-v-eb96c2c2]{color:#409eff}form.form-container[data-v-eb96c2c2]{display:block;width:100%;padding:0 1rem}form.form-container .label-name[data-v-eb96c2c2]{display:block;width:100%;margin-bottom:.5rem;color:var(--item-label_key-span-color)}form.form-container .label-name span[data-v-eb96c2c2]:before{content:"*";color:#f56c6c;margin-right:4px;width:10px;display:inline-block;vertical-align:middle}form.form-container .label-value[data-v-eb96c2c2]{display:block;width:100%;margin-bottom:1rem}form.form-container .label-value input[data-v-eb96c2c2],form.form-container .label-value select[data-v-eb96c2c2]{display:block;width:100%;height:42px;background:none;border:1px solid #c2c2c2;color:var(--item-label_key-span-color);font-size:14px}form.form-container .label-value input>option[data-v-eb96c2c2],form.form-container .label-value select>option[data-v-eb96c2c2]{color:#8898aa}form.form-container .label-value input[data-v-eb96c2c2]:focus,form.form-container .label-value select[data-v-eb96c2c2]:focus{transition:.2s;border:1px solid #418dfe}form.form-container .label-value select[data-v-eb96c2c2]{border-radius:3px;padding:0 10px}form.form-container .label-value input[data-v-eb96c2c2]{border-left:none!important;border-right:none!important;border-top:none!important;box-shadow:none!important;padding:0 10px}form.form-container .label-value input[type=checkbox][data-v-eb96c2c2],form.form-container .label-value input[type=radio][data-v-eb96c2c2]{width:auto}form.form-container .label-value input[type=radio][data-v-eb96c2c2]{margin:0 4px 0 0;top:0}form.form-container .label-value input[data-v-eb96c2c2]:disabled{background-color:#eee;border:1px solid #c2c2c2;border-radius:3px}form.form-container .label-value input[data-v-eb96c2c2]::placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-eb96c2c2]:-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-eb96c2c2]::-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-btns[data-v-eb96c2c2]{width:100%;display:flex;flex-wrap:wrap;justify-content:center}form.form-container .label-msg[data-v-eb96c2c2]{display:block;width:100%;color:#ff3b3b;font-size:14px}form.form-container .label-msg.warning[data-v-eb96c2c2]{color:#f9ad1e}form.form-container .label-flex[data-v-eb96c2c2]{width:100%;display:flex;flex-wrap:wrap;align-items:center}form.form-container .label-flex label[data-v-eb96c2c2]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.form-item[data-v-eb96c2c2]{display:flex;align-items:center;height:55px}.form-item .label-name[data-v-eb96c2c2]{width:180px!important}.form-item .label-value[data-v-eb96c2c2]{width:300px!important;padding-top:10px;position:relative;display:flex!important;align-items:center}p[data-v-eb96c2c2]{font-size:1em;color:#999;line-height:26px;text-align:left;margin-bottom:1rem}.label-btns[data-v-eb96c2c2]{width:500px!important}.label-btns .btn[data-v-eb96c2c2]{width:300px!important;text-align:center;border-radius:32px}.label-btns .btn[data-v-eb96c2c2]:hover{background:#5279f7;transition:.3}.label-btns .primary-btn[data-v-eb96c2c2]{border:none;background:#5279f7;color:#fff}.label-btns .primary-btn[data-v-eb96c2c2]:hover{opacity:.9;transition:.3}select[data-v-eb96c2c2]:disabled{background-color:#eee!important;border:1px solid #c2c2c2!important}.seeIcon[data-v-eb96c2c2]{width:22px;height:22px;position:absolute;cursor:pointer;z-index:1;right:6px;top:50%;transform:translateY(-50%) scale(1);transition:all .3s ease;transform-origin:center}.seeIcon[data-v-eb96c2c2]:hover{transform:translateY(-50%) scale(1.1)}@keyframes bganimation-a3d59e16{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a3d59e16{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a3d59e16{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a3d59e16]{animation:rotateEnter-a3d59e16 .7s;position:relative}.rotate-leave-active[data-v-a3d59e16]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a3d59e16]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.page-container[data-v-a3d59e16]{width:100%;background-color:var(--card-bg-color);border-radius:6px;padding:24px 0 16px 16px}.mobile-tags-container[data-v-a3d59e16]{display:block;width:100%;margin-bottom:16px;position:relative}.page-flex .page-sidebar[data-v-a3d59e16]{display:none}.page-flex .page-sidebar .item[data-v-a3d59e16]{width:100%;height:42px;line-height:42px;font-size:16px;cursor:pointer;color:var(--item-label_key-span-color);display:block;user-select:none;position:relative;display:flex;flex-wrap:wrap;align-items:center}.page-flex .page-sidebar .item[data-v-a3d59e16]:hover,.page-flex .page-sidebar .item.activeItem[data-v-a3d59e16]{transition:.3s;color:#418cff}.page-flex .page-sidebar .item.activeItem[data-v-a3d59e16]:before{content:"";position:absolute;left:-1rem;width:3px;height:20px;background-color:#4388ff}.page-flex .page-main[data-v-a3d59e16]{flex:1}.tags-scroll[data-v-a3d59e16]{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;height:100%;align-items:center;white-space:nowrap;padding-right:40px;scrollbar-width:thin;scrollbar-color:#ccc transparent}.tags-scroll[data-v-a3d59e16]::-webkit-scrollbar{height:4px;background:transparent}.tags-scroll[data-v-a3d59e16]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.tag-item[data-v-a3d59e16]{flex-shrink:0;padding:7px 12px;margin-right:8px;border-radius:4px;background-color:var(--tag-bg-color);color:var(--item-label_key-span-color);font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.tag-item.active[data-v-a3d59e16]{background-color:#5279f7;color:#fff}.popup-overlay[data-v-a3d59e16]{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:flex-start}.popup-content[data-v-a3d59e16]{width:100%;max-height:85vh;background-color:var(--popup-bg-color);border-radius:0 0 4px 4px;animation:slideDown-a3d59e16 .3s ease-out;overflow-y:auto;padding-top:25px}.popup-content .popup-tag-item[data-v-a3d59e16],.popup-content .active[data-v-a3d59e16]{text-align:center;padding:8px 12px 5px;width:calc((100% - 24px) / 3)}@keyframes slideDown-a3d59e16{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.popup-tags[data-v-a3d59e16]{padding:12px;display:flex;flex-wrap:wrap;gap:8px;max-height:70vh;overflow-y:auto}.popup-tag-item[data-v-a3d59e16]{padding:7px 12px;border-radius:4px;background-color:#f5f5f5;color:#333;font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.popup-tag-item.active[data-v-a3d59e16]{background-color:#5279f7;color:#fff}.popup-footer[data-v-a3d59e16]{display:flex;padding:12px;border-top:1px solid #f0f0f0}.popup-footer button[data-v-a3d59e16]{flex:1;height:36px;border-radius:23px;font-size:14px;cursor:pointer}.popup-footer .cancel-btn[data-v-a3d59e16]{background-color:#f5f5f5;color:#000;border:none;margin-right:12px}.popup-footer .confirm-btn[data-v-a3d59e16]{background-color:#5279f7;color:#fff;border:none}@keyframes bganimation-500739e0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-500739e0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-500739e0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-500739e0]{animation:rotateEnter-500739e0 .7s;position:relative}.rotate-leave-active[data-v-500739e0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-500739e0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.ddnsto-bind[data-v-500739e0]{position:fixed;inset:0;text-align:center;z-index:100;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;overflow:hidden}.ddnsto-bind .ddnsto-container_bg[data-v-500739e0]{inset:0;width:100%;height:100%;background:rgba(0,0,0,.4);position:absolute;cursor:pointer;overflow:hidden}.ddnsto-bind .btn1[data-v-500739e0]{padding:10px 16px;background:#0060FF;border-radius:4px;font-size:16px;color:#fff;line-height:22px;display:inline;cursor:pointer}.ddnsto-bind .ddnsto-container[data-v-500739e0]{position:relative;display:block;width:582px;background:#fff;box-shadow:0 12px 48px 16px #00000008,0 9px 28px #0000000d,0 6px 16px -8px #00000014;border-radius:2px;transition:.3s}.ddnsto-bind .ddnsto-container .hello[data-v-500739e0]{padding:40px 0}.ddnsto-bind .ddnsto-container .hello>img[data-v-500739e0]{width:100px;height:100px}.ddnsto-bind .ddnsto-container .hello>p[data-v-500739e0]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:24px;line-height:33px;margin:24px 0 32px}.ddnsto-bind .ddnsto-container .hello .radio_container[data-v-500739e0]{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.ddnsto-bind .ddnsto-container .hello .radio_container .radio[data-v-500739e0]{width:16px;height:16px;border:1px solid #ccc;border-radius:50%;margin-right:10px;cursor:pointer}.ddnsto-bind .ddnsto-container .hello .radio_container .active[data-v-500739e0]{background:none;border:1px solid #0060FF!important}.ddnsto-bind .ddnsto-container .hello .radio_container .yuan[data-v-500739e0]{margin-top:50%;margin-left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border-radius:50%}.ddnsto-bind .ddnsto-container .hello .radio_container .yuan1[data-v-500739e0]{background:#0060FF!important}.ddnsto-bind .ddnsto-container .hello .radio_container .radio_text[data-v-500739e0]{font-size:16px;color:#000000d4;line-height:24px}.ddnsto-bind .ddnsto-container .hello .radio_container .radio_text>a[data-v-500739e0]{color:#0060ff}.ddnsto-bind .ddnsto-container .hello .confirm[data-v-500739e0]{background:#0060FF;border-radius:6px;padding:10px 20px;color:#fff;display:inline;font-size:16px;line-height:22px;cursor:pointer}.ddnsto-bind .ddnsto-container .popular_container[data-v-500739e0]{padding:26px 14px 30px}.ddnsto-bind .ddnsto-container .popular_container>p[data-v-500739e0]{font-weight:500;font-size:20px;line-height:33px;font-weight:600}.ddnsto-bind .ddnsto-container .popular_container .tip[data-v-500739e0]{color:#616262;margin:6px 0 20px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .popular_txt[data-v-500739e0]{padding-left:47px;font-size:12px;text-align:left;margin-bottom:30px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .popular_txt>a[data-v-500739e0]{color:#0060ff;margin-left:6px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers[data-v-500739e0]{width:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;margin:1rem 0 0}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item[data-v-500739e0]{flex:0 0 100%;position:relative;border-radius:4px;padding:10px;cursor:pointer;max-width:160px;width:160px;height:205px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item .cover .thumbnail svg[data-v-500739e0]{width:80px;height:80px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item .cover .thumbnail>span[data-v-500739e0]{font-size:12px!important;line-height:12px!important;margin-bottom:6px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a[data-v-500739e0]{position:relative;display:block;width:100%}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover[data-v-500739e0]{position:relative;padding-top:130%;z-index:1}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover .thumbnail[data-v-500739e0]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:8px;overflow:hidden;z-index:1;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;background-color:#2dc8fd}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover .thumbnail i[data-v-500739e0]{display:block;font-size:100px;color:#eee}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover .thumbnail span[data-v-500739e0]{display:block;text-align:center;width:100%;color:#eeee;font-size:2em;line-height:1.5;font-size:22px;font-family:PingFangSC-Semibold,PingFang SC;color:#fff;line-height:40px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+1) a .cover .thumbnail[data-v-500739e0]{background:linear-gradient(138deg,#FF6E6B 0%,#FF6966 100%)}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+2) a .cover .thumbnail[data-v-500739e0]{background:linear-gradient(145deg,#37D5A9 0%,#42D8B0 100%)}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+3) a .cover .thumbnail[data-v-500739e0]{background:linear-gradient(145deg,#549AFF 0%,#2C82FF 100%)}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+4) a .cover .thumbnail[data-v-500739e0]{background-color:#9b58de}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+5) a .cover .thumbnail[data-v-500739e0]{background-color:#297ff3}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+6) a .cover .thumbnail[data-v-500739e0]{background-color:#27aa8f}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+7) a .cover .thumbnail[data-v-500739e0]{background-color:#f15a4a}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+8) a .cover .thumbnail[data-v-500739e0]{background-color:#439c07}.ddnsto-bind .ddnsto-container .wx_qr[data-v-500739e0]{padding:65px 0 32px}.ddnsto-bind .ddnsto-container .wx_qr>p[data-v-500739e0]{font-size:24px;line-height:33px}.ddnsto-bind .ddnsto-container .wx_qr .txt[data-v-500739e0]{color:#ffffffd4;font-size:16px;line-height:24px}.ddnsto-bind .ddnsto-container .wx_qr img[data-v-500739e0]{width:250px;height:250px;margin:16px 0 40px}.ddnsto-bind .ddnsto-container .set_up[data-v-500739e0]{padding:16px 24px}.ddnsto-bind .ddnsto-container .set_up .title[data-v-500739e0]{font-size:16px;font-weight:600}.ddnsto-bind .ddnsto-container .set_up>p[data-v-500739e0]{font-size:16px;color:#000c;line-height:22px;margin:16px 0;text-align:left}.ddnsto-bind .ddnsto-container .set_up .password[data-v-500739e0]{display:flex;align-items:center;justify-content:center;margin-bottom:16px}.ddnsto-bind .ddnsto-container .set_up .password .input_tip[data-v-500739e0]{width:25%;text-align:right}.ddnsto-bind .ddnsto-container .set_up .password .input_box[data-v-500739e0]{width:50%;position:relative}.ddnsto-bind .ddnsto-container .set_up .password .input_box .password_input[data-v-500739e0]{width:100%}.ddnsto-bind .ddnsto-container .set_up .password .input_box .password_tip[data-v-500739e0]{font-size:14px;color:#0009;line-height:20px;position:absolute;bottom:-20px;left:0}.ddnsto-bind .ddnsto-container .set_up .password .password_input[data-v-500739e0]{padding:2px 6px;width:50%}.ddnsto-bind .ddnsto-container .set_up .occupy[data-v-500739e0]{height:30px}.ddnsto-bind .ddnsto-container .set_up .skip[data-v-500739e0]{font-size:16px;color:#0060ff;line-height:22px;margin:20px 0 0;cursor:pointer}.ddnsto-bind .ddnsto-container .domain_container[data-v-500739e0]{padding:40px 0 16px}.ddnsto-bind .ddnsto-container .domain_container .title[data-v-500739e0]{font-size:24px;line-height:33px}.ddnsto-bind .ddnsto-container .domain_container>p[data-v-500739e0]{font-size:16px;color:#000000d4;line-height:24px;margin-top:16px}.ddnsto-bind .ddnsto-container .domain_container .domain_img[data-v-500739e0]{display:flex;justify-content:center;margin:30px 0}.ddnsto-bind .ddnsto-container .domain_container .domain_img>img[data-v-500739e0]{width:308px;height:204px}.ddnsto-bind .ddnsto-container .domain_container .skip[data-v-500739e0]{font-size:16px;color:#0060ff;line-height:22px;margin:30px 0 20px;cursor:pointer}.ddnsto-bind .ddnsto-container .domain_container .tip[data-v-500739e0]{font-size:14px;color:#000000d4;line-height:24px}.ddnsto-bind .ddnsto-container .domain_container .tip>a[data-v-500739e0]{color:#0060ff}.ddnsto-bind .ddnsto-container .domain_container .btn1[data-v-500739e0]{margin-top:30px}@keyframes bganimation-11e63d6a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-11e63d6a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-11e63d6a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-11e63d6a]{animation:rotateEnter-11e63d6a .7s;position:relative}.rotate-leave-active[data-v-11e63d6a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-11e63d6a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}em[data-v-11e63d6a]{margin:.3125rem 0;width:100%;display:block;height:1px;background-color:#eeeeee2e}[data-v-11e63d6a] .app-container_title{width:100%;height:34px;display:flex;flex-wrap:wrap;align-items:center;color:var(--app-container_title-color);font-size:1.5em}[data-v-11e63d6a] .more_icon{z-index:0}@keyframes bganimation-0b149a51{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0b149a51{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0b149a51{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0b149a51]{animation:rotateEnter-0b149a51 .7s;position:relative}.rotate-leave-active[data-v-0b149a51]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0b149a51]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-0b149a51]{width:100%;padding:1rem;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:center;max-width:800px;height:100vh;overflow:overlay}#page .title[data-v-0b149a51]{width:100%;display:block;text-align:center;font-size:32px;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#000c;line-height:45px}#page .desc[data-v-0b149a51]{width:100%;display:block;font-size:24px;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#0009;line-height:33px;text-align:center;margin-top:10px}#page div.info[data-v-0b149a51]{width:100%;display:block;font-size:1.6em;font-size:16px;margin-left:34px}#page .network-containers[data-v-0b149a51]{width:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;margin:3rem 0 1rem}#page .network-containers .network-container_item[data-v-0b149a51]{flex:0 0 100%;position:relative;border-radius:4px;padding:10px;cursor:pointer;max-width:240px;width:240px;height:308px}#page .network-containers .network-container_item a[data-v-0b149a51]{position:relative;display:block;width:100%}#page .network-containers .network-container_item a .cover[data-v-0b149a51]{position:relative;padding-top:130%;z-index:1}#page .network-containers .network-container_item a .cover .thumbnail[data-v-0b149a51]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:8px;overflow:hidden;z-index:1;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;background-color:#2dc8fd}#page .network-containers .network-container_item a .cover .thumbnail i[data-v-0b149a51]{display:block;font-size:100px;color:#eee}#page .network-containers .network-container_item a .cover .thumbnail span[data-v-0b149a51]{display:block;text-align:center;width:100%;color:#eeee;font-size:2em;line-height:1.5;font-size:22px;font-family:PingFangSC-Semibold,PingFang SC;color:#fff;line-height:40px}#page .network-containers .network-container_item:nth-child(9n+1) a .cover .thumbnail[data-v-0b149a51]{background:linear-gradient(138deg,#FF6E6B 0%,#FF6966 100%)}#page .network-containers .network-container_item:nth-child(9n+2) a .cover .thumbnail[data-v-0b149a51]{background:linear-gradient(145deg,#37D5A9 0%,#42D8B0 100%)}#page .network-containers .network-container_item:nth-child(9n+3) a .cover .thumbnail[data-v-0b149a51]{background:linear-gradient(145deg,#549AFF 0%,#2C82FF 100%)}#page .network-containers .network-container_item:nth-child(9n+4) a .cover .thumbnail[data-v-0b149a51]{background-color:#9b58de}#page .network-containers .network-container_item:nth-child(9n+5) a .cover .thumbnail[data-v-0b149a51]{background-color:#297ff3}#page .network-containers .network-container_item:nth-child(9n+6) a .cover .thumbnail[data-v-0b149a51]{background-color:#27aa8f}#page .network-containers .network-container_item:nth-child(9n+7) a .cover .thumbnail[data-v-0b149a51]{background-color:#f15a4a}#page .network-containers .network-container_item:nth-child(9n+8) a .cover .thumbnail[data-v-0b149a51]{background-color:#439c07}@keyframes bganimation-0b149a51{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0b149a51{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0b149a51{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0b149a51]{animation:rotateEnter-0b149a51 .7s;position:relative}.rotate-leave-active[data-v-0b149a51]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0b149a51]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-f442676c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f442676c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f442676c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f442676c]{animation:rotateEnter-f442676c .7s;position:relative}.rotate-leave-active[data-v-f442676c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f442676c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-f442676c]{width:100%;padding:1rem;margin:100px auto 0;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:600px}#page h2.title[data-v-f442676c]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0 0 10px;text-align:left;background-color:#f4f5f7;box-shadow:none}#page h3.desc[data-v-f442676c]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;margin:0;text-align:left;background-color:#f4f5f7;box-shadow:none}#page .network-message[data-v-f442676c]{margin:.5rem 0}#page .network-message li[data-v-f442676c]{margin:.5rem 0;font-size:20px;color:#000;font-weight:550}#page .network-message li span[data-v-f442676c]{color:red}#page .network-message li a[data-v-f442676c]{color:#00f}#page form[data-v-f442676c]{display:block;width:100%;margin:3rem 0}#page form label[data-v-f442676c]{display:block;width:100%;margin:1rem 0}#page form label .label-key[data-v-f442676c]{display:block;width:100%;font-size:1.3em;margin-bottom:.5rem}#page form label .label-key span[data-v-f442676c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page form label .label-key span[data-v-f442676c]:before{content:"*";color:#f56c6c;margin-right:4px}#page form label input[data-v-f442676c]{width:100%;display:block;height:42px}#page .chose_dhcp[data-v-f442676c]{height:1em;font-size:1.3em}#page .chose_dhcp .dhcp_info[data-v-f442676c]{margin-left:10px;user-select:none}#page .msg[data-v-f442676c]{width:100%;display:block;height:36px;line-height:36px;color:red;font-size:1.3em}#page .btns[data-v-f442676c]{width:100%;margin-top:3rem}#page .btns button[data-v-f442676c]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-162eca5f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-162eca5f{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-162eca5f{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-162eca5f]{animation:rotateEnter-162eca5f .7s;position:relative}.rotate-leave-active[data-v-162eca5f]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-162eca5f]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-162eca5f]{width:100%;padding:1rem;margin:100px auto 0;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:600px}#page h2.title[data-v-162eca5f]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0 0 10px;text-align:left;background-color:#f4f5f7;box-shadow:none}#page h3.desc[data-v-162eca5f]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;margin:0;text-align:left;background-color:#f4f5f7;box-shadow:none}#page .network-message[data-v-162eca5f]{margin:.5rem 0}#page .network-message li[data-v-162eca5f]{margin:.5rem 0;font-size:20px;color:#000;font-weight:550}#page .network-message li span[data-v-162eca5f]{color:red}#page .network-message li a[data-v-162eca5f]{color:#00f}#page form[data-v-162eca5f]{display:block;width:100%;margin:3rem 0}#page form label[data-v-162eca5f]{display:block;width:100%;margin:1rem 0}#page form label .label-key[data-v-162eca5f]{display:block;width:100%;font-size:1.3em;margin-bottom:.5rem}#page form label .label-key span[data-v-162eca5f]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page form label .label-key span[data-v-162eca5f]:before{content:"*";color:#f56c6c;margin-right:4px}#page form label input[data-v-162eca5f],#page form label select[data-v-162eca5f]{width:100%;display:block;height:42px}#page .chose_dhcp[data-v-162eca5f]{height:1em;font-size:1.3em}#page .chose_dhcp .dhcp_info[data-v-162eca5f]{margin-left:10px;user-select:none}#page .msgs[data-v-162eca5f]{width:100%;display:block;height:36px;line-height:36px;color:red;font-size:1.3em}#page p.msg[data-v-162eca5f]{width:100%;display:block;color:red;font-size:1em}#page .btns[data-v-162eca5f]{width:100%;margin-top:3rem}#page .btns button[data-v-162eca5f]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-2dee59a8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2dee59a8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2dee59a8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2dee59a8]{animation:rotateEnter-2dee59a8 .7s;position:relative}.rotate-leave-active[data-v-2dee59a8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2dee59a8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-2dee59a8]{width:100%;padding:1rem;margin:100px auto 0;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:600px}#page h2.title[data-v-2dee59a8]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0 0 10px;text-align:left;background-color:#f4f5f7;box-shadow:none}#page h3.desc[data-v-2dee59a8]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;text-align:left;background-color:#f4f5f7;box-shadow:none}#page code[data-v-2dee59a8]{background-color:#eee;display:block;width:100%;font-size:1.3em;padding:1rem;line-height:2;margin:2rem 0}#page div.info[data-v-2dee59a8]{width:100%;display:block;margin:1rem 0;font-size:1.3em;text-align:left}#page .msgs[data-v-2dee59a8]{width:100%;display:block;height:36px;line-height:36px;color:red;font-size:1.3em}#page p.msg[data-v-2dee59a8]{width:100%;display:block;color:red;font-size:1em}#page .btns[data-v-2dee59a8]{width:100%;display:block;margin-top:3rem}#page .btns button[data-v-2dee59a8]{display:block;width:100%!important;margin:.5rem 0}#page form[data-v-2dee59a8]{display:block;width:100%;margin:3rem 0}#page form label[data-v-2dee59a8]{display:block;width:100%;margin:1rem 0}#page form label .label-key[data-v-2dee59a8]{display:block;width:100%;font-size:1.3em;margin-bottom:.5rem}#page form label .label-key span[data-v-2dee59a8]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page form label .label-key span[data-v-2dee59a8]:before{content:"*";color:#f56c6c;margin-right:4px}#page form label input[data-v-2dee59a8],#page form label select[data-v-2dee59a8]{width:100%;display:block;height:42px}.switch_inline[data-v-2dee59a8]{height:1em;font-size:1.3em}.switch_inline .switch_info[data-v-2dee59a8]{margin-left:10px;user-select:none}@keyframes bganimation-77451104{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-77451104{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-77451104{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-77451104]{animation:rotateEnter-77451104 .7s;position:relative}.rotate-leave-active[data-v-77451104]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-77451104]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}p[data-v-77451104]{line-height:22px;font-size:14px}.label-item[data-v-77451104]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-77451104]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-77451104]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-77451104]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-77451104]{width:100%;margin:10px 0}.label-item .label-item_value select[data-v-77451104],.label-item .label-item_value input[data-v-77451104]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value input[data-v-77451104]::placeholder{color:#999;font-size:12PX}.label-item .label-item_value label[data-v-77451104]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=checkbox][data-v-77451104]{top:0}.label-item .label-item_tips[data-v-77451104]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-77451104]{vertical-align:top}span.msg-warning[data-v-77451104]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}.label-message[data-v-77451104]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-container_body.setup-loading[data-v-77451104]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;text-align:center}.actioner-container_body.setup-loading span[data-v-77451104]{width:100%;display:block;font-size:1.2em;margin-top:1rem;color:#666}.actioner-container_body.setup-error[data-v-77451104]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;text-align:center}.actioner-container_body.setup-error svg.icon[data-v-77451104]{width:100px;height:100px}.actioner-container_body.setup-error span[data-v-77451104]{width:100%;display:block;font-size:1.4em;color:#ff6b6b}.actioner-container_body.setup-success[data-v-77451104]{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.actioner-container_body.setup-success svg.icon[data-v-77451104]{width:100px;height:100px}.actioner-container_body.setup-success .body-title[data-v-77451104]{width:100%;display:block;color:#1e1e1e;font-size:2em;padding:0;margin:1rem 0;text-align:center}.actioner-container_body.setup-success .body-tips[data-v-77451104]{text-align:center}.actioner-container_body.setup-success .body-info[data-v-77451104]{color:#666;font-size:1.3em;margin:1rem 0;width:100%;text-align:center}.actioner-container_body.setup-success .body-info span[data-v-77451104]{display:block}.actioner-container_body.setup-success .body-tips[data-v-77451104]{margin:1rem 0;display:block;width:100%}.actioner-container_body.setup-success .body-btns[data-v-77451104]{width:100%;margin-top:3rem}.actioner-container_body.setup-success .body-btns button[data-v-77451104]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-5ec616d8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5ec616d8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5ec616d8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5ec616d8]{animation:rotateEnter-5ec616d8 .7s;position:relative}.rotate-leave-active[data-v-5ec616d8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5ec616d8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-5ec616d8]{display:block;width:100%;height:100%;border:none;resize:none}@keyframes bganimation-70cb932e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-70cb932e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-70cb932e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-70cb932e]{animation:rotateEnter-70cb932e .7s;position:relative}.rotate-leave-active[data-v-70cb932e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-70cb932e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.label-item[data-v-70cb932e]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-70cb932e]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-70cb932e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-70cb932e]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-70cb932e]{width:100%}.label-item .label-item_value select[data-v-70cb932e]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value label[data-v-70cb932e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=radio][data-v-70cb932e]{top:0;margin:0}.label-item .label-item_tips[data-v-70cb932e]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-70cb932e]{vertical-align:top}span.msg-warning[data-v-70cb932e]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}@keyframes bganimation-56c0f6fb{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-56c0f6fb{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-56c0f6fb{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-56c0f6fb]{animation:rotateEnter-56c0f6fb .7s;position:relative}.rotate-leave-active[data-v-56c0f6fb]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-56c0f6fb]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.label-item[data-v-56c0f6fb]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-56c0f6fb]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-56c0f6fb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-56c0f6fb]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-56c0f6fb]{width:100%}.label-item .label-item_value select[data-v-56c0f6fb]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value label[data-v-56c0f6fb]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=radio][data-v-56c0f6fb]{top:0;margin:0}.label-item .label-item_tips[data-v-56c0f6fb]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-56c0f6fb]{vertical-align:top}span.msg-warning[data-v-56c0f6fb]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}@keyframes bganimation-0586260e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0586260e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0586260e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0586260e]{animation:rotateEnter-0586260e .7s;position:relative}.rotate-leave-active[data-v-0586260e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0586260e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.label-item[data-v-0586260e]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-0586260e]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-0586260e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-0586260e]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-0586260e]{width:100%}.label-item .label-item_value select[data-v-0586260e]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value label[data-v-0586260e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=radio][data-v-0586260e]{top:0;margin:0}.label-item .label-item_tips[data-v-0586260e]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-0586260e]{vertical-align:top}span.msg-warning[data-v-0586260e]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}@keyframes bganimation-e20ba082{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-e20ba082{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-e20ba082{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-e20ba082]{animation:rotateEnter-e20ba082 .7s;position:relative}.rotate-leave-active[data-v-e20ba082]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-e20ba082]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-e20ba082]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-e20ba082] .actioner-container{width:100%}.action-main[data-v-e20ba082] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:20px;border-bottom:1px solid #eee;justify-content:center;padding:0 10px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .next.save{height:32px;background:#553AFE;border-radius:2px;line-height:16px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-e20ba082] .actioner-container .actioner-container_body{padding:20px;width:100%;height:400px}@keyframes bganimation-e20ba082{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-e20ba082{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-e20ba082{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-e20ba082]{animation:rotateEnter-e20ba082 .7s;position:relative}.rotate-leave-active[data-v-e20ba082]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-e20ba082]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-e20ba082]{width:90%}}@keyframes bganimation-f1411b40{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f1411b40{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f1411b40{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f1411b40]{animation:rotateEnter-f1411b40 .7s;position:relative}.rotate-leave-active[data-v-f1411b40]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f1411b40]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.cbi-map-descr[data-v-f1411b40]{margin-bottom:32px}.item-status[data-v-f1411b40]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.item-status-detail[data-v-f1411b40]{text-decoration:underline;cursor:help}@keyframes bganimation-2b6b4ef9{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2b6b4ef9{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2b6b4ef9{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2b6b4ef9]{animation:rotateEnter-2b6b4ef9 .7s;position:relative}.rotate-leave-active[data-v-2b6b4ef9]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2b6b4ef9]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page .cbi-map-descr[data-v-2b6b4ef9]{margin-bottom:1rem}#page[data-v-2b6b4ef9] .cbi-section{padding:1rem}#page[data-v-2b6b4ef9] span.cbi-page-actions.control-group{width:100%;display:block}@keyframes bganimation-f3b0d6f0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f3b0d6f0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f3b0d6f0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f3b0d6f0]{animation:rotateEnter-f3b0d6f0 .7s;position:relative}.rotate-leave-active[data-v-f3b0d6f0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f3b0d6f0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-f3b0d6f0]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-f3b0d6f0] .actioner-container{width:100%}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:16px;border-bottom:1px solid #eee;justify-content:flex-start;padding:0 1rem;color:#525f7f}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem;padding:0;border:none}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .next.save{height:32px;background:#553AFE;border-radius:2px;line-height:16px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_body{padding:20px;width:100%;min-height:400px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_body label.cbi-value-title{width:150px!important}@keyframes bganimation-f3b0d6f0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f3b0d6f0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f3b0d6f0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f3b0d6f0]{animation:rotateEnter-f3b0d6f0 .7s;position:relative}.rotate-leave-active[data-v-f3b0d6f0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f3b0d6f0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-f3b0d6f0]{width:90%}}@keyframes bganimation-abf07ee0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-abf07ee0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-abf07ee0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-abf07ee0]{animation:rotateEnter-abf07ee0 .7s;position:relative}.rotate-leave-active[data-v-abf07ee0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-abf07ee0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-abf07ee0]{display:block;width:100%;height:400px;padding:1rem;font-size:14px;resize:none;border:none;background-color:#1e1e1e;color:#fff}@keyframes bganimation-4a646cde{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4a646cde{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4a646cde{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4a646cde]{animation:rotateEnter-4a646cde .7s;position:relative}.rotate-leave-active[data-v-4a646cde]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4a646cde]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-4a646cde]{display:block;width:100%;height:400px;padding:1rem;font-size:14px;resize:none;border:none;background-color:#1e1e1e;color:#fff}@keyframes bganimation-997c3dee{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-997c3dee{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-997c3dee{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-997c3dee]{animation:rotateEnter-997c3dee .7s;position:relative}.rotate-leave-active[data-v-997c3dee]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-997c3dee]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-997c3dee]{display:block;width:100%;height:500px;padding:1rem;font-size:14px;resize:none;border:1px solid #999;border-radius:3px}@keyframes bganimation-6f6071af{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6f6071af{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6f6071af{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6f6071af]{animation:rotateEnter-6f6071af .7s;position:relative}.rotate-leave-active[data-v-6f6071af]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6f6071af]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-6f6071af]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-6f6071af]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-6f6071af]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-6f6071af]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-6f6071af]{width:100%;font-size:16px;color:#666;margin-bottom:10px}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-6f6071af]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-6f6071af]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-6f6071af]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-6f6071af],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-6f6071af]{width:100%;min-height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-6f6071af]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-6f6071af]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-6f6071af]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-6f6071af]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-6f6071af{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6f6071af{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6f6071af{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6f6071af]{animation:rotateEnter-6f6071af .7s;position:relative}.rotate-leave-active[data-v-6f6071af]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6f6071af]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-6f6071af]{min-height:34vh}}@media screen and (max-width: 800px){.actioner-dns[data-v-6f6071af]{width:100%}}@keyframes bganimation-17a2fb98{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-17a2fb98{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-17a2fb98{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-17a2fb98]{animation:rotateEnter-17a2fb98 .7s;position:relative}.rotate-leave-active[data-v-17a2fb98]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-17a2fb98]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.icon[data-v-17a2fb98]{width:48px;height:100%;cursor:pointer}.interface-device-flex[data-v-17a2fb98]{display:flex;justify-content:center}.interface-device-flex .app-container_status-label_bg[data-v-17a2fb98]{width:0;min-width:130px;max-width:230px;overflow-y:hidden;flex:1 0 160px}.cbi-section-table-row .td.btns[data-v-17a2fb98]{text-align:left!important}@keyframes bganimation-1ad1f636{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-1ad1f636{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-1ad1f636{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-1ad1f636]{animation:rotateEnter-1ad1f636 .7s;position:relative}.rotate-leave-active[data-v-1ad1f636]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-1ad1f636]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}button[data-v-1ad1f636]{outline:none;cursor:pointer;border:none}.pc-radio[data-v-1ad1f636]{display:flex;flex-wrap:wrap;align-items:center}.label-flex.pc-radio label[data-v-1ad1f636]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.label-flex.pc-radio input[type=radio][data-v-1ad1f636]{margin:0 4px 0 0;top:0}.mobile-switch[data-v-1ad1f636]{display:none;align-items:center}.switch-core[data-v-1ad1f636]{position:relative;width:50px;border:1px solid #dcdfe6;outline:none;border-radius:20px;box-sizing:border-box;background:#dcdfe6;cursor:pointer;transition:border-color .3s,background-color .3s;display:inline-block}.switch-core.is-checked[data-v-1ad1f636]{border-color:#409eff;background-color:#409eff}.switch-core.is-disabled[data-v-1ad1f636]{opacity:.6;cursor:not-allowed}.switch-button[data-v-1ad1f636]{position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff}.switch-core.is-checked .switch-button[data-v-1ad1f636]{transform:translate(20px)}.switch-label[data-v-1ad1f636]{font-size:14px;color:#999}.switch-label.active[data-v-1ad1f636]{color:#409eff}form.form-container[data-v-1ad1f636]{display:block;width:100%;padding:0 1rem;margin-top:50px}form.form-container .label-name[data-v-1ad1f636]{display:block;width:100%;margin-bottom:.5rem;color:var(--item-label_key-span-color)}form.form-container .label-name span[data-v-1ad1f636]:before{content:"*";color:#f56c6c;margin-right:4px;width:10px;display:inline-block;vertical-align:middle}form.form-container .label-value[data-v-1ad1f636]{display:block;width:100%;margin-bottom:1rem}form.form-container .label-value input[data-v-1ad1f636],form.form-container .label-value select[data-v-1ad1f636]{display:block;width:100%;height:42px;background:none;border:1px solid #c2c2c2;color:var(--item-label_key-span-color);font-size:14px}form.form-container .label-value input>option[data-v-1ad1f636],form.form-container .label-value select>option[data-v-1ad1f636]{color:#8898aa}form.form-container .label-value input[data-v-1ad1f636]:focus,form.form-container .label-value select[data-v-1ad1f636]:focus{transition:.2s;border:1px solid #418dfe}form.form-container .label-value select[data-v-1ad1f636]{border-radius:3px;padding:0 10px}form.form-container .label-value input[data-v-1ad1f636]{border-left:none!important;border-right:none!important;border-top:none!important;box-shadow:none!important;padding:0 10px}form.form-container .label-value input[type=checkbox][data-v-1ad1f636],form.form-container .label-value input[type=radio][data-v-1ad1f636]{width:auto}form.form-container .label-value input[type=radio][data-v-1ad1f636]{margin:0 4px 0 0;top:0}form.form-container .label-value input[data-v-1ad1f636]:disabled{background-color:#eee;border:1px solid #c2c2c2;border-radius:3px}form.form-container .label-value input[data-v-1ad1f636]::placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-1ad1f636]:-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-1ad1f636]::-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-btns[data-v-1ad1f636]{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-end}form.form-container .label-msg[data-v-1ad1f636]{display:block;width:100%;color:#ff3b3b;font-size:14px}form.form-container .label-msg.warning[data-v-1ad1f636]{color:#f9ad1e}form.form-container .label-flex[data-v-1ad1f636]{width:100%;display:flex;flex-wrap:wrap;align-items:center}form.form-container .label-flex label[data-v-1ad1f636]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.form-item[data-v-1ad1f636]{display:flex;align-items:center;height:55px}.form-item .label-name[data-v-1ad1f636]{width:200px!important}.form-item .label-value[data-v-1ad1f636]{width:300px!important;padding-top:10px;position:relative;display:flex!important;align-items:center}p[data-v-1ad1f636]{font-size:1em;color:#999;line-height:26px;text-align:left;margin-bottom:1rem}.label-btns[data-v-1ad1f636]{width:500px!important;margin-top:1rem}.label-btns .btn[data-v-1ad1f636]{width:300px!important;text-align:center;border-radius:32px}.label-btns .btn[data-v-1ad1f636]:hover{background:#5279f7;transition:.3}.label-btns .primary-btn[data-v-1ad1f636]{border:none;background:#5279f7;color:#fff;margin-bottom:10px}.label-btns .primary-btn[data-v-1ad1f636]:hover{opacity:.9;transition:.3}select[data-v-1ad1f636]:disabled{background-color:#eee!important;border:1px solid #c2c2c2!important}.seeIcon[data-v-1ad1f636]{width:22px;height:22px;position:absolute;cursor:pointer;z-index:1;right:6px;top:50%;transform:translateY(-50%) scale(1);transition:all .3s ease;transform-origin:center}.seeIcon[data-v-1ad1f636]:hover{transform:translateY(-50%) scale(1.1)}@media only screen and (max-width: 1050px){form.form-container[data-v-1ad1f636]{padding:0;margin-top:-16px}form.form-container .form-item[data-v-1ad1f636]{position:relative;height:auto;margin-bottom:0;height:50px;padding-top:6px;border-bottom:1px solid rgba(0,0,0,.16)!important}form.form-container .form-item .label-name[data-v-1ad1f636]{width:100%!important;margin-bottom:0;font-size:14px}form.form-container .form-item .label-name>span[data-v-1ad1f636]{color:var(--item-label_key-span-color)}form.form-container .form-item .label-value[data-v-1ad1f636]{width:100%!important;margin-bottom:0;padding-top:0}form.form-container .form-item .label-value input[data-v-1ad1f636],form.form-container .form-item .label-value select[data-v-1ad1f636]{height:40px;font-size:14px}form.form-container .form-item .label-value .password_input[data-v-1ad1f636]{padding-right:24px}form.form-container .form-item .label-value input[data-v-1ad1f636]{border:none;text-align:right;padding:0}form.form-container .form-item .label-value select[data-v-1ad1f636]:disabled{border:none!important}form.form-container .form-item .label-value select[data-v-1ad1f636]{padding-right:16px!important;border:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:0;outline:none;background:transparent;text-align:right}form.form-container .form-item .label-value[data-v-1ad1f636] ::selection{background:transparent;color:inherit}form.form-container .form-item .label-value[data-v-1ad1f636] ::-moz-selection{background:transparent;color:inherit}form.form-container .label-flex[data-v-1ad1f636]{display:flex}form.form-container .label-flex label[data-v-1ad1f636]{width:100%;margin-bottom:.5rem}form.form-container .label-btns[data-v-1ad1f636]{width:100%!important;margin-top:1.5rem}form.form-container .label-btns .btn[data-v-1ad1f636]{width:100%!important;height:44px;font-size:16px}.seeIcon[data-v-1ad1f636]{width:20px;height:20px;right:0}.pc-radio[data-v-1ad1f636],.label-flex[data-v-1ad1f636]{display:none!important}.mobile-switch[data-v-1ad1f636]{display:flex;align-items:center;height:50px}.switch_label[data-v-1ad1f636]{display:flex;justify-content:end}.switch-core[data-v-1ad1f636]{width:50px;height:24px}.switch-button[data-v-1ad1f636]{width:20px;height:20px}.switch-core.is-checked .switch-button[data-v-1ad1f636]{transform:translate(26px)}.select-arrow[data-v-1ad1f636]{position:absolute;right:6px;top:50%!important;transform:translateY(-50%)!important;width:10px;height:10px;border-top:2px solid #606165;border-right:2px solid #606165;transform:translateY(-50%) rotate(45deg)!important;pointer-events:none}}@keyframes bganimation-40cb5302{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-40cb5302{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-40cb5302{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-40cb5302]{animation:rotateEnter-40cb5302 .7s;position:relative}.rotate-leave-active[data-v-40cb5302]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-40cb5302]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.page-container[data-v-40cb5302]{width:100%;background-color:var(--card-bg-color);border-radius:6px;padding:3rem;margin-top:50px}.mobile-tags-container[data-v-40cb5302]{display:none}.page-flex[data-v-40cb5302]{display:flex}.page-flex .page-sidebar[data-v-40cb5302]{flex:0 0 200px;border-right:1px solid #eee}.page-flex .page-sidebar .item[data-v-40cb5302]{width:100%;height:42px;line-height:42px;font-size:16px;cursor:pointer;color:var(--item-label_key-span-color);display:block;user-select:none;position:relative;display:flex;flex-wrap:wrap;align-items:center}.page-flex .page-sidebar .item[data-v-40cb5302]:hover,.page-flex .page-sidebar .item.activeItem[data-v-40cb5302]{transition:.3s;color:#418cff}.page-flex .page-sidebar .item.activeItem[data-v-40cb5302]:before{content:"";position:absolute;left:-1rem;width:3px;height:20px;background-color:#4388ff}.page-flex .page-main[data-v-40cb5302]{flex:1;padding-left:24px}@media (max-width: 827px){.page-container[data-v-40cb5302]{padding:12px 12px 0 8px;margin-top:0}.page-flex[data-v-40cb5302]{display:block}.page-flex .page-sidebar[data-v-40cb5302]{display:none}.page-flex .page-main[data-v-40cb5302]{padding-left:0;padding-top:16px}.mobile-tags-container[data-v-40cb5302]{display:block;width:100%;margin-bottom:16px;position:relative}.tags-wrapper[data-v-40cb5302]{display:flex;align-items:center;height:40px;position:relative}.tags-scroll[data-v-40cb5302]{flex:1;display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;height:100%;align-items:center;white-space:nowrap;padding-right:40px}.tags-scroll[data-v-40cb5302]::-webkit-scrollbar{display:none}.tag-item[data-v-40cb5302]{flex-shrink:0;padding:7px 12px;margin-right:8px;border-radius:4px;background-color:var(--tag-bg-color);color:var(--item-label_key-span-color);font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.tag-item.active[data-v-40cb5302]{background-color:#5279f7;color:#fff}.more-btn-wrapper[data-v-40cb5302]{position:absolute;right:-6px;top:0;height:100%;width:40px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.fade-overlay[data-v-40cb5302]{position:absolute;right:0;top:50%;transform:translateY(-50%);width:100px;height:32px;background:var(--gradient-bg-color)}.more-btn[data-v-40cb5302]{width:28px;height:28px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;pointer-events:auto;position:relative;z-index:1}.more-btn .line[data-v-40cb5302]{width:14px;height:2px;background-color:#5279f7;margin:2px 0;border-radius:1px}[data-v-40cb5302] .showSide{z-index:1!important}.popup-overlay[data-v-40cb5302]{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:flex-start}.popup-content[data-v-40cb5302]{width:100%;max-height:85vh;background-color:var(--popup-bg-color);border-radius:0 0 4px 4px;animation:slideDown-40cb5302 .3s ease-out;overflow-y:auto;padding-top:25px}.popup-content .popup-tag-item[data-v-40cb5302],.popup-content .active[data-v-40cb5302]{text-align:center;padding:8px 12px 5px;width:calc((100% - 24px) / 3)}@keyframes slideDown-40cb5302{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.popup-tags[data-v-40cb5302]{padding:12px;display:flex;flex-wrap:wrap;gap:8px;max-height:70vh;overflow-y:auto}.popup-tag-item[data-v-40cb5302]{padding:7px 12px;border-radius:4px;background-color:#f5f5f5;color:#333;font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.popup-tag-item.active[data-v-40cb5302]{background-color:#5279f7;color:#fff}.popup-footer[data-v-40cb5302]{display:flex;padding:12px;border-top:1px solid #f0f0f0}.popup-footer button[data-v-40cb5302]{flex:1;height:36px;border-radius:23px;font-size:14px;cursor:pointer}.popup-footer .cancel-btn[data-v-40cb5302]{background-color:#f5f5f5;color:#000;border:none;margin-right:12px}.popup-footer .confirm-btn[data-v-40cb5302]{background-color:#5279f7;color:#fff;border:none}} +@keyframes bganimation-41cbce66{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-41cbce66{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-41cbce66{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-41cbce66]{animation:rotateEnter-41cbce66 .7s;position:relative}.rotate-leave-active[data-v-41cbce66]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-41cbce66]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.disk-item-tooltip[data-v-41cbce66]{position:fixed;background:rgba(0,0,0,.7);z-index:10111;color:#fff;padding:.5rem 1rem;font-size:1em;min-width:200px;line-height:24px}.disk-item-tooltip[data-v-41cbce66]:after{content:"";position:absolute;bottom:-6px;border-color:#4c4c4c rgba(0,0,0,0) rgba(0,0,0,0);left:0;right:0;text-align:center;width:0;margin:0 auto;border-width:6px 8px 0;border-style:solid}#main .app-btn,#actioner .app-btn{min-height:36px}@keyframes bganimation-2d97dedc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2d97dedc{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2d97dedc{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2d97dedc]{animation:rotateEnter-2d97dedc .7s;position:relative}.rotate-leave-active[data-v-2d97dedc]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2d97dedc]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#main[data-v-2d97dedc]{width:100%}#main[data-v-2d97dedc],#main[data-v-2d97dedc] *{-webkit-box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-sizing:border-box;word-wrap:break-word;outline:none}@keyframes bganimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active{animation:rotateEnter .7s;position:relative}.rotate-leave-active{opacity:0;display:none;position:relative;z-index:-999}.app-container{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}:root{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:#d6dbf8;--breadcrumbs-tit-color1:#f1f2f9}@media (prefers-color-scheme: light){:root{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:#d6dbf8;--breadcrumbs-tit-color1:#f1f2f9}}@media (prefers-color-scheme: dark){:root{--flow-bg-color: transparent;--flow-span-color: #cccccc;--card-bg-color: #88888822;--card-box-shadow: 0 0 .5rem 0 rgba(0, 0, 0, .35);--app-container_title-color: #cccccc;--app-container_status-label_block: #727272;--item-label_key-span-color: #cccccc;--item-label_value-span-color: #cccccc;--app-container_status-label_bg: #0000001a;--item_btn-border: 1px solid #cccccc;--item_btn-color: #cccccc;--tit-color: #cccccc;--popup-bg-color: #000;--tag-bg-color: #1e1e1e;--gradient-bg-color:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 62%, rgba(0,0,0,1) 100%);--breadcrumbs-tit-color:#d6dbf8;--breadcrumbs-tit-color1:#f1f2f9}#app svg path{color:#666}#app svg circle{stroke:#666}}@media (prefers-color-scheme: no-preference){:root{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:#d6dbf8;--breadcrumbs-tit-color1:#f1f2f9}}body[theme=dark]{--flow-bg-color: transparent;--flow-span-color: #cccccc;--card-bg-color: #88888822;--card-box-shadow: 0 0 .5rem 0 rgba(0, 0, 0, .35);--app-container_title-color: #cccccc;--app-container_status-label_block: #727272;--item-label_key-span-color: #cccccc;--item-label_value-span-color: #cccccc;--app-container_status-label_bg: #0000001a;--item_btn-border: 1px solid #cccccc;--item_btn-color: #cccccc;--tit-color: #cccccc;--popup-bg-color: #000;--tag-bg-color: #1e1e1e;--gradient-bg-color:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 62%, rgba(0,0,0,1) 100%);--breadcrumbs-tit-color:#d6dbf8;--breadcrumbs-tit-color1:#f1f2f9}body[theme=light]{--flow-bg-color: #fff;--flow-span-color: rgba(0, 0, 0, .6);--card-bg-color: #fff;--card-box-shadow: 0 0 10px 1px #bfbfbf24;--app-container_title-color: #1e1e1e;--app-container_status-label_block: black;--item-label_key-span-color: #333;--item-label_value-span-color: #333;--app-container_status-label_bg: #f3f3f3;--item_btn-border: 1px solid #553afb;--item_btn-color: #553afb;--tit-color: #1e1e1e;--popup-bg-color: #fff;--tag-bg-color: #f5f5f5;--gradient-bg-color:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 62%, rgba(255,255,255,1) 100%);--breadcrumbs-tit-color:#d6dbf8;--breadcrumbs-tit-color1:#f1f2f9}@keyframes bganimation-3ee635ef{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3ee635ef{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3ee635ef{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3ee635ef]{animation:rotateEnter-3ee635ef .7s;position:relative}.rotate-leave-active[data-v-3ee635ef]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3ee635ef]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.progress[data-v-3ee635ef]{width:100%;display:block;position:relative;background-color:#eee;border-radius:4px;height:18px;line-height:18px;overflow:hidden}.progress .progress-value[data-v-3ee635ef]{transition:.5s;position:absolute;left:0;top:0;bottom:0;height:100%;text-align:center;color:#fff;vertical-align:middle;font-size:12px}@keyframes bganimation-54af3568{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-54af3568{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-54af3568{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-54af3568]{animation:rotateEnter-54af3568 .7s;position:relative}.rotate-leave-active[data-v-54af3568]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-54af3568]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}label.checkbox_switch[data-v-54af3568]{cursor:pointer;display:flex!important;align-items:center;width:initial!important}label.checkbox_switch input[type=checkbox][data-v-54af3568]{height:0!important;width:0!important;opacity:0!important;margin:0!important;padding:0!important;border:none!important}label.checkbox_switch .checkbox_switch_on[data-v-54af3568],label.checkbox_switch .checkbox_switch_off[data-v-54af3568]{flex:none}label.checkbox_switch .checkbox_switch_on[data-v-54af3568]{display:none!important}label.checkbox_switch .checkbox_switch_off[data-v-54af3568]{display:inline-flex!important}label.checkbox_switch input[type=checkbox]:checked~.checkbox_switch_on[data-v-54af3568]{display:inline-flex!important}label.checkbox_switch input[type=checkbox]:checked~.checkbox_switch_off[data-v-54af3568]{display:none!important}label.checkbox_switch svg[data-v-54af3568]{height:1em;width:2em}article[data-v-995510fc]{flex:0 0 100%;max-width:20%;position:relative;border-radius:4px;padding:10px}@media screen and (max-width: 1080px){article[data-v-995510fc]{max-width:33.333%}}@keyframes bganimation-995510fc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-995510fc{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-995510fc{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-995510fc]{animation:rotateEnter-995510fc .7s;position:relative}.rotate-leave-active[data-v-995510fc]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-995510fc]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 768px){article[data-v-995510fc]{max-width:50%}}@keyframes bganimation-782f97c0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-782f97c0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-782f97c0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-782f97c0]{animation:rotateEnter-782f97c0 .7s;position:relative}.rotate-leave-active[data-v-782f97c0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-782f97c0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}a[data-v-782f97c0]{position:relative;display:block;width:100%;transition:.4s;cursor:pointer}a[data-v-782f97c0]:hover{transform:scale(1.07);transition:.4s;position:relative}a:hover .cover .thumbnail[data-v-782f97c0]{box-shadow:0 6px 40px #1c67f2}a .cover[data-v-782f97c0]{position:relative;padding-top:130%;z-index:1}a .cover[data-v-782f97c0] .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:6px;overflow:hidden;z-index:1;background-color:#2dc8fd;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}a .cover[data-v-782f97c0] .thumbnail i{display:block;font-size:100px;color:#eee}a .cover[data-v-782f97c0] .thumbnail span{display:block;text-align:center;width:100%;color:#eeee;font-size:28px;margin:1rem 0}article:nth-child(9n+1) a .cover .thumbnail[data-v-782f97c0]{background-color:#ff9100}article:nth-child(9n+2) a .cover .thumbnail[data-v-782f97c0]{background-color:#2dc8fd}article:nth-child(9n+3) a .cover .thumbnail[data-v-782f97c0]{background-color:#f66a2c}article:nth-child(9n+4) a .cover .thumbnail[data-v-782f97c0]{background-color:#9b58de}article:nth-child(9n+5) a .cover .thumbnail[data-v-782f97c0]{background-color:#297ff3}article:nth-child(9n+6) a .cover .thumbnail[data-v-782f97c0]{background-color:#27aa8f}article:nth-child(9n+7) a .cover .thumbnail[data-v-782f97c0]{background-color:#f15a4a}article:nth-child(9n+8) a .cover .thumbnail[data-v-782f97c0]{background-color:#439c07}@keyframes bganimation-c446588c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-c446588c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-c446588c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-c446588c]{animation:rotateEnter-c446588c .7s;position:relative}.rotate-leave-active[data-v-c446588c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-c446588c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.select-editable[data-v-c446588c]{position:relative;line-height:1.5rem;padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:.25rem;margin:.25rem .1rem}.select-editable select[data-v-c446588c],.select-editable input[data-v-c446588c]{height:100%;padding:0;border:none;margin:0}.select-editable select[data-v-c446588c]{position:relative;width:100%}.select-editable input[data-v-c446588c]{position:absolute;top:0;left:.75rem;width:88%}.select-editable select[data-v-c446588c]:focus,.select-editable input[data-v-c446588c]:focus{outline:none;box-shadow:none}@keyframes bganimation-47c6049a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-47c6049a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-47c6049a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-47c6049a]{animation:rotateEnter-47c6049a .7s;position:relative}.rotate-leave-active[data-v-47c6049a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-47c6049a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes turn-47c6049a{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}.quick-loading[data-v-47c6049a]{animation:turn-47c6049a 1s steps(12,end) infinite;margin:0!important;padding:0!important;background:none!important;display:flex!important}.quick-loading svg[data-v-47c6049a]{width:100%;height:100%}.quick-loading svg path[data-v-47c6049a]{fill:#fff}@keyframes bganimation-0cc5bf50{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0cc5bf50{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0cc5bf50{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0cc5bf50]{animation:rotateEnter-0cc5bf50 .7s;position:relative}.rotate-leave-active[data-v-0cc5bf50]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0cc5bf50]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}a[data-v-0cc5bf50]{margin-left:4px;width:20px;vertical-align:middle}a svg[data-v-0cc5bf50]{width:22px;height:22px}a:hover svg path[data-v-0cc5bf50]{fill:#3688ff}@keyframes bganimation-770b811c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-770b811c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-770b811c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-770b811c]{animation:rotateEnter-770b811c .7s;position:relative}.rotate-leave-active[data-v-770b811c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-770b811c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.flow[data-v-770b811c]{position:relative;height:460px}.flow .echart[data-v-770b811c]{width:100%;height:100%}.flow .flow-data[data-v-770b811c]{position:absolute;right:10px;top:10px}.flow .flow-data span[data-v-770b811c]{display:block;color:var(--flow-span-color);font-size:12px;margin-bottom:5px;font-weight:600;font-family:PingFangSC-Semibold,PingFang SC}@media screen and (max-width: 600px){.flow[data-v-770b811c]{height:76.6vw}}@keyframes bganimation-48bf84c6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-48bf84c6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-48bf84c6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-48bf84c6]{animation:rotateEnter-48bf84c6 .7s;position:relative}.rotate-leave-active[data-v-48bf84c6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-48bf84c6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes turn-48bf84c6{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}.toast[data-v-48bf84c6]{position:fixed;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;justify-content:space-around;box-sizing:content-box;width:100px;max-width:70%;padding:16px;color:#fff;font-size:14px;text-align:center;background-color:#000000b3;border-radius:8px;transform:translate3d(-50%,-50%,0);z-index:9999;transition:.3s;cursor:pointer}.toast div.icon[data-v-48bf84c6]{width:50px;height:50px;margin:15px 0;background:none!important}.toast div.icon svg[data-v-48bf84c6]{width:100%;height:100%}.toast div.icon svg path[data-v-48bf84c6]{fill:#fff}.toast .loading[data-v-48bf84c6]{animation:turn-48bf84c6 1s steps(12,end) infinite}.toast .message[data-v-48bf84c6]{display:block;width:100%;flex:0 0 100%;word-wrap:break-word}[lock-scroll=true]{overflow:hidden!important;height:100vh}@keyframes bganimation-a96d68d4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a96d68d4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a96d68d4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a96d68d4]{animation:rotateEnter-a96d68d4 .7s;position:relative}.rotate-leave-active[data-v-a96d68d4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a96d68d4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.bg[data-v-a96d68d4]{position:fixed;inset:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}#actioner[data-v-a96d68d4]{position:fixed;z-index:1000;width:100%;height:100%;inset:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;overflow:auto}#actioner[data-v-a96d68d4],#actioner[data-v-a96d68d4] *{-webkit-box-sizing:border-box;-webkit-tap-highlight-color:transparent;box-sizing:border-box;word-wrap:break-word;outline:none}.action-container[data-v-a96d68d4]{width:100%;height:100%;background-color:#fff;position:fixed;z-index:9999;inset:0;margin:auto;overflow:auto}.action-container .action-container_header[data-v-a96d68d4]{width:100%;height:36px;line-height:36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 .625rem;position:absolute;top:0;left:0;right:0;border-bottom:1px solid #1e1e1e;background-color:#252526}.action-container .action-container_header .title[data-v-a96d68d4]{color:#eee;font-size:16px}.action-container .action-container_header button.close[data-v-a96d68d4]{width:36px;height:36px;margin:0;padding:10px;background:none;border:none;cursor:pointer;opacity:1}.action-container .action-container_header button.close[data-v-a96d68d4] svg.icon{width:100%;height:100%}.action-container .action-container_header button.close[data-v-a96d68d4] svg.icon path{fill:#eee}.action-container .action-container_header button.close[data-v-a96d68d4]:hover{opacity:.9}.action-container .action-container_body[data-v-a96d68d4]{width:100%;height:100%;padding-top:36px}@keyframes bganimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active{animation:rotateEnter .7s;position:relative}.rotate-leave-active{opacity:0;display:none;position:relative;z-index:-999}.app-container{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes dialogEnter{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes dialogLeave{0%{transform:scale(1)}to{transform:scale(0)}}.dialog-enter-active{animation:dialogEnter .3s linear forwards}.dialog-leave-active{animation:dialogLeave .3s linear forwards}.actioner-dns[data-v-2ac87be2]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-2ac87be2]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-2ac87be2]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-2ac87be2]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-2ac87be2]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2ac87be2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2ac87be2]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-2ac87be2]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-2ac87be2],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-2ac87be2]{width:100%;height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-2ac87be2]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-2ac87be2]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-2ac87be2]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-2ac87be2]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-2ac87be2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2ac87be2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2ac87be2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2ac87be2]{animation:rotateEnter-2ac87be2 .7s;position:relative}.rotate-leave-active[data-v-2ac87be2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2ac87be2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-2ac87be2]{min-height:34vh}}@media screen and (max-width: 800px){.actioner-dns[data-v-2ac87be2]{width:100%}}.action[data-v-4ca82311]{width:700px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action .action-body[data-v-4ca82311]{width:100%;text-align:center;padding:3rem 0}.action .action-body h2.title[data-v-4ca82311]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0;text-align:center}.action .action-body .info[data-v-4ca82311]{color:#666;font-size:1.3em;margin:1rem 0}.action .action-body .btns[data-v-4ca82311]{width:100%;margin-top:3rem}.action .action-body .btns button[data-v-4ca82311]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-4ca82311{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4ca82311{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4ca82311{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4ca82311]{animation:rotateEnter-4ca82311 .7s;position:relative}.rotate-leave-active[data-v-4ca82311]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4ca82311]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.format .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 900px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 800px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 700px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@media screen and (max-width: 500px){.action .action-body h2.title[data-v-4ca82311]{font-size:20px}}@keyframes bganimation-17b89cb7{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-17b89cb7{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-17b89cb7{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-17b89cb7]{animation:rotateEnter-17b89cb7 .7s;position:relative}.rotate-leave-active[data-v-17b89cb7]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-17b89cb7]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container_status-label_bg[data-v-17b89cb7]{flex:0 0 230px;width:230px;height:80px;display:flex;background:var(--app-container_status-label_bg);align-items:center;padding:10px;margin-right:10px;transition:.3s}.app-container_status-label_bg .app-container_status-label_text[data-v-17b89cb7]{margin-left:6px;font-size:14px;line-height:22px;text-align:left}.app-container_status-label_bg .app-container_status-label_text .text_status[data-v-17b89cb7]{color:#999}.app-container_status-label_bg .app-container_status-label_text .text_style[data-v-17b89cb7]{margin:6px 0}.app-container_status-label_bg .app-container_status-label_text .text_style.close[data-v-17b89cb7]{color:#999}.app-container_status-label_bg .app-container_status-label_text .text_info[data-v-17b89cb7]{font-weight:700;font-size:14px}@keyframes bganimation-6f355f28{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6f355f28{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6f355f28{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6f355f28]{animation:rotateEnter-6f355f28 .7s;position:relative}.rotate-leave-active[data-v-6f355f28]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6f355f28]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-interfaces[data-v-6f355f28]{width:100%;height:80px;display:flex;flex-wrap:nowrap;overflow:hidden}.app-interfaces a[data-v-6f355f28]{list-style:none;text-decoration:none}.app-interfaces a.btn-f[data-v-6f355f28]{position:absolute;width:50px;height:80px;left:0;line-height:80px;text-align:center;color:#fff;font-size:26px;cursor:pointer;background-color:#00000059;opacity:0;transition:.3s;z-index:1}.app-interfaces a.btn-f[data-v-6f355f28]:hover{opacity:1;transition:.3s}.app-interfaces a.btn-r[data-v-6f355f28]{position:absolute;right:0;width:50px;line-height:80px;text-align:center;color:#fff;font-size:26px;cursor:pointer;background-color:#00000059;opacity:0;transition:.3s;z-index:1}.app-interfaces a.btn-r[data-v-6f355f28]:hover{opacity:1;transition:.3s}.actioner-dns[data-v-2deed63d]{width:800px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-2deed63d]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-2deed63d]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-2deed63d]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-2deed63d]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2deed63d]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-2deed63d]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-2deed63d]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-2deed63d],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-2deed63d]{height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-2deed63d]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-2deed63d]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-2deed63d]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-2deed63d]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.actioner-dns .select-editable[data-v-2deed63d]{position:relative;border:solid grey 1px;width:100%}.actioner-dns .select-editable select[data-v-2deed63d]{top:0;left:0;font-size:14px;border:none;width:100%;margin:0}.actioner-dns .select-editable input[data-v-2deed63d]{position:absolute;top:-4px;left:0;width:95%;padding:1px;font-size:14px;border:none}.actioner-dns .select-editable select[data-v-2deed63d]:focus,.actioner-dns .select-editable input[data-v-2deed63d]:focus{outline:none}.actioner-dns[data-v-2deed63d] ::placeholder{color:#999}.successed[data-v-2deed63d]{text-align:center;font-size:14px;margin-bottom:104px}.finished[data-v-2deed63d]{display:flex;justify-content:center;margin:80px 80px 28px}.docker_moves[data-v-2deed63d]{text-align:center}.docker_moves .moves[data-v-2deed63d]{margin-top:10px}.docker_moves .moves input[data-v-2deed63d]{cursor:pointer}.docker_moves .moves label[data-v-2deed63d]{margin-left:10px;cursor:pointer}.btns[data-v-2deed63d]{text-align:center}.item_info[data-v-2deed63d]{margin-left:10px}.softsource_tit[data-v-2deed63d]{margin:0 auto}.softsource_successed[data-v-2deed63d]{width:20%!important}@keyframes bganimation-2deed63d{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2deed63d{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2deed63d{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2deed63d]{animation:rotateEnter-2deed63d .7s;position:relative}.rotate-leave-active[data-v-2deed63d]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2deed63d]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-2deed63d]{min-height:34vh}}@media screen and (max-width: 860px){.actioner-dns[data-v-2deed63d]{width:100%}}@keyframes bganimation-51765cb0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-51765cb0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-51765cb0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-51765cb0]{animation:rotateEnter-51765cb0 .7s;position:relative}.rotate-leave-active[data-v-51765cb0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-51765cb0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}em[data-v-51765cb0]{display:block;margin:.5rem 0;width:100%}.app-container_status-container[data-v-51765cb0]{width:100%;background-color:var(--card-bg-color);padding:10px 30px;border-radius:6px;position:relative}.app-container_status-container .more_icon[data-v-51765cb0]{position:absolute;right:22px;cursor:pointer}.app-container_status-container .more_icon svg[data-v-51765cb0]{position:relative;z-index:9999}.app-container_status-container .DeviceBlock[data-v-51765cb0]{position:absolute;z-index:999;width:60%;right:22px}.app-container_status-container .DeviceBlock ul[data-v-51765cb0]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:0;right:0;text-align:center;position:absolute;word-break:keep-all;margin-top:24px}.app-container_status-container .DeviceBlock ul li[data-v-51765cb0]{line-height:28px}.app-container_status-container .DeviceBlock ul li a[data-v-51765cb0]{color:#1e1e1e;text-decoration:none;cursor:pointer;font-size:14px;margin:0 20px;display:block}.app-container_status-container .DeviceBlock ul li .domain[data-v-51765cb0]{cursor:pointer}.app-container_status-container .DeviceBlock ul li[data-v-51765cb0]:hover{background-color:#eee}.app-container_status-container .DeviceBlock li[data-v-51765cb0]:last-child{margin-top:5px}.app-container_status-container span.container_success[data-v-51765cb0]{display:block;font-size:15px;font-family:PingFangSC-Medium,PingFang SC}.app-container_status-container span.container_failure[data-v-51765cb0]{display:block;font-size:1.2em}.app-container_status-container .container_configure[data-v-51765cb0]{font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#553afe;line-height:20px;cursor:pointer}.app-container_status-container span.container_title[data-v-51765cb0]{font-size:1.25rem;color:#333;display:block}.app-container_status-container span.container_content[data-v-51765cb0]{font-size:1.25rem;color:#666}.app-container_status-container .devise[data-v-51765cb0]{display:block;font-size:12px;color:#727272}.app-container_status-container span.container_time[data-v-51765cb0]{font-size:12px;color:#727272;margin-top:3px;display:block}.app-container_status-label[data-v-51765cb0]{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between}.app-container_status-label .app-container_status-label_item[data-v-51765cb0]{flex:0 0 50%;max-width:50%}.app-container_status-label_block[data-v-51765cb0]{display:block;color:var(--app-container_status-label_block);margin:10px 0 8px}.app-container_status-container_body[data-v-51765cb0]{width:100%;height:100%;text-align:center;display:flex;align-items:center;align-content:center}.app-container_status-container_body svg[data-v-51765cb0]{min-width:32px}.app-container_status-container_body .app-container_status-info[data-v-51765cb0]{margin-left:10px;text-align:left;margin-right:10px;min-width:57px}.app-container_status-container_body svg[data-v-51765cb0]{width:50px;height:50px}.app-container_status-container_body span[data-v-51765cb0]{width:100%;margin:5px 0}.menu_background[data-v-51765cb0]{position:fixed;inset:0}.app-container_body[data-v-51765cb0]{width:100%}.network-container[data-v-2d777a95]{width:100%;display:flex;flex-wrap:wrap}.network-container .network-container_flow[data-v-2d777a95]{flex:0 0 100%;max-width:60%;padding-right:10px}.network-container .network-container_flow .network-container_flow-container[data-v-2d777a95]{border-radius:6px;overflow:hidden;position:relative;background-color:var(--flow-bg-color);box-shadow:var(--card-box-shadow)}.network-container .network-container_status[data-v-2d777a95]{flex:0 0 100%;max-width:40%;padding-left:10px;display:flex;flex-wrap:wrap}@keyframes bganimation-2d777a95{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2d777a95{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2d777a95{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2d777a95]{animation:rotateEnter-2d777a95 .7s;position:relative}.rotate-leave-active[data-v-2d777a95]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2d777a95]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 992px){.network-container[data-v-2d777a95]{width:100%}.network-container .network-container_flow[data-v-2d777a95]{flex:0 0 100%;max-width:100%;padding-right:0}.network-container .network-container_status[data-v-2d777a95]{flex:0 0 100%;max-width:100%;padding-left:0;margin-top:1rem}}.action .action-footer button[data-v-3dae3be2]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-3dae3be2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3dae3be2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3dae3be2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3dae3be2]{animation:rotateEnter-3dae3be2 .7s;position:relative}.rotate-leave-active[data-v-3dae3be2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3dae3be2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.format[data-v-3dae3be2]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.format .action-header[data-v-3dae3be2]{width:100%;height:70px;line-height:70px}.action.format .action-header .action-header_title[data-v-3dae3be2]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.format .action-body[data-v-3dae3be2]{width:100%;height:calc(100% - 140px);overflow:auto}.action.format .action-footer[data-v-3dae3be2]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.format .action-footer .auto[data-v-3dae3be2]{flex:auto}.action.format .disk-list[data-v-3dae3be2]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}.action.format .label-item[data-v-3dae3be2]{width:100%;margin:1rem 0}.action.format .label-item .label-item_key[data-v-3dae3be2]{width:100%;font-size:16px;color:#666}.action.format .label-item .label-item_key span[data-v-3dae3be2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action.format .label-item .label-item_key span[data-v-3dae3be2]:before{content:"*";color:#f56c6c;margin-right:4px}.action.format .label-item .label-item_value[data-v-3dae3be2]{width:100%;margin-top:5px}.action.format .label-item .label-item_value select[data-v-3dae3be2],.action.format .label-item .label-item_value input[data-v-3dae3be2]{width:100%;height:36px}.action.format .label-item .label-item_path[data-v-3dae3be2]{padding:0 14px;background-color:#e5e5e5;width:100%;height:28px;line-height:28px;margin-top:10px}.action.format .auto[data-v-3dae3be2]{flex:auto}.action.format p.msg[data-v-3dae3be2]{margin:.5rem 0;color:red}.action.format .disk-info[data-v-3dae3be2]{width:100%;text-align:center}.action.format .disk-info .disk-info_icon[data-v-3dae3be2]{width:100px;height:100px;margin:0 auto}.action.format .disk-info .disk-info_icon svg[data-v-3dae3be2]{width:100%;height:100%}.action.format .disk-info .disk-info_mount-name[data-v-3dae3be2]{margin:1rem 0;font-size:1.5em;color:#333}.action.result[data-v-3dae3be2]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.result .action-body[data-v-3dae3be2]{width:100%;height:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.action.result .action-body .action-body_icon[data-v-3dae3be2]{width:100px;height:100px}.action.result .action-body .action-body_icon svg.icon[data-v-3dae3be2]{width:100%;height:100%}.action.result .action-body .action-body_msg[data-v-3dae3be2]{font-size:2em;color:#666;text-align:center;width:100%;margin:1rem 0}.action.result .action-body .action-body_info[data-v-3dae3be2]{margin:1rem 0;width:100%;text-align:center;color:#666;font-size:1.2em}.action.result .action-body .action-body_info a[data-v-3dae3be2]{color:#0000fb}.action.result .btns[data-v-3dae3be2]{width:100%;text-align:center;margin:1rem 0}@keyframes bganimation-3dae3be2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3dae3be2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3dae3be2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3dae3be2]{animation:rotateEnter-3dae3be2 .7s;position:relative}.rotate-leave-active[data-v-3dae3be2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3dae3be2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.format[data-v-3dae3be2]{width:168%}}@media screen and (max-width: 900px){.action.format[data-v-3dae3be2]{width:146%}}@media screen and (max-width: 800px){.action.format[data-v-3dae3be2]{width:136%}}@media screen and (max-width: 700px){.action.format[data-v-3dae3be2]{width:116%}}@media screen and (max-width: 500px){.action.format[data-v-3dae3be2]{width:100%}}.action .action-footer button[data-v-5f5fb500]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-5f5fb500{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5f5fb500{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5f5fb500{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5f5fb500]{animation:rotateEnter-5f5fb500 .7s;position:relative}.rotate-leave-active[data-v-5f5fb500]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5f5fb500]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.format[data-v-5f5fb500]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.format .action-header[data-v-5f5fb500]{width:100%;height:70px;line-height:70px}.action.format .action-header .action-header_title[data-v-5f5fb500]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.format .action-body[data-v-5f5fb500]{width:100%;height:calc(100% - 140px);overflow:auto}.action.format .action-footer[data-v-5f5fb500]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.format .action-footer .auto[data-v-5f5fb500]{flex:auto}.action.format .disk-list[data-v-5f5fb500]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}.action.format .label-item[data-v-5f5fb500]{width:100%;margin:1rem 0}.action.format .label-item .label-item_key[data-v-5f5fb500]{width:100%;font-size:16px;color:#666}.action.format .label-item .label-item_key span[data-v-5f5fb500]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action.format .label-item .label-item_key span[data-v-5f5fb500]:before{content:"*";color:#f56c6c;margin-right:4px}.action.format .label-item .label-item_value[data-v-5f5fb500]{width:100%;margin-top:5px}.action.format .label-item .label-item_value select[data-v-5f5fb500],.action.format .label-item .label-item_value input[data-v-5f5fb500]{width:100%;height:36px}.action.format .label-item .label-item_path[data-v-5f5fb500]{padding:0 14px;background-color:#e5e5e5;width:100%;height:28px;line-height:28px;margin-top:10px}.action.format .auto[data-v-5f5fb500]{flex:auto}.action.format p.msg[data-v-5f5fb500]{margin:.5rem 0;color:red}.action.format .disk-info[data-v-5f5fb500]{width:100%;text-align:center}.action.format .disk-info .disk-info_icon[data-v-5f5fb500]{width:100px;height:100px;margin:0 auto}.action.format .disk-info .disk-info_icon svg[data-v-5f5fb500]{width:100%;height:100%}.action.format .disk-info .disk-info_mount-name[data-v-5f5fb500]{margin:1rem 0;font-size:1.5em;color:#333}@keyframes bganimation-5f5fb500{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5f5fb500{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5f5fb500{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5f5fb500]{animation:rotateEnter-5f5fb500 .7s;position:relative}.rotate-leave-active[data-v-5f5fb500]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5f5fb500]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.result[data-v-5f5fb500]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.result .action-body[data-v-5f5fb500]{width:100%;height:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.action.result .action-body .action-body_icon[data-v-5f5fb500]{width:100px;height:100px}.action.result .action-body .action-body_icon svg.icon[data-v-5f5fb500]{width:100%;height:100%}.action.result .action-body .action-body_msg[data-v-5f5fb500]{font-size:2em;color:#666;text-align:center;width:100%;margin:1rem 0}.action.result .action-body .action-body_info[data-v-5f5fb500]{margin:1rem 0;width:100%;text-align:center;color:#666;font-size:1.2em}.action.result .action-body .action-body_info a[data-v-5f5fb500]{color:#0000fb}.action.result .btns[data-v-5f5fb500]{width:100%;text-align:center;margin:1rem 0}@keyframes bganimation-4e7285ca{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4e7285ca{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4e7285ca{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4e7285ca]{animation:rotateEnter-4e7285ca .7s;position:relative}.rotate-leave-active[data-v-4e7285ca]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4e7285ca]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.disk-item.error[data-v-4e7285ca]{color:red}.disk-content[data-v-4e7285ca]{padding:1rem;border:1px solid #cfcfcf;margin:16px 0}.disk-content li.disk-item[data-v-4e7285ca]{width:100%;display:flex;align-items:center}.disk-content li.disk-item .disk-item_name[data-v-4e7285ca]{flex:0 0 50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.disk-content li.disk-item .value-data[data-v-4e7285ca]{width:100%;text-overflow:ellipsis;white-space:nowrap;height:100%;color:#297ff3;cursor:default}.disk-content li.disk-item .value-data button[data-v-4e7285ca]{background:none;border:none;width:100%;text-align:right;color:#297ff3;cursor:pointer}.disk-content li.disk-item .value-data button[data-v-4e7285ca]:hover{opacity:.7}.disk-content li.disk-item .value-data.buttondiv[data-v-4e7285ca]{cursor:pointer}.disk-content li.disk-item .disk_value[data-v-4e7285ca]{flex:0 0 50%;display:flex;justify-content:space-between;align-items:center}.disk-content li.disk-item .disk_value .cbi-button[data-v-4e7285ca]{margin-left:10px}.disk-content li.disk-item .disk_value .disk-item_value[data-v-4e7285ca]{flex:auto;padding-left:10px;position:relative}.disk-content li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-4e7285ca]{position:absolute;background:rgba(0,0,0,.7);z-index:10111;color:#fff;padding:.5rem 1rem;left:10px;right:0;bottom:100%;margin-bottom:6px;text-align:center;font-size:1em;visibility:hidden;opacity:0}.disk-content li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-4e7285ca]:after{content:"";position:absolute;bottom:-6px;border-color:#4c4c4c rgba(0,0,0,0) rgba(0,0,0,0);left:0;right:0;text-align:center;width:0;margin:0 auto;border-width:6px 8px 0;border-style:solid}.disk-content li.disk-item .disk_value .disk-item_value:hover .disk-item-tooltip[data-v-4e7285ca]{visibility:visible;transition:.7s;opacity:1}.disk-content .disk_status[data-v-4e7285ca]{display:flex;text-align:left;padding-left:10px;font-size:12px;padding-top:6px}.disk-content .disk_status .disk_status_item[data-v-4e7285ca]{display:flex;margin-right:20px}.disk-content .disk_status .disk_status_item .disk_tip[data-v-4e7285ca]{display:flex;align-items:center}.disk_infoicon[data-v-4e7285ca]{margin-left:10px;cursor:pointer}.tooltip-trigger[data-v-4e7285ca]{flex:none}.tooltip-trigger[data-v-4e7285ca]{position:relative;display:inline-block;cursor:help;margin-right:6px;margin-left:10px}.tooltip-trigger .tooltip-text[data-v-4e7285ca]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.tooltip-trigger .tooltip-text span[data-v-4e7285ca]{color:#fff}.tooltip-trigger .tooltip-text .disk_dir_tip[data-v-4e7285ca]{min-width:15rem;display:inline-block}.tooltip-trigger:hover .tooltip-text[data-v-4e7285ca]{visibility:visible;opacity:1}.tooltip-top[data-v-4e7285ca]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%)}.tooltip-top[data-v-4e7285ca]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-bottom[data-v-4e7285ca]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}@keyframes bganimation-4e7285ca{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4e7285ca{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4e7285ca{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4e7285ca]{animation:rotateEnter-4e7285ca .7s;position:relative}.rotate-leave-active[data-v-4e7285ca]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4e7285ca]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.disk-content li.disk-item .disk_value[data-v-4e7285ca]{display:block}.disk-content .disk_status[data-v-4e7285ca]{flex-wrap:wrap}}.action[data-v-56d0d562]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;padding:3rem;border-radius:6px;display:flex;flex-direction:column;flex-wrap:nowrap}.action ul[data-v-56d0d562]{overflow:auto}.action ul .app-container_info[data-v-56d0d562]{display:flex;justify-content:space-between;max-width:56%;margin-top:18px;font-weight:600}.action ul .app-container_body[data-v-56d0d562]{width:100%;height:100%}.action .action-footer[data-v-56d0d562]{text-align:center;margin-top:46px}.action .action-footer button[data-v-56d0d562]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-56d0d562{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-56d0d562{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-56d0d562{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-56d0d562]{animation:rotateEnter-56d0d562 .7s;position:relative}.rotate-leave-active[data-v-56d0d562]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-56d0d562]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action[data-v-56d0d562]{width:160%}}@media screen and (max-width: 800px){.action[data-v-56d0d562]{width:138%}}@media screen and (max-width: 700px){.action[data-v-56d0d562]{width:132%}}@media screen and (max-width: 600px){.action[data-v-56d0d562]{width:116%}}@media screen and (max-width: 500px){.action[data-v-56d0d562]{width:100%}}@media screen and (max-width: 400px){.action[data-v-56d0d562]{width:90%}}@media screen and (max-width: 300px){.action[data-v-56d0d562]{width:100%}}@keyframes bganimation-5e9b583e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5e9b583e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5e9b583e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5e9b583e]{animation:rotateEnter-5e9b583e .7s;position:relative}.rotate-leave-active[data-v-5e9b583e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5e9b583e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.disk-item.error[data-v-5e9b583e]{color:red}li.disk-item[data-v-5e9b583e]{width:100%;display:flex;margin:1rem 0;align-items:center}li.disk-item .disk-item_name[data-v-5e9b583e]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.disk-item .disk_icon[data-v-5e9b583e]{padding-left:1rem;align-self:center;align-items:center;flex:none;display:flex}li.disk-item .disk_value[data-v-5e9b583e]{display:flex;justify-content:flex-end;width:50%}li.disk-item .disk_value .disk-item_value[data-v-5e9b583e]{flex:auto;padding-left:10px;position:relative;cursor:help}li.disk-item .disk_value .disk-item_value .value-data[data-v-5e9b583e]{width:100%;text-overflow:ellipsis;white-space:nowrap;height:100%}li.disk-item .disk_value .disk-item_value .value-data button[data-v-5e9b583e]{background:none;border:none;width:100%;text-align:right;color:#297ff3;cursor:pointer;padding:0;margin:0;line-height:normal}li.disk-item .disk_value .disk-item_value .value-data button[data-v-5e9b583e]:hover{opacity:.7}li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-5e9b583e]{position:absolute;background:rgba(0,0,0,.7);z-index:10111;color:#fff;padding:.5rem 1rem;left:10px;right:0;bottom:100%;margin-bottom:6px;text-align:center;font-size:1em;visibility:hidden;opacity:0}li.disk-item .disk_value .disk-item_value .disk-item-tooltip[data-v-5e9b583e]:after{content:"";position:absolute;bottom:-6px;border-color:#4c4c4c rgba(0,0,0,0) rgba(0,0,0,0);left:0;right:0;text-align:center;width:0;margin:0 auto;border-width:6px 8px 0;border-style:solid}li.disk-item .disk_value .disk-item_value:hover .disk-item-tooltip[data-v-5e9b583e]{visibility:visible;transition:.7s;opacity:1}.disk_infoicon[data-v-5e9b583e]{margin-left:10px;cursor:pointer}.tooltip-trigger[data-v-5e9b583e]{flex:none;cursor:help}.tooltip-trigger[data-v-5e9b583e]{position:relative;display:inline-block;cursor:help;margin-right:6px;margin-left:10px}.tooltip-trigger .tooltip-text[data-v-5e9b583e]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.tooltip-trigger .tooltip-text span[data-v-5e9b583e]{color:#fff}.tooltip-trigger .tooltip-text .disk_dir_tip[data-v-5e9b583e]{min-width:15rem;display:inline-block}.tooltip-trigger:hover .tooltip-text[data-v-5e9b583e]{visibility:visible;opacity:1}.tooltip-top[data-v-5e9b583e]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%)}.tooltip-top[data-v-5e9b583e]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-bottom[data-v-5e9b583e]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}@keyframes bganimation-2b8c3ff1{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2b8c3ff1{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2b8c3ff1{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2b8c3ff1]{animation:rotateEnter-2b8c3ff1 .7s;position:relative}.rotate-leave-active[data-v-2b8c3ff1]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2b8c3ff1]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-2b8c3ff1]{position:relative;display:flex;flex-wrap:wrap;width:100%;height:100%}.app-container ul[data-v-2b8c3ff1]{flex:0 0 100%;width:100%}.app-container ul .app-container_title[data-v-2b8c3ff1]{display:flex;justify-content:space-between;align-items:center}.app-container ul .app-container_title .more_icon[data-v-2b8c3ff1]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container ul .app-container_title .more_icon[data-v-2b8c3ff1] svg path{fill:var(--item_btn-color)}.app-container ul .app-container_title .DeviceBlock[data-v-2b8c3ff1]{position:absolute;z-index:999;width:30%;right:22px}.app-container ul .app-container_title .DeviceBlock ul[data-v-2b8c3ff1]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:8px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container ul .app-container_title .DeviceBlock ul li[data-v-2b8c3ff1]{margin:6px 0;cursor:pointer;line-height:28px}.app-container ul .app-container_title .DeviceBlock ul li a[data-v-2b8c3ff1]{color:#1e1e1e;text-decoration:none;cursor:pointer;font-size:14px;display:block}.app-container ul .app-container_title .DeviceBlock ul li[data-v-2b8c3ff1]:hover{background-color:#eee}.app-container ul .app-container_title .app-container_tool[data-v-2b8c3ff1]{display:flex;flex-wrap:wrap;align-items:center}.app-container ul .app-container_title .app-container_tool .app-container_configure[data-v-2b8c3ff1]{height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;justify-content:center;align-items:center}.app-container ul .app-container_title .app-container_tool .more_icon[data-v-2b8c3ff1]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:1var --item_btn-border;border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container ul .app-container_title .app-container_tool .more_icon[data-v-2b8c3ff1] svg path{fill:var(--item_btn-color)}.app-container ul .disk_loading_icon[data-v-2b8c3ff1]{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:10px}.app-container ul .disk_loading_icon .disk_loading_info[data-v-2b8c3ff1]{margin-top:5px}.refresh[data-v-2b8c3ff1]{margin-left:20px}.app-container_info[data-v-2b8c3ff1]{font-size:14px;font-weight:700;height:31px;line-height:52px}.app-container_body[data-v-2b8c3ff1]{width:100%;height:100%}.menu_background[data-v-2b8c3ff1]{position:fixed;inset:0}@keyframes bganimation-8166802a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8166802a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8166802a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8166802a]{animation:rotateEnter-8166802a .7s;position:relative}.rotate-leave-active[data-v-8166802a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8166802a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.sambas-item[data-v-8166802a]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.sambas-item .sambas-item_name[data-v-8166802a]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.sambas-item .sambas-item_value[data-v-8166802a]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-container_samba li.samba-item[data-v-8166802a]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}.app-container_samba li.samba-item .samba-item_name[data-v-8166802a]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.app-container_samba li.samba-item .samba-item_value[data-v-8166802a]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-container_samba li.samba-item .samba-item_value button[data-v-8166802a]{background:none;border:none;width:100%;text-align:right;color:#297ff3;cursor:pointer}.app-container_samba li.samba-item .samba-item_value button[data-v-8166802a]:hover{opacity:.7}.tit[data-v-8166802a]{color:var(--tit-color);font-weight:700;font-size:16px}@keyframes bganimation-45def11c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-45def11c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-45def11c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-45def11c]{animation:rotateEnter-45def11c .7s;position:relative}.rotate-leave-active[data-v-45def11c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-45def11c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.webdav-item[data-v-45def11c]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.webdav-item .webdav-item_name[data-v-45def11c]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.webdav-item .webdav-item_value[data-v-45def11c]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes bganimation-0bd83418{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0bd83418{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0bd83418{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0bd83418]{animation:rotateEnter-0bd83418 .7s;position:relative}.rotate-leave-active[data-v-0bd83418]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0bd83418]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}ul.disk-item[data-v-0bd83418]{width:100%;margin-bottom:10px}ul.disk-item .auto[data-v-0bd83418]{flex:auto}ul.disk-item .disk-item_icon[data-v-0bd83418]{width:24px;height:24px;margin-right:.5rem}ul.disk-item .disk-item_icon svg[data-v-0bd83418]{width:100%;height:100%}ul.disk-item li.disk-info[data-v-0bd83418]{display:flex;flex-wrap:nowrap;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding:5px 1rem;height:50px;cursor:pointer;color:#666;font-size:12px;border-left:3px solid #89897f}ul.disk-item li.disk-info[data-v-0bd83418]:hover{background-color:#ecf5ff}ul.disk-item li.disk-info .disk-item_icon svg path[data-v-0bd83418]{fill:#09aaff}ul.disk-item li.disk-info .disk-item_f[data-v-0bd83418]{display:flex;flex-wrap:wrap}ul.disk-item li.disk-info .disk-item_f .disk-item_venderModel[data-v-0bd83418],ul.disk-item li.disk-info .disk-item_f .disk-item_used[data-v-0bd83418]{width:100%}ul.disk-item li.disk-info.on[data-v-0bd83418]{border-left:3px solid #ff9c08}ul.disk-item li.disk-info.on.nopoint[data-v-0bd83418]{background-color:#ecf5ff}ul.disk-item .disk-children[data-v-0bd83418]{width:100%;color:#666}ul.disk-item .disk-children li.disk-children_item[data-v-0bd83418]{width:100%;height:40px;line-height:40px;padding-left:2rem;font-size:12px;cursor:pointer;display:flex;flex-wrap:nowrap;align-items:center;border-left:3px solid #89897f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.disk-item .disk-children li.disk-children_item[data-v-0bd83418]:hover{background-color:#ecf5ff}ul.disk-item .disk-children li.disk-children_item span[data-v-0bd83418]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}ul.disk-item .disk-children li.disk-children_item.on.on[data-v-0bd83418]{border-left:3px solid #ff9c08;background-color:#ecf5ff}.action .action-footer button[data-v-b222ef5e]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.list[data-v-b222ef5e]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.list .action-header[data-v-b222ef5e]{width:100%;height:70px;line-height:70px}.action.list .action-header .action-header_title[data-v-b222ef5e]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.list .action-body[data-v-b222ef5e]{width:100%;height:calc(100% - 176px)}.action.list .action-msg[data-v-b222ef5e]{width:100%;height:36px;line-height:36px;text-align:center}.action.list .action-footer[data-v-b222ef5e]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.list .action-footer .auto[data-v-b222ef5e]{flex:auto}.action.list .disk-list[data-v-b222ef5e]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.format[data-v-b222ef5e]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.format .action-header[data-v-b222ef5e]{width:100%;height:70px;line-height:70px}.action.format .action-header .action-header_title[data-v-b222ef5e]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.format .action-body[data-v-b222ef5e]{width:100%;height:calc(100% - 140px);overflow:auto}.action.format .action-footer[data-v-b222ef5e]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action.format .action-footer .auto[data-v-b222ef5e]{flex:auto}.action.format .disk-list[data-v-b222ef5e]{width:100%;height:100%;border:1px solid #dfe1e5;overflow:auto}.action.format .label-item[data-v-b222ef5e]{width:100%;margin:1rem 0}.action.format .label-item .label-item_key[data-v-b222ef5e]{width:100%;font-size:16px;color:#666}.action.format .label-item .label-item_key span[data-v-b222ef5e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action.format .label-item .label-item_key span[data-v-b222ef5e]:before{content:"*";color:#f56c6c;margin-right:4px}.action.format .label-item .label-item_value[data-v-b222ef5e]{width:100%;margin-top:5px}.action.format .label-item .label-item_value select[data-v-b222ef5e],.action.format .label-item .label-item_value input[data-v-b222ef5e]{width:100%;height:36px}.action.format .auto[data-v-b222ef5e]{flex:auto}.action.format p.msg[data-v-b222ef5e]{margin:.5rem 0;color:red}.action.format .disk-info[data-v-b222ef5e]{width:100%;text-align:center}.action.format .disk-info .disk-info_icon[data-v-b222ef5e]{width:100px;height:100px;margin:0 auto}.action.format .disk-info .disk-info_icon svg[data-v-b222ef5e]{width:100%;height:100%}.action.format .disk-info .disk-info_mount-name[data-v-b222ef5e]{margin:1rem 0;font-size:1.5em;color:#333}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action.result[data-v-b222ef5e]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action.result .action-header[data-v-b222ef5e]{width:100%;height:70px;line-height:70px}.action.result .action-header .action-header_title[data-v-b222ef5e]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action.result .action-body[data-v-b222ef5e]{width:100%;height:calc(100% - 140px);overflow:auto}.action.result .action-body .format-result[data-v-b222ef5e]{width:100%;text-align:center;font-size:2em;color:#333;margin:1rem 0}.action.result .action-body .format-info[data-v-b222ef5e]{width:100%;text-align:center;font-size:1.3em}.action.result .action-body .format-info a[data-v-b222ef5e]{color:#f70324}.action.result .action-footer[data-v-b222ef5e]{width:100%;height:70px;line-height:70px;color:#333}.action.result .auto[data-v-b222ef5e]{flex:auto}@keyframes bganimation-b222ef5e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b222ef5e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b222ef5e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b222ef5e]{animation:rotateEnter-b222ef5e .7s;position:relative}.rotate-leave-active[data-v-b222ef5e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b222ef5e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.list[data-v-b222ef5e]{width:136%}}@media screen and (max-width: 900px){.action.list[data-v-b222ef5e]{width:126%}}@media screen and (max-width: 800px){.action.list[data-v-b222ef5e]{width:112%}}@media screen and (max-width: 700px){.action.list[data-v-b222ef5e]{width:100%}}@media screen and (max-width: 500px){.action.list[data-v-b222ef5e]{width:80%}}@keyframes bganimation-45926ac6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-45926ac6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-45926ac6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-45926ac6]{animation:rotateEnter-45926ac6 .7s;position:relative}.rotate-leave-active[data-v-45926ac6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-45926ac6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-45926ac6]{width:700px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action .action-body[data-v-45926ac6]{width:100%;text-align:center;padding:3rem 0}.action .action-body h2.title[data-v-45926ac6]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0;text-align:center}.action .action-body .info[data-v-45926ac6]{color:#666;font-size:1.3em;margin:1rem 0}.action .action-body .btns[data-v-45926ac6]{width:100%;margin-top:3rem}.action .action-body .btns button[data-v-45926ac6]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-45926ac6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-45926ac6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-45926ac6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-45926ac6]{animation:rotateEnter-45926ac6 .7s;position:relative}.rotate-leave-active[data-v-45926ac6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-45926ac6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1000px){.action.format .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 900px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 800px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 700px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@media screen and (max-width: 500px){.action .action-body h2.title[data-v-45926ac6]{font-size:20px}}@keyframes bganimation-2b3974a4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2b3974a4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2b3974a4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2b3974a4]{animation:rotateEnter-2b3974a4 .7s;position:relative}.rotate-leave-active[data-v-2b3974a4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2b3974a4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-2b3974a4]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action .action-header[data-v-2b3974a4]{width:100%;height:70px;line-height:70px}.action .action-header .action-header_title[data-v-2b3974a4]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action .action-body[data-v-2b3974a4]{width:100%;height:calc(100% - 140px);overflow:auto}.action .action-body .label-item[data-v-2b3974a4]{width:100%;margin:1rem 0}.action .action-body .label-item .label-item_key[data-v-2b3974a4]{width:100%;font-size:12px;color:#666}.action .action-body .label-item .label-item_key span[data-v-2b3974a4]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action .action-body .label-item .label-item_key span[data-v-2b3974a4]:before{content:"*";color:#f56c6c;margin-right:4px}.action .action-body .label-item .label-item_value[data-v-2b3974a4]{width:100%;margin-top:5px}.action .action-body .label-item .label-item_value select[data-v-2b3974a4],.action .action-body .label-item .label-item_value input[data-v-2b3974a4]{width:100%;height:36px}.action .action-footer[data-v-2b3974a4]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center}.action .action-footer .auto[data-v-2b3974a4]{flex:auto}.action .action-footer button[data-v-2b3974a4]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-88275da0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-88275da0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-88275da0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-88275da0]{animation:rotateEnter-88275da0 .7s;position:relative}.rotate-leave-active[data-v-88275da0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-88275da0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-88275da0]{width:700px;height:560px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;padding:0 25px;border:1px solid #dfdfdf;border-radius:4px;background:#fff;box-shadow:0 1px 4px #0000004d}.action .action-header[data-v-88275da0]{width:100%;height:70px;line-height:70px}.action .action-header .action-header_title[data-v-88275da0]{margin:0;color:#333;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-webkit-user-select:none;user-select:none;font-size:20px}.action .action-body[data-v-88275da0]{width:100%;height:calc(100% - 140px)}.action .action-body .label-item[data-v-88275da0]{width:100%;margin:1rem 0}.action .action-body .label-item .label-item_key[data-v-88275da0]{width:100%;font-size:12px;color:#666}.action .action-body .label-item .label-item_key span[data-v-88275da0]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action .action-body .label-item .label-item_key span[data-v-88275da0]:before{content:"*";color:#f56c6c;margin-right:4px}.action .action-body .label-item .label-item_value[data-v-88275da0]{width:100%;margin-top:5px}.action .action-body .label-item .label-item_value select[data-v-88275da0],.action .action-body .label-item .label-item_value input[data-v-88275da0]{width:100%;height:36px}.action .action-body .samba-item[data-v-88275da0]{margin-top:-18px;font-size:12px}.action .action-body .samba-item .samba-item_allow[data-v-88275da0]{display:flex;align-items:flex-end}.action .action-body .samba-item .samba-item_allow .samba-allow[data-v-88275da0]{padding-left:10px;cursor:pointer}.action .action-body .samba-item .samba-item_tips[data-v-88275da0]{margin-top:10px}.action .action-body .samba-item .samba-item_tips .tooltip-trigger[data-v-88275da0]{display:flex}.action .action-body .samba-item .samba-item_tips .samba_dir_tip[data-v-88275da0]{margin-left:10px}.action .action-footer[data-v-88275da0]{width:100%;height:70px;line-height:70px;color:#333;display:flex;flex-wrap:wrap;align-items:center;padding-bottom:30px}.action .action-footer .auto[data-v-88275da0]{flex:auto}.action .action-footer button[data-v-88275da0]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-3f686017{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3f686017{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3f686017{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3f686017]{animation:rotateEnter-3f686017 .7s;position:relative}.rotate-leave-active[data-v-3f686017]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3f686017]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-3f686017]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action h2.title[data-v-3f686017]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0;text-align:center}.action h3.desc[data-v-3f686017]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;margin:1rem 0;text-align:center}.action form[data-v-3f686017]{width:100%;display:block;padding:2rem 0}.action form label[data-v-3f686017]{width:100%;display:block;margin:1rem 0}.action form label input[data-v-3f686017],.action form label select[data-v-3f686017]{width:100%;display:block;height:42px}.action .btns[data-v-3f686017]{width:100%;margin-top:3rem}.action .btns button[data-v-3f686017]{display:block;width:100%!important;margin:.5rem 0}.action li.disk-item[data-v-3f686017]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;padding:5px 1rem;border-bottom:1px solid #eee;cursor:pointer}.action li.disk-item[data-v-3f686017]:hover{background-color:#eee}.action li.disk-item .disk-item_f[data-v-3f686017]{display:flex;flex-wrap:wrap}.action li.disk-item .disk-item_f .disk-item_venderModel[data-v-3f686017],.action li.disk-item .disk-item_f .disk-item_used[data-v-3f686017]{width:100%}.action .tips[data-v-3f686017]{float:right;font-size:.8em}@keyframes bganimation-3f686017{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3f686017{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3f686017{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3f686017]{animation:rotateEnter-3f686017 .7s;position:relative}.rotate-leave-active[data-v-3f686017]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3f686017]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 500px){.action h2.title[data-v-3f686017]{font-size:2em}}@keyframes bganimation-8b8d01c2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8b8d01c2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8b8d01c2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8b8d01c2]{animation:rotateEnter-8b8d01c2 .7s;position:relative}.rotate-leave-active[data-v-8b8d01c2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8b8d01c2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.linkease-item[data-v-8b8d01c2]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.linkease-item .linkease-item_name[data-v-8b8d01c2]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.linkease-item .linkease-item_value[data-v-8b8d01c2]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.linkease-item .linkease-item_value .configure[data-v-8b8d01c2]{color:#297ff3;padding:3px}li.linkease-item .linkease-item_value .configure.enabel[data-v-8b8d01c2]{cursor:pointer}a[data-v-8b8d01c2]{text-decoration:none;color:#297ff3}@keyframes bganimation-008c9ca2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-008c9ca2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-008c9ca2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-008c9ca2]{animation:rotateEnter-008c9ca2 .7s;position:relative}.rotate-leave-active[data-v-008c9ca2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-008c9ca2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-008c9ca2]{position:relative;display:flex;flex-wrap:wrap;width:100%;height:100%;align-content:flex-start}.app-container .app-container_title[data-v-008c9ca2]{width:100%;display:flex;flex-wrap:wrap;align-content:center;justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-008c9ca2]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-008c9ca2]{height:30px;line-height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-008c9ca2]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-008c9ca2] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-008c9ca2]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-008c9ca2]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:15px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-008c9ca2]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-008c9ca2]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-008c9ca2]:hover{background-color:#eee}.app-container .app-container_title button[data-v-008c9ca2]{margin-left:10px}.app-container .app-container_body[data-v-008c9ca2]{flex:0 0 100%;width:100%;height:66%}.app-container ul.app-container_nas-menu[data-v-008c9ca2]{width:100%;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;margin-top:20px}.app-container ul.app-container_nas-menu button[data-v-008c9ca2]{flex:0 0 100%!important;max-width:33.333%!important;height:30px;background:none;border:none!important;background-color:#eee;color:#333;cursor:pointer;margin:0!important;padding:5px 0!important;border-radius:0!important;line-height:20px;font-size:16px}.app-container ul.app-container_nas-menu button.on[data-v-008c9ca2],.app-container ul.app-container_nas-menu button[data-v-008c9ca2]:hover{color:#297ff3;background-color:#d1e2f9}.menu_background[data-v-008c9ca2]{position:fixed;inset:0}@keyframes bganimation-b0e9cad0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b0e9cad0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b0e9cad0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b0e9cad0]{animation:rotateEnter-b0e9cad0 .7s;position:relative}.rotate-leave-active[data-v-b0e9cad0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b0e9cad0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.docker-item[data-v-b0e9cad0]{width:100%;display:flex;flex-wrap:wrap;margin:1.5rem 0}li.docker-item .docker-item_name[data-v-b0e9cad0]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.docker-item .docker-item_value[data-v-b0e9cad0]{flex:0 0 100%;max-width:50%;padding-left:10px;float:left;display:flex}li.docker-item .docker-item_value .configure[data-v-b0e9cad0]{color:#297ff3;overflow:hidden;white-space:nowrap;padding:3px;overflow-x:hidden;text-overflow:ellipsis}li.docker-item .docker-item_value .configure.enabel[data-v-b0e9cad0]{color:#888;overflow-x:hidden;text-overflow:ellipsis}li.docker-item .docker-item_root[data-v-b0e9cad0]{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:16px;max-width:323px;flex:0 0 100%}.docker_tip svg[data-v-b0e9cad0]{vertical-align:bottom;margin-left:22px}.tooltip-trigger[data-v-b0e9cad0]{position:relative;display:inline-block;cursor:help;margin-right:6px}.tooltip-trigger .tooltip-text[data-v-b0e9cad0]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.tooltip-trigger .tooltip-text span[data-v-b0e9cad0]{color:#fff}.tooltip-trigger .tooltip-text .docker_dir_tip[data-v-b0e9cad0]{min-width:15rem;display:inline-block}.tooltip-trigger:hover .tooltip-text[data-v-b0e9cad0]{visibility:visible;opacity:1}.tooltip-top[data-v-b0e9cad0]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%);margin-left:12px}.tooltip-right[data-v-b0e9cad0]{top:50%;left:100%;margin-left:5px;transform:translateY(-50%)}.tooltip-left[data-v-b0e9cad0]{top:50%;right:100%;margin-right:5px;transform:translateY(-50%)}.tooltip-top[data-v-b0e9cad0]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-bottom[data-v-b0e9cad0]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}.input-switch[data-v-b0e9cad0]{display:inline-block;cursor:pointer;position:relative}.input-switch span[data-v-b0e9cad0]{display:block;position:relative;width:50px;height:20px;border-radius:10px;padding:2px}.input-switch span em[data-v-b0e9cad0]{display:block;width:16px;height:16px;background-color:#fff;border-radius:10px}.input-switch span.enable[data-v-b0e9cad0]{background-color:#297ff3;transition:.3s}.input-switch span.enable em[data-v-b0e9cad0]{transform:translate(30px);transition:.3s}.input-switch span.close[data-v-b0e9cad0]{background-color:#cecece;transition:.3s}.input-switch span.close em[data-v-b0e9cad0]{transform:translate(0);transition:.3s}@keyframes bganimation-81932f72{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-81932f72{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-81932f72{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-81932f72]{animation:rotateEnter-81932f72 .7s;position:relative}.rotate-leave-active[data-v-81932f72]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-81932f72]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-81932f72]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;overflow:auto;padding:1rem 87px;border-radius:6px}.action h2.title[data-v-81932f72]{width:100%;display:block;color:#1e1e1e;font-size:22px;padding:0;margin:0;text-align:center}.action .roots[data-v-81932f72]{display:flex;max-width:342px;align-items:center;margin-top:32px;margin-bottom:16px}.action .roots .root[data-v-81932f72]{color:#000000d4;font-size:14px;text-align:center}.action .move[data-v-81932f72]{display:flex;justify-content:left;align-items:center}.action .change[data-v-81932f72]{width:678px}.action .desc[data-v-81932f72]{width:100%;display:block;font-size:1.2em;padding:0;margin:1rem 0;margin-top:32px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#000000d4}.action form[data-v-81932f72]{width:100%;display:block}.action .tips[data-v-81932f72]{width:477px}.action .tips .tip[data-v-81932f72]{color:#faad14;padding-left:6px}.action .btns[data-v-81932f72]{width:100%;margin:104px auto 0}.action .btns button[data-v-81932f72]{display:block;width:100%!important;margin-left:0;margin-right:0}.action .roots_tit[data-v-81932f72]{color:#000000d4;font-size:14px;font-weight:700;width:118px;text-align:right;flex:none}.action .successed[data-v-81932f72]{text-align:center;font-size:14px}.action .finished[data-v-81932f72]{display:flex;justify-content:center;margin:80px 80px 28px}.action .docker_moves[data-v-81932f72]{text-align:center}.action .docker_moves .moves[data-v-81932f72]{margin-top:10px}.action .docker_moves .moves input[data-v-81932f72]{cursor:pointer}.action .docker_moves .moves label[data-v-81932f72]{margin-left:10px;cursor:pointer}.select-editable[data-v-81932f72]{position:relative;border:solid grey 1px;width:438px;height:34px}.select-editable select[data-v-81932f72]{position:absolute;top:0;left:0;font-size:14px;border:none;width:100%;height:100%;margin:0}.select-editable input[data-v-81932f72]{position:absolute;top:0;left:0;width:95%;padding:1px;font-size:14px;border:none}.select-editable select[data-v-81932f72]:focus,.select-editable input[data-v-81932f72]:focus{outline:none}[data-v-81932f72]::placeholder{color:#999}@keyframes bganimation-81932f72{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-81932f72{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-81932f72{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-81932f72]{animation:rotateEnter-81932f72 .7s;position:relative}.rotate-leave-active[data-v-81932f72]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-81932f72]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action[data-v-81932f72]{width:100%}.docker_download[data-v-81932f72]{width:80%}}@keyframes bganimation-3b60633e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3b60633e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3b60633e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3b60633e]{animation:rotateEnter-3b60633e .7s;position:relative}.rotate-leave-active[data-v-3b60633e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3b60633e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-3b60633e]{position:relative;flex-wrap:wrap;width:100%;height:100%}.app-container .app-container_title[data-v-3b60633e]{justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-3b60633e]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-3b60633e]{height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;justify-content:center;align-items:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-3b60633e]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-3b60633e] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-3b60633e]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-3b60633e]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:15px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-3b60633e]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-3b60633e]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-3b60633e]:hover{background-color:#eee}.app-container button[data-v-3b60633e],.app-container .refresh[data-v-3b60633e]{margin-left:20px}.app-container .app-container_body[data-v-3b60633e]{width:100%;height:100%}.app-container .loading_placeholder[data-v-3b60633e]{display:flex;flex-direction:column;align-items:center}.menu_background[data-v-3b60633e]{position:fixed;inset:0}@keyframes bganimation-4d31c3c4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4d31c3c4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4d31c3c4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4d31c3c4]{animation:rotateEnter-4d31c3c4 .7s;position:relative}.rotate-leave-active[data-v-4d31c3c4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4d31c3c4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.aria2-item[data-v-4d31c3c4]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.aria2-item .aria2-item_name[data-v-4d31c3c4]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.aria2-item .aria2-item_value[data-v-4d31c3c4]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.aria2-item .aria2-item_value .configure[data-v-4d31c3c4]{color:#297ff3;padding:3px}li.aria2-item .aria2-item_value .configure.enabel[data-v-4d31c3c4]{color:#888}.use-url_app[data-v-4d31c3c4]{padding-bottom:14px}.use-url_app a[data-v-4d31c3c4]{text-decoration:none;color:#297ff3}@keyframes bganimation-44bc5d56{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-44bc5d56{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-44bc5d56{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-44bc5d56]{animation:rotateEnter-44bc5d56 .7s;position:relative}.rotate-leave-active[data-v-44bc5d56]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-44bc5d56]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.qbittorrent-item[data-v-44bc5d56]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.qbittorrent-item .qbittorrent-item_name[data-v-44bc5d56]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.qbittorrent-item .qbittorrent-item_value[data-v-44bc5d56]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.qbittorrent-item .qbittorrent-item_value .configure[data-v-44bc5d56]{color:#297ff3;padding:3px}li.qbittorrent-item .qbittorrent-item_value .configure.enabel[data-v-44bc5d56]{color:#888}a[data-v-44bc5d56]{text-decoration:none;color:#297ff3}@keyframes bganimation-ab5c1db0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-ab5c1db0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-ab5c1db0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-ab5c1db0]{animation:rotateEnter-ab5c1db0 .7s;position:relative}.rotate-leave-active[data-v-ab5c1db0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-ab5c1db0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}li.transmission-item[data-v-ab5c1db0]{width:100%;display:flex;flex-wrap:wrap;margin:1rem 0}li.transmission-item .transmission-item_name[data-v-ab5c1db0]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}li.transmission-item .transmission-item_value[data-v-ab5c1db0]{flex:0 0 100%;max-width:50%;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li.transmission-item .transmission-item_value .configure[data-v-ab5c1db0]{color:#297ff3;padding:3px}li.transmission-item .transmission-item_value .configure.enabel[data-v-ab5c1db0]{color:#888}a[data-v-ab5c1db0]{text-decoration:none;color:#297ff3}@keyframes bganimation-395b81d2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-395b81d2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-395b81d2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-395b81d2]{animation:rotateEnter-395b81d2 .7s;position:relative}.rotate-leave-active[data-v-395b81d2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-395b81d2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-395b81d2]{width:860px;max-height:90%;background-color:#fff;position:relative;z-index:1000;margin:auto;padding:1rem 87px;border-radius:6px}.action p[data-v-395b81d2]{color:#999;font-size:14px}.action input[data-v-395b81d2]{font-size:14px;font-family:PingFangSC-Regular,PingFang SC}.action h2.title[data-v-395b81d2]{width:100%;color:#1e1e1e;font-size:22px;font-family:PingFangSC-Medium,PingFang SC;padding:0;margin:0;text-align:center}.action span[data-v-395b81d2]{font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#000000d4;font-weight:700}.action form label[data-v-395b81d2]{width:100%}.action form label input[data-v-395b81d2],.action form label select[data-v-395b81d2]{height:100%;font-size:14px}.action .myinput_wrap[data-v-395b81d2],.action .RPC_input[data-v-395b81d2]{width:85%}.action .myinput_wrap textarea[data-v-395b81d2]{width:100%;padding:2px 3px;border:1px solid #dee2e6;border-radius:.25rem}.action .input_row[data-v-395b81d2]{margin:16px 0;display:flex;justify-content:left;align-items:center}.action .input_row .radios[data-v-395b81d2]{margin-right:10px}.action .input_row .radios input[data-v-395b81d2],.action .input_row .radios label[data-v-395b81d2]{cursor:pointer}.action .Tracker label[data-v-395b81d2]{margin-right:10px;cursor:pointer}.action .Tracker_input[data-v-395b81d2]{padding:6px 2px}.action .btns[data-v-395b81d2]{width:100%;margin:42px auto 0}.action .btns button[data-v-395b81d2]{display:block;width:100%!important;margin:.5rem 0}.action .tooltip-trigger[data-v-395b81d2]{position:relative;display:inline-block;cursor:help;margin-right:6px}.action .tooltip-trigger .tooltip-text[data-v-395b81d2]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.action .tooltip-trigger .tooltip-text span[data-v-395b81d2]{color:#fff}.action .tooltip-trigger .tooltip-text .dowload_dir_tip[data-v-395b81d2]{min-width:14rem;display:inline-block}.action .tooltip-trigger:hover .tooltip-text[data-v-395b81d2]{visibility:visible;opacity:1}.action .tooltip-top[data-v-395b81d2]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%)}.action .tooltip-bottom[data-v-395b81d2]{top:100%;left:50%;margin-top:5px;transform:translate(-50%)}.action .tooltip-bottom .dowload_rpc_tip[data-v-395b81d2]{min-width:10rem;display:inline-block}.action .tooltip-right[data-v-395b81d2]{top:50%;left:100%;margin-left:5px;transform:translateY(-50%)}.action .tooltip-left[data-v-395b81d2]{top:50%;right:100%;margin-right:5px;transform:translateY(-50%)}.action .tooltip-top[data-v-395b81d2]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.action .tooltip-bottom[data-v-395b81d2]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}.action .successed[data-v-395b81d2]{text-align:center;font-size:14px}.action .finished[data-v-395b81d2]{display:flex;justify-content:center;margin:80px 80px 28px}.left[data-v-395b81d2]{display:flex;align-items:center;justify-content:flex-start;width:110px;flex:none}.select-editable[data-v-395b81d2]{position:relative;border:1px solid #dee2e6;border-radius:.25rem;margin:.25rem .1rem}.select-editable select[data-v-395b81d2]{top:0;left:0;font-size:14px;border:none;width:100%;margin:0}.select-editable input[data-v-395b81d2]{position:absolute;top:-4px;left:0;width:95%;padding:1px;font-size:14px;border:none}.select-editable select[data-v-395b81d2]:focus,.select-editable input[data-v-395b81d2]:focus{outline:none}[data-v-395b81d2]::placeholder{color:#999}@keyframes bganimation-395b81d2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-395b81d2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-395b81d2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-395b81d2]{animation:rotateEnter-395b81d2 .7s;position:relative}.rotate-leave-active[data-v-395b81d2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-395b81d2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 500px){.action[data-v-395b81d2]{width:100%}.action .input_row[data-v-395b81d2]{display:block}.action .input_row .myinput_wrap[data-v-395b81d2],.action .input_row .RPC_input[data-v-395b81d2]{width:100%}}@keyframes bganimation-17fab0f2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-17fab0f2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-17fab0f2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-17fab0f2]{animation:rotateEnter-17fab0f2 .7s;position:relative}.rotate-leave-active[data-v-17fab0f2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-17fab0f2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-17fab0f2]{position:relative;display:flex;flex-wrap:wrap;width:100%;height:100%;align-content:flex-start}.app-container .app-container_title[data-v-17fab0f2]{width:100%;display:flex;flex-wrap:wrap;align-content:center;justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-17fab0f2]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-17fab0f2]{height:30px;line-height:30px;border-radius:4px 0 0 4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-17fab0f2]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-17fab0f2] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-17fab0f2]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-17fab0f2]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:15px;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-17fab0f2]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-17fab0f2]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-17fab0f2]:hover{background-color:#eee}.app-container .app-container_title button[data-v-17fab0f2]{margin-left:10px}.app-container .app-container_body[data-v-17fab0f2]{flex:0 0 100%;width:100%;height:66%}.app-container ul.app-container_nas-menu[data-v-17fab0f2]{width:100%;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;margin-top:20px}.app-container ul.app-container_nas-menu button[data-v-17fab0f2]{flex:0 0 100%!important;max-width:33.333%!important;height:30px;background:none;border:none!important;background-color:#eee;color:#333;cursor:pointer;margin:0!important;padding:5px 0!important;border-radius:0!important;line-height:20px;font-size:16px}.app-container ul.app-container_nas-menu button.on[data-v-17fab0f2],.app-container ul.app-container_nas-menu button[data-v-17fab0f2]:hover{color:#297ff3;background-color:#d1e2f9}.menu_background[data-v-17fab0f2]{position:fixed;inset:0}@keyframes bganimation-73552138{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-73552138{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-73552138{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-73552138]{animation:rotateEnter-73552138 .7s;position:relative}.rotate-leave-active[data-v-73552138]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-73552138]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}h3[data-v-73552138]{text-align:center;margin-bottom:20px}.label-item[data-v-73552138]{display:flex;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:0 30px}.label-item label[data-v-73552138]{display:flex;flex-wrap:wrap;align-items:center;width:100%;height:26px;line-height:26px;cursor:pointer}.label-item label input[type=radio][data-v-73552138]{top:0;right:0;vertical-align:middle}.label-item label span[data-v-73552138]{font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#000000d4;display:inline-block;margin-left:10px}.label-item p.label_info[data-v-73552138]{color:#999;font-size:12px;padding-left:24px;line-height:20px}.label-item .label-item_key[data-v-73552138]{display:flex;flex-wrap:wrap;align-items:center}.label-item .label-item_key .ddnsto_serve[data-v-73552138]{flex:0 0 100%;display:flex;justify-content:space-between;margin-bottom:14px}.label-item .label-item_key .ddnsto_serve_item[data-v-73552138]{flex:0 0 100%;display:flex;justify-content:space-between}@keyframes bganimation-b9ee57da{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-b9ee57da{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-b9ee57da{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-b9ee57da]{animation:rotateEnter-b9ee57da .7s;position:relative}.rotate-leave-active[data-v-b9ee57da]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-b9ee57da]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-b9ee57da]{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.actioner-container_body svg.icon[data-v-b9ee57da]{width:100px;height:100px}.actioner-container_body .body-title[data-v-b9ee57da]{width:100%;display:block;color:#1e1e1e;font-size:2em;padding:0;margin:1rem 0;text-align:center}.actioner-container_body .body-tips[data-v-b9ee57da]{text-align:center}.actioner-container_body .body-info[data-v-b9ee57da]{color:#666;font-size:1.3em;margin:1rem 0;width:100%;text-align:center}.actioner-container_body .body-tips[data-v-b9ee57da]{margin:1rem 0;display:block;width:100%}.actioner-container_body .body-btns[data-v-b9ee57da]{width:100%;margin-top:3rem}.actioner-container_body .body-btns button[data-v-b9ee57da]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-aefb6fdc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-aefb6fdc{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-aefb6fdc{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-aefb6fdc]{animation:rotateEnter-aefb6fdc .7s;position:relative}.rotate-leave-active[data-v-aefb6fdc]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-aefb6fdc]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}iframe[data-v-aefb6fdc]{width:100%;height:100%;border:none}@keyframes bganimation-0e2b47e6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0e2b47e6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0e2b47e6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0e2b47e6]{animation:rotateEnter-0e2b47e6 .7s;position:relative}.rotate-leave-active[data-v-0e2b47e6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0e2b47e6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}iframe[data-v-0e2b47e6]{width:100%;height:100%;border:none}@keyframes bganimation-29e2aec8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-29e2aec8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-29e2aec8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-29e2aec8]{animation:rotateEnter-29e2aec8 .7s;position:relative}.rotate-leave-active[data-v-29e2aec8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-29e2aec8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-29e2aec8]{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.actioner-container_body svg.icon[data-v-29e2aec8]{width:100px;height:100px}.actioner-container_body .body-title[data-v-29e2aec8]{width:100%;display:block;color:#1e1e1e;font-size:2em;padding:0;margin:1rem 0;text-align:center}.actioner-container_body .body-info[data-v-29e2aec8]{color:#666;font-size:1.3em;margin:1rem 0;width:100%}.actioner-container_body .body-tips[data-v-29e2aec8]{margin:1rem 0;display:block;width:100%}.actioner-container_body .body-btns[data-v-29e2aec8]{width:100%;margin-top:3rem}.actioner-container_body .body-btns button[data-v-29e2aec8]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-169b4450{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-169b4450{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-169b4450{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-169b4450]{animation:rotateEnter-169b4450 .7s;position:relative}.rotate-leave-active[data-v-169b4450]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-169b4450]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-169b4450]{display:flex;align-items:center;justify-content:center}@keyframes bganimation-6590a3fa{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6590a3fa{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6590a3fa{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6590a3fa]{animation:rotateEnter-6590a3fa .7s;position:relative}.rotate-leave-active[data-v-6590a3fa]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6590a3fa]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-container_body[data-v-6590a3fa]{display:flex;align-items:center;justify-content:center}@keyframes bganimation-3b80943c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3b80943c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3b80943c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3b80943c]{animation:rotateEnter-3b80943c .7s;position:relative}.rotate-leave-active[data-v-3b80943c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3b80943c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-3b80943c]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-3b80943c] .actioner-container{width:100%}.action-main[data-v-3b80943c] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:20px;border-bottom:1px solid #eee;justify-content:center;padding:0 10px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;color:#0060ff;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-3b80943c] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-3b80943c] .actioner-container .actioner-container_body{padding:1rem;text-align:center;width:100%;height:400px}.action-main[data-v-3b80943c] .actioner-container .actioner-container_body a{text-decoration:none}.action-main[data-v-3b80943c] .actioner-container .actioner-container_body.ddnsto-bind{height:280px}@keyframes bganimation-3b80943c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3b80943c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3b80943c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3b80943c]{animation:rotateEnter-3b80943c .7s;position:relative}.rotate-leave-active[data-v-3b80943c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3b80943c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-3b80943c]{width:90%}}@keyframes bganimation-145a3c50{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-145a3c50{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-145a3c50{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-145a3c50]{animation:rotateEnter-145a3c50 .7s;position:relative}.rotate-leave-active[data-v-145a3c50]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-145a3c50]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action[data-v-145a3c50]{width:500px;max-height:90%;background-color:#fff;position:relative;z-index:99999;margin:auto;border-radius:4px;padding:10px 0}.action .action-header[data-v-145a3c50]{width:100%;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;padding-left:1rem;padding-right:1rem;text-align:left;font-size:18px;line-height:1;color:#303133}.action .action-body[data-v-145a3c50]{display:block;margin:2rem 0;line-height:24px;padding:0 15px;color:#606266;font-size:14px}.action .action-footer[data-v-145a3c50]{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action .next[data-v-145a3c50]{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:120px;height:32px;background:#553AFE;border-radius:2px}.action .next[data-v-145a3c50]:hover{opacity:.8}.action .clear[data-v-145a3c50]{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action .clear[data-v-145a3c50]:hover{opacity:.8}@keyframes bganimation-2c659599{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2c659599{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2c659599{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2c659599]{animation:rotateEnter-2c659599 .7s;position:relative}.rotate-leave-active[data-v-2c659599]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2c659599]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.title_info[data-v-2c659599]{display:block;width:100%;text-align:center}.title_info p[data-v-2c659599]{font-size:20px;margin-bottom:10px}.label-item[data-v-2c659599]{width:100%;margin:1rem 0}.label-item .label-item_key[data-v-2c659599]{width:100%;font-size:12px;color:#666}.label-item .label-item_key span[data-v-2c659599]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-2c659599]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-2c659599]{width:100%;margin-top:5px}.label-item .label-item_value select[data-v-2c659599],.label-item .label-item_value input[data-v-2c659599]{width:100%;height:36px;color:#000}.label-item .label-item_value input[data-v-2c659599]::placeholder{color:#999;font-size:12PX}.label-item .label_tips[data-v-2c659599]{display:flex;margin-top:6px}.label-item .label_tips .info[data-v-2c659599]{margin-left:8px}.label-message[data-v-2c659599]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}@keyframes bganimation-8a1e6470{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8a1e6470{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8a1e6470{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8a1e6470]{animation:rotateEnter-8a1e6470 .7s;position:relative}.rotate-leave-active[data-v-8a1e6470]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8a1e6470]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-8a1e6470]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-8a1e6470] .actioner-container{width:100%}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:20px;border-bottom:1px solid #eee;justify-content:center;padding:0 10px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .next.save{height:32px;background:#553AFE;border-radius:2px;line-height:16px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-8a1e6470] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body{padding:1rem;width:100%;height:400px}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body a{text-decoration:none}.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body.ali,.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body.dnspod,.action-main[data-v-8a1e6470] .actioner-container .actioner-container_body.oray{height:451px}@keyframes bganimation-8a1e6470{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-8a1e6470{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-8a1e6470{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-8a1e6470]{animation:rotateEnter-8a1e6470 .7s;position:relative}.rotate-leave-active[data-v-8a1e6470]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-8a1e6470]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-8a1e6470]{width:90%}}@keyframes bganimation-c59010b0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-c59010b0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-c59010b0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-c59010b0]{animation:rotateEnter-c59010b0 .7s;position:relative}.rotate-leave-active[data-v-c59010b0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-c59010b0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container[data-v-c59010b0]{position:relative;flex-wrap:wrap;width:100%;height:100%}.app-container a[data-v-c59010b0]{text-decoration:none}.app-container .app-container_title[data-v-c59010b0]{justify-content:space-between}.app-container .app-container_title .app-container_tool[data-v-c59010b0]{display:flex;flex-wrap:wrap;align-items:center}.app-container .app-container_title .app-container_tool .app-container_configure[data-v-c59010b0]{height:30px;border-radius:4px;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:var(--item_btn-color);display:inline-block;padding:0 10px;border:var(--item_btn-border);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-container .app-container_title .app-container_tool .more_icon[data-v-c59010b0]{border-radius:0 4px 4px 0;border-right:var(--item_btn-border);border-top:var(--item_btn-border);border-bottom:var(--item_btn-border);height:30px;display:inline-block;cursor:pointer}.app-container .app-container_title .app-container_tool .more_icon[data-v-c59010b0] svg path{fill:var(--item_btn-color)}.app-container .app-container_title .DeviceBlock[data-v-c59010b0]{font-size:14px;top:34px;position:absolute;z-index:999;width:40%;right:22px}.app-container .app-container_title .DeviceBlock ul[data-v-c59010b0]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:0;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container .app-container_title .DeviceBlock ul li[data-v-c59010b0]{margin:6px 0;line-height:28px;cursor:pointer}.app-container .app-container_title .DeviceBlock ul li a[data-v-c59010b0]{color:#1e1e1e;text-decoration:none;cursor:pointer;margin:0 20px;display:block}.app-container .app-container_title .DeviceBlock ul li[data-v-c59010b0]:hover{background-color:#eee}.app-container button[data-v-c59010b0],.app-container .refresh[data-v-c59010b0]{margin-left:20px}.app-container .app-container_body[data-v-c59010b0]{width:100%;height:100%}.menu_background[data-v-c59010b0]{position:fixed;inset:0}.app-container_domain li.domain-item[data-v-c59010b0]{width:100%;display:flex;flex-wrap:wrap;margin:1.5rem 0;align-items:center}.app-container_domain li.domain-item .domain-item_name[data-v-c59010b0]{flex:0 0 100%;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.app-container_domain li.domain-item .domain-item_value[data-v-c59010b0]{flex:0 0 100%;max-width:50%;padding-left:10px;float:left;display:flex;align-items:center;justify-content:space-between}.app-container_domain li.domain-item .domain-item_value .configure[data-v-c59010b0]{overflow:hidden;white-space:nowrap;padding:3px;overflow-x:hidden;text-overflow:ellipsis}.app-container_domain li.domain-item .domain-item_value .item_btn[data-v-c59010b0]{border:var(--item_btn-border);border-radius:4px;font-size:12px;padding:7px;color:var(--item_btn-color);text-align:center;min-width:60px}.app-container_domain li.domain-item .domain-item_value .configure.enabel[data-v-c59010b0]{color:#888;overflow-x:hidden;text-overflow:ellipsis}.app-container_domain li.domain-item .domain-item_root[data-v-c59010b0]{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:16px;max-width:323px;flex:0 0 100%}.app-container_domain .domain_tip svg[data-v-c59010b0]{vertical-align:bottom;margin-left:22px}.app-container_domain .tooltip-trigger[data-v-c59010b0]{position:relative;display:inline-block;cursor:help;margin-right:6px}.app-container_domain .tooltip-trigger .tooltip-text[data-v-c59010b0]{visibility:hidden;position:absolute;padding:.5rem 1rem;background-color:#555;color:#fff;text-align:center;border-radius:6px;z-index:1;opacity:0;transition:opacity .6s}.app-container_domain .tooltip-trigger .tooltip-text span[data-v-c59010b0]{color:#fff}.app-container_domain .tooltip-trigger .tooltip-text .domain_dir_tip[data-v-c59010b0]{min-width:15rem;display:inline-block}.app-container_domain .tooltip-trigger:hover .tooltip-text[data-v-c59010b0]{visibility:visible;opacity:1}.app-container_domain .tooltip-top[data-v-c59010b0]{bottom:100%;left:50%;margin-bottom:5px;transform:translate(-50%);margin-left:12px}.app-container_domain .tooltip-right[data-v-c59010b0]{top:50%;left:100%;margin-left:5px;transform:translateY(-50%)}.app-container_domain .tooltip-left[data-v-c59010b0]{top:50%;right:100%;margin-right:5px;transform:translateY(-50%)}.app-container_domain .tooltip-top[data-v-c59010b0]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.app-container_domain .tooltip-bottom[data-v-c59010b0]:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #555 transparent}@keyframes bganimation-a221efb4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a221efb4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a221efb4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a221efb4]{animation:rotateEnter-a221efb4 .7s;position:relative}.rotate-leave-active[data-v-a221efb4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a221efb4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.nas-container[data-v-a221efb4]{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between}.nas-container .nas-container_card[data-v-a221efb4]{flex:0 0 49%;max-width:49%;margin-bottom:1.5vw}@keyframes bganimation-a221efb4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a221efb4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a221efb4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a221efb4]{animation:rotateEnter-a221efb4 .7s;position:relative}.rotate-leave-active[data-v-a221efb4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a221efb4]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 992px){.nas-container .nas-container_card[data-v-a221efb4]{flex:0 0 100%;max-width:100%;padding-right:0;margin-bottom:.8rem}}@keyframes bganimation-2baf3f98{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2baf3f98{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2baf3f98{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2baf3f98]{animation:rotateEnter-2baf3f98 .7s;position:relative}.rotate-leave-active[data-v-2baf3f98]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2baf3f98]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.app-container_title .more_icon[data-v-2baf3f98]{position:absolute;right:22px;cursor:pointer}.app-container_title .DeviceBlock[data-v-2baf3f98]{position:absolute;z-index:999;width:10%;right:22px;margin-top:14px}.app-container_title .DeviceBlock ul[data-v-2baf3f98]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:0;right:0;text-align:center;position:absolute;word-break:keep-all}.app-container_title .DeviceBlock ul li[data-v-2baf3f98]{margin:6px 0;line-height:28px;cursor:pointer}.app-container_title .DeviceBlock ul li a[data-v-2baf3f98]{color:#1e1e1e;text-decoration:none;cursor:pointer;font-size:14px;margin:0 20px;display:block}.app-container_title .DeviceBlock ul li[data-v-2baf3f98]:hover{background-color:#eee}.item-label[data-v-2baf3f98]{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;width:100%;margin:1rem 0}.item-label .item-label_key[data-v-2baf3f98]{flex:0 0 100%;max-width:100px;text-align:left}.item-label .item-label_key span[data-v-2baf3f98]{font-size:14px;color:var(--item-label_key-span-color)}.item-label .item-label_value[data-v-2baf3f98]{flex:1;text-align:left}.item-label .item-label_value span[data-v-2baf3f98]{font-size:14px;color:var(--item-label_value-span-color)}.item-title span[data-v-2baf3f98]{font-size:16px;font-weight:550;color:#555}.item-flex[data-v-2baf3f98]{width:100%;display:flex;flex-wrap:wrap}.item-flex .auto[data-v-2baf3f98]{flex:auto}.item-flex button.app-editor[data-v-2baf3f98]{padding:8px 1.3rem}.menu_background[data-v-2baf3f98]{position:fixed;inset:0}@keyframes bganimation-0d919a1e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0d919a1e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0d919a1e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0d919a1e]{animation:rotateEnter-0d919a1e .7s;position:relative}.rotate-leave-active[data-v-0d919a1e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0d919a1e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-0d919a1e]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-0d919a1e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-0d919a1e]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-0d919a1e]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-0d919a1e]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-0d919a1e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-0d919a1e]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-0d919a1e]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-0d919a1e],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-0d919a1e]{width:100%;height:36px}.actioner-dns .actioner-dns_body .chose_dhcp[data-v-0d919a1e]{height:1em;font-size:1.3em}.actioner-dns .actioner-dns_body .chose_dhcp .dhcp_info[data-v-0d919a1e]{margin-left:10px;user-select:none}.actioner-dns .actioner-dns_body .label-message[data-v-0d919a1e]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-0d919a1e]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-0d919a1e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-0d919a1e]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.setting_status[data-v-0d919a1e]{text-align:center}.setting_status p[data-v-0d919a1e]{margin:10px 0}.setting_status a[data-v-0d919a1e]{text-align:center;display:block;text-decoration:none}.NewAdress[data-v-0d919a1e]{margin-top:10px}@keyframes bganimation-0d919a1e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0d919a1e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0d919a1e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0d919a1e]{animation:rotateEnter-0d919a1e .7s;position:relative}.rotate-leave-active[data-v-0d919a1e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0d919a1e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-0d919a1e]{min-height:34vh}}@media screen and (max-width: 800px){.actioner-dns[data-v-0d919a1e]{width:100%}}@keyframes bganimation-59ad49e6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-59ad49e6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-59ad49e6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-59ad49e6]{animation:rotateEnter-59ad49e6 .7s;position:relative}.rotate-leave-active[data-v-59ad49e6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-59ad49e6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-59ad49e6]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_header span[data-v-59ad49e6]{margin:0 auto}.actioner-dns .actioner-dns_body[data-v-59ad49e6]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .sandbox_roboot_tips[data-v-59ad49e6]{margin-top:24px;text-align:center}.actioner-dns .actioner-dns_body .disk_loading_icon[data-v-59ad49e6]{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:10px}.actioner-dns .actioner-dns_body .disk_loading_icon .disk_loading_info[data-v-59ad49e6]{margin-top:5px}.actioner-dns .actioner-dns_body .disk_tips[data-v-59ad49e6]{text-align:center;font-size:16px;margin-top:159px;color:#f9ad1e}.actioner-dns .actioner-dns_body .disk_tips svg[data-v-59ad49e6]{vertical-align:middle}.actioner-dns .actioner-dns_body .disk_tips span[data-v-59ad49e6]{margin-left:6px}.actioner-dns .actioner-dns_body .sandbox_info[data-v-59ad49e6]{text-align:center;line-height:22px}.actioner-dns .actioner-dns_body .label-item[data-v-59ad49e6]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-59ad49e6]{width:100%;font-size:12px;color:#666}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-59ad49e6]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-59ad49e6]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-59ad49e6]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-59ad49e6],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-59ad49e6]{width:100%;height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-59ad49e6]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .actioner-dns_body .sandbox_tips svg[data-v-59ad49e6]{vertical-align:middle}.actioner-dns .actioner-dns_body .sandbox_tips span[data-v-59ad49e6]{font-size:12px;margin-left:4px}.actioner-dns .config-message[data-v-59ad49e6]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-59ad49e6]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.actioner-tips[data-v-59ad49e6]{width:400px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-tips .actioner-tips_header[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-tips .sandbox_info[data-v-59ad49e6]{padding:62px 54px;line-height:20px}.actioner-tips .actioner-tips_footer[data-v-59ad49e6]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.timeout[data-v-59ad49e6]{margin-top:114px}.timeout span[data-v-59ad49e6],.sandbox_roboot_refresh[data-v-59ad49e6]{color:#5e72e4}option[data-v-59ad49e6]:disabled{background-color:#e0e0e0}@keyframes bganimation-59ad49e6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-59ad49e6{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-59ad49e6{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-59ad49e6]{animation:rotateEnter-59ad49e6 .7s;position:relative}.rotate-leave-active[data-v-59ad49e6]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-59ad49e6]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-tips_footer button[data-v-59ad49e6]{width:100%!important}}@media screen and (max-width: 900px){.actioner-dns[data-v-59ad49e6]{width:100%}}@media screen and (max-width: 700px){.actioner-dns .actioner-dns_body[data-v-59ad49e6]{min-height:42vh}.actioner-tips[data-v-59ad49e6]{width:80%;line-height:22px}.actioner-tips .sandbox_info[data-v-59ad49e6]{padding:34px 10px;font-size:10px}.actioner-tips .actioner-tips_header[data-v-59ad49e6]{font-size:20px}.actioner-tips .actioner-tips_footer button[data-v-59ad49e6]{width:100%!important}}@media screen and (max-width: 600px){.actioner-dns .actioner-dns_footer button[data-v-59ad49e6]{width:100%!important;margin-bottom:10px;margin-left:0}}@media screen and (max-width: 500px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-59ad49e6]{width:228px;overflow:hidden;text-overflow:ellipsis}}@media screen and (max-width: 400px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-59ad49e6]{width:163px;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_footer button[data-v-59ad49e6]{width:100%!important;margin-bottom:10px}.actioner-tips .sandbox_info[data-v-59ad49e6]{padding:3px 10px}}@keyframes bganimation-3e084f0f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3e084f0f{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3e084f0f{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3e084f0f]{animation:rotateEnter-3e084f0f .7s;position:relative}.rotate-leave-active[data-v-3e084f0f]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3e084f0f]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-3e084f0f]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_header span[data-v-3e084f0f]{margin:0 auto}.actioner-dns .actioner-dns_body[data-v-3e084f0f]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .sandbox_info[data-v-3e084f0f]{text-align:center;line-height:22px}.actioner-dns .actioner-dns_body .sandbox_environment[data-v-3e084f0f]{font-size:16px;line-height:28px;margin:20px 0}.actioner-dns .actioner-dns_body .sandbox_environment_info[data-v-3e084f0f]{font-size:16px;line-height:28px}.actioner-dns .actioner-dns_body .sandbox_environment_info .sandbox_environment_reboot[data-v-3e084f0f]{color:#5e72e4}.actioner-dns .actioner-dns_body .sandbox_environment_info .sandbox_environment_tex[data-v-3e084f0f]{color:red;font-size:.9em}.actioner-dns .actioner-dns_footer[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-3e084f0f]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.actioner-tips[data-v-3e084f0f]{width:400px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-tips .actioner-tips_header[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-tips .sandbox_info[data-v-3e084f0f]{padding:62px 54px;line-height:20px}.actioner-tips .actioner-tips_footer[data-v-3e084f0f]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.timeout[data-v-3e084f0f]{margin-top:114px}.timeout span[data-v-3e084f0f]{color:#5e72e4}@keyframes bganimation-3e084f0f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-3e084f0f{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-3e084f0f{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-3e084f0f]{animation:rotateEnter-3e084f0f .7s;position:relative}.rotate-leave-active[data-v-3e084f0f]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-3e084f0f]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-tips_footer button[data-v-3e084f0f]{width:100%!important}}@media screen and (max-width: 900px){.actioner-dns[data-v-3e084f0f]{width:100%}}@media screen and (max-width: 700px){.actioner-dns .actioner-dns_body[data-v-3e084f0f]{min-height:42vh}.actioner-dns .actioner-dns_footer button[data-v-3e084f0f]{width:100%!important;margin-bottom:10px}.actioner-tips[data-v-3e084f0f]{width:80%;line-height:22px}.actioner-tips .sandbox_info[data-v-3e084f0f]{padding:34px 10px;font-size:10px}.actioner-tips .actioner-tips_header[data-v-3e084f0f]{font-size:20px}.actioner-tips .actioner-tips_footer button[data-v-3e084f0f]{width:100%!important}}@media screen and (max-width: 600px){.actioner-dns .actioner-dns_footer button[data-v-3e084f0f]{width:100%!important;margin-bottom:10px;margin-left:0}}@media screen and (max-width: 500px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-3e084f0f]{width:228px;overflow:hidden;text-overflow:ellipsis}}@media screen and (max-width: 400px){.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-3e084f0f]{width:163px;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .sandbox_info[data-v-3e084f0f]{font-size:10px}.actioner-dns .actioner-dns_body .sandbox_environment[data-v-3e084f0f],.actioner-dns .actioner-dns_body .sandbox_environment_info[data-v-3e084f0f]{font-size:12px}.actioner-tips .sandbox_info[data-v-3e084f0f]{padding:3px 10px}}@keyframes bganimation-501131da{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-501131da{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-501131da{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-501131da]{animation:rotateEnter-501131da .7s;position:relative}.rotate-leave-active[data-v-501131da]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-501131da]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.nav-container[data-v-501131da]{width:100%;margin-bottom:8px}.nav-container .btn_styles[data-v-501131da]{width:132px;height:52px;border-radius:8px;margin-right:8px}.nav-container .app-update-button-combind[data-v-501131da]{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;position:relative;padding:0}.nav-container .app-update-button-combind .app-update-button[data-v-501131da]{flex:auto;display:flex;align-items:center;height:100%}.nav-container .app-update-button-combind .app-update-button .app-update-button-text[data-v-501131da]{flex:auto}.nav-container .app-update-button-combind .app-update-button .app-update-button-text i[data-v-501131da]{display:inline-block;padding:3px;background-color:red;border-radius:50%}.nav-container .app-update-button-combind .app-update-button-more[data-v-501131da]{display:inline-flex;width:28px;border-left:solid 1px;align-items:center;justify-content:center;flex-wrap:nowrap;height:100%}.nav-container .app-update-button-combind .app-update-button-more[data-v-501131da] svg path{color:inherit!important;fill:currentColor}.nav-container .app-update-button-combind .app-update-button-menu[data-v-501131da]{position:absolute;z-index:999;width:30%;right:0;top:100%}.nav-container .app-update-button-combind .app-update-button-menu ul[data-v-501131da]{background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 0;border-radius:6px;top:8px;right:0;text-align:center;position:absolute;word-break:keep-all}.nav-container .app-update-button-combind .app-update-button-menu ul li[data-v-501131da]{cursor:pointer;font-size:16px;line-height:1em;color:#1e1e1e;padding:0 5px;position:relative}.nav-container .app-update-button-combind .app-update-button-menu ul li .app-update-menu-item[data-v-501131da]{padding:5px 2px;white-space:nowrap}.nav-container .app-update-button-combind .app-update-button-menu ul li .app-update-menu-item-loading[data-v-501131da]{display:flex;justify-content:center;align-items:center;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fffc}.nav-container .cover-buttob[data-v-501131da]{margin-left:0;margin-right:5px}.nav-container a[data-v-501131da]{padding:12px 1rem;margin-right:1rem;margin-bottom:1rem;display:inline-block;min-width:100px;text-align:center}.nav-container a[data-v-501131da]:hover{box-shadow:0 0 10px 1px #c5c5c5;transition:.3s;transform:scale(1.1)}.nav-container .app-btn-ttyd[data-v-501131da]:before{content:"\276f "}.nav-container .MoreMenu[data-v-501131da]{cursor:pointer;color:#297ff3;margin-left:20px;font-size:16px;font-weight:600}.nav-container[data-v-501131da]{display:flex;justify-content:start;align-items:center;flex-wrap:wrap;width:100%}.nav-container button[data-v-501131da]{cursor:pointer;margin-bottom:10px}.nav-container button[data-v-501131da]:hover{box-shadow:0 0 2px #0000001f,0 2px 2px #0003}.update[data-v-501131da]{visibility:hidden}.color1[data-v-501131da]{border:1px solid #553AFE;color:#533afe;background:rgba(85,58,254,.16)}.color2[data-v-501131da]{background:#2b2b2b;border:#444;color:#fff}.color3[data-v-501131da]{border:1px solid #FF6A67;background:rgba(255,107,103,.16);color:#ff6a67}.color4[data-v-501131da]{border:1px solid #3688FF;background:rgba(51,134,255,.16);color:#3688ff}.color5[data-v-501131da]{border:1px solid #FE3ACC;background:rgba(254,58,204,.16);color:#fe3acc}.menu_background[data-v-501131da]{position:fixed;inset:0}@keyframes bganimation-eb96c2c2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-eb96c2c2{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-eb96c2c2{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-eb96c2c2]{animation:rotateEnter-eb96c2c2 .7s;position:relative}.rotate-leave-active[data-v-eb96c2c2]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-eb96c2c2]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}button[data-v-eb96c2c2]{outline:none;cursor:pointer;border:none}.skip[data-v-eb96c2c2]{font-size:16px;color:#0060ff;line-height:22px;margin:12px 0 0;cursor:pointer}.pc-radio[data-v-eb96c2c2]{display:flex;flex-wrap:wrap;align-items:center}.label-flex.pc-radio label[data-v-eb96c2c2]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.label-flex.pc-radio input[type=radio][data-v-eb96c2c2]{margin:0 4px 0 0;top:0}.mobile-switch[data-v-eb96c2c2]{display:none;align-items:center}.switch-core[data-v-eb96c2c2]{position:relative;width:50px;border:1px solid #dcdfe6;outline:none;border-radius:20px;box-sizing:border-box;background:#dcdfe6;cursor:pointer;transition:border-color .3s,background-color .3s;display:inline-block}.switch-core.is-checked[data-v-eb96c2c2]{border-color:#409eff;background-color:#409eff}.switch-core.is-disabled[data-v-eb96c2c2]{opacity:.6;cursor:not-allowed}.switch-button[data-v-eb96c2c2]{position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff}.switch-core.is-checked .switch-button[data-v-eb96c2c2]{transform:translate(20px)}.switch-label[data-v-eb96c2c2]{font-size:14px;color:#999}.switch-label.active[data-v-eb96c2c2]{color:#409eff}form.form-container[data-v-eb96c2c2]{display:block;width:100%;padding:0 1rem}form.form-container .label-name[data-v-eb96c2c2]{display:block;width:100%;margin-bottom:.5rem;color:var(--item-label_key-span-color)}form.form-container .label-name span[data-v-eb96c2c2]:before{content:"*";color:#f56c6c;margin-right:4px;width:10px;display:inline-block;vertical-align:middle}form.form-container .label-value[data-v-eb96c2c2]{display:block;width:100%;margin-bottom:1rem}form.form-container .label-value input[data-v-eb96c2c2],form.form-container .label-value select[data-v-eb96c2c2]{display:block;width:100%;height:42px;background:none;border:1px solid #c2c2c2;color:var(--item-label_key-span-color);font-size:14px}form.form-container .label-value input>option[data-v-eb96c2c2],form.form-container .label-value select>option[data-v-eb96c2c2]{color:#8898aa}form.form-container .label-value input[data-v-eb96c2c2]:focus,form.form-container .label-value select[data-v-eb96c2c2]:focus{transition:.2s;border:1px solid #418dfe}form.form-container .label-value select[data-v-eb96c2c2]{border-radius:3px;padding:0 10px}form.form-container .label-value input[data-v-eb96c2c2]{border-left:none!important;border-right:none!important;border-top:none!important;box-shadow:none!important;padding:0 10px}form.form-container .label-value input[type=checkbox][data-v-eb96c2c2],form.form-container .label-value input[type=radio][data-v-eb96c2c2]{width:auto}form.form-container .label-value input[type=radio][data-v-eb96c2c2]{margin:0 4px 0 0;top:0}form.form-container .label-value input[data-v-eb96c2c2]:disabled{background-color:#eee;border:1px solid #c2c2c2;border-radius:3px}form.form-container .label-value input[data-v-eb96c2c2]::placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-eb96c2c2]:-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-eb96c2c2]::-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-btns[data-v-eb96c2c2]{width:100%;display:flex;flex-wrap:wrap;justify-content:center}form.form-container .label-msg[data-v-eb96c2c2]{display:block;width:100%;color:#ff3b3b;font-size:14px}form.form-container .label-msg.warning[data-v-eb96c2c2]{color:#f9ad1e}form.form-container .label-flex[data-v-eb96c2c2]{width:100%;display:flex;flex-wrap:wrap;align-items:center}form.form-container .label-flex label[data-v-eb96c2c2]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.form-item[data-v-eb96c2c2]{display:flex;align-items:center;height:55px}.form-item .label-name[data-v-eb96c2c2]{width:180px!important}.form-item .label-value[data-v-eb96c2c2]{width:300px!important;padding-top:10px;position:relative;display:flex!important;align-items:center}p[data-v-eb96c2c2]{font-size:1em;color:#999;line-height:26px;text-align:left;margin-bottom:1rem}.label-btns[data-v-eb96c2c2]{width:500px!important}.label-btns .btn[data-v-eb96c2c2]{width:300px!important;text-align:center;border-radius:32px}.label-btns .btn[data-v-eb96c2c2]:hover{background:#5279f7;transition:.3}.label-btns .primary-btn[data-v-eb96c2c2]{border:none;background:#5279f7;color:#fff}.label-btns .primary-btn[data-v-eb96c2c2]:hover{opacity:.9;transition:.3}select[data-v-eb96c2c2]:disabled{background-color:#eee!important;border:1px solid #c2c2c2!important}.seeIcon[data-v-eb96c2c2]{width:22px;height:22px;position:absolute;cursor:pointer;z-index:1;right:6px;top:50%;transform:translateY(-50%) scale(1);transition:all .3s ease;transform-origin:center}.seeIcon[data-v-eb96c2c2]:hover{transform:translateY(-50%) scale(1.1)}@keyframes bganimation-a3d59e16{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a3d59e16{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a3d59e16{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a3d59e16]{animation:rotateEnter-a3d59e16 .7s;position:relative}.rotate-leave-active[data-v-a3d59e16]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a3d59e16]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.page-container[data-v-a3d59e16]{width:100%;background-color:var(--card-bg-color);border-radius:6px;padding:24px 0 16px 16px}.mobile-tags-container[data-v-a3d59e16]{display:block;width:100%;margin-bottom:16px;position:relative}.page-flex .page-sidebar[data-v-a3d59e16]{display:none}.page-flex .page-sidebar .item[data-v-a3d59e16]{width:100%;height:42px;line-height:42px;font-size:16px;cursor:pointer;color:var(--item-label_key-span-color);display:block;user-select:none;position:relative;display:flex;flex-wrap:wrap;align-items:center}.page-flex .page-sidebar .item[data-v-a3d59e16]:hover,.page-flex .page-sidebar .item.activeItem[data-v-a3d59e16]{transition:.3s;color:#418cff}.page-flex .page-sidebar .item.activeItem[data-v-a3d59e16]:before{content:"";position:absolute;left:-1rem;width:3px;height:20px;background-color:#4388ff}.page-flex .page-main[data-v-a3d59e16]{flex:1}.tags-scroll[data-v-a3d59e16]{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;height:100%;align-items:center;white-space:nowrap;padding-right:40px;scrollbar-width:thin;scrollbar-color:#ccc transparent}.tags-scroll[data-v-a3d59e16]::-webkit-scrollbar{height:4px;background:transparent}.tags-scroll[data-v-a3d59e16]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.tag-item[data-v-a3d59e16]{flex-shrink:0;padding:7px 12px;margin-right:8px;border-radius:4px;background-color:var(--tag-bg-color);color:var(--item-label_key-span-color);font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.tag-item.active[data-v-a3d59e16]{background-color:#5279f7;color:#fff}.popup-overlay[data-v-a3d59e16]{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:flex-start}.popup-content[data-v-a3d59e16]{width:100%;max-height:85vh;background-color:var(--popup-bg-color);border-radius:0 0 4px 4px;animation:slideDown-a3d59e16 .3s ease-out;overflow-y:auto;padding-top:25px}.popup-content .popup-tag-item[data-v-a3d59e16],.popup-content .active[data-v-a3d59e16]{text-align:center;padding:8px 12px 5px;width:calc((100% - 24px) / 3)}@keyframes slideDown-a3d59e16{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.popup-tags[data-v-a3d59e16]{padding:12px;display:flex;flex-wrap:wrap;gap:8px;max-height:70vh;overflow-y:auto}.popup-tag-item[data-v-a3d59e16]{padding:7px 12px;border-radius:4px;background-color:#f5f5f5;color:#333;font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.popup-tag-item.active[data-v-a3d59e16]{background-color:#5279f7;color:#fff}.popup-footer[data-v-a3d59e16]{display:flex;padding:12px;border-top:1px solid #f0f0f0}.popup-footer button[data-v-a3d59e16]{flex:1;height:36px;border-radius:23px;font-size:14px;cursor:pointer}.popup-footer .cancel-btn[data-v-a3d59e16]{background-color:#f5f5f5;color:#000;border:none;margin-right:12px}.popup-footer .confirm-btn[data-v-a3d59e16]{background-color:#5279f7;color:#fff;border:none}@keyframes bganimation-500739e0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-500739e0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-500739e0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-500739e0]{animation:rotateEnter-500739e0 .7s;position:relative}.rotate-leave-active[data-v-500739e0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-500739e0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.ddnsto-bind[data-v-500739e0]{position:fixed;inset:0;text-align:center;z-index:100;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;overflow:hidden}.ddnsto-bind .ddnsto-container_bg[data-v-500739e0]{inset:0;width:100%;height:100%;background:rgba(0,0,0,.4);position:absolute;cursor:pointer;overflow:hidden}.ddnsto-bind .btn1[data-v-500739e0]{padding:10px 16px;background:#0060FF;border-radius:4px;font-size:16px;color:#fff;line-height:22px;display:inline;cursor:pointer}.ddnsto-bind .ddnsto-container[data-v-500739e0]{position:relative;display:block;width:582px;background:#fff;box-shadow:0 12px 48px 16px #00000008,0 9px 28px #0000000d,0 6px 16px -8px #00000014;border-radius:2px;transition:.3s}.ddnsto-bind .ddnsto-container .hello[data-v-500739e0]{padding:40px 0}.ddnsto-bind .ddnsto-container .hello>img[data-v-500739e0]{width:100px;height:100px}.ddnsto-bind .ddnsto-container .hello>p[data-v-500739e0]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:24px;line-height:33px;margin:24px 0 32px}.ddnsto-bind .ddnsto-container .hello .radio_container[data-v-500739e0]{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.ddnsto-bind .ddnsto-container .hello .radio_container .radio[data-v-500739e0]{width:16px;height:16px;border:1px solid #ccc;border-radius:50%;margin-right:10px;cursor:pointer}.ddnsto-bind .ddnsto-container .hello .radio_container .active[data-v-500739e0]{background:none;border:1px solid #0060FF!important}.ddnsto-bind .ddnsto-container .hello .radio_container .yuan[data-v-500739e0]{margin-top:50%;margin-left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border-radius:50%}.ddnsto-bind .ddnsto-container .hello .radio_container .yuan1[data-v-500739e0]{background:#0060FF!important}.ddnsto-bind .ddnsto-container .hello .radio_container .radio_text[data-v-500739e0]{font-size:16px;color:#000000d4;line-height:24px}.ddnsto-bind .ddnsto-container .hello .radio_container .radio_text>a[data-v-500739e0]{color:#0060ff}.ddnsto-bind .ddnsto-container .hello .confirm[data-v-500739e0]{background:#0060FF;border-radius:6px;padding:10px 20px;color:#fff;display:inline;font-size:16px;line-height:22px;cursor:pointer}.ddnsto-bind .ddnsto-container .popular_container[data-v-500739e0]{padding:26px 14px 30px}.ddnsto-bind .ddnsto-container .popular_container>p[data-v-500739e0]{font-weight:500;font-size:20px;line-height:33px;font-weight:600}.ddnsto-bind .ddnsto-container .popular_container .tip[data-v-500739e0]{color:#616262;margin:6px 0 20px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .popular_txt[data-v-500739e0]{padding-left:47px;font-size:12px;text-align:left;margin-bottom:30px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .popular_txt>a[data-v-500739e0]{color:#0060ff;margin-left:6px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers[data-v-500739e0]{width:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;margin:1rem 0 0}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item[data-v-500739e0]{flex:0 0 100%;position:relative;border-radius:4px;padding:10px;cursor:pointer;max-width:160px;width:160px;height:205px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item .cover .thumbnail svg[data-v-500739e0]{width:80px;height:80px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item .cover .thumbnail>span[data-v-500739e0]{font-size:12px!important;line-height:12px!important;margin-bottom:6px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a[data-v-500739e0]{position:relative;display:block;width:100%}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover[data-v-500739e0]{position:relative;padding-top:130%;z-index:1}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover .thumbnail[data-v-500739e0]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:8px;overflow:hidden;z-index:1;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;background-color:#2dc8fd}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover .thumbnail i[data-v-500739e0]{display:block;font-size:100px;color:#eee}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item a .cover .thumbnail span[data-v-500739e0]{display:block;text-align:center;width:100%;color:#eeee;font-size:2em;line-height:1.5;font-size:22px;font-family:PingFangSC-Semibold,PingFang SC;color:#fff;line-height:40px}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+1) a .cover .thumbnail[data-v-500739e0]{background:linear-gradient(138deg,#FF6E6B 0%,#FF6966 100%)}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+2) a .cover .thumbnail[data-v-500739e0]{background:linear-gradient(145deg,#37D5A9 0%,#42D8B0 100%)}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+3) a .cover .thumbnail[data-v-500739e0]{background:linear-gradient(145deg,#549AFF 0%,#2C82FF 100%)}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+4) a .cover .thumbnail[data-v-500739e0]{background-color:#9b58de}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+5) a .cover .thumbnail[data-v-500739e0]{background-color:#297ff3}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+6) a .cover .thumbnail[data-v-500739e0]{background-color:#27aa8f}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+7) a .cover .thumbnail[data-v-500739e0]{background-color:#f15a4a}.ddnsto-bind .ddnsto-container .popular_container .popular_item .network-containers .network-container_item:nth-child(9n+8) a .cover .thumbnail[data-v-500739e0]{background-color:#439c07}.ddnsto-bind .ddnsto-container .wx_qr[data-v-500739e0]{padding:65px 0 32px}.ddnsto-bind .ddnsto-container .wx_qr>p[data-v-500739e0]{font-size:24px;line-height:33px}.ddnsto-bind .ddnsto-container .wx_qr .txt[data-v-500739e0]{color:#ffffffd4;font-size:16px;line-height:24px}.ddnsto-bind .ddnsto-container .wx_qr img[data-v-500739e0]{width:250px;height:250px;margin:16px 0 40px}.ddnsto-bind .ddnsto-container .set_up[data-v-500739e0]{padding:16px 24px}.ddnsto-bind .ddnsto-container .set_up .title[data-v-500739e0]{font-size:16px;font-weight:600}.ddnsto-bind .ddnsto-container .set_up>p[data-v-500739e0]{font-size:16px;color:#000c;line-height:22px;margin:16px 0;text-align:left}.ddnsto-bind .ddnsto-container .set_up .password[data-v-500739e0]{display:flex;align-items:center;justify-content:center;margin-bottom:16px}.ddnsto-bind .ddnsto-container .set_up .password .input_tip[data-v-500739e0]{width:25%;text-align:right}.ddnsto-bind .ddnsto-container .set_up .password .input_box[data-v-500739e0]{width:50%;position:relative}.ddnsto-bind .ddnsto-container .set_up .password .input_box .password_input[data-v-500739e0]{width:100%}.ddnsto-bind .ddnsto-container .set_up .password .input_box .password_tip[data-v-500739e0]{font-size:14px;color:#0009;line-height:20px;position:absolute;bottom:-20px;left:0}.ddnsto-bind .ddnsto-container .set_up .password .password_input[data-v-500739e0]{padding:2px 6px;width:50%}.ddnsto-bind .ddnsto-container .set_up .occupy[data-v-500739e0]{height:30px}.ddnsto-bind .ddnsto-container .set_up .skip[data-v-500739e0]{font-size:16px;color:#0060ff;line-height:22px;margin:20px 0 0;cursor:pointer}.ddnsto-bind .ddnsto-container .domain_container[data-v-500739e0]{padding:40px 0 16px}.ddnsto-bind .ddnsto-container .domain_container .title[data-v-500739e0]{font-size:24px;line-height:33px}.ddnsto-bind .ddnsto-container .domain_container>p[data-v-500739e0]{font-size:16px;color:#000000d4;line-height:24px;margin-top:16px}.ddnsto-bind .ddnsto-container .domain_container .domain_img[data-v-500739e0]{display:flex;justify-content:center;margin:30px 0}.ddnsto-bind .ddnsto-container .domain_container .domain_img>img[data-v-500739e0]{width:308px;height:204px}.ddnsto-bind .ddnsto-container .domain_container .skip[data-v-500739e0]{font-size:16px;color:#0060ff;line-height:22px;margin:30px 0 20px;cursor:pointer}.ddnsto-bind .ddnsto-container .domain_container .tip[data-v-500739e0]{font-size:14px;color:#000000d4;line-height:24px}.ddnsto-bind .ddnsto-container .domain_container .tip>a[data-v-500739e0]{color:#0060ff}.ddnsto-bind .ddnsto-container .domain_container .btn1[data-v-500739e0]{margin-top:30px}@keyframes bganimation-9527eafe{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-9527eafe{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-9527eafe{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-9527eafe]{animation:rotateEnter-9527eafe .7s;position:relative}.rotate-leave-active[data-v-9527eafe]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-9527eafe]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}em[data-v-9527eafe]{margin:.3125rem 0;width:100%;display:block;height:1px;background-color:#eeeeee2e}[data-v-9527eafe] .app-container_title{width:100%;height:34px;display:flex;flex-wrap:wrap;align-items:center;color:var(--app-container_title-color);font-size:1.5em}[data-v-9527eafe] .more_icon{z-index:0}@keyframes bganimation-0b149a51{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0b149a51{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0b149a51{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0b149a51]{animation:rotateEnter-0b149a51 .7s;position:relative}.rotate-leave-active[data-v-0b149a51]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0b149a51]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-0b149a51]{width:100%;padding:1rem;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:center;max-width:800px;height:100vh;overflow:overlay}#page .title[data-v-0b149a51]{width:100%;display:block;text-align:center;font-size:32px;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#000c;line-height:45px}#page .desc[data-v-0b149a51]{width:100%;display:block;font-size:24px;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#0009;line-height:33px;text-align:center;margin-top:10px}#page div.info[data-v-0b149a51]{width:100%;display:block;font-size:1.6em;font-size:16px;margin-left:34px}#page .network-containers[data-v-0b149a51]{width:100%;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;margin:3rem 0 1rem}#page .network-containers .network-container_item[data-v-0b149a51]{flex:0 0 100%;position:relative;border-radius:4px;padding:10px;cursor:pointer;max-width:240px;width:240px;height:308px}#page .network-containers .network-container_item a[data-v-0b149a51]{position:relative;display:block;width:100%}#page .network-containers .network-container_item a .cover[data-v-0b149a51]{position:relative;padding-top:130%;z-index:1}#page .network-containers .network-container_item a .cover .thumbnail[data-v-0b149a51]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:8px;overflow:hidden;z-index:1;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;background-color:#2dc8fd}#page .network-containers .network-container_item a .cover .thumbnail i[data-v-0b149a51]{display:block;font-size:100px;color:#eee}#page .network-containers .network-container_item a .cover .thumbnail span[data-v-0b149a51]{display:block;text-align:center;width:100%;color:#eeee;font-size:2em;line-height:1.5;font-size:22px;font-family:PingFangSC-Semibold,PingFang SC;color:#fff;line-height:40px}#page .network-containers .network-container_item:nth-child(9n+1) a .cover .thumbnail[data-v-0b149a51]{background:linear-gradient(138deg,#FF6E6B 0%,#FF6966 100%)}#page .network-containers .network-container_item:nth-child(9n+2) a .cover .thumbnail[data-v-0b149a51]{background:linear-gradient(145deg,#37D5A9 0%,#42D8B0 100%)}#page .network-containers .network-container_item:nth-child(9n+3) a .cover .thumbnail[data-v-0b149a51]{background:linear-gradient(145deg,#549AFF 0%,#2C82FF 100%)}#page .network-containers .network-container_item:nth-child(9n+4) a .cover .thumbnail[data-v-0b149a51]{background-color:#9b58de}#page .network-containers .network-container_item:nth-child(9n+5) a .cover .thumbnail[data-v-0b149a51]{background-color:#297ff3}#page .network-containers .network-container_item:nth-child(9n+6) a .cover .thumbnail[data-v-0b149a51]{background-color:#27aa8f}#page .network-containers .network-container_item:nth-child(9n+7) a .cover .thumbnail[data-v-0b149a51]{background-color:#f15a4a}#page .network-containers .network-container_item:nth-child(9n+8) a .cover .thumbnail[data-v-0b149a51]{background-color:#439c07}@keyframes bganimation-0b149a51{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0b149a51{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0b149a51{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0b149a51]{animation:rotateEnter-0b149a51 .7s;position:relative}.rotate-leave-active[data-v-0b149a51]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0b149a51]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-f442676c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f442676c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f442676c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f442676c]{animation:rotateEnter-f442676c .7s;position:relative}.rotate-leave-active[data-v-f442676c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f442676c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-f442676c]{width:100%;padding:1rem;margin:100px auto 0;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:600px}#page h2.title[data-v-f442676c]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0 0 10px;text-align:left;background-color:#f4f5f7;box-shadow:none}#page h3.desc[data-v-f442676c]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;margin:0;text-align:left;background-color:#f4f5f7;box-shadow:none}#page .network-message[data-v-f442676c]{margin:.5rem 0}#page .network-message li[data-v-f442676c]{margin:.5rem 0;font-size:20px;color:#000;font-weight:550}#page .network-message li span[data-v-f442676c]{color:red}#page .network-message li a[data-v-f442676c]{color:#00f}#page form[data-v-f442676c]{display:block;width:100%;margin:3rem 0}#page form label[data-v-f442676c]{display:block;width:100%;margin:1rem 0}#page form label .label-key[data-v-f442676c]{display:block;width:100%;font-size:1.3em;margin-bottom:.5rem}#page form label .label-key span[data-v-f442676c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page form label .label-key span[data-v-f442676c]:before{content:"*";color:#f56c6c;margin-right:4px}#page form label input[data-v-f442676c]{width:100%;display:block;height:42px}#page .chose_dhcp[data-v-f442676c]{height:1em;font-size:1.3em}#page .chose_dhcp .dhcp_info[data-v-f442676c]{margin-left:10px;user-select:none}#page .msg[data-v-f442676c]{width:100%;display:block;height:36px;line-height:36px;color:red;font-size:1.3em}#page .btns[data-v-f442676c]{width:100%;margin-top:3rem}#page .btns button[data-v-f442676c]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-162eca5f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-162eca5f{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-162eca5f{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-162eca5f]{animation:rotateEnter-162eca5f .7s;position:relative}.rotate-leave-active[data-v-162eca5f]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-162eca5f]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-162eca5f]{width:100%;padding:1rem;margin:100px auto 0;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:600px}#page h2.title[data-v-162eca5f]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0 0 10px;text-align:left;background-color:#f4f5f7;box-shadow:none}#page h3.desc[data-v-162eca5f]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;margin:0;text-align:left;background-color:#f4f5f7;box-shadow:none}#page .network-message[data-v-162eca5f]{margin:.5rem 0}#page .network-message li[data-v-162eca5f]{margin:.5rem 0;font-size:20px;color:#000;font-weight:550}#page .network-message li span[data-v-162eca5f]{color:red}#page .network-message li a[data-v-162eca5f]{color:#00f}#page form[data-v-162eca5f]{display:block;width:100%;margin:3rem 0}#page form label[data-v-162eca5f]{display:block;width:100%;margin:1rem 0}#page form label .label-key[data-v-162eca5f]{display:block;width:100%;font-size:1.3em;margin-bottom:.5rem}#page form label .label-key span[data-v-162eca5f]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page form label .label-key span[data-v-162eca5f]:before{content:"*";color:#f56c6c;margin-right:4px}#page form label input[data-v-162eca5f],#page form label select[data-v-162eca5f]{width:100%;display:block;height:42px}#page .chose_dhcp[data-v-162eca5f]{height:1em;font-size:1.3em}#page .chose_dhcp .dhcp_info[data-v-162eca5f]{margin-left:10px;user-select:none}#page .msgs[data-v-162eca5f]{width:100%;display:block;height:36px;line-height:36px;color:red;font-size:1.3em}#page p.msg[data-v-162eca5f]{width:100%;display:block;color:red;font-size:1em}#page .btns[data-v-162eca5f]{width:100%;margin-top:3rem}#page .btns button[data-v-162eca5f]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-2dee59a8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2dee59a8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2dee59a8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2dee59a8]{animation:rotateEnter-2dee59a8 .7s;position:relative}.rotate-leave-active[data-v-2dee59a8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2dee59a8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page[data-v-2dee59a8]{width:100%;padding:1rem;margin:100px auto 0;display:flex;flex-wrap:wrap;justify-content:flex-start;max-width:600px}#page h2.title[data-v-2dee59a8]{width:100%;display:block;color:#1e1e1e;font-size:3em;padding:0;margin:0 0 10px;text-align:left;background-color:#f4f5f7;box-shadow:none}#page h3.desc[data-v-2dee59a8]{width:100%;display:block;color:#666;font-size:1.2em;padding:0;text-align:left;background-color:#f4f5f7;box-shadow:none}#page code[data-v-2dee59a8]{background-color:#eee;display:block;width:100%;font-size:1.3em;padding:1rem;line-height:2;margin:2rem 0}#page div.info[data-v-2dee59a8]{width:100%;display:block;margin:1rem 0;font-size:1.3em;text-align:left}#page .msgs[data-v-2dee59a8]{width:100%;display:block;height:36px;line-height:36px;color:red;font-size:1.3em}#page p.msg[data-v-2dee59a8]{width:100%;display:block;color:red;font-size:1em}#page .btns[data-v-2dee59a8]{width:100%;display:block;margin-top:3rem}#page .btns button[data-v-2dee59a8]{display:block;width:100%!important;margin:.5rem 0}#page form[data-v-2dee59a8]{display:block;width:100%;margin:3rem 0}#page form label[data-v-2dee59a8]{display:block;width:100%;margin:1rem 0}#page form label .label-key[data-v-2dee59a8]{display:block;width:100%;font-size:1.3em;margin-bottom:.5rem}#page form label .label-key span[data-v-2dee59a8]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page form label .label-key span[data-v-2dee59a8]:before{content:"*";color:#f56c6c;margin-right:4px}#page form label input[data-v-2dee59a8],#page form label select[data-v-2dee59a8]{width:100%;display:block;height:42px}.switch_inline[data-v-2dee59a8]{height:1em;font-size:1.3em}.switch_inline .switch_info[data-v-2dee59a8]{margin-left:10px;user-select:none}@keyframes bganimation-77451104{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-77451104{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-77451104{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-77451104]{animation:rotateEnter-77451104 .7s;position:relative}.rotate-leave-active[data-v-77451104]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-77451104]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}p[data-v-77451104]{line-height:22px;font-size:14px}.label-item[data-v-77451104]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-77451104]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-77451104]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-77451104]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-77451104]{width:100%;margin:10px 0}.label-item .label-item_value select[data-v-77451104],.label-item .label-item_value input[data-v-77451104]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value input[data-v-77451104]::placeholder{color:#999;font-size:12PX}.label-item .label-item_value label[data-v-77451104]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=checkbox][data-v-77451104]{top:0}.label-item .label-item_tips[data-v-77451104]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-77451104]{vertical-align:top}span.msg-warning[data-v-77451104]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}.label-message[data-v-77451104]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-container_body.setup-loading[data-v-77451104]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;text-align:center}.actioner-container_body.setup-loading span[data-v-77451104]{width:100%;display:block;font-size:1.2em;margin-top:1rem;color:#666}.actioner-container_body.setup-error[data-v-77451104]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;text-align:center}.actioner-container_body.setup-error svg.icon[data-v-77451104]{width:100px;height:100px}.actioner-container_body.setup-error span[data-v-77451104]{width:100%;display:block;font-size:1.4em;color:#ff6b6b}.actioner-container_body.setup-success[data-v-77451104]{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center}.actioner-container_body.setup-success svg.icon[data-v-77451104]{width:100px;height:100px}.actioner-container_body.setup-success .body-title[data-v-77451104]{width:100%;display:block;color:#1e1e1e;font-size:2em;padding:0;margin:1rem 0;text-align:center}.actioner-container_body.setup-success .body-tips[data-v-77451104]{text-align:center}.actioner-container_body.setup-success .body-info[data-v-77451104]{color:#666;font-size:1.3em;margin:1rem 0;width:100%;text-align:center}.actioner-container_body.setup-success .body-info span[data-v-77451104]{display:block}.actioner-container_body.setup-success .body-tips[data-v-77451104]{margin:1rem 0;display:block;width:100%}.actioner-container_body.setup-success .body-btns[data-v-77451104]{width:100%;margin-top:3rem}.actioner-container_body.setup-success .body-btns button[data-v-77451104]{display:block;width:100%!important;margin:.5rem 0}@keyframes bganimation-5ec616d8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-5ec616d8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-5ec616d8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-5ec616d8]{animation:rotateEnter-5ec616d8 .7s;position:relative}.rotate-leave-active[data-v-5ec616d8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-5ec616d8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-5ec616d8]{display:block;width:100%;height:100%;border:none;resize:none}@keyframes bganimation-70cb932e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-70cb932e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-70cb932e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-70cb932e]{animation:rotateEnter-70cb932e .7s;position:relative}.rotate-leave-active[data-v-70cb932e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-70cb932e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.label-item[data-v-70cb932e]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-70cb932e]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-70cb932e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-70cb932e]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-70cb932e]{width:100%}.label-item .label-item_value select[data-v-70cb932e]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value label[data-v-70cb932e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=radio][data-v-70cb932e]{top:0;margin:0}.label-item .label-item_tips[data-v-70cb932e]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-70cb932e]{vertical-align:top}span.msg-warning[data-v-70cb932e]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}@keyframes bganimation-56c0f6fb{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-56c0f6fb{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-56c0f6fb{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-56c0f6fb]{animation:rotateEnter-56c0f6fb .7s;position:relative}.rotate-leave-active[data-v-56c0f6fb]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-56c0f6fb]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.label-item[data-v-56c0f6fb]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-56c0f6fb]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-56c0f6fb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-56c0f6fb]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-56c0f6fb]{width:100%}.label-item .label-item_value select[data-v-56c0f6fb]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value label[data-v-56c0f6fb]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=radio][data-v-56c0f6fb]{top:0;margin:0}.label-item .label-item_tips[data-v-56c0f6fb]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-56c0f6fb]{vertical-align:top}span.msg-warning[data-v-56c0f6fb]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}@keyframes bganimation-0586260e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-0586260e{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-0586260e{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-0586260e]{animation:rotateEnter-0586260e .7s;position:relative}.rotate-leave-active[data-v-0586260e]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-0586260e]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.label-item[data-v-0586260e]{width:100%;margin:10px 0}.label-item .label-item_key[data-v-0586260e]{width:100%;font-size:14px;color:#999;margin-bottom:6px}.label-item .label-item_key span[data-v-0586260e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-item .label-item_key span[data-v-0586260e]:before{content:"*";color:#f56c6c;margin-right:4px}.label-item .label-item_value[data-v-0586260e]{width:100%}.label-item .label-item_value select[data-v-0586260e]{width:100%;height:36px;line-height:36px;color:#000}.label-item .label-item_value label[data-v-0586260e]{width:100%;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;margin:.5rem;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px;color:#666}.label-item .label-item_value label input[type=radio][data-v-0586260e]{top:0;margin:0}.label-item .label-item_tips[data-v-0586260e]{margin-top:10px;color:#666;font-size:14px}.label-item .label-item_tips svg[data-v-0586260e]{vertical-align:top}span.msg-warning[data-v-0586260e]{width:100%;text-align:left;font-size:14px;color:red;display:block;margin:10px 0}@keyframes bganimation-e20ba082{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-e20ba082{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-e20ba082{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-e20ba082]{animation:rotateEnter-e20ba082 .7s;position:relative}.rotate-leave-active[data-v-e20ba082]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-e20ba082]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-e20ba082]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-e20ba082] .actioner-container{width:100%}.action-main[data-v-e20ba082] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:20px;border-bottom:1px solid #eee;justify-content:center;padding:0 10px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .next.save{height:32px;background:#553AFE;border-radius:2px;line-height:16px}.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-e20ba082] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-e20ba082] .actioner-container .actioner-container_body{padding:20px;width:100%;height:400px}@keyframes bganimation-e20ba082{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-e20ba082{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-e20ba082{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-e20ba082]{animation:rotateEnter-e20ba082 .7s;position:relative}.rotate-leave-active[data-v-e20ba082]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-e20ba082]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-e20ba082]{width:90%}}@keyframes bganimation-f1411b40{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f1411b40{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f1411b40{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f1411b40]{animation:rotateEnter-f1411b40 .7s;position:relative}.rotate-leave-active[data-v-f1411b40]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f1411b40]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.cbi-map-descr[data-v-f1411b40]{margin-bottom:32px}.item-status[data-v-f1411b40]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.item-status-detail[data-v-f1411b40]{text-decoration:underline;cursor:help}@keyframes bganimation-2b6b4ef9{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2b6b4ef9{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2b6b4ef9{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2b6b4ef9]{animation:rotateEnter-2b6b4ef9 .7s;position:relative}.rotate-leave-active[data-v-2b6b4ef9]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2b6b4ef9]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}#page .cbi-map-descr[data-v-2b6b4ef9]{margin-bottom:1rem}#page[data-v-2b6b4ef9] .cbi-section{padding:1rem}#page[data-v-2b6b4ef9] span.cbi-page-actions.control-group{width:100%;display:block}@keyframes bganimation-f3b0d6f0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f3b0d6f0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f3b0d6f0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f3b0d6f0]{animation:rotateEnter-f3b0d6f0 .7s;position:relative}.rotate-leave-active[data-v-f3b0d6f0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f3b0d6f0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.action-main[data-v-f3b0d6f0]{width:680px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.action-main[data-v-f3b0d6f0] .actioner-container{width:100%}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_header{width:100%;height:50px;line-height:50px;display:flex;flex-wrap:wrap;align-items:center;font-size:16px;border-bottom:1px solid #eee;justify-content:flex-start;padding:0 1rem;color:#525f7f}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer{width:100%;height:50px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:0 30px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer button{display:inline-block;width:100px!important;margin:0;margin-left:1rem;padding:0;border:none}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .close{min-width:65px;font-weight:400;line-height:30px;text-align:center;cursor:pointer;height:32px;border-radius:2px;border:1px solid rgba(0,0,0,.15);font-size:14px;font-family:PingFangSC-Regular,PingFang SC;color:#000000d4;line-height:32px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .next{min-width:65px;line-height:32px;text-align:center;cursor:pointer;font-size:14px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;margin-left:20px;width:74px;height:32px;background:#553AFE;border-radius:2px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .next.save{height:32px;background:#553AFE;border-radius:2px;line-height:16px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .next:hover,.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_footer .close:hover{opacity:.9}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_body{padding:20px;width:100%;min-height:400px}.action-main[data-v-f3b0d6f0] .actioner-container .actioner-container_body label.cbi-value-title{width:150px!important}@keyframes bganimation-f3b0d6f0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-f3b0d6f0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-f3b0d6f0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-f3b0d6f0]{animation:rotateEnter-f3b0d6f0 .7s;position:relative}.rotate-leave-active[data-v-f3b0d6f0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-f3b0d6f0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 800px){.action-main[data-v-f3b0d6f0]{width:90%}}@keyframes bganimation-abf07ee0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-abf07ee0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-abf07ee0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-abf07ee0]{animation:rotateEnter-abf07ee0 .7s;position:relative}.rotate-leave-active[data-v-abf07ee0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-abf07ee0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-abf07ee0]{display:block;width:100%;height:400px;padding:1rem;font-size:14px;resize:none;border:none;background-color:#1e1e1e;color:#fff}@keyframes bganimation-4a646cde{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-4a646cde{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-4a646cde{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-4a646cde]{animation:rotateEnter-4a646cde .7s;position:relative}.rotate-leave-active[data-v-4a646cde]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-4a646cde]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-4a646cde]{display:block;width:100%;height:400px;padding:1rem;font-size:14px;resize:none;border:none;background-color:#1e1e1e;color:#fff}@keyframes bganimation-997c3dee{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-997c3dee{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-997c3dee{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-997c3dee]{animation:rotateEnter-997c3dee .7s;position:relative}.rotate-leave-active[data-v-997c3dee]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-997c3dee]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}textarea[data-v-997c3dee]{display:block;width:100%;height:500px;padding:1rem;font-size:14px;resize:none;border:1px solid #999;border-radius:3px}@keyframes bganimation-6f6071af{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6f6071af{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6f6071af{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6f6071af]{animation:rotateEnter-6f6071af .7s;position:relative}.rotate-leave-active[data-v-6f6071af]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6f6071af]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.actioner-dns[data-v-6f6071af]{width:860px;background-color:#fff;position:relative;z-index:99999;margin:auto;overflow:auto}.actioner-dns .actioner-dns_header[data-v-6f6071af]{width:100%;display:flex;flex-wrap:wrap;align-items:center;padding:1rem;font-size:2em;border-bottom:1px solid #eee}.actioner-dns .actioner-dns_body[data-v-6f6071af]{padding:1rem;min-height:50vh}.actioner-dns .actioner-dns_body .label-item[data-v-6f6071af]{width:100%;margin:1rem 0}.actioner-dns .actioner-dns_body .label-item .label-item_key[data-v-6f6071af]{width:100%;font-size:16px;color:#666;margin-bottom:10px}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-6f6071af]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioner-dns .actioner-dns_body .label-item .label-item_key span[data-v-6f6071af]:before{content:"*";color:#f56c6c;margin-right:4px}.actioner-dns .actioner-dns_body .label-item .label-item_value[data-v-6f6071af]{width:100%;margin-top:5px}.actioner-dns .actioner-dns_body .label-item .label-item_value select[data-v-6f6071af],.actioner-dns .actioner-dns_body .label-item .label-item_value input[data-v-6f6071af]{width:100%;min-height:36px}.actioner-dns .actioner-dns_body .label-message[data-v-6f6071af]{width:100%;text-align:left;font-size:14px;color:red;text-align:center}.actioner-dns .config-message[data-v-6f6071af]{width:100%;min-height:inherit;height:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:2em}.actioner-dns .actioner-dns_footer[data-v-6f6071af]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;font-size:2em;border-top:1px solid #eee}.actioner-dns .actioner-dns_footer button[data-v-6f6071af]{display:inline-block;width:100px!important;margin:0;margin-left:1rem}@keyframes bganimation-6f6071af{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6f6071af{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6f6071af{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6f6071af]{animation:rotateEnter-6f6071af .7s;position:relative}.rotate-leave-active[data-v-6f6071af]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6f6071af]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media screen and (max-width: 1400px){.actioner-dns .actioner-dns_body[data-v-6f6071af]{min-height:34vh}}@media screen and (max-width: 800px){.actioner-dns[data-v-6f6071af]{width:100%}}@keyframes bganimation-17a2fb98{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-17a2fb98{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-17a2fb98{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-17a2fb98]{animation:rotateEnter-17a2fb98 .7s;position:relative}.rotate-leave-active[data-v-17a2fb98]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-17a2fb98]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.icon[data-v-17a2fb98]{width:48px;height:100%;cursor:pointer}.interface-device-flex[data-v-17a2fb98]{display:flex;justify-content:center}.interface-device-flex .app-container_status-label_bg[data-v-17a2fb98]{width:0;min-width:130px;max-width:230px;overflow-y:hidden;flex:1 0 160px}.cbi-section-table-row .td.btns[data-v-17a2fb98]{text-align:left!important}tr>td,tr>th,.tr>.td,.tr>.th,.cbi-section-table-row:before,#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2){border:none}@keyframes bganimation-2c8ecf89{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2c8ecf89{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2c8ecf89{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2c8ecf89]{animation:rotateEnter-2c8ecf89 .7s;position:relative}.rotate-leave-active[data-v-2c8ecf89]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2c8ecf89]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.custom-table-container[data-v-2c8ecf89]{width:100%;font-size:14px;color:var(--flow-span-color)}.custom-table-container input[data-v-2c8ecf89]{margin:0}.custom-table-container .custom-table-wrapper[data-v-2c8ecf89]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.custom-table-container .custom-table[data-v-2c8ecf89]{width:100%;border-collapse:collapse;table-layout:auto}.custom-table-container .custom-table thead[data-v-2c8ecf89]{border-radius:8px!important;background:#F8F8F8}.custom-table-container .custom-table thead tr th[data-v-2c8ecf89]{color:var(--flow-span-color)!important;font-weight:500!important;border:none!important;padding:18px 8px!important;white-space:nowrap}.custom-table-container .custom-table tbody tr[data-v-2c8ecf89]{background:transparent;border-bottom:1px solid #f8f8f8!important}.custom-table-container .custom-table tbody tr[data-v-2c8ecf89]:last-child{border-bottom:none!important}.custom-table-container .custom-table tbody tr td[data-v-2c8ecf89]{padding:24px 8px!important;white-space:nowrap}.custom-table-container .custom-table tbody tr:hover td[data-v-2c8ecf89]{background-color:#00000005!important}.custom-table-container .custom-table tbody tr.empty-row td[data-v-2c8ecf89]{text-align:center!important;padding:30px 0!important;color:#c98d8d66!important;border-bottom:none!important}.custom-table-container .custom-table .selection-header[data-v-2c8ecf89],.custom-table-container .custom-table .selection-cell[data-v-2c8ecf89]{width:50px!important;min-width:50px!important;text-align:center!important}.custom-table-container .pagination-wrapper[data-v-2c8ecf89]{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:0 8px}.custom-table-container .pagination-wrapper .pagination-info[data-v-2c8ecf89]{color:#0009;font-size:13px}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-2c8ecf89]{min-width:32px;height:32px;margin:0 4px;padding:0 8px;background:#fff;color:#000000a6;cursor:pointer;transition:all .3s}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-2c8ecf89]:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-2c8ecf89]:disabled{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.custom-table-container .pagination-wrapper .pagination-controls button.active[data-v-2c8ecf89]{color:#fff;background-color:#1890ff;border-color:#1890ff}@media (max-width: 768px){.custom-table-container .custom-table thead tr th[data-v-2c8ecf89]{padding:8px 4px!important;font-size:13px!important}.custom-table-container .custom-table tbody tr td[data-v-2c8ecf89]{padding:12px 4px!important;font-size:13px!important}.custom-table-container .pagination-wrapper[data-v-2c8ecf89]{flex-direction:column;align-items:flex-start;gap:12px}.custom-table-container .pagination-wrapper .pagination-controls[data-v-2c8ecf89]{display:flex;flex-wrap:wrap;gap:4px}.custom-table-container .pagination-wrapper .pagination-controls button[data-v-2c8ecf89]{min-width:28px;height:28px;margin:0;padding:0 6px;font-size:13px}}@keyframes bganimation-d28f7d82{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-d28f7d82{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-d28f7d82{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-d28f7d82]{animation:rotateEnter-d28f7d82 .7s;position:relative}.rotate-leave-active[data-v-d28f7d82]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-d28f7d82]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.del-button[data-v-d28f7d82]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:8px 15px;font-size:14px;border-radius:4px}.add-button--danger[data-v-d28f7d82]{color:#fff;background-color:#553afe;border-color:#553afe}.add-button--danger[data-v-d28f7d82]:hover{background:#5c44f8;border-color:#5c44f8;color:#fff}.add-button--danger[data-v-d28f7d82]:active{background:#553AFE;border-color:#553afe;color:#fff}.add-button.is-disabled[data-v-d28f7d82]{opacity:.5;cursor:not-allowed}.del-button--danger[data-v-d28f7d82]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.del-button--danger[data-v-d28f7d82]:hover{background:#f78989;border-color:#f78989;color:#fff}.del-button--danger[data-v-d28f7d82]:active{background:#dd6161;border-color:#dd6161;color:#fff}.del-button.is-disabled[data-v-d28f7d82]{opacity:.5;cursor:not-allowed}.search_box[data-v-d28f7d82]{width:350px}.search_box .search_container[data-v-d28f7d82]{display:flex;align-items:center;gap:8px}.search_box .search_container .search_input_wrapper[data-v-d28f7d82]{position:relative;flex-grow:1}.search_box .search_container .search_input_wrapper .search_icon[data-v-d28f7d82]{position:absolute;right:10px;top:50%;transform:translateY(-50%);fill:#000c;cursor:pointer}.search_box .search_container .search_input_wrapper .search_input[data-v-d28f7d82]{width:100%;padding:4px 35px 4px 12px;border-radius:4px;border:1px solid rgba(0,0,0,.6);font-size:14px;outline:none;transition:border-color .3s;color:#222;background:transparent}.search_box .search_container .search_input_wrapper .search_input[data-v-d28f7d82]:focus{border-color:#4a90e2}.search_box .search_container .refresh_button[data-v-d28f7d82]{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .3s;display:flex;align-items:center;justify-content:center}.search_box .search_container .refresh_button[data-v-d28f7d82]:hover{background-color:#f0f0f0}.search_box .search_container .refresh_button .refresh_icon[data-v-d28f7d82]{fill:#000c;transition:transform .3s}.search_box .search_container .refresh_button.rotate .refresh_icon[data-v-d28f7d82]{animation:spin-d28f7d82 1s linear infinite}@keyframes spin-d28f7d82{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bganimation-d28f7d82{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-d28f7d82{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-d28f7d82{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-d28f7d82]{animation:rotateEnter-d28f7d82 .7s;position:relative}.rotate-leave-active[data-v-d28f7d82]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-d28f7d82]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media (max-width: 827px){.search_box[data-v-d28f7d82]{width:80%}.del-button[data-v-d28f7d82]{padding:6px 8px}}@keyframes bganimation-9ce78472{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-9ce78472{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-9ce78472{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-9ce78472]{animation:rotateEnter-9ce78472 .7s;position:relative}.rotate-leave-active[data-v-9ce78472]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-9ce78472]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.switch[data-v-9ce78472]{display:inline-flex;align-items:center;position:relative;font-size:14px;height:20px}.switch.is-disabled[data-v-9ce78472]{opacity:.6;cursor:not-allowed}.switch.is-disabled .switch__core[data-v-9ce78472]{cursor:not-allowed}.switch__input[data-v-9ce78472]{position:absolute;width:0;height:0;opacity:0;margin:0;z-index:-1}.switch__core[data-v-9ce78472]{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid;outline:none;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:border-color .3s,background-color .3s}.switch__button[data-v-9ce78472]{position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff;box-shadow:0 1px 2px #0003}.switch.is-checked .switch__button[data-v-9ce78472]{transform:translate(20px)}@keyframes bganimation-529a02b0{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-529a02b0{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-529a02b0{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-529a02b0]{animation:rotateEnter-529a02b0 .7s;position:relative}.rotate-leave-active[data-v-529a02b0]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-529a02b0]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.flow[data-v-529a02b0]{position:relative;height:260px}.flow .echart[data-v-529a02b0]{width:100%;height:100%}.flow .flow-data[data-v-529a02b0]{position:absolute;right:10px;top:10px}.flow .flow-data span[data-v-529a02b0]{display:block;color:var(--flow-span-color);font-size:12px;margin-bottom:5px;font-weight:600;font-family:PingFangSC-Semibold,PingFang SC}@media screen and (max-width: 600px){.flow[data-v-529a02b0]{height:55vw}}@keyframes bganimation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active{animation:rotateEnter .7s;position:relative}.rotate-leave-active{opacity:0;display:none;position:relative;z-index:-999}.app-container{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:999;backdrop-filter:blur(2px)}.modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:var(--1df87c10);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-container .modal-header{padding:8px 12px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.modal-container .modal-header .modal-title{margin:0;font-size:18px;color:#333;padding:0;text-align:center;background:transparent!important}.modal-container .modal-header .modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;transition:color .2s}.modal-container .modal-header .modal-close:hover{color:#666}.modal-container .modal-content{padding:18px;overflow-y:auto;flex:1}.modal-container .modal-footer{padding:8px 12px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.modal-container .modal-footer .modal-button{padding:4px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s;border:1px solid transparent}.modal-container .modal-footer .modal-button.cancel{background-color:#fff;border-color:#ddd;color:#666}.modal-container .modal-footer .modal-button.cancel:hover{background-color:#f5f5f5}.modal-container .modal-footer .modal-button.confirm{background-color:#553afe;color:#fff}.modal-container .modal-footer .modal-button.confirm:hover{background-color:#3f21fe}@media (max-width: 768px){.modal-container{width:95%;max-width:none;max-height:90vh;margin:0 10px}.modal-container .modal-header{padding:12px 16px}.modal-container .modal-header .modal-title{font-size:16px;background:transparent!important}.modal-container .modal-header .modal-close{font-size:20px}.modal-container .modal-content{padding:16px}.modal-container .modal-footer{padding:12px 16px;flex-direction:column-reverse;gap:8px}.modal-container .modal-footer .modal-button{width:100%;padding:10px;font-size:15px}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease,opacity .3s ease}.slide-enter-from,.slide-leave-to{transform:translateY(-20px);opacity:0}@keyframes bganimation-2573551c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2573551c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2573551c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2573551c]{animation:rotateEnter-2573551c .7s;position:relative}.rotate-leave-active[data-v-2573551c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2573551c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}[data-v-2573551c] .tag-input{padding:4px 12px}.custom-content[data-v-2573551c]{position:relative}.custom-content .img_box[data-v-2573551c]{position:absolute;right:0;top:0;width:100px;height:100px}.custom-content .img_box>img[data-v-2573551c]{width:100%;height:100%}.custom-content .IP_address[data-v-2573551c]{text-align:center;padding:14px 16px;background:rgba(85,58,254,.1);border-radius:8px;margin-bottom:16px}.custom-content .tip[data-v-2573551c]{text-align:center;margin-top:16px;font-size:12px}.custom-content .item_box[data-v-2573551c]{margin-top:12px;display:flex;align-items:center}.custom-content .item_box>input[data-v-2573551c]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>input[data-v-2573551c]::placeholder{color:#8898aa}.custom-content .item_box>select[data-v-2573551c]{width:45%;background:transparent!important;color:var(--card-box-shadow)}.custom-content .item_box>select>option[data-v-2573551c]{padding:4px 12px!important}.custom-content .item_box .item_left[data-v-2573551c]{width:140px;text-align:right}.info-content[data-v-2573551c]{display:flex}.info-content .img_box[data-v-2573551c]{position:relative}.info-content .item_box .item_left[data-v-2573551c]{width:100px}@keyframes bganimation-2573551c{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-2573551c{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-2573551c{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-2573551c]{animation:rotateEnter-2573551c .7s;position:relative}.rotate-leave-active[data-v-2573551c]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-2573551c]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-7f378328{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-7f378328{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-7f378328{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-7f378328]{animation:rotateEnter-7f378328 .7s;position:relative}.rotate-leave-active[data-v-7f378328]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-7f378328]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.custom-content[data-v-7f378328]{position:relative}.custom-content .img_box[data-v-7f378328]{position:absolute;right:0;top:0;width:100px;height:100px}.custom-content .img_box>img[data-v-7f378328]{width:100%;height:100%}.custom-content .IP_address[data-v-7f378328]{text-align:center;padding:14px 16px;background:rgba(85,58,254,.1);border-radius:8px;margin-bottom:16px}.custom-content .tip[data-v-7f378328]{text-align:center;margin-top:16px;font-size:12px}.custom-content .item_box[data-v-7f378328]{margin-top:12px;display:flex;align-items:center}.custom-content .item_box>input[data-v-7f378328]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>input[data-v-7f378328]::placeholder{color:#8898aa}.custom-content .item_box>select[data-v-7f378328]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>select>option[data-v-7f378328]{padding:4px 12px!important}.custom-content .item_box .item_left[data-v-7f378328]{width:140px;text-align:right}.del-button[data-v-7f378328]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:6px 10px;font-size:14px;border-radius:4px}.del-button--danger[data-v-7f378328]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.del-button--danger[data-v-7f378328]:hover{background:#f78989;border-color:#f78989;color:#fff}.del-button--danger[data-v-7f378328]:active{background:#dd6161;border-color:#dd6161;color:#fff}.del-button.is-disabled[data-v-7f378328]{opacity:.5;cursor:not-allowed}@keyframes bganimation-7f378328{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-7f378328{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-7f378328{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-7f378328]{animation:rotateEnter-7f378328 .7s;position:relative}.rotate-leave-active[data-v-7f378328]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-7f378328]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-6070492a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6070492a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6070492a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6070492a]{animation:rotateEnter-6070492a .7s;position:relative}.rotate-leave-active[data-v-6070492a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6070492a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.custom-content[data-v-6070492a]{position:relative}.custom-content .img_box[data-v-6070492a]{position:absolute;right:0;top:0;width:100px;height:100px}.custom-content .img_box>img[data-v-6070492a]{width:100%;height:100%}.custom-content .IP_address[data-v-6070492a]{text-align:center;padding:14px 16px;background:rgba(85,58,254,.1);border-radius:8px;margin-bottom:16px}.custom-content .tip[data-v-6070492a]{text-align:center;margin-top:16px;font-size:12px}.custom-content .item_box[data-v-6070492a]{margin-top:12px;display:flex;align-items:center}.custom-content .item_box>input[data-v-6070492a]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>input[data-v-6070492a]::placeholder{color:#8898aa}.custom-content .item_box>select[data-v-6070492a]{width:45%;color:var(--card-box-shadow);background:transparent!important}.custom-content .item_box>select>option[data-v-6070492a]{padding:4px 12px!important}.custom-content .item_box .item_left[data-v-6070492a]{width:140px;text-align:right}.del-button[data-v-6070492a]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:6px 10px;font-size:14px;border-radius:4px}.del-button--danger[data-v-6070492a]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.del-button--danger[data-v-6070492a]:hover{background:#f78989;border-color:#f78989;color:#fff}.del-button--danger[data-v-6070492a]:active{background:#dd6161;border-color:#dd6161;color:#fff}.del-button.is-disabled[data-v-6070492a]{opacity:.5;cursor:not-allowed}@keyframes bganimation-6070492a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-6070492a{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-6070492a{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-6070492a]{animation:rotateEnter-6070492a .7s;position:relative}.rotate-leave-active[data-v-6070492a]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-6070492a]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@keyframes bganimation-d85760b8{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-d85760b8{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-d85760b8{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-d85760b8]{animation:rotateEnter-d85760b8 .7s;position:relative}.rotate-leave-active[data-v-d85760b8]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-d85760b8]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.dialog-overlay[data-v-d85760b8]{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.dialog-container[data-v-d85760b8]{background-color:#fff;border-radius:12px;padding:16px;width:100%;max-width:400px;box-shadow:0 4px 12px #00000026}.dialog-container .dialog-title[data-v-d85760b8]{margin:0 0 20px;font-size:1.2rem;font-weight:500;color:#333;text-align:left}.dialog-container .dialog-message[data-v-d85760b8]{margin:20px 0;font-size:1rem;color:#666;text-align:center}.dialog-container .loading-animation[data-v-d85760b8]{margin:20px 0}.dialog-container .loading-animation .spinner[data-v-d85760b8]{width:40px;height:40px;margin:0 auto;border:4px solid rgba(110,72,170,.2);border-radius:50%;border-top-color:#8d78fa;animation:spin-d85760b8 1s linear infinite}.dialog-container .dialog-button[data-v-d85760b8]{background-color:#553afe;color:#fff;border:none;border-radius:6px;padding:4px 20px;font-size:1rem;cursor:pointer;transition:all .2s;margin:0 auto;display:block}.dialog-container .dialog-button[data-v-d85760b8]:hover{background-color:#553afe;opacity:.9}.dialog-container .dialog-button[data-v-d85760b8]:active{transform:scale(.98)}.dialog-container .warning-message[data-v-d85760b8]{display:flex;gap:8px;background-color:#fff8e1;border-left:4px solid #FFC107;padding:12px;margin-bottom:20px;border-radius:4px;font-size:.9rem;color:#333;text-align:left}.dialog-container .warning-message .warning-icon[data-v-d85760b8]{flex-shrink:0;width:20px;height:20px;color:#ffa000}.dialog-container .input-group[data-v-d85760b8]{margin-bottom:16px;text-align:left}.dialog-container .input-group label[data-v-d85760b8]{display:block;margin-bottom:8px;font-size:.95rem;color:#333}.dialog-container .input-group .tag-input[data-v-d85760b8]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.dialog-container .input-group .tag-input[data-v-d85760b8]:focus{outline:none;border-color:#6e48aa}.dialog-container .button-group[data-v-d85760b8]{display:flex;justify-content:flex-end;gap:12px}.dialog-container .button-group .cancel-button[data-v-d85760b8]{background-color:#fff;color:#333;border:1px solid #ddd;border-radius:6px;padding:4px 20px;font-size:1rem;cursor:pointer;transition:all .2s}.dialog-container .button-group .cancel-button[data-v-d85760b8]:hover{background-color:#e0e0e0}.dialog-container .button-group .cancel-button[data-v-d85760b8]:active{transform:scale(.98)}.dialog-container .button-group .confirm-button[data-v-d85760b8]{background-color:#553afe;color:#fff;border:none;border-radius:6px;padding:4px 20px;font-size:1rem;cursor:pointer;transition:all .2s}.dialog-container .button-group .confirm-button[data-v-d85760b8]:hover{background-color:#553afe;opacity:.9}.dialog-container .button-group .confirm-button[data-v-d85760b8]:active{transform:scale(.98)}.tag-dialog[data-v-d85760b8]{max-width:500px}.fade-enter-active[data-v-d85760b8],.fade-leave-active[data-v-d85760b8]{transition:opacity .3s ease}.fade-enter-from[data-v-d85760b8],.fade-leave-to[data-v-d85760b8]{opacity:0}@keyframes spin-d85760b8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-circle-d85760b8{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes icon-line-tip-d85760b8{0%{width:0;left:1px;top:15px}54%{width:0;left:1px;top:15px}70%{width:40px;left:-6px;top:30px}84%{width:14px;left:17px;top:38px}to{width:12px;left:8px;top:22px}}@keyframes icon-line-long-d85760b8{0%{width:0;right:37px;top:43px}65%{width:0;right:37px;top:43px}84%{width:44px;right:0;top:28px}to{width:20px;right:8px;top:20px}}@media (max-width: 480px){.dialog-container[data-v-d85760b8]{padding:16px}.dialog-container .dialog-title[data-v-d85760b8]{font-size:1.1rem;margin-bottom:16px}.dialog-container .dialog-message[data-v-d85760b8]{font-size:.95rem;margin:16px 0}.dialog-container .warning-message[data-v-d85760b8]{font-size:.85rem;padding:10px}.dialog-container .input-group[data-v-d85760b8]{margin-bottom:20px}.dialog-container .input-group label[data-v-d85760b8]{font-size:.9rem}.dialog-container .input-group .tag-input[data-v-d85760b8]{padding:8px 10px;font-size:.95rem}.dialog-container .button-group[data-v-d85760b8]{gap:8px}.dialog-container .button-group .cancel-button[data-v-d85760b8],.dialog-container .button-group .confirm-button[data-v-d85760b8]{padding:4px 16px;font-size:.95rem}.dialog-container .loading-animation .spinner[data-v-d85760b8]{width:36px;height:36px}}@keyframes bganimation-94644288{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-94644288{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-94644288{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-94644288]{animation:rotateEnter-94644288 .7s;position:relative}.rotate-leave-active[data-v-94644288]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-94644288]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.add-button[data-v-94644288]{display:inline-flex;justify-content:center;align-items:center;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;text-align:center;box-sizing:border-box;outline:none;margin:0 8px 0 0;transition:all .1s;font-weight:500;user-select:none;padding:8px 12px;font-size:14px;border-radius:4px}.add-button--danger[data-v-94644288]{color:#fff;background-color:#553afe;border-color:#553afe}.add-button--danger[data-v-94644288]:hover{background:#5c44f8;border-color:#5c44f8;color:#fff}.add-button--danger[data-v-94644288]:active{background:#553AFE;border-color:#553afe;color:#fff}.add-button.is-disabled[data-v-94644288]{opacity:.5;cursor:not-allowed}.tab-container[data-v-94644288]{display:flex;flex-direction:row;width:100%;margin:0 auto;border-radius:8px;overflow:hidden}@media (max-width: 768px){.tab-container[data-v-94644288]{flex-direction:column}}.tab-header[data-v-94644288]{display:flex;flex-direction:column;width:120px}@media (max-width: 768px){.tab-header[data-v-94644288]{flex-direction:row;width:100%;overflow-x:auto;white-space:nowrap}}.tab-button[data-v-94644288]{padding:12px 16px;text-align:left;border:none;background:transparent!important;cursor:pointer;font-size:14px;color:var(--flow-span-color);transition:all .3s ease;border-radius:8px 0 0 8px}.tab-button[data-v-94644288]:hover{background:var(--tag-bg-color)!important}.tab-button.active[data-v-94644288]{background:var(--tag-bg-color)!important;font-weight:500;margin:0}@media (max-width: 768px){.tab-button[data-v-94644288]{border-radius:8px 8px 0 0;text-align:center;flex:1;min-width:max-content}.tab-button.active[data-v-94644288]{border-radius:8px 8px 0 0}}.tab-content_g[data-v-94644288]{flex:1;padding:20px;background:var(--tag-bg-color);border-radius:0 8px 8px 0;min-height:60vh}.tab-content_g .not_installed[data-v-94644288]{display:flex;flex-direction:column;align-items:center}.tab-content_g .not_installed>span[data-v-94644288]{color:var(--tit-color);margin:20px 0}.tab-content_g .not_installed .not_installed_btn[data-v-94644288]{padding:6px 16px;background:#553AFE;border-radius:4px;font-size:14px;color:#fff;cursor:pointer}@media (max-width: 768px){.tab-content_g[data-v-94644288]{border-radius:0 0 8px 8px}}.item_box[data-v-94644288]{margin-top:12px;display:flex;align-items:center;color:var(--tit-color)!important}.item_box>input[data-v-94644288]{width:40%;color:var(--card-box-shadow);background:transparent!important;color:var(--tit-color)!important}@media (max-width: 768px){.item_box>input[data-v-94644288]{width:70%}}.item_box>input[data-v-94644288]::placeholder{color:var(--item-label_key-span-color)}.item_box>select[data-v-94644288]{background:transparent!important;width:40%;color:var(--card-box-shadow)}@media (max-width: 768px){.item_box>select[data-v-94644288]{width:70%}}.item_box>select>option[data-v-94644288]{padding:4px 12px!important}.item_box .item_left[data-v-94644288]{width:140px;text-align:right}@media (max-width: 768px){.item_box .item_left[data-v-94644288]{width:100px}}@keyframes bganimation-a5a78984{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a5a78984{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a5a78984{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a5a78984]{animation:rotateEnter-a5a78984 .7s;position:relative}.rotate-leave-active[data-v-a5a78984]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a5a78984]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.tab-container[data-v-a5a78984]{margin:0 auto}.tabs_box_g[data-v-a5a78984]{display:flex}.tabs_box_g button[data-v-a5a78984]{padding:14px 24px;border:none;background:none;cursor:pointer;font-size:14px;border-radius:8px 8px 0 0;margin:0;transition:all .3s ease}.tabs_box_g button.active[data-v-a5a78984]{background:var(--card-bg-color);color:#553afe;font-weight:700;position:relative}.tab-content_g[data-v-a5a78984]{background:var(--card-bg-color);padding:16px;border-radius:0 8px 8px}.content-item[data-v-a5a78984]{min-height:60vh}@keyframes bganimation-a5a78984{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-a5a78984{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-a5a78984{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-a5a78984]{animation:rotateEnter-a5a78984 .7s;position:relative}.rotate-leave-active[data-v-a5a78984]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-a5a78984]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}@media (max-width: 827px){.tabs_box_g button[data-v-a5a78984]{padding:7px 12px!important}.tab-content_g[data-v-a5a78984]{border-radius:0 0 8px 8px}}@keyframes bganimation-1ad1f636{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-1ad1f636{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-1ad1f636{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-1ad1f636]{animation:rotateEnter-1ad1f636 .7s;position:relative}.rotate-leave-active[data-v-1ad1f636]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-1ad1f636]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}button[data-v-1ad1f636]{outline:none;cursor:pointer;border:none}.pc-radio[data-v-1ad1f636]{display:flex;flex-wrap:wrap;align-items:center}.label-flex.pc-radio label[data-v-1ad1f636]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.label-flex.pc-radio input[type=radio][data-v-1ad1f636]{margin:0 4px 0 0;top:0}.mobile-switch[data-v-1ad1f636]{display:none;align-items:center}.switch-core[data-v-1ad1f636]{position:relative;width:50px;border:1px solid #dcdfe6;outline:none;border-radius:20px;box-sizing:border-box;background:#dcdfe6;cursor:pointer;transition:border-color .3s,background-color .3s;display:inline-block}.switch-core.is-checked[data-v-1ad1f636]{border-color:#409eff;background-color:#409eff}.switch-core.is-disabled[data-v-1ad1f636]{opacity:.6;cursor:not-allowed}.switch-button[data-v-1ad1f636]{position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff}.switch-core.is-checked .switch-button[data-v-1ad1f636]{transform:translate(20px)}.switch-label[data-v-1ad1f636]{font-size:14px;color:#999}.switch-label.active[data-v-1ad1f636]{color:#409eff}form.form-container[data-v-1ad1f636]{display:block;width:100%;padding:0 1rem;margin-top:50px}form.form-container .label-name[data-v-1ad1f636]{display:block;width:100%;margin-bottom:.5rem;color:var(--item-label_key-span-color)}form.form-container .label-name span[data-v-1ad1f636]:before{content:"*";color:#f56c6c;margin-right:4px;width:10px;display:inline-block;vertical-align:middle}form.form-container .label-value[data-v-1ad1f636]{display:block;width:100%;margin-bottom:1rem}form.form-container .label-value input[data-v-1ad1f636],form.form-container .label-value select[data-v-1ad1f636]{display:block;width:100%;height:42px;background:none;border:1px solid #c2c2c2;color:var(--item-label_key-span-color);font-size:14px}form.form-container .label-value input>option[data-v-1ad1f636],form.form-container .label-value select>option[data-v-1ad1f636]{color:#8898aa}form.form-container .label-value input[data-v-1ad1f636]:focus,form.form-container .label-value select[data-v-1ad1f636]:focus{transition:.2s;border:1px solid #418dfe}form.form-container .label-value select[data-v-1ad1f636]{border-radius:3px;padding:0 10px}form.form-container .label-value input[data-v-1ad1f636]{border-left:none!important;border-right:none!important;border-top:none!important;box-shadow:none!important;padding:0 10px}form.form-container .label-value input[type=checkbox][data-v-1ad1f636],form.form-container .label-value input[type=radio][data-v-1ad1f636]{width:auto}form.form-container .label-value input[type=radio][data-v-1ad1f636]{margin:0 4px 0 0;top:0}form.form-container .label-value input[data-v-1ad1f636]:disabled{background-color:#eee;border:1px solid #c2c2c2;border-radius:3px}form.form-container .label-value input[data-v-1ad1f636]::placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-1ad1f636]:-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-value input[data-v-1ad1f636]::-ms-input-placeholder{color:var(--item-label_value-span-color);opacity:.54;font-size:14px}form.form-container .label-btns[data-v-1ad1f636]{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-end}form.form-container .label-msg[data-v-1ad1f636]{display:block;width:100%;color:#ff3b3b;font-size:14px}form.form-container .label-msg.warning[data-v-1ad1f636]{color:#f9ad1e}form.form-container .label-flex[data-v-1ad1f636]{width:100%;display:flex;flex-wrap:wrap;align-items:center}form.form-container .label-flex label[data-v-1ad1f636]{width:100px;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer;color:#666}.form-item[data-v-1ad1f636]{display:flex;align-items:center;height:55px}.form-item .label-name[data-v-1ad1f636]{width:200px!important}.form-item .label-value[data-v-1ad1f636]{width:300px!important;padding-top:10px;position:relative;display:flex!important;align-items:center}p[data-v-1ad1f636]{font-size:1em;color:#999;line-height:26px;text-align:left;margin-bottom:1rem}.label-btns[data-v-1ad1f636]{width:500px!important;margin-top:1rem}.label-btns .btn[data-v-1ad1f636]{width:300px!important;text-align:center;border-radius:32px}.label-btns .btn[data-v-1ad1f636]:hover{background:#5279f7;transition:.3}.label-btns .primary-btn[data-v-1ad1f636]{border:none;background:#5279f7;color:#fff;margin-bottom:10px}.label-btns .primary-btn[data-v-1ad1f636]:hover{opacity:.9;transition:.3}select[data-v-1ad1f636]:disabled{background-color:#eee!important;border:1px solid #c2c2c2!important}.seeIcon[data-v-1ad1f636]{width:22px;height:22px;position:absolute;cursor:pointer;z-index:1;right:6px;top:50%;transform:translateY(-50%) scale(1);transition:all .3s ease;transform-origin:center}.seeIcon[data-v-1ad1f636]:hover{transform:translateY(-50%) scale(1.1)}@media only screen and (max-width: 1050px){form.form-container[data-v-1ad1f636]{padding:0;margin-top:-16px}form.form-container .form-item[data-v-1ad1f636]{position:relative;height:auto;margin-bottom:0;height:50px;padding-top:6px;border-bottom:1px solid rgba(0,0,0,.16)!important}form.form-container .form-item .label-name[data-v-1ad1f636]{width:100%!important;margin-bottom:0;font-size:14px}form.form-container .form-item .label-name>span[data-v-1ad1f636]{color:var(--item-label_key-span-color)}form.form-container .form-item .label-value[data-v-1ad1f636]{width:100%!important;margin-bottom:0;padding-top:0}form.form-container .form-item .label-value input[data-v-1ad1f636],form.form-container .form-item .label-value select[data-v-1ad1f636]{height:40px;font-size:14px}form.form-container .form-item .label-value .password_input[data-v-1ad1f636]{padding-right:24px}form.form-container .form-item .label-value input[data-v-1ad1f636]{border:none;text-align:right;padding:0}form.form-container .form-item .label-value select[data-v-1ad1f636]:disabled{border:none!important}form.form-container .form-item .label-value select[data-v-1ad1f636]{padding-right:16px!important;border:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:0;outline:none;background:transparent;text-align:right}form.form-container .form-item .label-value[data-v-1ad1f636] ::selection{background:transparent;color:inherit}form.form-container .form-item .label-value[data-v-1ad1f636] ::-moz-selection{background:transparent;color:inherit}form.form-container .label-flex[data-v-1ad1f636]{display:flex}form.form-container .label-flex label[data-v-1ad1f636]{width:100%;margin-bottom:.5rem}form.form-container .label-btns[data-v-1ad1f636]{width:100%!important;margin-top:1.5rem}form.form-container .label-btns .btn[data-v-1ad1f636]{width:100%!important;height:44px;font-size:16px}.seeIcon[data-v-1ad1f636]{width:20px;height:20px;right:0}.pc-radio[data-v-1ad1f636],.label-flex[data-v-1ad1f636]{display:none!important}.mobile-switch[data-v-1ad1f636]{display:flex;align-items:center;height:50px}.switch_label[data-v-1ad1f636]{display:flex;justify-content:end}.switch-core[data-v-1ad1f636]{width:50px;height:24px}.switch-button[data-v-1ad1f636]{width:20px;height:20px}.switch-core.is-checked .switch-button[data-v-1ad1f636]{transform:translate(26px)}.select-arrow[data-v-1ad1f636]{position:absolute;right:6px;top:50%!important;transform:translateY(-50%)!important;width:10px;height:10px;border-top:2px solid #606165;border-right:2px solid #606165;transform:translateY(-50%) rotate(45deg)!important;pointer-events:none}}@keyframes bganimation-40cb5302{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-40cb5302{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-40cb5302{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rotate-enter-active[data-v-40cb5302]{animation:rotateEnter-40cb5302 .7s;position:relative}.rotate-leave-active[data-v-40cb5302]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-40cb5302]{width:100%;background-color:var(--card-bg-color);box-shadow:var(--card-box-shadow);padding:10px 30px;border-radius:6px;position:relative}.page-container[data-v-40cb5302]{width:100%;background-color:var(--card-bg-color);border-radius:6px;padding:3rem;margin-top:50px}.mobile-tags-container[data-v-40cb5302]{display:none}.page-flex[data-v-40cb5302]{display:flex}.page-flex .page-sidebar[data-v-40cb5302]{flex:0 0 200px;border-right:1px solid #eee}.page-flex .page-sidebar .item[data-v-40cb5302]{width:100%;height:42px;line-height:42px;font-size:16px;cursor:pointer;color:var(--item-label_key-span-color);display:block;user-select:none;position:relative;display:flex;flex-wrap:wrap;align-items:center}.page-flex .page-sidebar .item[data-v-40cb5302]:hover,.page-flex .page-sidebar .item.activeItem[data-v-40cb5302]{transition:.3s;color:#418cff}.page-flex .page-sidebar .item.activeItem[data-v-40cb5302]:before{content:"";position:absolute;left:-1rem;width:3px;height:20px;background-color:#4388ff}.page-flex .page-main[data-v-40cb5302]{flex:1;padding-left:24px}@media (max-width: 827px){.page-container[data-v-40cb5302]{padding:12px 12px 0 8px;margin-top:0}.page-flex[data-v-40cb5302]{display:block}.page-flex .page-sidebar[data-v-40cb5302]{display:none}.page-flex .page-main[data-v-40cb5302]{padding-left:0;padding-top:16px}.mobile-tags-container[data-v-40cb5302]{display:block;width:100%;margin-bottom:16px;position:relative}.tags-wrapper[data-v-40cb5302]{display:flex;align-items:center;height:40px;position:relative}.tags-scroll[data-v-40cb5302]{flex:1;display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;height:100%;align-items:center;white-space:nowrap;padding-right:40px}.tags-scroll[data-v-40cb5302]::-webkit-scrollbar{display:none}.tag-item[data-v-40cb5302]{flex-shrink:0;padding:7px 12px;margin-right:8px;border-radius:4px;background-color:var(--tag-bg-color);color:var(--item-label_key-span-color);font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.tag-item.active[data-v-40cb5302]{background-color:#5279f7;color:#fff}.more-btn-wrapper[data-v-40cb5302]{position:absolute;right:-6px;top:0;height:100%;width:40px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.fade-overlay[data-v-40cb5302]{position:absolute;right:0;top:50%;transform:translateY(-50%);width:100px;height:32px;background:var(--gradient-bg-color)}.more-btn[data-v-40cb5302]{width:28px;height:28px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;pointer-events:auto;position:relative;z-index:1}.more-btn .line[data-v-40cb5302]{width:14px;height:2px;background-color:#5279f7;margin:2px 0;border-radius:1px}[data-v-40cb5302] .showSide{z-index:1!important}.popup-overlay[data-v-40cb5302]{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:flex-start}.popup-content[data-v-40cb5302]{width:100%;max-height:85vh;background-color:var(--popup-bg-color);border-radius:0 0 4px 4px;animation:slideDown-40cb5302 .3s ease-out;overflow-y:auto;padding-top:25px}.popup-content .popup-tag-item[data-v-40cb5302],.popup-content .active[data-v-40cb5302]{text-align:center;padding:8px 12px 5px;width:calc((100% - 24px) / 3)}@keyframes slideDown-40cb5302{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.popup-tags[data-v-40cb5302]{padding:12px;display:flex;flex-wrap:wrap;gap:8px;max-height:70vh;overflow-y:auto}.popup-tag-item[data-v-40cb5302]{padding:7px 12px;border-radius:4px;background-color:#f5f5f5;color:#333;font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.popup-tag-item.active[data-v-40cb5302]{background-color:#5279f7;color:#fff}.popup-footer[data-v-40cb5302]{display:flex;padding:12px;border-top:1px solid #f0f0f0}.popup-footer button[data-v-40cb5302]{flex:1;height:36px;border-radius:23px;font-size:14px;cursor:pointer}.popup-footer .cancel-btn[data-v-40cb5302]{background-color:#f5f5f5;color:#000;border:none;margin-right:12px}.popup-footer .confirm-btn[data-v-40cb5302]{background-color:#5279f7;color:#fff;border:none}} diff --git a/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/vendor.js b/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/vendor.js index 89b5bdf457..17f34c3b5b 100644 --- a/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/vendor.js +++ b/openwrt-packages/luci-app-quickstart/htdocs/luci-static/quickstart/vendor.js @@ -45,4 +45,4 @@ PERFORMANCE OF THIS SOFTWARE. `:"
",p=c.join(g);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(r,u)?this._updatePosition(s,h,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,p,u,Math.random()+"",o[0],o[1],h,null,v)})},t.prototype._showSeriesItemTooltip=function(r,n,i){var a=this._ecModel,o=Bt(n),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,c=o.dataType,v=u.getData(c),h=this._renderMode,d=r.positionDefault,m=Ja([v.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),g=m.get("trigger");if(!(g!=null&&g!=="item")){var p=u.getDataParams(f,c),y=new ec;p.marker=y.makeTooltipMarker("item",gi(p.color),h);var _=Jm(u.formatTooltip(f,!1,c)),w=m.get("order"),S=m.get("valueFormatter"),b=_.frag,x=b?iy(S?q({valueFormatter:S},b):b,y,h,w,a.get("useUTC"),m.get("textStyle")):_.text,C="item_"+u.name+"_"+f;this._showOrMove(m,function(){this._showTooltipContent(m,x,p,C,r.offsetX,r.offsetY,r.position,r.target,y)}),i({type:"showTip",dataIndexInside:f,dataIndex:v.getRawIndex(f),seriesIndex:s,from:this.uid})}},t.prototype._showComponentItemTooltip=function(r,n,i){var a=Bt(n),o=a.tooltipConfig,s=o.option||{};if(nt(s)){var l=s;s={content:l,formatter:l}}var u=[s],f=this._ecModel.getComponent(a.componentMainType,a.componentIndex);f&&u.push(f),u.push({formatter:s.content});var c=r.positionDefault,v=Ja(u,this._tooltipModel,c?{position:c}:null),h=v.get("content"),d=Math.random()+"",m=new ec;this._showOrMove(v,function(){var g=bt(v.get("formatterParams")||{});this._showTooltipContent(v,h,g,d,r.offsetX,r.offsetY,r.position,n,m)}),i({type:"showTip",from:this.uid})},t.prototype._showTooltipContent=function(r,n,i,a,o,s,l,u,f){if(this._ticket="",!(!r.get("showContent")||!r.get("show"))){var c=this._tooltipContent;c.setEnterable(r.get("enterable"));var v=r.get("formatter");l=l||r.get("position");var h=n,d=this._getNearestPoint([o,s],i,r.get("trigger"),r.get("borderColor")),m=d.color;if(v)if(nt(v)){var g=r.ecModel.get("useUTC"),p=et(i)?i[0]:i,y=p&&p.axisType&&p.axisType.indexOf("time")>=0;h=v,y&&(h=Bu(p.axisValue,h,g)),h=hb(h,i,!0)}else if(dt(v)){var _=Ht(function(w,S){w===this._ticket&&(c.setContent(S,f,r,m,l),this._updatePosition(r,l,o,s,c,i,u))},this);this._ticket=a,h=v(i,a,_)}else h=v;c.setContent(h,f,r,m,l),c.show(r,m),this._updatePosition(r,l,o,s,c,i,u)}},t.prototype._getNearestPoint=function(r,n,i,a){if(i==="axis"||et(n))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!et(n))return{color:a||n.color||n.borderColor}},t.prototype._updatePosition=function(r,n,i,a,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();n=n||r.get("position");var c=o.getSize(),v=r.get("align"),h=r.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),dt(n)&&(n=n([i,a],s,o.el,d,{viewSize:[u,f],contentSize:c.slice()})),et(n))i=ce(n[0],u),a=ce(n[1],f);else if(st(n)){var m=n;m.width=c[0],m.height=c[1];var g=qo(m,{width:u,height:f});i=g.x,a=g.y,v=null,h=null}else if(nt(n)&&l){var p=$F(n,d,c,r.get("borderWidth"));i=p[0],a=p[1]}else{var p=zF(i,a,o,u,f,v?null:20,h?null:20);i=p[0],a=p[1]}if(v&&(i-=S0(v)?c[0]/2:v==="right"?c[0]:0),h&&(a-=S0(h)?c[1]/2:h==="bottom"?c[1]:0),ex(r)){var p=HF(i,a,o,u,f);i=p[0],a=p[1]}o.moveTo(i,a)},t.prototype._updateContentNotChangedOnAxis=function(r,n){var i=this._lastDataByCoordSys,a=this._cbParamsList,o=!!i&&i.length===r.length;return o&&P(i,function(s,l){var u=s.dataByAxis||[],f=r[l]||{},c=f.dataByAxis||[];o=o&&u.length===c.length,o&&P(u,function(v,h){var d=c[h]||{},m=v.seriesDataIndices||[],g=d.seriesDataIndices||[];o=o&&v.value===d.value&&v.axisType===d.axisType&&v.axisId===d.axisId&&m.length===g.length,o&&P(m,function(p,y){var _=g[y];o=o&&p.seriesIndex===_.seriesIndex&&p.dataIndex===_.dataIndex}),a&&P(v.seriesDataIndices,function(p){var y=p.seriesIndex,_=n[y],w=a[y];_&&w&&w.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=r,this._cbParamsList=n,!!o},t.prototype._hide=function(r){this._lastDataByCoordSys=null,r({type:"hideTip",from:this.uid})},t.prototype.dispose=function(r,n){yt.node||!n.getDom()||(Rh(this,"_updatePosition"),this._tooltipContent.dispose(),qh("itemTooltip",n))},t.type="tooltip",t}(Hr);function Ja(e,t,r){var n=t.ecModel,i;r?(i=new se(r,n,n),i=new se(t.option,i,n)):i=t;for(var a=e.length-1;a>=0;a--){var o=e[a];o&&(o instanceof se&&(o=o.get("tooltip",!0)),nt(o)&&(o={formatter:o}),o&&(i=new se(o,i,n)))}return i}function b0(e,t){return e.dispatchAction||Ht(t.dispatchAction,t)}function zF(e,t,r,n,i,a,o){var s=r.getSize(),l=s[0],u=s[1];return a!=null&&(e+l+a+2>n?e-=l+a:e+=a),o!=null&&(t+u+o>i?t-=u+o:t+=o),[e,t]}function HF(e,t,r,n,i){var a=r.getSize(),o=a[0],s=a[1];return e=Math.min(e+o,n)-o,t=Math.min(t+s,i)-s,e=Math.max(e,0),t=Math.max(t,0),[e,t]}function $F(e,t,r,n){var i=r[0],a=r[1],o=Math.ceil(Math.SQRT2*n)+8,s=0,l=0,u=t.width,f=t.height;switch(e){case"inside":s=t.x+u/2-i/2,l=t.y+f/2-a/2;break;case"top":s=t.x+u/2-i/2,l=t.y-a-o;break;case"bottom":s=t.x+u/2-i/2,l=t.y+f+o;break;case"left":s=t.x-i-o,l=t.y+f/2-a/2;break;case"right":s=t.x+u+o,l=t.y+f/2-a/2}return[s,l]}function S0(e){return e==="center"||e==="middle"}function VF(e,t,r){var n=ed(e).queryOptionMap,i=n.keys()[0];if(!(!i||i==="series")){var a=fs(t,i,n.get(i),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(!!o){var s=r.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var f=Bt(u).tooltipConfig;if(f&&f.name===e.name)return l=u,!0}),l)return{componentMainType:i,componentIndex:o.componentIndex,el:l}}}}var GF=FF;function yz(e){mi(tx),e.registerComponentModel(xF),e.registerComponentView(GF),e.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},be),e.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},be)}var UF=function(e){J(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r.layoutMode={type:"box",ignoreSize:!0},r}return t.type="title",t.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},t}(zt),WF=function(e){J(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.prototype.render=function(r,n,i){if(this.group.removeAll(),!!r.get("show")){var a=this.group,o=r.getModel("textStyle"),s=r.getModel("subtextStyle"),l=r.get("textAlign"),u=Dt(r.get("textBaseline"),r.get("textVerticalAlign")),f=new de({style:Cn(o,{text:r.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),c=f.getBoundingRect(),v=r.get("subtext"),h=new de({style:Cn(s,{text:v,fill:s.getTextColor(),y:c.height+r.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),d=r.get("link"),m=r.get("sublink"),g=r.get("triggerEvent",!0);f.silent=!d&&!g,h.silent=!m&&!g,d&&f.on("click",function(){km(d,"_"+r.get("target"))}),m&&h.on("click",function(){km(m,"_"+r.get("subtarget"))}),Bt(f).eventData=Bt(h).eventData=g?{componentType:"title",componentIndex:r.componentIndex}:null,a.add(f),v&&a.add(h);var p=a.getBoundingRect(),y=r.getBoxLayoutParams();y.width=p.width,y.height=p.height;var _=qo(y,{width:i.getWidth(),height:i.getHeight()},r.get("padding"));l||(l=r.get("left")||r.get("right"),l==="middle"&&(l="center"),l==="right"?_.x+=_.width:l==="center"&&(_.x+=_.width/2)),u||(u=r.get("top")||r.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?_.y+=_.height:u==="middle"&&(_.y+=_.height/2),u=u||"top"),a.x=_.x,a.y=_.y,a.markRedraw();var w={align:l,verticalAlign:u};f.setStyle(w),h.setStyle(w),p=a.getBoundingRect();var S=_.margin,b=r.getItemStyle(["color","opacity"]);b.fill=r.get("backgroundColor");var x=new Jt({shape:{x:p.x-S[3],y:p.y-S[0],width:p.width+S[1]+S[3],height:p.height+S[0]+S[2],r:r.get("borderRadius")},style:b,subPixelOptimize:!0,silent:!0});a.add(x)}},t.type="title",t}(Hr);function _z(e){e.registerComponentModel(UF),e.registerComponentView(WF)}function ax(e,t){var r=e.mapDimensionsAll("defaultedLabel"),n=r.length;if(n===1){var i=_a(e,t,r[0]);return i!=null?i+"":null}else if(n){for(var a=[],o=0;o=0&&n.push(t[a])}return n.join(" ")}var XF=function(e){J(t,e);function t(r,n,i,a){var o=e.call(this)||this;return o.updateData(r,n,i,a),o}return t.prototype._createSymbol=function(r,n,i,a,o){this.removeAll();var s=wa(r,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=qF,this._symbolType=r,this.add(s)},t.prototype.stopSymbolAnimation=function(r){this.childAt(0).stopAnimation(null,r)},t.prototype.getSymbolType=function(){return this._symbolType},t.prototype.getSymbolPath=function(){return this.childAt(0)},t.prototype.highlight=function(){ql(this.childAt(0))},t.prototype.downplay=function(){jl(this.childAt(0))},t.prototype.setZ=function(r,n){var i=this.childAt(0);i.zlevel=r,i.z=n},t.prototype.setDraggable=function(r){var n=this.childAt(0);n.draggable=r,n.cursor=r?"move":n.cursor},t.prototype.updateData=function(r,n,i,a){this.silent=!1;var o=r.getItemVisual(n,"symbol")||"circle",s=r.hostModel,l=t.getSymbolSize(r,n),u=o!==this._symbolType,f=a&&a.disableAnimation;if(u){var c=r.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,r,n,l,c)}else{var v=this.childAt(0);v.silent=!1;var h={scaleX:l[0]/2,scaleY:l[1]/2};f?v.attr(h):Tn(v,h,s,n),qL(v)}if(this._updateCommon(r,n,l,i,a),u){var v=this.childAt(0);if(!f){var h={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:v.style.opacity}};v.scaleX=v.scaleY=0,v.style.opacity=0,hs(v,h,s,n)}}f&&this.childAt(0).stopAnimation("leave")},t.prototype._updateCommon=function(r,n,i,a,o){var s=this.childAt(0),l=r.hostModel,u,f,c,v,h,d,m,g,p;if(a&&(u=a.emphasisItemStyle,f=a.blurItemStyle,c=a.selectItemStyle,v=a.focus,h=a.blurScope,m=a.labelStatesModels,g=a.hoverScale,p=a.cursorStyle,d=a.emphasisDisabled),!a||r.hasItemOption){var y=a&&a.itemModel?a.itemModel:r.getItemModel(n),_=y.getModel("emphasis");u=_.getModel("itemStyle").getItemStyle(),c=y.getModel(["select","itemStyle"]).getItemStyle(),f=y.getModel(["blur","itemStyle"]).getItemStyle(),v=_.get("focus"),h=_.get("blurScope"),d=_.get("disabled"),m=md(y),g=_.getShallow("scale"),p=y.getShallow("cursor")}var w=r.getItemVisual(n,"symbolRotate");s.attr("rotation",(w||0)*Math.PI/180||0);var S=Kb(r.getItemVisual(n,"symbolOffset"),i);S&&(s.x=S[0],s.y=S[1]),p&&s.attr("cursor",p);var b=r.getItemVisual(n,"style"),x=b.fill;if(s instanceof Si){var C=s.style;s.useStyle(q({image:C.image,x:C.x,y:C.y,width:C.width,height:C.height},b))}else s.__isEmptyBrush?s.useStyle(q({},b)):s.useStyle(b),s.style.decal=null,s.setColor(x,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var D=r.getItemVisual(n,"liftZ"),M=this._z2;D!=null?M==null&&(this._z2=s.z2,s.z2+=D):M!=null&&(s.z2=M,this._z2=null);var I=o&&o.useNameLabel;gd(s,m,{labelFetcher:l,labelDataIndex:n,defaultText:A,inheritColor:x,defaultOpacity:b.opacity});function A(H){return I?r.getName(H):ax(r,H)}this._sizeX=i[0]/2,this._sizeY=i[1]/2;var L=s.ensureState("emphasis");if(L.style=u,s.ensureState("select").style=c,s.ensureState("blur").style=f,g){var O=Math.max(1.1,3/this._sizeY);L.scaleX=this._sizeX*O,L.scaleY=this._sizeY*O}this.setSymbolScale(1),Sh(this,v,h,d)},t.prototype.setSymbolScale=function(r){this.scaleX=this.scaleY=r},t.prototype.fadeOut=function(r,n,i){var a=this.childAt(0),o=Bt(this).dataIndex,s=i&&i.animation;if(this.silent=a.silent=!0,i&&i.fadeLabel){var l=a.getTextContent();l&&Zl(l,{style:{opacity:0}},n,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();Zl(a,{style:{opacity:0},scaleX:0,scaleY:0},n,{dataIndex:o,cb:r,removeOpt:s})},t.getSymbolSize=function(r,n){return WO(r.getItemVisual(n,"symbolSize"))},t}(ve);function qF(e,t){this.parent.drift(e,t)}var Gd=XF;function _c(e,t,r,n){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(n.isIgnore&&n.isIgnore(r))&&!(n.clipShape&&!n.clipShape.contain(t[0],t[1]))&&e.getItemVisual(r,"symbol")!=="none"}function x0(e){return e!=null&&!st(e)&&(e={isIgnore:e}),e||{}}function T0(e){var t=e.hostModel,r=t.getModel("emphasis");return{emphasisItemStyle:r.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:r.get("focus"),blurScope:r.get("blurScope"),emphasisDisabled:r.get("disabled"),hoverScale:r.get("scale"),labelStatesModels:md(t),cursorStyle:t.get("cursor")}}var jF=function(){function e(t){this.group=new ve,this._SymbolCtor=t||Gd}return e.prototype.updateData=function(t,r){this._progressiveEls=null,r=x0(r);var n=this.group,i=t.hostModel,a=this._data,o=this._SymbolCtor,s=r.disableAnimation,l=T0(t),u={disableAnimation:s},f=r.getSymbolPoint||function(c){return t.getItemLayout(c)};a||n.removeAll(),t.diff(a).add(function(c){var v=f(c);if(_c(t,v,c,r)){var h=new o(t,c,l,u);h.setPosition(v),t.setItemGraphicEl(c,h),n.add(h)}}).update(function(c,v){var h=a.getItemGraphicEl(v),d=f(c);if(!_c(t,d,c,r)){n.remove(h);return}var m=t.getItemVisual(c,"symbol")||"circle",g=h&&h.getSymbolType&&h.getSymbolType();if(!h||g&&g!==m)n.remove(h),h=new o(t,c,l,u),h.setPosition(d);else{h.updateData(t,c,l,u);var p={x:d[0],y:d[1]};s?h.attr(p):Tn(h,p,i)}n.add(h),t.setItemGraphicEl(c,h)}).remove(function(c){var v=a.getItemGraphicEl(c);v&&v.fadeOut(function(){n.remove(v)},i)}).execute(),this._getSymbolPoint=f,this._data=t},e.prototype.updateLayout=function(){var t=this,r=this._data;r&&r.eachItemGraphicEl(function(n,i){var a=t._getSymbolPoint(i);n.setPosition(a),n.markRedraw()})},e.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=T0(t),this._data=null,this.group.removeAll()},e.prototype.incrementalUpdate=function(t,r,n){this._progressiveEls=[],n=x0(n);function i(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=t.start;a=0},t.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},t.type="legend.plain",t.dependencies=["series"],t.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},t}(zt),jh=JF,Ui=Zt,Kh=P,al=ve,t5=function(e){J(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r.newlineDisabled=!1,r}return t.prototype.init=function(){this.group.add(this._contentGroup=new al),this.group.add(this._selectorGroup=new al),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(r,n,i){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!r.get("show",!0)){var o=r.get("align"),s=r.get("orient");(!o||o==="auto")&&(o=r.get("left")==="right"&&s==="vertical"?"right":"left");var l=r.get("selector",!0),u=r.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,r,n,i,l,s,u);var f=r.getBoxLayoutParams(),c={width:i.getWidth(),height:i.getHeight()},v=r.get("padding"),h=qo(f,c,v),d=this.layoutInner(r,o,h,a,l,u),m=qo(Mt({width:d.width,height:d.height},f),c,v);this.group.x=m.x-d.x,this.group.y=m.y-d.y,this.group.markRedraw(),this.group.add(this._backgroundEl=bF(d,r))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(r,n,i,a,o,s,l){var u=this.getContentGroup(),f=gt(),c=n.get("selectedMode"),v=[];i.eachRawSeries(function(h){!h.get("legendHoverLink")&&v.push(h.id)}),Kh(n.getData(),function(h,d){var m=h.get("name");if(!this.newlineDisabled&&(m===""||m===` `)){var g=new al;g.newline=!0,u.add(g);return}var p=i.getSeriesByName(m)[0];if(!f.get(m))if(p){var y=p.getData(),_=y.getVisual("legendLineStyle")||{},w=y.getVisual("legendIcon"),S=y.getVisual("style"),b=this._createItem(p,m,d,h,n,r,_,S,w,c);b.on("click",Ui(C0,m,null,a,v)).on("mouseover",Ui(Zh,p.name,null,a,v)).on("mouseout",Ui(Qh,p.name,null,a,v)),f.set(m,!0)}else i.eachRawSeries(function(x){if(!f.get(m)&&x.legendVisualProvider){var C=x.legendVisualProvider;if(!C.containName(m))return;var D=C.indexOfName(m),M=C.getItemVisual(D,"style"),I=C.getItemVisual(D,"legendIcon"),A=kr(M.fill);A&&A[3]===0&&(A[3]=.2,M=q(q({},M),{fill:Mu(A,"rgba")}));var L=this._createItem(x,m,d,h,n,r,{},M,I,c);L.on("click",Ui(C0,null,m,a,v)).on("mouseover",Ui(Zh,null,m,a,v)).on("mouseout",Ui(Qh,null,m,a,v)),f.set(m,!0)}},this)},this),o&&this._createSelector(o,n,a,s,l)},t.prototype._createSelector=function(r,n,i,a,o){var s=this.getSelectorGroup();Kh(r,function(u){var f=u.type,c=new de({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){i.dispatchAction({type:f==="all"?"legendAllSelect":"legendInverseSelect"})}});s.add(c);var v=n.getModel("selectorLabel"),h=n.getModel(["emphasis","selectorLabel"]);gd(c,{normal:v,emphasis:h},{defaultText:u.title}),bh(c)})},t.prototype._createItem=function(r,n,i,a,o,s,l,u,f,c){var v=r.visualDrawType,h=o.get("itemWidth"),d=o.get("itemHeight"),m=o.isSelected(n),g=a.get("symbolRotate"),p=a.get("symbolKeepAspect"),y=a.get("icon");f=y||f||"roundRect";var _=e5(f,a,l,u,v,m),w=new al,S=a.getModel("textStyle");if(dt(r.getLegendIcon)&&(!y||y==="inherit"))w.add(r.getLegendIcon({itemWidth:h,itemHeight:d,icon:f,iconRotate:g,itemStyle:_.itemStyle,lineStyle:_.lineStyle,symbolKeepAspect:p}));else{var b=y==="inherit"&&r.getData().getVisual("symbol")?g==="inherit"?r.getData().getVisual("symbolRotate"):g:0;w.add(r5({itemWidth:h,itemHeight:d,icon:f,iconRotate:b,itemStyle:_.itemStyle,lineStyle:_.lineStyle,symbolKeepAspect:p}))}var x=s==="left"?h+5:-5,C=s,D=o.get("formatter"),M=n;nt(D)&&D?M=D.replace("{name}",n!=null?n:""):dt(D)&&(M=D(n));var I=a.get("inactiveColor");w.add(new de({style:Cn(S,{text:M,x,y:d/2,fill:m?S.getTextColor():I,align:C,verticalAlign:"middle"})}));var A=new Jt({shape:w.getBoundingRect(),invisible:!0}),L=a.getModel("tooltip");return L.get("show")&&dd({el:A,componentModel:o,itemName:n,itemTooltipOption:L.option}),w.add(A),w.eachChild(function(O){O.silent=!0}),A.silent=!c,this.getContentGroup().add(w),bh(w),w.__legendDataIndex=i,w},t.prototype.layoutInner=function(r,n,i,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();Do(r.get("orient"),l,r.get("itemGap"),i.width,i.height);var f=l.getBoundingRect(),c=[-f.x,-f.y];if(u.markRedraw(),l.markRedraw(),o){Do("horizontal",u,r.get("selectorItemGap",!0));var v=u.getBoundingRect(),h=[-v.x,-v.y],d=r.get("selectorButtonGap",!0),m=r.getOrient().index,g=m===0?"width":"height",p=m===0?"height":"width",y=m===0?"y":"x";s==="end"?h[m]+=f[g]+d:c[m]+=v[g]+d,h[1-m]+=f[p]/2-v[p]/2,u.x=h[0],u.y=h[1],l.x=c[0],l.y=c[1];var _={x:0,y:0};return _[g]=f[g]+d+v[g],_[p]=Math.max(f[p],v[p]),_[y]=Math.min(0,v[y]+h[1-m]),_}else return l.x=c[0],l.y=c[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type="legend.plain",t}(Hr);function e5(e,t,r,n,i,a){function o(d,m){d.lineWidth==="auto"&&(d.lineWidth=m.lineWidth>0?2:0),Kh(d,function(g,p){d[p]==="inherit"&&(d[p]=m[p])})}var s=t.getModel("itemStyle"),l=s.getItemStyle(),u=e.lastIndexOf("empty",0)===0?"fill":"stroke";l.decal=n.decal,l.fill==="inherit"&&(l.fill=n[i]),l.stroke==="inherit"&&(l.stroke=n[u]),l.opacity==="inherit"&&(l.opacity=(i==="fill"?n:r).opacity),o(l,n);var f=t.getModel("lineStyle"),c=f.getLineStyle();if(o(c,r),l.fill==="auto"&&(l.fill=n.fill),l.stroke==="auto"&&(l.stroke=n.fill),c.stroke==="auto"&&(c.stroke=n.fill),!a){var v=t.get("inactiveBorderWidth"),h=l[u];l.lineWidth=v==="auto"?n.lineWidth>0&&h?2:0:l.lineWidth,l.fill=t.get("inactiveColor"),l.stroke=t.get("inactiveBorderColor"),c.stroke=f.get("inactiveColor"),c.lineWidth=f.get("inactiveWidth")}return{itemStyle:l,lineStyle:c}}function r5(e){var t=e.icon||"roundRect",r=wa(t,0,0,e.itemWidth,e.itemHeight,e.itemStyle.fill,e.symbolKeepAspect);return r.setStyle(e.itemStyle),r.rotation=(e.iconRotate||0)*Math.PI/180,r.setOrigin([e.itemWidth/2,e.itemHeight/2]),t.indexOf("empty")>-1&&(r.style.stroke=r.style.fill,r.style.fill="#fff",r.style.lineWidth=2),r}function C0(e,t,r,n){Qh(e,t,r,n),r.dispatchAction({type:"legendToggleSelect",name:e!=null?e:t}),Zh(e,t,r,n)}function ox(e){for(var t=e.getZr().storage.getDisplayList(),r,n=0,i=t.length;ni[o],g=[-h.x,-h.y];n||(g[a]=f[u]);var p=[0,0],y=[-d.x,-d.y],_=Dt(r.get("pageButtonGap",!0),r.get("itemGap",!0));if(m){var w=r.get("pageButtonPosition",!0);w==="end"?y[a]+=i[o]-d[o]:p[a]+=d[o]+_}y[1-a]+=h[s]/2-d[s]/2,f.setPosition(g),c.setPosition(p),v.setPosition(y);var S={x:0,y:0};if(S[o]=m?i[o]:h[o],S[s]=Math.max(h[s],d[s]),S[l]=Math.min(0,d[l]+y[1-a]),c.__rectSize=i[o],m){var b={x:0,y:0};b[o]=Math.max(i[o]-d[o]-_,0),b[s]=S[s],c.setClipPath(new Jt({shape:b})),c.__rectSize=b[o]}else v.eachChild(function(C){C.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(r);return x.pageIndex!=null&&Tn(f,{x:x.contentPosition[0],y:x.contentPosition[1]},m?r:null),this._updatePageInfoView(r,x),S},t.prototype._pageGo=function(r,n,i){var a=this._getPageInfo(n)[r];a!=null&&i.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:n.id})},t.prototype._updatePageInfoView=function(r,n){var i=this._controllerGroup;P(["pagePrev","pageNext"],function(f){var c=f+"DataIndex",v=n[c]!=null,h=i.childOfName(f);h&&(h.setStyle("fill",v?r.get("pageIconColor",!0):r.get("pageIconInactiveColor",!0)),h.cursor=v?"pointer":"default")});var a=i.childOfName("pageText"),o=r.get("pageFormatter"),s=n.pageIndex,l=s!=null?s+1:0,u=n.pageCount;a&&o&&a.setStyle("text",nt(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},t.prototype._getPageInfo=function(r){var n=r.get("scrollDataIndex",!0),i=this.getContentGroup(),a=this._containerGroup.__rectSize,o=r.getOrient().index,s=wc[o],l=bc[o],u=this._findTargetItemIndex(n),f=i.children(),c=f[u],v=f.length,h=v?1:0,d={contentPosition:[i.x,i.y],pageCount:h,pageIndex:h-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return d;var m=w(c);d.contentPosition[o]=-m.s;for(var g=u+1,p=m,y=m,_=null;g<=v;++g)_=w(f[g]),(!_&&y.e>p.s+a||_&&!S(_,p.s))&&(y.i>p.i?p=y:p=_,p&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=p.i),++d.pageCount)),y=_;for(var g=u-1,p=m,y=m,_=null;g>=-1;--g)_=w(f[g]),(!_||!S(y,_.s))&&p.i=x&&b.s<=x+a}},t.prototype._findTargetItemIndex=function(r){if(!this._showController)return 0;var n,i=this.getContentGroup(),a;return i.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===r&&(n=s)}),n!=null?n:a},t.type="legend.scroll",t}(sx),l5=s5;function u5(e){e.registerAction("legendScroll","legendscroll",function(t,r){var n=t.scrollDataIndex;n!=null&&r.eachComponent({mainType:"legend",subType:"scroll",query:t},function(i){i.setScrollDataIndex(n)})})}function f5(e){mi(lx),e.registerComponentModel(o5),e.registerComponentView(l5),u5(e)}function wz(e){mi(lx),mi(f5)}var c5=function(e){J(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r.hasSymbolVisual=!0,r}return t.prototype.getInitialData=function(r){return lB(null,this,{useEncodeDefaulter:!0})},t.prototype.getLegendIcon=function(r){var n=new ve,i=wa("line",0,r.itemHeight/2,r.itemWidth,0,r.lineStyle.stroke,!1);n.add(i),i.setStyle(r.lineStyle);var a=this.getData().getVisual("symbol"),o=this.getData().getVisual("symbolRotate"),s=a==="none"?"circle":a,l=r.itemHeight*.8,u=wa(s,(r.itemWidth-l)/2,(r.itemHeight-l)/2,l,l,r.itemStyle.fill);n.add(u),u.setStyle(r.itemStyle);var f=r.iconRotate==="inherit"?o:r.iconRotate||0;return u.rotation=f*Math.PI/180,u.setOrigin([r.itemWidth/2,r.itemHeight/2]),s.indexOf("empty")>-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),n},t.type="series.line",t.dependencies=["grid","polar"],t.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t}(Qo),h5=c5;function ux(e,t,r){var n=e.getBaseAxis(),i=e.getOtherAxis(n),a=v5(i,r),o=n.dim,s=i.dim,l=t.mapDimension(s),u=t.mapDimension(o),f=s==="x"||s==="radius"?1:0,c=ct(e.dimensions,function(d){return t.mapDimension(d)}),v=!1,h=t.getCalculationInfo("stackResultDimension");return es(t,c[0])&&(v=!0,c[0]=h),es(t,c[1])&&(v=!0,c[1]=h),{dataDimsForPoint:c,valueStart:a,valueAxisDim:s,baseAxisDim:o,stacked:!!v,valueDim:l,baseDim:u,baseDataOffset:f,stackedOverDimension:t.getCalculationInfo("stackedOverDimension")}}function v5(e,t){var r=0,n=e.scale.getExtent();return t==="start"?r=n[0]:t==="end"?r=n[1]:n[0]>0?r=n[0]:n[1]<0&&(r=n[1]),r}function fx(e,t,r,n){var i=NaN;e.stacked&&(i=r.get(r.getCalculationInfo("stackedOverDimension"),n)),isNaN(i)&&(i=e.valueStart);var a=e.baseDataOffset,o=[];return o[a]=r.get(e.baseDim,n),o[1-a]=i,t.dataToPoint(o)}function d5(e,t){var r=[];return t.diff(e).add(function(n){r.push({cmd:"+",idx:n})}).update(function(n,i){r.push({cmd:"=",idx:i,idx1:n})}).remove(function(n){r.push({cmd:"-",idx:n})}).execute(),r}function p5(e,t,r,n,i,a,o,s){for(var l=d5(e,t),u=[],f=[],c=[],v=[],h=[],d=[],m=[],g=ux(i,t,o),p=e.getLayout("points")||[],y=t.getLayout("points")||[],_=0;_=i||m<0)break;if(ui(p,y)){if(l){m+=a;continue}break}if(m===r)e[a>0?"moveTo":"lineTo"](p,y),c=p,v=y;else{var _=p-u,w=y-f;if(_*_+w*w<.5){m+=a;continue}if(o>0){for(var S=m+a,b=t[S*2],x=t[S*2+1];b===p&&x===y&&g=n||ui(b,x))h=p,d=y;else{M=b-u,I=x-f;var O=p-u,H=b-p,B=y-f,Q=x-y,G=void 0,K=void 0;if(s==="x"){G=Math.abs(O),K=Math.abs(H);var lt=M>0?1:-1;h=p-lt*G*o,d=y,A=p+lt*K*o,L=y}else if(s==="y"){G=Math.abs(B),K=Math.abs(Q);var _t=I>0?1:-1;h=p,d=y-_t*G*o,A=p,L=y+_t*K*o}else G=Math.sqrt(O*O+B*B),K=Math.sqrt(H*H+Q*Q),D=K/(K+G),h=p-M*o*(1-D),d=y-I*o*(1-D),A=p+M*o*D,L=y+I*o*D,A=en(A,rn(b,p)),L=en(L,rn(x,y)),A=rn(A,en(b,p)),L=rn(L,en(x,y)),M=A-p,I=L-y,h=p-M*G/K,d=y-I*G/K,h=en(h,rn(u,p)),d=en(d,rn(f,y)),h=rn(h,en(u,p)),d=rn(d,en(f,y)),M=p-h,I=y-d,A=p+M*K/G,L=y+I*K/G}e.bezierCurveTo(c,v,h,d,p,y),c=A,v=L}else e.lineTo(p,y)}u=p,f=y,m+=a}return g}var cx=function(){function e(){this.smooth=0,this.smoothConstraint=!0}return e}(),g5=function(e){J(t,e);function t(r){var n=e.call(this,r)||this;return n.type="ec-polyline",n}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new cx},t.prototype.buildPath=function(r,n){var i=n.points,a=0,o=i.length/2;if(n.connectNulls){for(;o>0&&ui(i[o*2-2],i[o*2-1]);o--);for(;a=0){var w=u?(d-l)*_+l:(h-s)*_+s;return u?[r,w]:[w,r]}s=h,l=d;break;case o.C:h=a[c++],d=a[c++],m=a[c++],g=a[c++],p=a[c++],y=a[c++];var S=u?Hl(s,h,m,p,r,f):Hl(l,d,g,y,r,f);if(S>0)for(var b=0;b=0){var w=u?Xt(l,d,g,y,x):Xt(s,h,m,p,x);return u?[r,w]:[w,r]}}s=p,l=y;break}}},t}(kt),m5=function(e){J(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(cx),y5=function(e){J(t,e);function t(r){var n=e.call(this,r)||this;return n.type="ec-polygon",n}return t.prototype.getDefaultShape=function(){return new m5},t.prototype.buildPath=function(r,n){var i=n.points,a=n.stackedOnPoints,o=0,s=i.length/2,l=n.smoothMonotone;if(n.connectNulls){for(;s>0&&ui(i[s*2-2],i[s*2-1]);s--);for(;ot){a?r.push(o(a,l,t)):i&&r.push(o(i,l,0),o(i,l,t));break}else i&&(r.push(o(i,l,0)),i=null),r.push(l),a=l}return r}function x5(e,t,r){var n=e.getVisual("visualMeta");if(!(!n||!n.length||!e.count())&&t.type==="cartesian2d"){for(var i,a,o=n.length-1;o>=0;o--){var s=e.getDimensionInfo(n[o].dimension);if(i=s&&s.coordDim,i==="x"||i==="y"){a=n[o];break}}if(!!a){var l=t.getAxis(i),u=ct(a.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,c=a.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),c.reverse());var v=S5(u,i==="x"?r.getWidth():r.getHeight()),h=v.length;if(!h&&f)return u[0].coord<0?c[1]?c[1]:u[f-1].color:c[0]?c[0]:u[0].color;var d=10,m=v[0].coord-d,g=v[h-1].coord+d,p=g-m;if(p<.001)return"transparent";P(v,function(_){_.offset=(_.coord-m)/p}),v.push({offset:h?v[h-1].offset:.5,color:c[1]||"transparent"}),v.unshift({offset:h?v[0].offset:.5,color:c[0]||"transparent"});var y=new Ww(0,0,0,0,v,!0);return y[i]=m,y[i+"2"]=g,y}}}function T5(e,t,r){var n=e.get("showAllSymbol"),i=n==="auto";if(!(n&&!i)){var a=r.getAxesByScale("ordinal")[0];if(!!a&&!(i&&C5(a,t))){var o=t.mapDimension(a.dim),s={};return P(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(t.get(o,l))}}}}function C5(e,t){var r=e.getExtent(),n=Math.abs(r[1]-r[0])/e.scale.count();isNaN(n)&&(n=0);for(var i=t.count(),a=Math.max(1,Math.round(i/5)),o=0;on)return!1;return!0}function D5(e,t){return isNaN(e)||isNaN(t)}function M5(e){for(var t=e.length/2;t>0&&D5(e[t*2-2],e[t*2-1]);t--);return t-1}function L0(e,t){return[e[t*2],e[t*2+1]]}function A5(e,t,r){for(var n=e.length/2,i=r==="x"?0:1,a,o,s=0,l=-1,u=0;u=t||a>=t&&o<=t){l=u;break}s=u,a=o}return{range:[s,l],t:(t-a)/(o-a)}}function hx(e){if(e.get(["endLabel","show"]))return!0;for(var t=0;t0&&r.get(["emphasis","lineStyle","width"])==="bolder"){var lt=m.getState("emphasis").style;lt.lineWidth=+m.style.lineWidth+1}Bt(m).seriesIndex=r.seriesIndex,Sh(m,Q,G,K);var _t=E0(r.get("smooth")),mt=r.get("smoothMonotone");if(m.setShape({smooth:_t,smoothMonotone:mt,connectNulls:C}),g){var pt=l.getCalculationInfo("stackedOnSeries"),At=0;g.useStyle(Mt(f.getAreaStyle(),{fill:L,opacity:.7,lineJoin:"bevel",decal:l.getVisual("style").decal})),pt&&(At=E0(pt.get("smooth"))),g.setShape({smooth:_t,stackedOnSmooth:At,smoothMonotone:mt,connectNulls:C}),dm(g,r,"areaStyle"),Bt(g).seriesIndex=r.seriesIndex,Sh(g,Q,G,K)}var k=function(U){a._changePolyState(U)};l.eachItemGraphicEl(function(U){U&&(U.onHoverStateChange=k)}),this._polyline.onHoverStateChange=k,this._data=l,this._coordSys=o,this._stackedOnPoints=b,this._points=c,this._step=I,this._valueOrigin=w,r.get("triggerLineEvent")&&(this.packEventData(r,m),g&&this.packEventData(r,g))},t.prototype.packEventData=function(r,n){Bt(n).eventData={componentType:"series",componentSubType:"line",componentIndex:r.componentIndex,seriesIndex:r.seriesIndex,seriesName:r.name,seriesType:"line"}},t.prototype.highlight=function(r,n,i,a){var o=r.getData(),s=vi(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],c=l[s*2+1];if(isNaN(f)||isNaN(c)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,c))return;var v=r.get("zlevel"),h=r.get("z");u=new Gd(o,s),u.x=f,u.y=c,u.setZ(v,h);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=v,d.z=h,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else wn.prototype.highlight.call(this,r,n,i,a)},t.prototype.downplay=function(r,n,i,a){var o=r.getData(),s=vi(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else wn.prototype.downplay.call(this,r,n,i,a)},t.prototype._changePolyState=function(r){var n=this._polygon;um(this._polyline,r),n&&um(n,r)},t.prototype._newPolyline=function(r){var n=this._polyline;return n&&this._lineGroup.remove(n),n=new g5({shape:{points:r},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(n),this._polyline=n,n},t.prototype._newPolygon=function(r,n){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new y5({shape:{points:r,stackedOnPoints:n},segmentIgnoreThreshold:2}),this._lineGroup.add(i),this._polygon=i,i},t.prototype._initSymbolLabelAnimation=function(r,n,i){var a,o,s=n.getBaseAxis(),l=s.inverse;n.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):n.type==="polar"&&(a=s.dim==="angle",o=!0);var u=r.hostModel,f=u.get("animationDuration");dt(f)&&(f=f(null));var c=u.get("animationDelay")||0,v=dt(c)?c(null):c;r.eachItemGraphicEl(function(h,d){var m=h;if(m){var g=[h.x,h.y],p=void 0,y=void 0,_=void 0;if(i)if(o){var w=i,S=n.pointToCoord(g);a?(p=w.startAngle,y=w.endAngle,_=-S[1]/180*Math.PI):(p=w.r0,y=w.r,_=S[0])}else{var b=i;a?(p=b.x,y=b.x+b.width,_=h.x):(p=b.y+b.height,y=b.y,_=h.y)}var x=y===p?0:(_-p)/(y-p);l&&(x=1-x);var C=dt(c)?c(d):f*x+v,D=m.getSymbolPath(),M=D.getTextContent();m.attr({scaleX:0,scaleY:0}),m.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:C}),M&&M.animateFrom({style:{opacity:0}},{duration:300,delay:C}),D.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(r,n,i){var a=r.getModel("endLabel");if(hx(r)){var o=r.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new de({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=M5(l);f>=0&&(gd(s,md(r,"endLabel"),{inheritColor:i,labelFetcher:r,labelDataIndex:f,defaultText:function(c,v,h){return h!=null?YF(o,h):ax(o,c)},enableTextSetter:!0},P5(a,n)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(r,n,i,a,o,s,l){var u=this._endLabel,f=this._polyline;if(u){r<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var c=i.getLayout("points"),v=i.hostModel,h=v.get("connectNulls"),d=s.get("precision"),m=s.get("distance")||0,g=l.getBaseAxis(),p=g.isHorizontal(),y=g.inverse,_=n.shape,w=y?p?_.x:_.y+_.height:p?_.x+_.width:_.y,S=(p?m:0)*(y?-1:1),b=(p?0:-m)*(y?-1:1),x=p?"x":"y",C=A5(c,w,x),D=C.range,M=D[1]-D[0],I=void 0;if(M>=1){if(M>1&&!h){var A=L0(c,D[0]);u.attr({x:A[0]+S,y:A[1]+b}),o&&(I=v.getRawValue(D[0]))}else{var A=f.getPointOn(w,x);A&&u.attr({x:A[0]+S,y:A[1]+b});var L=v.getRawValue(D[0]),O=v.getRawValue(D[1]);o&&(I=VI(i,d,L,O,C.t))}a.lastFrameIndex=D[0]}else{var H=r===1||a.lastFrameIndex>0?D[0]:0,A=L0(c,H);o&&(I=v.getRawValue(H)),u.attr({x:A[0]+S,y:A[1]+b})}o&&Zw(u).setLabelText(I)}},t.prototype._doUpdateAnimation=function(r,n,i,a,o,s,l){var u=this._polyline,f=this._polygon,c=r.hostModel,v=p5(this._data,r,this._stackedOnPoints,n,this._coordSys,i,this._valueOrigin),h=v.current,d=v.stackedOnCurrent,m=v.next,g=v.stackedOnNext;if(o&&(h=nn(v.current,i,o,l),d=nn(v.stackedOnCurrent,i,o,l),m=nn(v.next,i,o,l),g=nn(v.stackedOnNext,i,o,l)),I0(h,m)>3e3||f&&I0(d,g)>3e3){u.stopAnimation(),u.setShape({points:m}),f&&(f.stopAnimation(),f.setShape({points:m,stackedOnPoints:g}));return}u.shape.__points=v.current,u.shape.points=h;var p={shape:{points:m}};v.current!==h&&(p.shape.__points=v.next),u.stopAnimation(),Tn(u,p,c),f&&(f.setShape({points:h,stackedOnPoints:d}),f.stopAnimation(),Tn(f,{shape:{stackedOnPoints:g}},c),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var y=[],_=v.status,w=0;w<_.length;w++){var S=_[w].cmd;if(S==="="){var b=r.getItemGraphicEl(_[w].idx1);b&&y.push({el:b,ptIdx:w})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var x=u.shape.__points,C=0;Ct&&(t=e[r]);return isFinite(t)?t:NaN},min:function(e){for(var t=1/0,r=0;r10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),c=n.getDevicePixelRatio(),v=Math.abs(f[1]-f[0])*(c||1),h=Math.round(s/v);if(isFinite(h)&&h>1){a==="lttb"&&t.setData(i.lttbDownSample(i.mapDimension(u.dim),1/h));var d=void 0;nt(a)?d=R5[a]:dt(a)&&(d=a),d&&t.setData(i.downSample(i.mapDimension(u.dim),1/h,d,O5))}}}}}function bz(e){e.registerChartView(E5),e.registerSeriesModel(h5),e.registerLayout(L5("line",!0)),e.registerVisual({seriesType:"line",reset:function(t){var r=t.getData(),n=t.getModel("lineStyle").getLineStyle();n&&!n.stroke&&(n.stroke=r.getVisual("style").fill),r.setVisual("legendLineStyle",n)}}),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,k5("line"))}function R0(e,t,r){var n=bi.createCanvas(),i=t.getWidth(),a=t.getHeight(),o=n.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=i+"px",o.height=a+"px",n.setAttribute("data-zr-dom-id",e)),n.width=i*r,n.height=a*r,n}var B5=function(e){J(t,e);function t(r,n,i){var a=e.call(this)||this;a.motionBlur=!1,a.lastFrameAlpha=.7,a.dpr=1,a.virtual=!1,a.config={},a.incremental=!1,a.zlevel=0,a.maxRepaintRectCount=5,a.__dirty=!0,a.__firstTimePaint=!0,a.__used=!1,a.__drawIndex=0,a.__startIndex=0,a.__endIndex=0,a.__prevStartIndex=null,a.__prevEndIndex=null;var o;i=i||Wl,typeof r=="string"?o=R0(r,n,i):st(r)&&(o=r,r=o.id),a.id=r,a.dom=o;var s=o.style;return s&&(x1(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),a.painter=n,a.dpr=i,a}return t.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},t.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},t.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},t.prototype.setUnpainted=function(){this.__firstTimePaint=!0},t.prototype.createBackBuffer=function(){var r=this.dpr;this.domBack=R0("back-"+this.id,this.painter,r),this.ctxBack=this.domBack.getContext("2d"),r!==1&&this.ctxBack.scale(r,r)},t.prototype.createRepaintRects=function(r,n,i,a){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new Ot(0,0,0,0);function f(y){if(!(!y.isFinite()||y.isZero()))if(o.length===0){var _=new Ot(0,0,0,0);_.copy(y),o.push(_)}else{for(var w=!1,S=1/0,b=0,x=0;x=s)}}for(var c=this.__startIndex;c15)break}}O.prevElClipPaths&&p.restore()};if(y)if(y.length===0)C=g.__endIndex;else for(var M=h.dpr,I=0;I0&&t>i[0]){for(l=0;lt);l++);s=n[i[l]]}if(i.splice(l+1,0,t),n[t]=r,!r.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(r.dom,u.nextSibling):o.appendChild(r.dom)}else o.firstChild?o.insertBefore(r.dom,o.firstChild):o.appendChild(r.dom);r.__painter=this}},e.prototype.eachLayer=function(t,r){for(var n=this._zlevelList,i=0;i0?ol:0),this._needsManuallyCompositing),f.__builtin__||Vv("ZLevel "+u+" has been used by unkown layer "+f.id),f!==a&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,r(l),a=f),i.__dirty&Pe&&!i.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}r(l),this.eachBuiltinLayer(function(c,v){!c.__used&&c.getElementCount()>0&&(c.__dirty=!0,c.__startIndex=c.__endIndex=c.__drawIndex=0),c.__dirty&&c.__drawIndex<0&&(c.__drawIndex=c.__startIndex)})},e.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},e.prototype._clearLayer=function(t){t.clear()},e.prototype.setBackgroundColor=function(t){this._backgroundColor=t,P(this._layers,function(r){r.setUnpainted()})},e.prototype.configLayer=function(t,r){if(r){var n=this._layerConfig;n[t]?Ct(n[t],r,!0):n[t]=r;for(var i=0;i=0;)g++;if(d.substr(0,2)==="::"&&g--,d.substr(-2,2)==="::"&&g--,g>m)return null;for(w=m-g,_=":";w--;)_+="0:";return d=d.replace("::",_),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),m=function(){const S=d.split(":"),b=[];for(let x=0;x0;){if(_=g-p,_<0&&(_=0),d[y]>>_!==m[y]>>_)return!1;p-=g,y+=1}return!0}function c(d){if(a.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(i.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function v(d,m){for(;d.length=0;y-=1)if(_=this.octets[y],_ in p){if(w=p[_],g&&w!==0)return null;w!==8&&(g=!0),m+=w}else return null;return 32-m},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{const m=this.parseCIDR(d),g=m[0].toByteArray(),p=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[];let _=0;for(;_<4;)y.push(parseInt(g[_],10)|parseInt(p[_],10)^255),_++;return new this(y)}catch(m){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch(m){return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let m,g,p,y,_;try{for(m=this.parseCIDR(d),p=m[0].toByteArray(),_=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[],g=0;g<4;)y.push(parseInt(p[g],10)&parseInt(_[g],10)),g++;return new this(y)}catch(w){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){const m=this.parser(d);if(m===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(m)},h.IPv4.parseCIDR=function(d){let m;if(m=d.match(/^(.+)\/(\d+)$/)){const g=parseInt(m[2]);if(g>=0&&g<=32){const p=[this.parse(m[1]),g];return Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let m,g,p;if(m=d.match(n.fourOctet))return function(){const y=m.slice(1,6),_=[];for(let w=0;w4294967295||p<0)throw new Error("ipaddr: address outside defined range");return function(){const y=[];let _;for(_=0;_<=24;_+=8)y.push(p>>_&255);return y}().reverse()}else return(m=d.match(n.twoOctet))?function(){const y=m.slice(1,4),_=[];if(p=c(y[1]),p>16777215||p<0)throw new Error("ipaddr: address outside defined range");return _.push(c(y[0])),_.push(p>>16&255),_.push(p>>8&255),_.push(p&255),_}():(m=d.match(n.threeOctet))?function(){const y=m.slice(1,5),_=[];if(p=c(y[2]),p>65535||p<0)throw new Error("ipaddr: address outside defined range");return _.push(c(y[0])),_.push(c(y[1])),_.push(p>>8&255),_.push(p&255),_}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");const m=[0,0,0,0];let g=0;const p=Math.floor(d/8);for(;g=0;w-=1)if(y=this.parts[w],y in p){if(_=p[y],g&&_!==0)return null;_!==16&&(g=!0),m+=_}else return null;return 128-m},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let m;const g=[],p=this.parts;for(let y=0;y>8),g.push(m&255);return g},d.prototype.toFixedLengthString=function(){const m=function(){const p=[];for(let y=0;y>8,g&255,p>>8,p&255])},d.prototype.toNormalizedString=function(){const m=function(){const p=[];for(let y=0;yy&&(p=_.index,y=_[0].length);return y<0?g:`${g.substring(0,p)}::${g.substring(p+y)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{const m=this.parseCIDR(d),g=m[0].toByteArray(),p=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[];let _=0;for(;_<16;)y.push(parseInt(g[_],10)|parseInt(p[_],10)^255),_++;return new this(y)}catch(m){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${m})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{const m=this.parser(d);return new this(m.parts,m.zoneId),!0}catch(m){return!1}},h.IPv6.networkAddressFromCIDR=function(d){let m,g,p,y,_;try{for(m=this.parseCIDR(d),p=m[0].toByteArray(),_=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[],g=0;g<16;)y.push(parseInt(p[g],10)&parseInt(_[g],10)),g++;return new this(y)}catch(w){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${w})`)}},h.IPv6.parse=function(d){const m=this.parser(d);if(m.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(m.parts,m.zoneId)},h.IPv6.parseCIDR=function(d){let m,g,p;if((g=d.match(/^(.+)\/(\d+)$/))&&(m=parseInt(g[2]),m>=0&&m<=128))return p=[this.parse(g[1]),m],Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let m,g,p,y,_,w;if(p=d.match(l.deprecatedTransitional))return this.parser(`::ffff:${p[1]}`);if(l.native.test(d))return u(d,8);if((p=d.match(l.transitional))&&(w=p[6]||"",m=u(p[1].slice(0,-1)+w,6),m.parts)){for(_=[parseInt(p[2]),parseInt(p[3]),parseInt(p[4]),parseInt(p[5])],g=0;g<_.length;g++)if(y=_[g],!(0<=y&&y<=255))return null;return m.parts.push(_[0]<<8|_[1]),m.parts.push(_[2]<<8|_[3]),{parts:m.parts,zoneId:m.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");const m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let g=0;const p=Math.floor(d/8);for(;gi[o],g=[-h.x,-h.y];n||(g[a]=f[u]);var p=[0,0],y=[-d.x,-d.y],_=Dt(r.get("pageButtonGap",!0),r.get("itemGap",!0));if(m){var w=r.get("pageButtonPosition",!0);w==="end"?y[a]+=i[o]-d[o]:p[a]+=d[o]+_}y[1-a]+=h[s]/2-d[s]/2,f.setPosition(g),c.setPosition(p),v.setPosition(y);var S={x:0,y:0};if(S[o]=m?i[o]:h[o],S[s]=Math.max(h[s],d[s]),S[l]=Math.min(0,d[l]+y[1-a]),c.__rectSize=i[o],m){var b={x:0,y:0};b[o]=Math.max(i[o]-d[o]-_,0),b[s]=S[s],c.setClipPath(new Jt({shape:b})),c.__rectSize=b[o]}else v.eachChild(function(C){C.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(r);return x.pageIndex!=null&&Tn(f,{x:x.contentPosition[0],y:x.contentPosition[1]},m?r:null),this._updatePageInfoView(r,x),S},t.prototype._pageGo=function(r,n,i){var a=this._getPageInfo(n)[r];a!=null&&i.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:n.id})},t.prototype._updatePageInfoView=function(r,n){var i=this._controllerGroup;P(["pagePrev","pageNext"],function(f){var c=f+"DataIndex",v=n[c]!=null,h=i.childOfName(f);h&&(h.setStyle("fill",v?r.get("pageIconColor",!0):r.get("pageIconInactiveColor",!0)),h.cursor=v?"pointer":"default")});var a=i.childOfName("pageText"),o=r.get("pageFormatter"),s=n.pageIndex,l=s!=null?s+1:0,u=n.pageCount;a&&o&&a.setStyle("text",nt(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},t.prototype._getPageInfo=function(r){var n=r.get("scrollDataIndex",!0),i=this.getContentGroup(),a=this._containerGroup.__rectSize,o=r.getOrient().index,s=wc[o],l=bc[o],u=this._findTargetItemIndex(n),f=i.children(),c=f[u],v=f.length,h=v?1:0,d={contentPosition:[i.x,i.y],pageCount:h,pageIndex:h-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return d;var m=w(c);d.contentPosition[o]=-m.s;for(var g=u+1,p=m,y=m,_=null;g<=v;++g)_=w(f[g]),(!_&&y.e>p.s+a||_&&!S(_,p.s))&&(y.i>p.i?p=y:p=_,p&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=p.i),++d.pageCount)),y=_;for(var g=u-1,p=m,y=m,_=null;g>=-1;--g)_=w(f[g]),(!_||!S(y,_.s))&&p.i=x&&b.s<=x+a}},t.prototype._findTargetItemIndex=function(r){if(!this._showController)return 0;var n,i=this.getContentGroup(),a;return i.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===r&&(n=s)}),n!=null?n:a},t.type="legend.scroll",t}(sx),l5=s5;function u5(e){e.registerAction("legendScroll","legendscroll",function(t,r){var n=t.scrollDataIndex;n!=null&&r.eachComponent({mainType:"legend",subType:"scroll",query:t},function(i){i.setScrollDataIndex(n)})})}function f5(e){mi(lx),e.registerComponentModel(o5),e.registerComponentView(l5),u5(e)}function wz(e){mi(lx),mi(f5)}var c5=function(e){J(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r.hasSymbolVisual=!0,r}return t.prototype.getInitialData=function(r){return lB(null,this,{useEncodeDefaulter:!0})},t.prototype.getLegendIcon=function(r){var n=new ve,i=wa("line",0,r.itemHeight/2,r.itemWidth,0,r.lineStyle.stroke,!1);n.add(i),i.setStyle(r.lineStyle);var a=this.getData().getVisual("symbol"),o=this.getData().getVisual("symbolRotate"),s=a==="none"?"circle":a,l=r.itemHeight*.8,u=wa(s,(r.itemWidth-l)/2,(r.itemHeight-l)/2,l,l,r.itemStyle.fill);n.add(u),u.setStyle(r.itemStyle);var f=r.iconRotate==="inherit"?o:r.iconRotate||0;return u.rotation=f*Math.PI/180,u.setOrigin([r.itemWidth/2,r.itemHeight/2]),s.indexOf("empty")>-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),n},t.type="series.line",t.dependencies=["grid","polar"],t.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t}(Qo),h5=c5;function ux(e,t,r){var n=e.getBaseAxis(),i=e.getOtherAxis(n),a=v5(i,r),o=n.dim,s=i.dim,l=t.mapDimension(s),u=t.mapDimension(o),f=s==="x"||s==="radius"?1:0,c=ct(e.dimensions,function(d){return t.mapDimension(d)}),v=!1,h=t.getCalculationInfo("stackResultDimension");return es(t,c[0])&&(v=!0,c[0]=h),es(t,c[1])&&(v=!0,c[1]=h),{dataDimsForPoint:c,valueStart:a,valueAxisDim:s,baseAxisDim:o,stacked:!!v,valueDim:l,baseDim:u,baseDataOffset:f,stackedOverDimension:t.getCalculationInfo("stackedOverDimension")}}function v5(e,t){var r=0,n=e.scale.getExtent();return t==="start"?r=n[0]:t==="end"?r=n[1]:n[0]>0?r=n[0]:n[1]<0&&(r=n[1]),r}function fx(e,t,r,n){var i=NaN;e.stacked&&(i=r.get(r.getCalculationInfo("stackedOverDimension"),n)),isNaN(i)&&(i=e.valueStart);var a=e.baseDataOffset,o=[];return o[a]=r.get(e.baseDim,n),o[1-a]=i,t.dataToPoint(o)}function d5(e,t){var r=[];return t.diff(e).add(function(n){r.push({cmd:"+",idx:n})}).update(function(n,i){r.push({cmd:"=",idx:i,idx1:n})}).remove(function(n){r.push({cmd:"-",idx:n})}).execute(),r}function p5(e,t,r,n,i,a,o,s){for(var l=d5(e,t),u=[],f=[],c=[],v=[],h=[],d=[],m=[],g=ux(i,t,o),p=e.getLayout("points")||[],y=t.getLayout("points")||[],_=0;_=i||m<0)break;if(ui(p,y)){if(l){m+=a;continue}break}if(m===r)e[a>0?"moveTo":"lineTo"](p,y),c=p,v=y;else{var _=p-u,w=y-f;if(_*_+w*w<.5){m+=a;continue}if(o>0){for(var S=m+a,b=t[S*2],x=t[S*2+1];b===p&&x===y&&g=n||ui(b,x))h=p,d=y;else{M=b-u,I=x-f;var O=p-u,H=b-p,B=y-f,Q=x-y,G=void 0,K=void 0;if(s==="x"){G=Math.abs(O),K=Math.abs(H);var lt=M>0?1:-1;h=p-lt*G*o,d=y,A=p+lt*K*o,L=y}else if(s==="y"){G=Math.abs(B),K=Math.abs(Q);var _t=I>0?1:-1;h=p,d=y-_t*G*o,A=p,L=y+_t*K*o}else G=Math.sqrt(O*O+B*B),K=Math.sqrt(H*H+Q*Q),D=K/(K+G),h=p-M*o*(1-D),d=y-I*o*(1-D),A=p+M*o*D,L=y+I*o*D,A=en(A,rn(b,p)),L=en(L,rn(x,y)),A=rn(A,en(b,p)),L=rn(L,en(x,y)),M=A-p,I=L-y,h=p-M*G/K,d=y-I*G/K,h=en(h,rn(u,p)),d=en(d,rn(f,y)),h=rn(h,en(u,p)),d=rn(d,en(f,y)),M=p-h,I=y-d,A=p+M*K/G,L=y+I*K/G}e.bezierCurveTo(c,v,h,d,p,y),c=A,v=L}else e.lineTo(p,y)}u=p,f=y,m+=a}return g}var cx=function(){function e(){this.smooth=0,this.smoothConstraint=!0}return e}(),g5=function(e){J(t,e);function t(r){var n=e.call(this,r)||this;return n.type="ec-polyline",n}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new cx},t.prototype.buildPath=function(r,n){var i=n.points,a=0,o=i.length/2;if(n.connectNulls){for(;o>0&&ui(i[o*2-2],i[o*2-1]);o--);for(;a=0){var w=u?(d-l)*_+l:(h-s)*_+s;return u?[r,w]:[w,r]}s=h,l=d;break;case o.C:h=a[c++],d=a[c++],m=a[c++],g=a[c++],p=a[c++],y=a[c++];var S=u?Hl(s,h,m,p,r,f):Hl(l,d,g,y,r,f);if(S>0)for(var b=0;b=0){var w=u?Xt(l,d,g,y,x):Xt(s,h,m,p,x);return u?[r,w]:[w,r]}}s=p,l=y;break}}},t}(kt),m5=function(e){J(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(cx),y5=function(e){J(t,e);function t(r){var n=e.call(this,r)||this;return n.type="ec-polygon",n}return t.prototype.getDefaultShape=function(){return new m5},t.prototype.buildPath=function(r,n){var i=n.points,a=n.stackedOnPoints,o=0,s=i.length/2,l=n.smoothMonotone;if(n.connectNulls){for(;s>0&&ui(i[s*2-2],i[s*2-1]);s--);for(;ot){a?r.push(o(a,l,t)):i&&r.push(o(i,l,0),o(i,l,t));break}else i&&(r.push(o(i,l,0)),i=null),r.push(l),a=l}return r}function x5(e,t,r){var n=e.getVisual("visualMeta");if(!(!n||!n.length||!e.count())&&t.type==="cartesian2d"){for(var i,a,o=n.length-1;o>=0;o--){var s=e.getDimensionInfo(n[o].dimension);if(i=s&&s.coordDim,i==="x"||i==="y"){a=n[o];break}}if(!!a){var l=t.getAxis(i),u=ct(a.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,c=a.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),c.reverse());var v=S5(u,i==="x"?r.getWidth():r.getHeight()),h=v.length;if(!h&&f)return u[0].coord<0?c[1]?c[1]:u[f-1].color:c[0]?c[0]:u[0].color;var d=10,m=v[0].coord-d,g=v[h-1].coord+d,p=g-m;if(p<.001)return"transparent";P(v,function(_){_.offset=(_.coord-m)/p}),v.push({offset:h?v[h-1].offset:.5,color:c[1]||"transparent"}),v.unshift({offset:h?v[0].offset:.5,color:c[0]||"transparent"});var y=new Ww(0,0,0,0,v,!0);return y[i]=m,y[i+"2"]=g,y}}}function T5(e,t,r){var n=e.get("showAllSymbol"),i=n==="auto";if(!(n&&!i)){var a=r.getAxesByScale("ordinal")[0];if(!!a&&!(i&&C5(a,t))){var o=t.mapDimension(a.dim),s={};return P(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(t.get(o,l))}}}}function C5(e,t){var r=e.getExtent(),n=Math.abs(r[1]-r[0])/e.scale.count();isNaN(n)&&(n=0);for(var i=t.count(),a=Math.max(1,Math.round(i/5)),o=0;on)return!1;return!0}function D5(e,t){return isNaN(e)||isNaN(t)}function M5(e){for(var t=e.length/2;t>0&&D5(e[t*2-2],e[t*2-1]);t--);return t-1}function L0(e,t){return[e[t*2],e[t*2+1]]}function A5(e,t,r){for(var n=e.length/2,i=r==="x"?0:1,a,o,s=0,l=-1,u=0;u=t||a>=t&&o<=t){l=u;break}s=u,a=o}return{range:[s,l],t:(t-a)/(o-a)}}function hx(e){if(e.get(["endLabel","show"]))return!0;for(var t=0;t0&&r.get(["emphasis","lineStyle","width"])==="bolder"){var lt=m.getState("emphasis").style;lt.lineWidth=+m.style.lineWidth+1}Bt(m).seriesIndex=r.seriesIndex,Sh(m,Q,G,K);var _t=E0(r.get("smooth")),mt=r.get("smoothMonotone");if(m.setShape({smooth:_t,smoothMonotone:mt,connectNulls:C}),g){var pt=l.getCalculationInfo("stackedOnSeries"),At=0;g.useStyle(Mt(f.getAreaStyle(),{fill:L,opacity:.7,lineJoin:"bevel",decal:l.getVisual("style").decal})),pt&&(At=E0(pt.get("smooth"))),g.setShape({smooth:_t,stackedOnSmooth:At,smoothMonotone:mt,connectNulls:C}),dm(g,r,"areaStyle"),Bt(g).seriesIndex=r.seriesIndex,Sh(g,Q,G,K)}var k=function(U){a._changePolyState(U)};l.eachItemGraphicEl(function(U){U&&(U.onHoverStateChange=k)}),this._polyline.onHoverStateChange=k,this._data=l,this._coordSys=o,this._stackedOnPoints=b,this._points=c,this._step=I,this._valueOrigin=w,r.get("triggerLineEvent")&&(this.packEventData(r,m),g&&this.packEventData(r,g))},t.prototype.packEventData=function(r,n){Bt(n).eventData={componentType:"series",componentSubType:"line",componentIndex:r.componentIndex,seriesIndex:r.seriesIndex,seriesName:r.name,seriesType:"line"}},t.prototype.highlight=function(r,n,i,a){var o=r.getData(),s=vi(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],c=l[s*2+1];if(isNaN(f)||isNaN(c)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,c))return;var v=r.get("zlevel"),h=r.get("z");u=new Gd(o,s),u.x=f,u.y=c,u.setZ(v,h);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=v,d.z=h,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else wn.prototype.highlight.call(this,r,n,i,a)},t.prototype.downplay=function(r,n,i,a){var o=r.getData(),s=vi(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else wn.prototype.downplay.call(this,r,n,i,a)},t.prototype._changePolyState=function(r){var n=this._polygon;um(this._polyline,r),n&&um(n,r)},t.prototype._newPolyline=function(r){var n=this._polyline;return n&&this._lineGroup.remove(n),n=new g5({shape:{points:r},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(n),this._polyline=n,n},t.prototype._newPolygon=function(r,n){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new y5({shape:{points:r,stackedOnPoints:n},segmentIgnoreThreshold:2}),this._lineGroup.add(i),this._polygon=i,i},t.prototype._initSymbolLabelAnimation=function(r,n,i){var a,o,s=n.getBaseAxis(),l=s.inverse;n.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):n.type==="polar"&&(a=s.dim==="angle",o=!0);var u=r.hostModel,f=u.get("animationDuration");dt(f)&&(f=f(null));var c=u.get("animationDelay")||0,v=dt(c)?c(null):c;r.eachItemGraphicEl(function(h,d){var m=h;if(m){var g=[h.x,h.y],p=void 0,y=void 0,_=void 0;if(i)if(o){var w=i,S=n.pointToCoord(g);a?(p=w.startAngle,y=w.endAngle,_=-S[1]/180*Math.PI):(p=w.r0,y=w.r,_=S[0])}else{var b=i;a?(p=b.x,y=b.x+b.width,_=h.x):(p=b.y+b.height,y=b.y,_=h.y)}var x=y===p?0:(_-p)/(y-p);l&&(x=1-x);var C=dt(c)?c(d):f*x+v,D=m.getSymbolPath(),M=D.getTextContent();m.attr({scaleX:0,scaleY:0}),m.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:C}),M&&M.animateFrom({style:{opacity:0}},{duration:300,delay:C}),D.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(r,n,i){var a=r.getModel("endLabel");if(hx(r)){var o=r.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new de({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=M5(l);f>=0&&(gd(s,md(r,"endLabel"),{inheritColor:i,labelFetcher:r,labelDataIndex:f,defaultText:function(c,v,h){return h!=null?YF(o,h):ax(o,c)},enableTextSetter:!0},P5(a,n)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(r,n,i,a,o,s,l){var u=this._endLabel,f=this._polyline;if(u){r<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var c=i.getLayout("points"),v=i.hostModel,h=v.get("connectNulls"),d=s.get("precision"),m=s.get("distance")||0,g=l.getBaseAxis(),p=g.isHorizontal(),y=g.inverse,_=n.shape,w=y?p?_.x:_.y+_.height:p?_.x+_.width:_.y,S=(p?m:0)*(y?-1:1),b=(p?0:-m)*(y?-1:1),x=p?"x":"y",C=A5(c,w,x),D=C.range,M=D[1]-D[0],I=void 0;if(M>=1){if(M>1&&!h){var A=L0(c,D[0]);u.attr({x:A[0]+S,y:A[1]+b}),o&&(I=v.getRawValue(D[0]))}else{var A=f.getPointOn(w,x);A&&u.attr({x:A[0]+S,y:A[1]+b});var L=v.getRawValue(D[0]),O=v.getRawValue(D[1]);o&&(I=VI(i,d,L,O,C.t))}a.lastFrameIndex=D[0]}else{var H=r===1||a.lastFrameIndex>0?D[0]:0,A=L0(c,H);o&&(I=v.getRawValue(H)),u.attr({x:A[0]+S,y:A[1]+b})}o&&Zw(u).setLabelText(I)}},t.prototype._doUpdateAnimation=function(r,n,i,a,o,s,l){var u=this._polyline,f=this._polygon,c=r.hostModel,v=p5(this._data,r,this._stackedOnPoints,n,this._coordSys,i,this._valueOrigin),h=v.current,d=v.stackedOnCurrent,m=v.next,g=v.stackedOnNext;if(o&&(h=nn(v.current,i,o,l),d=nn(v.stackedOnCurrent,i,o,l),m=nn(v.next,i,o,l),g=nn(v.stackedOnNext,i,o,l)),I0(h,m)>3e3||f&&I0(d,g)>3e3){u.stopAnimation(),u.setShape({points:m}),f&&(f.stopAnimation(),f.setShape({points:m,stackedOnPoints:g}));return}u.shape.__points=v.current,u.shape.points=h;var p={shape:{points:m}};v.current!==h&&(p.shape.__points=v.next),u.stopAnimation(),Tn(u,p,c),f&&(f.setShape({points:h,stackedOnPoints:d}),f.stopAnimation(),Tn(f,{shape:{stackedOnPoints:g}},c),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var y=[],_=v.status,w=0;w<_.length;w++){var S=_[w].cmd;if(S==="="){var b=r.getItemGraphicEl(_[w].idx1);b&&y.push({el:b,ptIdx:w})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var x=u.shape.__points,C=0;Ct&&(t=e[r]);return isFinite(t)?t:NaN},min:function(e){for(var t=1/0,r=0;r10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),c=n.getDevicePixelRatio(),v=Math.abs(f[1]-f[0])*(c||1),h=Math.round(s/v);if(isFinite(h)&&h>1){a==="lttb"&&t.setData(i.lttbDownSample(i.mapDimension(u.dim),1/h));var d=void 0;nt(a)?d=R5[a]:dt(a)&&(d=a),d&&t.setData(i.downSample(i.mapDimension(u.dim),1/h,d,O5))}}}}}function bz(e){e.registerChartView(E5),e.registerSeriesModel(h5),e.registerLayout(L5("line",!0)),e.registerVisual({seriesType:"line",reset:function(t){var r=t.getData(),n=t.getModel("lineStyle").getLineStyle();n&&!n.stroke&&(n.stroke=r.getVisual("style").fill),r.setVisual("legendLineStyle",n)}}),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,k5("line"))}function R0(e,t,r){var n=bi.createCanvas(),i=t.getWidth(),a=t.getHeight(),o=n.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=i+"px",o.height=a+"px",n.setAttribute("data-zr-dom-id",e)),n.width=i*r,n.height=a*r,n}var B5=function(e){J(t,e);function t(r,n,i){var a=e.call(this)||this;a.motionBlur=!1,a.lastFrameAlpha=.7,a.dpr=1,a.virtual=!1,a.config={},a.incremental=!1,a.zlevel=0,a.maxRepaintRectCount=5,a.__dirty=!0,a.__firstTimePaint=!0,a.__used=!1,a.__drawIndex=0,a.__startIndex=0,a.__endIndex=0,a.__prevStartIndex=null,a.__prevEndIndex=null;var o;i=i||Wl,typeof r=="string"?o=R0(r,n,i):st(r)&&(o=r,r=o.id),a.id=r,a.dom=o;var s=o.style;return s&&(x1(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),a.painter=n,a.dpr=i,a}return t.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},t.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},t.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},t.prototype.setUnpainted=function(){this.__firstTimePaint=!0},t.prototype.createBackBuffer=function(){var r=this.dpr;this.domBack=R0("back-"+this.id,this.painter,r),this.ctxBack=this.domBack.getContext("2d"),r!==1&&this.ctxBack.scale(r,r)},t.prototype.createRepaintRects=function(r,n,i,a){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new Ot(0,0,0,0);function f(y){if(!(!y.isFinite()||y.isZero()))if(o.length===0){var _=new Ot(0,0,0,0);_.copy(y),o.push(_)}else{for(var w=!1,S=1/0,b=0,x=0;x=s)}}for(var c=this.__startIndex;c15)break}}O.prevElClipPaths&&p.restore()};if(y)if(y.length===0)C=g.__endIndex;else for(var M=h.dpr,I=0;I0&&t>i[0]){for(l=0;lt);l++);s=n[i[l]]}if(i.splice(l+1,0,t),n[t]=r,!r.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(r.dom,u.nextSibling):o.appendChild(r.dom)}else o.firstChild?o.insertBefore(r.dom,o.firstChild):o.appendChild(r.dom);r.__painter=this}},e.prototype.eachLayer=function(t,r){for(var n=this._zlevelList,i=0;i0?ol:0),this._needsManuallyCompositing),f.__builtin__||Vv("ZLevel "+u+" has been used by unkown layer "+f.id),f!==a&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,r(l),a=f),i.__dirty&Pe&&!i.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}r(l),this.eachBuiltinLayer(function(c,v){!c.__used&&c.getElementCount()>0&&(c.__dirty=!0,c.__startIndex=c.__endIndex=c.__drawIndex=0),c.__dirty&&c.__drawIndex<0&&(c.__drawIndex=c.__startIndex)})},e.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},e.prototype._clearLayer=function(t){t.clear()},e.prototype.setBackgroundColor=function(t){this._backgroundColor=t,P(this._layers,function(r){r.setUnpainted()})},e.prototype.configLayer=function(t,r){if(r){var n=this._layerConfig;n[t]?Ct(n[t],r,!0):n[t]=r;for(var i=0;i=0;)g++;if(d.substr(0,2)==="::"&&g--,d.substr(-2,2)==="::"&&g--,g>m)return null;for(w=m-g,_=":";w--;)_+="0:";return d=d.replace("::",_),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),m=function(){const S=d.split(":"),b=[];for(let x=0;x0;){if(_=g-p,_<0&&(_=0),d[y]>>_!==m[y]>>_)return!1;p-=g,y+=1}return!0}function c(d){if(a.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(i.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function v(d,m){for(;d.length=0;y-=1)if(_=this.octets[y],_ in p){if(w=p[_],g&&w!==0)return null;w!==8&&(g=!0),m+=w}else return null;return 32-m},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{const m=this.parseCIDR(d),g=m[0].toByteArray(),p=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[];let _=0;for(;_<4;)y.push(parseInt(g[_],10)|parseInt(p[_],10)^255),_++;return new this(y)}catch(m){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch(m){return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let m,g,p,y,_;try{for(m=this.parseCIDR(d),p=m[0].toByteArray(),_=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[],g=0;g<4;)y.push(parseInt(p[g],10)&parseInt(_[g],10)),g++;return new this(y)}catch(w){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){const m=this.parser(d);if(m===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(m)},h.IPv4.parseCIDR=function(d){let m;if(m=d.match(/^(.+)\/(\d+)$/)){const g=parseInt(m[2]);if(g>=0&&g<=32){const p=[this.parse(m[1]),g];return Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let m,g,p;if(m=d.match(n.fourOctet))return function(){const y=m.slice(1,6),_=[];for(let w=0;w4294967295||p<0)throw new Error("ipaddr: address outside defined range");return function(){const y=[];let _;for(_=0;_<=24;_+=8)y.push(p>>_&255);return y}().reverse()}else return(m=d.match(n.twoOctet))?function(){const y=m.slice(1,4),_=[];if(p=c(y[1]),p>16777215||p<0)throw new Error("ipaddr: address outside defined range");return _.push(c(y[0])),_.push(p>>16&255),_.push(p>>8&255),_.push(p&255),_}():(m=d.match(n.threeOctet))?function(){const y=m.slice(1,5),_=[];if(p=c(y[2]),p>65535||p<0)throw new Error("ipaddr: address outside defined range");return _.push(c(y[0])),_.push(c(y[1])),_.push(p>>8&255),_.push(p&255),_}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");const m=[0,0,0,0];let g=0;const p=Math.floor(d/8);for(;g=0;w-=1)if(y=this.parts[w],y in p){if(_=p[y],g&&_!==0)return null;_!==16&&(g=!0),m+=_}else return null;return 128-m},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let m;const g=[],p=this.parts;for(let y=0;y>8),g.push(m&255);return g},d.prototype.toFixedLengthString=function(){const m=function(){const p=[];for(let y=0;y>8,g&255,p>>8,p&255])},d.prototype.toNormalizedString=function(){const m=function(){const p=[];for(let y=0;yy&&(p=_.index,y=_[0].length);return y<0?g:`${g.substring(0,p)}::${g.substring(p+y)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{const m=this.parseCIDR(d),g=m[0].toByteArray(),p=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[];let _=0;for(;_<16;)y.push(parseInt(g[_],10)|parseInt(p[_],10)^255),_++;return new this(y)}catch(m){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${m})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{const m=this.parser(d);return new this(m.parts,m.zoneId),!0}catch(m){return!1}},h.IPv6.networkAddressFromCIDR=function(d){let m,g,p,y,_;try{for(m=this.parseCIDR(d),p=m[0].toByteArray(),_=this.subnetMaskFromPrefixLength(m[1]).toByteArray(),y=[],g=0;g<16;)y.push(parseInt(p[g],10)&parseInt(_[g],10)),g++;return new this(y)}catch(w){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${w})`)}},h.IPv6.parse=function(d){const m=this.parser(d);if(m.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(m.parts,m.zoneId)},h.IPv6.parseCIDR=function(d){let m,g,p;if((g=d.match(/^(.+)\/(\d+)$/))&&(m=parseInt(g[2]),m>=0&&m<=128))return p=[this.parse(g[1]),m],Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let m,g,p,y,_,w;if(p=d.match(l.deprecatedTransitional))return this.parser(`::ffff:${p[1]}`);if(l.native.test(d))return u(d,8);if((p=d.match(l.transitional))&&(w=p[6]||"",m=u(p[1].slice(0,-1)+w,6),m.parts)){for(_=[parseInt(p[2]),parseInt(p[3]),parseInt(p[4]),parseInt(p[5])],g=0;g<_.length;g++)if(y=_[g],!(0<=y&&y<=255))return null;return m.parts.push(_[0]<<8|_[1]),m.parts.push(_[2]<<8|_[3]),{parts:m.parts,zoneId:m.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");const m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let g=0;const p=Math.floor(d/8);for(;g[") + end + end +end + local n = 1 m.uci:foreach(appname, "socks", function(s) if s[".name"] == section then @@ -788,7 +800,7 @@ o.datatype = "port" o.rmempty = false if has_singbox or has_xray then - o = s2:option(Value, "http_port", "HTTP " .. translate("Listen Port") .. " " .. translate("0 is not use")) + o = s2:option(Value, "http_port", "HTTP " .. translate("Listen Port")) o.default = 0 o.datatype = "port" end diff --git a/openwrt-passwall/luci-app-passwall/po/zh-cn/passwall.po b/openwrt-passwall/luci-app-passwall/po/zh-cn/passwall.po index 2163e7978f..92c3ad0322 100644 --- a/openwrt-passwall/luci-app-passwall/po/zh-cn/passwall.po +++ b/openwrt-passwall/luci-app-passwall/po/zh-cn/passwall.po @@ -100,6 +100,9 @@ msgstr "Socks 配置" msgid "Socks Node" msgstr "Socks 节点" +msgid "Current Node" +msgstr "当前节点" + msgid "Listen Port" msgstr "监听端口" diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh index 91c69c355d..ef4733d2ab 100755 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh @@ -31,7 +31,7 @@ test_url() { if /usr/bin/curl --help all | grep -q "\-\-retry-all-errors"; then extra_params="--retry-all-errors ${extra_params}" fi - status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout ${timeout} --retry ${try} -w %{http_code} "$url") + local status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout ${timeout} --retry ${try} -w %{http_code} "$url") case "$status" in 204) status=200 @@ -41,12 +41,12 @@ test_url() { } test_proxy() { - result=0 - status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x socks5h://127.0.0.1:${socks_port}") + local result=0 + local status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x socks5h://127.0.0.1:${socks_port}") if [ "$status" = "200" ]; then result=0 else - status2=$(test_url "https://www.baidu.com" ${retry_num} ${connect_timeout}) + local status2=$(test_url "https://www.baidu.com" ${retry_num} ${connect_timeout}) if [ "$status2" = "200" ]; then result=1 else @@ -68,7 +68,7 @@ test_node() { /usr/share/${CONFIG}/app.sh run_socks flag="test_node_${node_id}" node=${node_id} bind=127.0.0.1 socks_port=${_tmp_port} config_file=test_node_${node_id}.json local curlx="socks5h://127.0.0.1:${_tmp_port}" sleep 1s - _proxy_status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x $curlx") + local _proxy_status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x $curlx") # 结束 SS 插件进程 local pid_file="/tmp/etc/${CONFIG}/test_node_${node_id}_plugin.pid" [ -s "$pid_file" ] && kill -9 "$(head -n 1 "$pid_file")" >/dev/null 2>&1 @@ -82,14 +82,14 @@ test_node() { } test_auto_switch() { - flag=$(expr $flag + 1) + flag=$((flag + 1)) local b_nodes=$1 local now_node=$2 [ -z "$now_node" ] && { if [ -n "$(/usr/share/${CONFIG}/app.sh get_cache_var "socks_${id}")" ]; then now_node=$(/usr/share/${CONFIG}/app.sh get_cache_var "socks_${id}") else - #echolog "自动切换检测:未知错误" + #echolog "Socks切换检测:未知错误" return 1 fi } @@ -98,58 +98,59 @@ test_auto_switch() { main_node=$now_node } - status=$(test_proxy) - if [ "$status" == 2 ]; then - echolog "自动切换检测:无法连接到网络,请检查网络是否正常!" + local status=$(test_proxy) + if [ "$status" = "2" ]; then + echolog "Socks切换检测:无法连接到网络,请检查网络是否正常!" return 2 fi #检测主节点是否能使用 - if [ "$restore_switch" == "1" ] && [ -n "$main_node" ] && [ "$now_node" != "$main_node" ]; then + if [ "$restore_switch" = "1" ] && [ -n "$main_node" ] && [ "$now_node" != "$main_node" ]; then test_node ${main_node} [ $? -eq 0 ] && { #主节点正常,切换到主节点 - echolog "自动切换检测:${id}主节点【$(config_n_get $main_node type):[$(config_n_get $main_node remarks)]】正常,切换到主节点!" + echolog "Socks切换检测:${id}主节点【$(config_n_get $main_node type):[$(config_n_get $main_node remarks)]】正常,切换到主节点!" /usr/share/${CONFIG}/app.sh socks_node_switch flag=${id} new_node=${main_node} [ $? -eq 0 ] && { - echolog "自动切换检测:${id}节点切换完毕!" + echolog "Socks切换检测:${id}节点切换完毕!" } return 0 } fi - if [ "$status" == 0 ]; then - #echolog "自动切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】正常。" + if [ "$status" = "0" ]; then + #echolog "Socks切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】正常。" return 0 - elif [ "$status" == 1 ]; then - echolog "自动切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,切换到下一个备用节点检测!" - local new_node - in_backup_nodes=$(echo $b_nodes | grep $now_node) - # 判断当前节点是否存在于备用节点列表里 - if [ -z "$in_backup_nodes" ]; then - # 如果不存在,设置第一个节点为新的节点 - new_node=$(echo $b_nodes | awk -F ' ' '{print $1}') + elif [ "$status" = "1" ]; then + local new_node msg + if [ "$backup_node_num" -gt 1 ]; then + # 有多个后备节点时 + local first_node found node + for node in $b_nodes; do + [ -z "$first_node" ] && first_node="$node" # 记录第一个节点 + [ "$found" = "1" ] && { new_node="$node"; break; } # 找到当前节点后取下一个 + [ "$node" = "$now_node" ] && found=1 # 标记找到当前节点 + done + # 如果没找到当前节点,或者当前节点是最后一个,就取第一个节点 + [ -z "$new_node" ] && new_node="$first_node" + msg="切换到$([ "$now_node" = "$main_node" ] && echo 备用节点 || echo 下一个备用节点)检测!" else - # 如果存在,设置下一个备用节点为新的节点 - #local count=$(expr $(echo $b_nodes | grep -o ' ' | wc -l) + 1) - local next_node=$(echo $b_nodes | awk -F "$now_node" '{print $2}' | awk -F " " '{print $1}') - if [ -z "$next_node" ]; then - new_node=$(echo $b_nodes | awk -F ' ' '{print $1}') - else - new_node=$next_node - fi + # 只有一个后备节点时,与主节点轮询 + new_node=$([ "$now_node" = "$main_node" ] && echo "$b_nodes" || echo "$main_node") + msg="切换到$([ "$now_node" = "$main_node" ] && echo 备用节点 || echo 主节点)检测!" fi + echolog "Socks切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,$msg" test_node ${new_node} if [ $? -eq 0 ]; then - [ "$restore_switch" == "0" ] && { - uci set $CONFIG.${id}.node=$new_node - [ -z "$(echo $b_nodes | grep $main_node)" ] && uci add_list $CONFIG.${id}.autoswitch_backup_node=$main_node - uci commit $CONFIG - } - echolog "自动切换检测:${id}【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!" +# [ "$restore_switch" = "0" ] && { +# uci set $CONFIG.${id}.node=$new_node +# [ -z "$(echo $b_nodes | grep $main_node)" ] && uci add_list $CONFIG.${id}.autoswitch_backup_node=$main_node +# uci commit $CONFIG +# } + echolog "Socks切换检测:${id}【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!" /usr/share/${CONFIG}/app.sh socks_node_switch flag=${id} new_node=${new_node} [ $? -eq 0 ] && { - echolog "自动切换检测:${id}节点切换完毕!" + echolog "Socks切换检测:${id}节点切换完毕!" } return 0 else @@ -166,12 +167,20 @@ start() { main_node=$(config_n_get $id node) socks_port=$(config_n_get $id port 0) delay=$(config_n_get $id autoswitch_testing_time 30) - sleep 5s connect_timeout=$(config_n_get $id autoswitch_connect_timeout 3) retry_num=$(config_n_get $id autoswitch_retry_num 1) restore_switch=$(config_n_get $id autoswitch_restore_switch 0) probe_url=$(config_n_get $id autoswitch_probe_url "https://www.google.com/generate_204") backup_node=$(config_n_get $id autoswitch_backup_node) + if [ -n "$backup_node" ]; then + backup_node=$(echo "$backup_node" | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') + backup_node_num=$(printf "%s\n" "$backup_node" | wc -w) + if [ "$backup_node_num" -eq 1 ]; then + [ "$main_node" = "$backup_node" ] && return + fi + else + return + fi while [ -n "$backup_node" ]; do [ -f "$LOCK_FILE" ] && { sleep 6s @@ -183,7 +192,6 @@ start() { continue } touch $LOCK_FILE - backup_node=$(echo $backup_node | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') test_auto_switch "$backup_node" rm -f $LOCK_FILE sleep ${delay} @@ -191,4 +199,3 @@ start() { } start $@ - diff --git a/openwrt-passwall2/LICENSE b/openwrt-passwall2/LICENSE new file mode 100644 index 0000000000..f288702d2f --- /dev/null +++ b/openwrt-passwall2/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/openwrt-passwall2/luci-app-passwall2/Makefile b/openwrt-passwall2/luci-app-passwall2/Makefile index 61863c8415..6328a950e7 100644 --- a/openwrt-passwall2/luci-app-passwall2/Makefile +++ b/openwrt-passwall2/luci-app-passwall2/Makefile @@ -124,6 +124,7 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs bool "Include Simple-Obfs (Shadowsocks Plugin)" select PACKAGE_simple-obfs + select PACKAGE_simple-obfs-client default y config PACKAGE_$(PKG_NAME)_INCLUDE_SingBox diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/controller/passwall2.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/controller/passwall2.lua index d3ec9b29b1..5a6eba4b9d 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/controller/passwall2.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/controller/passwall2.lua @@ -81,6 +81,8 @@ function index() entry({"admin", "services", appname, "update_rules"}, call("update_rules")).leaf = true entry({"admin", "services", appname, "subscribe_del_node"}, call("subscribe_del_node")).leaf = true entry({"admin", "services", appname, "subscribe_del_all"}, call("subscribe_del_all")).leaf = true + entry({"admin", "services", appname, "subscribe_manual"}, call("subscribe_manual")).leaf = true + entry({"admin", "services", appname, "subscribe_manual_all"}, call("subscribe_manual_all")).leaf = true --[[Components update]] entry({"admin", "services", appname, "check_passwall2"}, call("app_check")).leaf = true @@ -416,6 +418,27 @@ function delete_select_nodes() uci:delete(appname, t[".name"], "to_node") uci:delete(appname, t[".name"], "chain_proxy") end + local list_name = t["urltest_node"] and "urltest_node" or (t["balancing_node"] and "balancing_node") + if list_name then + local nodes = uci:get_list(appname, t[".name"], list_name) + if nodes then + local changed = false + local new_nodes = {} + for _, node in ipairs(nodes) do + if node ~= w then + table.insert(new_nodes, node) + else + changed = true + end + end + if changed then + uci:set_list(appname, t[".name"], list_name, new_nodes) + end + end + end + if t["fallback_node"] == w then + uci:delete(appname, t[".name"], "fallback_node") + end end) if (uci:get(appname, w, "add_mode") or "0") == "2" then local add_from = uci:get(appname, w, "add_from") or "" @@ -619,3 +642,51 @@ function subscribe_del_all() luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate > /dev/null 2>&1") http.status(200, "OK") end + +function subscribe_manual() + local section = http.formvalue("section") or "" + local current_url = http.formvalue("url") or "" + if section == "" or current_url == "" then + http_write_json({ success = false, msg = "Missing section or URL, skip." }) + return + end + local uci_url = api.sh_uci_get(appname, section, "url") + if not uci_url or uci_url == "" then + http_write_json({ success = false, msg = i18n.translate("Please save and apply before manually subscribing.") }) + return + end + if uci_url ~= current_url then + api.sh_uci_set(appname, section, "url", current_url, true) + end + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. section .. " manual >/dev/null 2>&1 &") + http_write_json({ success = true, msg = "Subscribe triggered." }) +end + +function subscribe_manual_all() + local sections = http.formvalue("sections") or "" + local urls = http.formvalue("urls") or "" + if sections == "" or urls == "" then + http_write_json({ success = false, msg = "Missing section or URL, skip." }) + return + end + local section_list = util.split(sections, ",") + local url_list = util.split(urls, ",") + -- 检查是否存在未保存配置 + for i, section in ipairs(section_list) do + local uci_url = api.sh_uci_get(appname, section, "url") + if not uci_url or uci_url == "" then + http_write_json({ success = false, msg = i18n.translate("Please save and apply before manually subscribing.") }) + return + end + end + -- 保存有变动的url + for i, section in ipairs(section_list) do + local current_url = url_list[i] or "" + local uci_url = api.sh_uci_get(appname, section, "url") + if current_url ~= "" and uci_url ~= current_url then + api.sh_uci_set(appname, section, "url", current_url, true) + end + end + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start all manual >/dev/null 2>&1 &") + http_write_json({ success = true, msg = "Subscribe triggered." }) +end diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua index 96b88eb315..c6ab4c3b55 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua @@ -53,6 +53,37 @@ function s.remove(e, t) m:set(s[".name"], "node", "default") end end) + m.uci:foreach(appname, "nodes", function(s) + if s["preproxy_node"] == t then + m:del(s[".name"], "preproxy_node") + m:del(s[".name"], "chain_proxy") + end + if s["to_node"] == t then + m:del(s[".name"], "to_node") + m:del(s[".name"], "chain_proxy") + end + local list_name = s["urltest_node"] and "urltest_node" or (s["balancing_node"] and "balancing_node") + if list_name then + local nodes = m.uci:get_list(appname, s[".name"], list_name) + if nodes then + local changed = false + local new_nodes = {} + for _, node in ipairs(nodes) do + if node ~= t then + table.insert(new_nodes, node) + else + changed = true + end + end + if changed then + m.uci:set_list(appname, s[".name"], list_name, new_nodes) + end + end + end + if s["fallback_node"] == t then + m:del(s[".name"], "fallback_node") + end + end) if (m:get(t, "add_mode") or "0") == "2" then local add_from = m:get(t, "add_from") or "" if add_from ~= "" then diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua index f9f5018581..11b3f173ea 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua @@ -51,6 +51,11 @@ if api.is_js_luci() then end end +m.render = function(self, ...) + Map.render(self, ...) + api.optimize_cbi_ui() +end + -- [[ Subscribe Settings ]]-- s = m:section(TypedSection, "global_subscribe", "") s.anonymous = true @@ -136,15 +141,15 @@ function o.cfgvalue(self, section) translate("Delete All Subscribe Node")) end -o = s:option(Button, "_update", translate("Manual subscription All")) -o.inputstyle = "apply" -function o.write(t, n) - luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start > /dev/null 2>&1 &") - m.no_commit = true - luci.http.redirect(api.url("log")) +o = s:option(DummyValue, "_update", translate("Manual subscription All")) +o.rawhtml = true +o.cfgvalue = function(self, section) + return string.format([[ + ]], + translate("Manual subscription All")) end -s = m:section(TypedSection, "subscribe_list", "", "" .. translate("Please input the subscription url first, save and submit before manual subscription.") .. "") +s = m:section(TypedSection, "subscribe_list", "", "" .. translate("When adding a new subscription, please save and apply before manually subscribing. If you only change the subscription URL, you can subscribe manually, and the system will save it automatically.") .. "") s.addremove = true s.anonymous = true s.sortable = true @@ -205,12 +210,12 @@ function o.cfgvalue(self, section) remark, translate("Delete the subscribed node")) end -o = s:option(Button, "_update", translate("Manual subscription")) -o.inputstyle = "apply" -function o.write(t, n) - luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. n .. " > /dev/null 2>&1 &") - m.no_commit = true - luci.http.redirect(api.url("log")) +o = s:option(DummyValue, "_update", translate("Manual subscription")) +o.rawhtml = true +o.cfgvalue = function(self, section) + return string.format([[ + ]], + section, translate("Manual subscription")) end s:append(Template(appname .. "/node_subscribe/js")) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua index 4b64f3728b..db0c137a40 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua @@ -9,6 +9,11 @@ if not arg[1] or not m:get(arg[1]) then luci.http.redirect(m.redirect) end +m.render = function(self, ...) + Map.render(self, ...) + api.optimize_cbi_ui() +end + local has_ss = api.is_finded("ss-redir") local has_ss_rust = api.is_finded("sslocal") local has_singbox = api.finded_com("sing-box") diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua index 0889ab6970..723752f633 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua @@ -234,6 +234,9 @@ if has_xray then end if has_singbox then + local version = api.get_app_version("sing-box"):match("[^v]+") + local version_ge_1_12_0 = api.compare_versions(version, ">=", "1.12.0") + s = m:section(TypedSection, "global_singbox", "Sing-Box " .. translate("Settings")) s.anonymous = true s.addremove = false @@ -279,6 +282,16 @@ if has_singbox then os.remove(geosite_path) end end + + if version_ge_1_12_0 then + o = s:option(Flag, "record_fragment", "TLS Record " .. translate("Fragment"), + translate("Split handshake data into multiple TLS records for better censorship evasion. Low overhead. Recommended to enable first.")) + o.default = 0 + + o = s:option(Flag, "fragment", "TLS TCP " .. translate("Fragment"), + translate("Split handshake into multiple TCP segments. Enhances obfuscation. May increase delay. Use only if needed.")) + o.default = 0 + end end return m diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua index 192ce96eb5..73f25b30ec 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua @@ -135,7 +135,7 @@ if api.compare_versions(xray_version, ">=", "1.8.10") then end -- 探测地址 -local ucpu = s:option(Flag, _n("useCustomProbeUrl"), translate("Use Custome Probe URL"), translate("By default the built-in probe URL will be used, enable this option to use a custom probe URL.")) +local ucpu = s:option(Flag, _n("useCustomProbeUrl"), translate("Use Custom Probe URL"), translate("By default the built-in probe URL will be used, enable this option to use a custom probe URL.")) ucpu:depends({ [_n("balancingStrategy")] = "leastPing" }) ucpu:depends({ [_n("balancingStrategy")] = "leastLoad" }) @@ -379,6 +379,19 @@ o = s:option(Flag, _n("tls_allowInsecure"), translate("allowInsecure"), translat o.default = "0" o:depends({ [_n("tls")] = true, [_n("reality")] = false }) +o = s:option(Flag, _n("ech"), translate("ECH")) +o.default = "0" +o:depends({ [_n("tls")] = true, [_n("flow")] = "", [_n("reality")] = false }) + +o = s:option(TextValue, _n("ech_config"), translate("ECH Config")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("ech")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + -- [[ REALITY部分 ]] -- o = s:option(Value, _n("reality_publicKey"), translate("Public Key")) o:depends({ [_n("tls")] = true, [_n("reality")] = true }) @@ -409,6 +422,19 @@ o.default = "chrome" o:depends({ [_n("tls")] = true, [_n("utls")] = true }) o:depends({ [_n("tls")] = true, [_n("reality")] = true }) +o = s:option(Flag, _n("use_mldsa65Verify"), translate("ML-DSA-65")) +o.default = "0" +o:depends({ [_n("tls")] = true, [_n("reality")] = true }) + +o = s:option(TextValue, _n("reality_mldsa65Verify"), "ML-DSA-65 " .. translate("Public key")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("use_mldsa65Verify")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + o = s:option(ListValue, _n("transport"), translate("Transport")) o:value("raw", "RAW (TCP)") o:value("mkcp", "mKCP") diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua index fea94a1efc..6f8cbffa57 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua @@ -43,17 +43,29 @@ o = s:option(ListValue, _n("tcp_fast_open"), "TCP " .. translate("Fast Open"), t o:value("false") o:value("true") -o = s:option(ListValue, _n("plugin"), translate("plugin")) +o = s:option(Flag, _n("plugin_enabled"), translate("plugin")) +o.default = 0 + +o = s:option(Value, _n("plugin"), "SIP003 " .. translate("plugin"), translate("Supports custom SIP003 plugins, Make sure the plugin is installed.")) +o.default = "none" o:value("none", translate("none")) if api.is_finded("xray-plugin") then o:value("xray-plugin") end if api.is_finded("v2ray-plugin") then o:value("v2ray-plugin") end if api.is_finded("obfs-local") then o:value("obfs-local") end if api.is_finded("shadow-tls") then o:value("shadow-tls") end +o:depends({ [_n("plugin_enabled")] = true }) +o.validate = function(self, value, t) + if value and value ~= "" and value ~= "none" then + if not api.is_finded(value) then + return nil, value .. ": " .. translate("Can't find this file!") + else + return value + end + end + return nil +end o = s:option(Value, _n("plugin_opts"), translate("opts")) -o:depends({ [_n("plugin")] = "xray-plugin"}) -o:depends({ [_n("plugin")] = "v2ray-plugin"}) -o:depends({ [_n("plugin")] = "obfs-local"}) -o:depends({ [_n("plugin")] = "shadow-tls"}) +o:depends({ [_n("plugin_enabled")] = true }) api.luci_types(arg[1], m, s, type_name, option_prefix) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua index 780a36aa12..4201cc8fbe 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua @@ -44,15 +44,18 @@ o = s:option(ListValue, _n("tcp_fast_open"), "TCP " .. translate("Fast Open"), t o:value("false") o:value("true") -o = s:option(ListValue, _n("plugin"), translate("plugin")) +o = s:option(Flag, _n("plugin_enabled"), translate("plugin")) +o.default = 0 + +o = s:option(ListValue, _n("plugin"), "SIP003 " .. translate("plugin")) +o.default = "none" o:value("none", translate("none")) if api.is_finded("xray-plugin") then o:value("xray-plugin") end if api.is_finded("v2ray-plugin") then o:value("v2ray-plugin") end if api.is_finded("obfs-local") then o:value("obfs-local") end +o:depends({ [_n("plugin_enabled")] = true }) o = s:option(Value, _n("plugin_opts"), translate("opts")) -o:depends({ [_n("plugin")] = "xray-plugin"}) -o:depends({ [_n("plugin")] = "v2ray-plugin"}) -o:depends({ [_n("plugin")] = "obfs-local"}) +o:depends({ [_n("plugin_enabled")] = true }) api.luci_types(arg[1], m, s, type_name, option_prefix) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua index ff93af46d2..8685cc7217 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua @@ -187,6 +187,19 @@ o:value("h2") o:value("http/1.1") o:depends({ [_n("tls")] = true }) +o = s:option(Flag, _n("use_mldsa65Seed"), translate("ML-DSA-65")) +o.default = "0" +o:depends({ [_n("reality")] = true }) + +o = s:option(TextValue, _n("reality_mldsa65Seed"), "ML-DSA-65 " .. translate("Private Key")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("use_mldsa65Seed")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + -- o = s:option(Value, _n("minversion"), translate("minversion")) -- o.default = "1.3" -- o:value("1.3") @@ -223,6 +236,19 @@ o.validate = function(self, value, t) return nil end +o = s:option(Flag, _n("ech"), translate("ECH")) +o.default = "0" +o:depends({ [_n("tls")] = true, [_n("flow")] = "", [_n("reality")] = false }) + +o = s:option(TextValue, _n("ech_key"), translate("ECH Key")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("ech")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + o = s:option(ListValue, _n("transport"), translate("Transport")) o:value("raw", "RAW") o:value("mkcp", "mKCP") diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua index 1bcbedd8b0..58af0533f9 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua @@ -55,7 +55,8 @@ function uci_save(cursor, config, commit, apply) end function sh_uci_get(config, section, option) - exec_call(string.format("uci -q get %s.%s.%s", config, section, option)) + local _, val = exec_call(string.format("uci -q get %s.%s.%s", config, section, option)) + return val end function sh_uci_set(config, section, option, val, commit) @@ -1208,6 +1209,9 @@ function is_js_luci() end function set_apply_on_parse(map) + if not map then + return + end if is_js_luci() == true then map.apply_on_parse = false map.on_after_apply = function(self) @@ -1217,6 +1221,10 @@ function set_apply_on_parse(map) end end end + map.render = function(self, ...) + getmetatable(self).__index.render(self, ...) -- 保持原渲染流程 + optimize_cbi_ui() + end end function luci_types(id, m, s, type_name, option_prefix) @@ -1320,3 +1328,27 @@ function format_go_time(input) if s > 0 or result == "" then result = result .. s .. "s" end return result end + +function optimize_cbi_ui() + luci.http.write([[ + + ]]) +end diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/com.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/com.lua index 062ed873ec..dbde96b914 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/com.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/com.lua @@ -1,11 +1,13 @@ local _M = {} local function gh_release_url(self) - return "https://api.github.com/repos/" .. self.repo .. "/releases/latest" + --return "https://api.github.com/repos/" .. self.repo .. "/releases/latest" + return "https://github.com/xiaorouji/openwrt-passwall-packages/releases/download/api-cache/" .. string.lower(self.name) .. "-release-api.json" end local function gh_pre_release_url(self) - return "https://api.github.com/repos/" .. self.repo .. "/releases?per_page=1" + --return "https://api.github.com/repos/" .. self.repo .. "/releases?per_page=1" + return "https://github.com/xiaorouji/openwrt-passwall-packages/releases/download/api-cache/" .. string.lower(self.name) .. "-pre-release-api.json" end _M.hysteria = { diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua index 8c5286a95f..5cedef0c5c 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua @@ -28,6 +28,7 @@ function gen_config_server(node) return config end +local plugin_sh, plugin_bin function gen_config(var) local node_id = var["-node"] @@ -49,12 +50,19 @@ function gen_config(var) local local_http_port = var["-local_http_port"] local local_http_username = var["-local_http_username"] local local_http_password = var["-local_http_password"] - + if api.is_ipv6(server_host) then server_host = api.get_ipv6_only(server_host) end local server = server_host - + + local plugin_file + if node.plugin and node.plugin ~= "" and node.plugin ~= "none" then + plugin_sh = var["-plugin_sh"] or "" + plugin_file = (plugin_sh ~="") and plugin_sh or node.plugin + plugin_bin = node.plugin + end + local config = { server = server, server_port = tonumber(server_port), @@ -68,10 +76,8 @@ function gen_config(var) } if node.type == "SS" then - if node.plugin and node.plugin ~= "none" then - config.plugin = node.plugin - config.plugin_opts = node.plugin_opts or nil - end + config.plugin = plugin_file or nil + config.plugin_opts = (plugin_file) and node.plugin_opts or nil config.mode = mode elseif node.type == "SSR" then config.protocol = node.protocol @@ -87,8 +93,8 @@ function gen_config(var) method = node.method, password = node.password, timeout = tonumber(node.timeout), - plugin = (node.plugin and node.plugin ~= "none") and node.plugin or nil, - plugin_opts = (node.plugin and node.plugin ~= "none") and node.plugin_opts or nil + plugin = plugin_file or nil, + plugin_opts = (plugin_file) and node.plugin_opts or nil } }, locals = {}, @@ -119,5 +125,15 @@ if arg[1] then local func =_G[arg[1]] if func then print(func(api.get_function_args(arg))) + if plugin_sh and plugin_sh ~="" and plugin_bin then + local f = io.open(plugin_sh, "w") + f:write("#!/bin/sh\n") + f:write("export PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin:$PATH\n") + f:write(plugin_bin .. " $@ &\n") + f:write("echo $! > " .. plugin_sh:gsub("%.sh$", ".pid") .. "\n") + f:write("wait\n") + f:close() + luci.sys.call("chmod +x " .. plugin_sh) + end end end diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua index 9ce22bf5a2..d35f0bf065 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua @@ -8,8 +8,9 @@ local fs = api.fs local CACHE_PATH = api.CACHE_PATH local split = api.split -local local_version = api.get_app_version("sing-box") -local version_ge_1_11_0 = api.compare_versions(local_version:match("[^v]+"), ">=", "1.11.0") +local local_version = api.get_app_version("sing-box"):match("[^v]+") +local version_ge_1_11_0 = api.compare_versions(local_version, ">=", "1.11.0") +local version_ge_1_12_0 = api.compare_versions(local_version, ">=", "1.12.0") local new_port @@ -31,9 +32,13 @@ function gen_outbound(flag, node, tag, proxy_table) end local proxy_tag = nil + local fragment = nil + local record_fragment = nil local run_socks_instance = true if proxy_table ~= nil and type(proxy_table) == "table" then proxy_tag = proxy_table.tag or nil + fragment = proxy_table.fragment or nil + record_fragment = proxy_table.record_fragment or nil run_socks_instance = proxy_table.run_socks_instance end @@ -98,6 +103,8 @@ function gen_outbound(flag, node, tag, proxy_table) alpn = alpn, --支持的应用层协议协商列表,按优先顺序排列。如果两个对等点都支持 ALPN,则选择的协议将是此列表中的一个,如果没有相互支持的协议则连接将失败。 --min_version = "1.2", --max_version = "1.3", + fragment = fragment, + record_fragment = record_fragment, ech = { enabled = (node.ech == "1") and true or false, config = node.ech_config and split(node.ech_config:gsub("\\n", "\n"), "\n") or {}, @@ -327,6 +334,8 @@ function gen_outbound(flag, node, tag, proxy_table) enabled = true, server_name = node.tls_serverName, insecure = (node.tls_allowInsecure == "1") and true or false, + fragment = fragment, + record_fragment = record_fragment, alpn = (node.hysteria_alpn and node.hysteria_alpn ~= "") and { node.hysteria_alpn } or nil, @@ -361,6 +370,8 @@ function gen_outbound(flag, node, tag, proxy_table) enabled = true, server_name = node.tls_serverName, insecure = (node.tls_allowInsecure == "1") and true or false, + fragment = fragment, + record_fragment = record_fragment, alpn = (node.tuic_alpn and node.tuic_alpn ~= "") and { node.tuic_alpn } or nil, @@ -398,6 +409,8 @@ function gen_outbound(flag, node, tag, proxy_table) enabled = true, server_name = node.tls_serverName, insecure = (node.tls_allowInsecure == "1") and true or false, + fragment = fragment, + record_fragment = record_fragment, ech = { enabled = (node.ech == "1") and true or false, config = node.ech_config and split(node.ech_config:gsub("\\n", "\n"), "\n") or {}, @@ -978,7 +991,7 @@ function gen_config(var) end if is_new_ut_node then local ut_node = uci:get_all(appname, ut_node_id) - local outbound = gen_outbound(flag, ut_node, ut_node_tag, { run_socks_instance = not no_run }) + local outbound = gen_outbound(flag, ut_node, ut_node_tag, { fragment = singbox_settings.fragment == "1" or nil, record_fragment = singbox_settings.record_fragment == "1" or nil, run_socks_instance = not no_run }) if outbound then outbound.tag = outbound.tag .. ":" .. ut_node.remarks table.insert(outbounds, outbound) @@ -1144,8 +1157,19 @@ function gen_config(var) }) end end - - local _outbound = gen_outbound(flag, _node, rule_name, { tag = use_proxy and preproxy_tag or nil, run_socks_instance = not no_run}) + local proxy_table = { + tag = use_proxy and preproxy_tag or nil, + run_socks_instance = not no_run + } + if not proxy_table.tag then + if singbox_settings.fragment == "1" then + proxy_table.fragment = true + end + if singbox_settings.record_fragment == "1" then + proxy_table.record_fragment = true + end + end + local _outbound = gen_outbound(flag, _node, rule_name, proxy_table) if _outbound then _outbound.tag = _outbound.tag .. ":" .. _node.remarks rule_outboundTag, last_insert_outbound = set_outbound_detour(_node, _outbound, outbounds, rule_name) @@ -1348,7 +1372,7 @@ function gen_config(var) sys.call(string.format("mkdir -p %s && touch %s/%s", api.TMP_IFACE_PATH, api.TMP_IFACE_PATH, node.iface)) end else - local outbound = gen_outbound(flag, node, nil, { run_socks_instance = not no_run }) + local outbound = gen_outbound(flag, node, nil, { fragment = singbox_settings.fragment == "1" or nil, record_fragment = singbox_settings.record_fragment == "1" or nil, run_socks_instance = not no_run }) if outbound then outbound.tag = outbound.tag .. ":" .. node.remarks COMMON.default_outbound_tag, last_insert_outbound = set_outbound_detour(node, outbound, outbounds) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua index ae27871fbb..058de37890 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua @@ -154,14 +154,16 @@ function gen_outbound(flag, node, tag, proxy_table) tlsSettings = (node.stream_security == "tls") and { serverName = node.tls_serverName, allowInsecure = (node.tls_allowInsecure == "1") and true or false, - fingerprint = (node.type == "Xray" and node.utls == "1" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or nil + fingerprint = (node.type == "Xray" and node.utls == "1" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or nil, + echConfigList = (node.ech == "1") and node.ech_config or nil } or nil, realitySettings = (node.stream_security == "reality") and { serverName = node.tls_serverName, publicKey = node.reality_publicKey, shortId = node.reality_shortId or "", spiderX = node.reality_spiderX or "/", - fingerprint = (node.type == "Xray" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or "chrome" + fingerprint = (node.type == "Xray" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or "chrome", + mldsa65Verify = (node.use_mldsa65Verify == "1") and node.reality_mldsa65Verify or nil } or nil, rawSettings = ((node.transport == "raw" or node.transport == "tcp") and node.protocol ~= "socks" and (node.tcp_guise and node.tcp_guise ~= "none")) and { header = { @@ -460,7 +462,8 @@ function gen_config_server(node) certificateFile = node.tls_certificateFile, keyFile = node.tls_keyFile } - } + }, + echServerKeys = (node.ech == "1") and node.ech_key or nil } or nil, rawSettings = (node.transport == "raw" or node.transport == "tcp") and { header = { @@ -545,7 +548,8 @@ function gen_config_server(node) dest = node.reality_dest, serverNames = node.reality_serverNames or {}, privateKey = node.reality_private_key, - shortIds = node.reality_shortId or "" + shortIds = node.reality_shortId or "", + mldsa65Seed = (node.use_mldsa65Seed == "1") and node.reality_mldsa65Seed or nil } or nil end end @@ -1152,7 +1156,7 @@ function gen_config(var) sys.call(string.format("mkdir -p %s && touch %s/%s", api.TMP_IFACE_PATH, api.TMP_IFACE_PATH, node.iface)) end else - local outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.fragment == "1" or nil, run_socks_instance = not no_run }) + local outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil, run_socks_instance = not no_run }) if outbound then outbound.tag = outbound.tag .. ":" .. node.remarks COMMON.default_outbound_tag, last_insert_outbound = set_outbound_detour(node, outbound, outbounds) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm b/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm index 39f37d82dd..57985d3876 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm @@ -282,6 +282,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("pbk", dom_prefix + "reality_publicKey"); params += opt.query("sid", dom_prefix + "reality_shortId"); params += opt.query("spx", dom_prefix + "reality_spiderX"); + params += opt.query("pqv", dom_prefix + "reality_mldsa65Verify"); } if (opt.get(dom_prefix + "flow") && opt.get(dom_prefix + "flow").value) { let v_flow = opt.get(dom_prefix + "flow").value; @@ -290,6 +291,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += "&security=" + v_security; params += opt.query("alpn", dom_prefix + "alpn"); params += opt.query("sni", dom_prefix + "tls_serverName"); + params += opt.query("allowinsecure", dom_prefix + "tls_allowInsecure"); + params += opt.query("ech", dom_prefix + "ech_config"); } if (opt.get(dom_prefix + "shadowtls")?.checked) { @@ -404,7 +407,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("path", dom_prefix + "ws_path"); if (v_type == "sing-box" && opt.get(dom_prefix + "ws_enableEarlyData").checked) { var ws_maxEarlyData = opt.get(dom_prefix + "ws_maxEarlyData").value; - params += "?ed=" + ws_maxEarlyData; + params += encodeURIComponent("?ed=" + ws_maxEarlyData); } } else if (v_transport === "h2") { v_transport = "http"; @@ -440,7 +443,11 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } params += "&type=" + v_transport; - params += opt.query("encryption", dom_prefix + "encryption"); + if (v_type === "sing-box") { + params += "&encryption=none"; + } else { + params += opt.query("encryption", dom_prefix + "encryption"); + } if (opt.get(dom_prefix + "tls").checked) { var v_security = "tls"; @@ -453,6 +460,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("pbk", dom_prefix + "reality_publicKey"); params += opt.query("sid", dom_prefix + "reality_shortId"); params += opt.query("spx", dom_prefix + "reality_spiderX"); + params += opt.query("pqv", dom_prefix + "reality_mldsa65Verify"); } if (opt.get(dom_prefix + "flow") && opt.get(dom_prefix + "flow").value) { let v_flow = opt.get(dom_prefix + "flow").value; @@ -461,6 +469,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += "&security=" + v_security; params += opt.query("alpn", dom_prefix + "alpn"); params += opt.query("sni", dom_prefix + "tls_serverName"); + params += opt.query("allowinsecure", dom_prefix + "tls_allowInsecure"); + params += opt.query("ech", dom_prefix + "ech_config"); } params += "#" + encodeURI(v_alias.value); @@ -520,6 +530,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("pbk", dom_prefix + "reality_publicKey"); params += opt.query("sid", dom_prefix + "reality_shortId"); params += opt.query("spx", dom_prefix + "reality_spiderX"); + params += opt.query("pqv", dom_prefix + "reality_mldsa65Verify"); } if (opt.get(dom_prefix + "flow") && opt.get(dom_prefix + "flow").value) { let v_flow = opt.get(dom_prefix + "flow").value; @@ -528,6 +539,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += "&security=" + v_security; params += opt.query("alpn", dom_prefix + "alpn"); params += opt.query("sni", dom_prefix + "tls_serverName"); + params += opt.query("allowinsecure", dom_prefix + "tls_allowInsecure"); + params += opt.query("ech", dom_prefix + "ech_config"); } params += "#" + encodeURI(v_alias.value); if (params[0] == "&") { @@ -958,6 +971,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'utls', true); opt.set(dom_prefix + 'fingerprint', queryParam.fp); } + opt.set(dom_prefix + 'ech', !!queryParam.ech); + opt.set(dom_prefix + 'ech_config', queryParam.ech || ''); } if (queryParam.security == "reality") { @@ -973,6 +988,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'reality_publicKey', queryParam.pbk || ''); opt.set(dom_prefix + 'reality_shortId', queryParam.sid || ''); opt.set(dom_prefix + 'reality_spiderX', queryParam.spx || ''); + opt.set(dom_prefix + 'use_mldsa65Verify', !!queryParam.pqv); + opt.set(dom_prefix + 'reality_mldsa65Verify', queryParam.pqv || ''); } } @@ -1061,6 +1078,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } } if (dom_prefix === "ssrust_") { + opt.set(dom_prefix + 'plugin_enabled', true); opt.set(dom_prefix + 'plugin', "shadow-tls"); let shadowtlsOpt = parseShadowTLSParams(queryParam["shadow-tls"]); opt.set(dom_prefix + 'plugin_opts', shadowtlsOpt || ""); @@ -1335,6 +1353,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'utls', true); opt.set(dom_prefix + 'fingerprint', queryParam.fp); } + opt.set(dom_prefix + 'ech', !!queryParam.ech); + opt.set(dom_prefix + 'ech_config', queryParam.ech || ''); } if (queryParam.security == "reality") { @@ -1350,6 +1370,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'reality_publicKey', queryParam.pbk || ''); opt.set(dom_prefix + 'reality_shortId', queryParam.sid || ''); opt.set(dom_prefix + 'reality_spiderX', queryParam.spx || ''); + opt.set(dom_prefix + 'use_mldsa65Verify', !!queryParam.pqv); + opt.set(dom_prefix + 'reality_mldsa65Verify', queryParam.pqv || ''); } } @@ -1550,6 +1572,9 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || ''); } } + if ((!queryParam.security || queryParam.security == "") && queryParam.sni && queryParam.sni != "") { + queryParam.security = "tls"; + } if (queryParam.security) { if (queryParam.security == "tls") { opt.set(dom_prefix + 'tls', true); diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm b/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm index 37c2fb3680..e00a676c6a 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm @@ -3,6 +3,8 @@ local api = require "luci.passwall2.api" -%> diff --git a/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po b/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po index 750a52e3d2..794bf66cbc 100644 --- a/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po +++ b/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po @@ -343,7 +343,7 @@ msgstr "负载均衡策略" msgid "Fallback Node" msgstr "后备节点" -msgid "Use Custome Probe URL" +msgid "Use Custom Probe URL" msgstr "使用自定义探测网址" msgid "By default the built-in probe URL will be used, enable this option to use a custom probe URL." @@ -940,8 +940,14 @@ msgstr "订阅网址" msgid "Subscribe URL Access Method" msgstr "订阅网址访问方式" -msgid "Please input the subscription url first, save and submit before manual subscription." -msgstr "请输入订阅网址保存应用后再手动订阅。" +msgid "When adding a new subscription, please save and apply before manually subscribing. If you only change the subscription URL, you can subscribe manually, and the system will save it automatically." +msgstr "新增订阅请先保存并应用后再手动订阅;如仅修改订阅地址,可直接手动订阅,系统将自动保存。" + +msgid "Please save and apply before manually subscribing." +msgstr "请先保存并应用后再手动订阅。" + +msgid "Subscribe URL cannot be empty." +msgstr "订阅网址不能为空。" msgid "Subscribe via proxy" msgstr "通过代理订阅" @@ -1126,6 +1132,9 @@ msgstr "快速打开" msgid "plugin" msgstr "插件" +msgid "Supports custom SIP003 plugins, Make sure the plugin is installed." +msgstr "支持自定义 SIP003 插件,请确保插件已安装。" + msgid "opts" msgstr "插件选项" @@ -1547,10 +1556,10 @@ msgid "Protocol parameter. Enable length block encryption." msgstr "协议参数。启用长度块加密。" msgid "ECH Config" -msgstr "ECH 密钥" +msgstr "ECH 配置" msgid "ECH Key" -msgstr "ECH 配置" +msgstr "ECH 密钥" msgid "PQ signature schemes" msgstr "后量子对等证书签名方案" @@ -1585,6 +1594,12 @@ msgstr "分片间隔" msgid "Fragmentation interval (ms)" msgstr "分片间隔(ms)" +msgid "Split handshake data into multiple TLS records for better censorship evasion. Low overhead. Recommended to enable first." +msgstr "将握手数据拆分为多个 TLS 记录,提升抗封锁能力,几乎不增加延迟,建议优先启用。" + +msgid "Split handshake into multiple TCP segments. Enhances obfuscation. May increase delay. Use only if needed." +msgstr "将 TLS 握手数据分为多个 TCP 包发送,提高伪装性,可能增加延迟,仅在封锁严重时使用。" + msgid "Noise" msgstr "噪声" diff --git a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/0_default_config b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/0_default_config index 98434175e1..ded4f16703 100644 --- a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/0_default_config +++ b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/0_default_config @@ -51,7 +51,7 @@ config global_rules config global_app option xray_file '/usr/bin/xray' option hysteria_file '/usr/bin/hysteria' - option singbox_file '/usr/bin/sing-box' + option sing_box_file '/usr/bin/sing-box' config global_subscribe option filter_keyword_mode '1' diff --git a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/app.sh b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/app.sh index 87a1111390..89b4efbeea 100755 --- a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/app.sh +++ b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/app.sh @@ -297,11 +297,11 @@ get_singbox_geoip() { local geoip_code="$1" local geoip_path=$(config_t_get global_singbox geoip_path) [ -e "$geoip_path" ] || { echo ""; return; } - local has_geoip_tools=$($(first_type $(config_t_get global_app singbox_file) sing-box) geoip | grep "GeoIP tools") + local has_geoip_tools=$($(first_type $(config_t_get global_app sing_box_file) sing-box) geoip | grep "GeoIP tools") if [ -n "${has_geoip_tools}" ]; then [ -f "${geoip_path}" ] && local geoip_md5=$(md5sum ${geoip_path} | awk '{print $1}') local output_file="${TMP_PATH2}/geoip-${geoip_md5}-${geoip_code}.json" - [ ! -f ${output_file} ] && $(first_type $(config_t_get global_app singbox_file) sing-box) geoip -f "${geoip_path}" export "${geoip_code}" -o "${output_file}" + [ ! -f ${output_file} ] && $(first_type $(config_t_get global_app sing_box_file) sing-box) geoip -f "${geoip_path}" export "${geoip_code}" -o "${output_file}" case "$2" in ipv4) cat ${output_file} | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | awk -F '"' '{print $2}' | sed -e "/^$/d" @@ -468,7 +468,7 @@ run_singbox() { [ "$loglevel" = "warning" ] && loglevel="warn" _extra_param="${_extra_param} -loglevel $loglevel" - _extra_param="${_extra_param} -tags $($(first_type $(config_t_get global_app singbox_file) sing-box) version | grep 'Tags:' | awk '{print $2}')" + _extra_param="${_extra_param} -tags $($(first_type $(config_t_get global_app sing_box_file) sing-box) version | grep 'Tags:' | awk '{print $2}')" [ -n "$flag" ] && pgrep -af "$TMP_BIN_PATH" | awk -v P1="${flag}" 'BEGIN{IGNORECASE=1}$0~P1{print $1}' | xargs kill -9 >/dev/null 2>&1 [ -n "$flag" ] && _extra_param="${_extra_param} -flag $flag" @@ -552,7 +552,7 @@ run_singbox() { } lua $UTIL_SINGBOX gen_config -node $node ${_extra_param} > $config_file - ln_run "$(first_type $(config_t_get global_app singbox_file) sing-box)" "sing-box" "${log_file}" run -c "$config_file" + ln_run "$(first_type $(config_t_get global_app sing_box_file) sing-box)" "sing-box" "${log_file}" run -c "$config_file" } run_socks() { @@ -604,7 +604,7 @@ run_socks() { sing-box) [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + config_file="${config_file//SOCKS/HTTP_SOCKS}" local _extra_param="-local_http_address $bind -local_http_port $http_port" } [ -n "$relay_port" ] && _extra_param="${_extra_param} -server_host $server_host -server_port $server_port" @@ -615,12 +615,12 @@ run_socks() { } [ -n "$no_run" ] && _extra_param="${_extra_param} -no_run 1" lua $UTIL_SINGBOX gen_config -flag SOCKS_$flag -node $node -local_socks_address $bind -local_socks_port $socks_port ${_extra_param} > $config_file - [ -n "$no_run" ] || ln_run "$(first_type $(config_t_get global_app singbox_file) sing-box)" "sing-box" /dev/null run -c "$config_file" + [ -n "$no_run" ] || ln_run "$(first_type $(config_t_get global_app sing_box_file) sing-box)" "sing-box" /dev/null run -c "$config_file" ;; xray) [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + config_file="${config_file//SOCKS/HTTP_SOCKS}" local _extra_param="-local_http_address $bind -local_http_port $http_port" } [ -n "$relay_port" ] && _extra_param="${_extra_param} -server_host $server_host -server_port $server_port" @@ -637,14 +637,23 @@ run_socks() { [ -n "$no_run" ] || ln_run "$(first_type ssr-local)" "ssr-local" $log_file -c "$config_file" -v -u ;; ss) - lua $UTIL_SS gen_config -node $node -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $server_port -mode tcp_and_udp > $config_file + [ -n "$no_run" ] || { + local plugin_sh="${config_file%.json}_plugin.sh" + local _extra_param="-plugin_sh $plugin_sh" + } + lua $UTIL_SS gen_config -node $node -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $server_port -mode tcp_and_udp ${_extra_param} > $config_file [ -n "$no_run" ] || ln_run "$(first_type ss-local)" "ss-local" $log_file -c "$config_file" -v ;; ss-rust) + local _extra_param [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") - local _extra_param="-local_http_address $bind -local_http_port $http_port" + config_file="${config_file//SOCKS/HTTP_SOCKS}" + _extra_param="-local_http_address $bind -local_http_port $http_port" + } + [ -n "$no_run" ] || { + local plugin_sh="${config_file%.json}_plugin.sh" + _extra_param="${_extra_param:+$_extra_param }-plugin_sh $plugin_sh" } lua $UTIL_SS gen_config -node $node -local_socks_address $bind -local_socks_port $socks_port -server_host $server_host -server_port $server_port ${_extra_param} > $config_file [ -n "$no_run" ] || ln_run "$(first_type sslocal)" "sslocal" $log_file -c "$config_file" -v @@ -652,7 +661,7 @@ run_socks() { hysteria2) [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + config_file="${config_file//SOCKS/HTTP_SOCKS}" local _extra_param="-local_http_address $bind -local_http_port $http_port" } lua $UTIL_HYSTERIA2 gen_config -node $node -local_socks_address $bind -local_socks_port $socks_port -server_host $server_host -server_port $server_port ${_extra_param} > $config_file @@ -666,7 +675,7 @@ run_socks() { # http to socks [ -z "$http_flag" ] && [ "$http_port" != "0" ] && [ -n "$http_config_file" ] && [ "$type" != "sing-box" ] && [ "$type" != "xray" ] && [ "$type" != "socks" ] && { - local bin=$(first_type $(config_t_get global_app singbox_file) sing-box) + local bin=$(first_type $(config_t_get global_app sing_box_file) sing-box) if [ -n "$bin" ]; then type="sing-box" lua $UTIL_SINGBOX gen_proto_config -local_http_port $http_port -server_proto socks -server_address "127.0.0.1" -server_port $socks_port -server_username $_username -server_password $_password > $http_config_file @@ -688,9 +697,17 @@ socks_node_switch() { local flag new_node eval_set_val $@ [ -n "$flag" ] && [ -n "$new_node" ] && { + local prefix pf filename + # 结束 SS 插件进程 + for prefix in "" "HTTP_"; do + pf="$TMP_PATH/${prefix}SOCKS_${flag}_plugin.pid" + [ -s "$pf" ] && kill -9 "$(head -n1 "$pf")" >/dev/null 2>&1 + done + pgrep -af "$TMP_BIN_PATH" | awk -v P1="${flag}" 'BEGIN{IGNORECASE=1}$0~P1 && !/acl\/|acl_/{print $1}' | xargs kill -9 >/dev/null 2>&1 - rm -rf $TMP_PATH/SOCKS_${flag}* - rm -rf $TMP_PATH/HTTP2SOCKS_${flag}* + for prefix in "" "HTTP_" "HTTP2"; do + rm -rf "$TMP_PATH/${prefix}SOCKS_${flag}"* + done for filename in $(ls ${TMP_SCRIPT_FUNC_PATH}); do cmd=$(cat ${TMP_SCRIPT_FUNC_PATH}/${filename}) @@ -1312,7 +1329,15 @@ stop() { eval_cache_var [ -n "$USE_TABLES" ] && source $APP_PATH/${USE_TABLES}.sh stop delete_ip2route - kill_all xray-plugin v2ray-plugin obfs-local shadow-tls + # 结束 SS 插件进程 + # kill_all xray-plugin v2ray-plugin obfs-local shadow-tls + local pid_file pid + find "$TMP_PATH" -type f -name '*_plugin.pid' | while read -r pid_file; do + read -r pid < "$pid_file" + if [ -n "$pid" ]; then + kill -9 "$pid" >/dev/null 2>&1 + fi + done pgrep -f "sleep.*(6s|9s|58s)" | xargs kill -9 >/dev/null 2>&1 pgrep -af "${CONFIG}/" | awk '! /app\.sh|subscribe\.lua|rule_update\.lua|tasks\.sh|ujail/{print $1}' | xargs kill -9 >/dev/null 2>&1 unset V2RAY_LOCATION_ASSET @@ -1402,7 +1427,7 @@ get_config() { set_cache_var GLOBAL_DNSMASQ_CONF_PATH ${GLOBAL_ACL_PATH}/dnsmasq.d XRAY_BIN=$(first_type $(config_t_get global_app xray_file) xray) - SINGBOX_BIN=$(first_type $(config_t_get global_app singbox_file) sing-box) + SINGBOX_BIN=$(first_type $(config_t_get global_app sing_box_file) sing-box) } arg1=$1 diff --git a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh index 709a21bfd3..dfb53da9d6 100755 --- a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh +++ b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh @@ -1,13 +1,19 @@ #!/bin/sh export PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin +CONFIG=passwall2 listen_address=$1 listen_port=$2 server_address=$3 server_port=$4 -probe_file="/tmp/etc/passwall2/haproxy/Probe_URL" +pgrep -af "${CONFIG}/" | awk '/app\.sh.*(start|stop)/ || /nftables\.sh/ || /iptables\.sh/ { found = 1 } END { exit !found }' && { + # 特定任务执行中不检测 + exit 0 +} + +probe_file="/tmp/etc/${CONFIG}/haproxy/Probe_URL" probeUrl="https://www.google.com/generate_204" if [ -f "$probe_file" ]; then firstLine=$(head -n 1 "$probe_file" | tr -d ' \t\n') @@ -19,7 +25,7 @@ if /usr/bin/curl --help all | grep -q "\-\-retry-all-errors"; then extra_params="${extra_params} --retry-all-errors" fi -status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout 3 --retry 1 --max-time 10 -w "%{http_code}" "${probeUrl}") +status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout 3 --retry 2 --max-time 10 -w "%{http_code}" "${probeUrl}") case "$status" in 200|204) diff --git a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh index 85d81353fb..4434d8f2fb 100755 --- a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh +++ b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh @@ -64,9 +64,12 @@ test_node() { /usr/share/${CONFIG}/app.sh run_socks flag="test_node_${node_id}" node=${node_id} bind=127.0.0.1 socks_port=${_tmp_port} config_file=test_node_${node_id}.json local curlx="socks5h://127.0.0.1:${_tmp_port}" sleep 1s + # 结束 SS 插件进程 + local pid_file="/tmp/etc/${CONFIG}/test_node_${node_id}_plugin.pid" + [ -s "$pid_file" ] && kill -9 "$(head -n 1 "$pid_file")" >/dev/null 2>&1 _proxy_status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x $curlx") pgrep -af "test_node_${node_id}" | awk '! /socks_auto_switch\.sh/{print $1}' | xargs kill -9 >/dev/null 2>&1 - rm -rf "/tmp/etc/${CONFIG}/test_node_${node_id}.json" + rm -rf /tmp/etc/${CONFIG}/test_node_${node_id}*.* if [ "${_proxy_status}" -eq 200 ]; then return 0 fi @@ -168,6 +171,11 @@ start() { sleep 6s continue } + pgrep -af "${CONFIG}/" | awk '/app\.sh.*(start|stop)/ || /nftables\.sh/ || /iptables\.sh/ { found = 1 } END { exit !found }' && { + # 特定任务执行中不检测 + sleep 6s + continue + } touch $LOCK_FILE backup_node=$(echo $backup_node | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') test_auto_switch "$backup_node" diff --git a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua index a309eb905a..25754a664b 100755 --- a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua +++ b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua @@ -23,6 +23,7 @@ uci:revert(appname) local has_ss = api.is_finded("ss-redir") local has_ss_rust = api.is_finded("sslocal") +local has_ssr = api.is_finded("ssr-local") and api.is_finded("ssr-redir") local has_singbox = api.finded_com("sing-box") local has_xray = api.finded_com("xray") local has_hysteria2 = api.finded_com("hysteria") @@ -273,7 +274,7 @@ do if node.balancing_node then for k, node in pairs(node.balancing_node) do currentNodes[#currentNodes + 1] = { - log = false, + log = true, node = node, currentNode = node and uci:get_all(appname, node) or nil, remarks = node, @@ -321,7 +322,7 @@ do if node.urltest_node then for k, node in pairs(node.urltest_node) do currentNodes[#currentNodes + 1] = { - log = false, + log = true, node = node, currentNode = node and uci:get_all(appname, node) or nil, remarks = node, @@ -440,6 +441,10 @@ local function processData(szType, content, add_mode, add_from) } --ssr://base64(host:port:protocol:method:obfs:base64pass/?obfsparam=base64param&protoparam=base64param&remarks=base64remarks&group=base64group&udpport=0&uot=0) if szType == 'ssr' then + if not has_ssr then + log("跳过 SSR 节点,因未安装 SSR 核心程序 shadowsocksr-libev。") + return nil + end result.type = "SSR" local dat = split(content, "/%?") @@ -466,17 +471,13 @@ local function processData(szType, content, add_mode, add_from) result.remarks = base64Decode(params.remarks) elseif szType == 'vmess' then local info = jsonParse(content) - if has_singbox then - result.type = 'sing-box' - end - if has_xray then - result.type = 'Xray' - end if vmess_type_default == "sing-box" and has_singbox then result.type = 'sing-box' - end - if vmess_type_default == "xray" and has_xray then + elseif vmess_type_default == "xray" and has_xray then result.type = "Xray" + else + log("跳过 VMess 节点,因未适配到 VMess 核心程序,或未正确设置节点使用类型。") + return nil end result.alter_id = info.aid result.address = info.add @@ -593,7 +594,21 @@ local function processData(szType, content, add_mode, add_from) return nil end elseif szType == "ss" then - result.type = "SS" + if ss_type_default == "shadowsocks-libev" and has_ss then + result.type = "SS" + elseif ss_type_default == "shadowsocks-rust" and has_ss_rust then + result.type = 'SS-Rust' + elseif ss_type_default == "xray" and has_xray then + result.type = 'Xray' + result.protocol = 'shadowsocks' + result.transport = 'raw' + elseif ss_type_default == "sing-box" and has_singbox then + result.type = 'sing-box' + result.protocol = 'shadowsocks' + else + log("跳过 SS 节点,因未适配到 SS 核心程序,或未正确设置节点使用类型。") + return nil + end --SS-URI = "ss://" userinfo "@" hostname ":" port [ "/" ] [ "?" plugin ] [ "#" tag ] --userinfo = websafe-base64-encode-utf8(method ":" password) @@ -623,8 +638,7 @@ local function processData(szType, content, add_mode, add_from) local idx_pn = plugin_info:find(";") if idx_pn then result.plugin = plugin_info:sub(1, idx_pn - 1) - result.plugin_opts = - plugin_info:sub(idx_pn + 1, #plugin_info) + result.plugin_opts = plugin_info:sub(idx_pn + 1, #plugin_info) else result.plugin = plugin_info end @@ -681,19 +695,6 @@ local function processData(szType, content, add_mode, add_from) result.method = method result.password = password - if ss_type_default == "shadowsocks-rust" and has_ss_rust then - result.type = 'SS-Rust' - end - if ss_type_default == "xray" and has_xray then - result.type = 'Xray' - result.protocol = 'shadowsocks' - result.transport = 'raw' - end - if ss_type_default == "sing-box" and has_singbox then - result.type = 'sing-box' - result.protocol = 'shadowsocks' - end - if result.type ~= "Xray" then result.method = (method:lower() == "chacha20-poly1305" and "chacha20-ietf-poly1305") or (method:lower() == "xchacha20-poly1305" and "xchacha20-ietf-poly1305") or method @@ -722,8 +723,7 @@ local function processData(szType, content, add_mode, add_from) result.plugin = nil result.plugin_opts = nil end - end - if result.type == "sing-box" then + else result.plugin_enabled = "1" end end @@ -822,11 +822,17 @@ local function processData(szType, content, add_mode, add_from) result.utls = "1" result.fingerprint = params.fp end + if params.ech and params.ech ~= "" then + result.ech = "1" + result.ech_config = params.ech + end if params.security == "reality" then result.reality = "1" result.reality_publicKey = params.pbk or nil result.reality_shortId = params.sid or nil result.reality_spiderX = params.spx or nil + result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil + result.reality_mldsa65Verify = params.pqv or nil end end params.allowinsecure = params.allowinsecure or params.insecure @@ -863,6 +869,7 @@ local function processData(szType, content, add_mode, add_from) end if result.type == "SS-Rust" then + result.plugin_enabled = "1" result.plugin = "shadow-tls" result.plugin_opts = parseShadowTLSParams(params["shadow-tls"]) elseif result.type == "sing-box" then @@ -885,10 +892,15 @@ local function processData(szType, content, add_mode, add_from) elseif szType == "trojan" then if trojan_type_default == "sing-box" and has_singbox then result.type = 'sing-box' + result.protocol = 'trojan' elseif trojan_type_default == "xray" and has_xray then result.type = 'Xray' + result.protocol = 'trojan' + else + log("跳过 Trojan 节点,因未适配到 Trojan 核心程序,或未正确设置节点使用类型。") + return nil end - result.protocol = 'trojan' + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1049,17 +1061,13 @@ local function processData(szType, content, add_mode, add_from) result.group = content.airport result.remarks = content.remarks elseif szType == "vless" then - if has_singbox then - result.type = 'sing-box' - end - if has_xray then - result.type = 'Xray' - end if vless_type_default == "sing-box" and has_singbox then result.type = 'sing-box' - end - if vless_type_default == "xray" and has_xray then + elseif vless_type_default == "xray" and has_xray then result.type = "Xray" + else + log("跳过 VLESS 节点,因未适配到 VLESS 核心程序,或未正确设置节点使用类型。") + return nil end result.protocol = "vless" local alias = "" @@ -1197,11 +1205,17 @@ local function processData(szType, content, add_mode, add_from) result.utls = "1" result.fingerprint = params.fp end + if params.ech and params.ech ~= "" then + result.ech = "1" + result.ech_config = params.ech + end if params.security == "reality" then result.reality = "1" result.reality_publicKey = params.pbk or nil result.reality_shortId = params.sid or nil result.reality_spiderX = params.spx or nil + result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil + result.reality_mldsa65Verify = params.pqv or nil end end @@ -1220,6 +1234,14 @@ local function processData(szType, content, add_mode, add_from) end end elseif szType == 'hysteria' then + if has_singbox then + result.type = 'sing-box' + result.protocol = "hysteria" + else + log("跳过 Hysteria 节点,因未安装 Hysteria 核心程序 Sing-box。") + return nil + end + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1267,10 +1289,6 @@ local function processData(szType, content, add_mode, add_from) result.hysteria_down_mbps = params.downmbps result.hysteria_hop = params.mport - if has_singbox then - result.type = 'sing-box' - result.protocol = "hysteria" - end elseif szType == 'hysteria2' or szType == 'hy2' then local alias = "" if content:find("#") then @@ -1330,8 +1348,19 @@ local function processData(szType, content, add_mode, add_from) if params["obfs-password"] or params["obfs_password"] then result.hysteria2_obfs = params["obfs-password"] or params["obfs_password"] end + else + log("跳过 Hysteria2 节点,因未适配到 Hysteria2 核心程序,或未正确设置节点使用类型。") + return nil end elseif szType == 'tuic' then + if has_singbox then + result.type = 'sing-box' + result.protocol = "tuic" + else + log("跳过 Tuic 节点,因未安装 Tuic 核心程序 Sing-box。") + return nil + end + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1384,11 +1413,15 @@ local function processData(szType, content, add_mode, add_from) else result.tls_allowInsecure = allowInsecure_default and "1" or "0" end - result.type = 'sing-box' - result.protocol = "tuic" elseif szType == "anytls" then - result.type = 'sing-box' - result.protocol = "anytls" + if has_singbox then + result.type = 'sing-box' + result.protocol = "anytls" + else + log("跳过 AnyTLS 节点,因未安装 AnyTLS 核心程序 Sing-box 1.12。") + return nil + end + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1422,9 +1455,12 @@ local function processData(szType, content, add_mode, add_from) result.address = host_port end result.tls = "0" + if (not params.security or params.security == "") and params.sni and params.sni ~= "" then + params.security = "tls" + end if params.security == "tls" or params.security == "reality" then result.tls = "1" - result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host + result.tls_serverName = params.sni result.alpn = params.alpn if params.fp and params.fp ~= "" then result.utls = "1" @@ -1536,7 +1572,9 @@ local function select_node(nodes, config, parentConfig) if config.currentNode[".name"] then for index, node in pairs(nodes) do if node[".name"] == config.currentNode[".name"] then - log('更新【' .. config.remarks .. '】匹配节点:' .. node.remarks) + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】匹配节点:' .. node.remarks) + end server = node[".name"] break end @@ -1704,6 +1742,9 @@ local function update_node(manual) for _, config in pairs(CONFIG) do if config.currentNodes and #config.currentNodes > 0 then + if config.remarks and config.currentNodes[1].log ~= false then + log('----【' .. config.remarks .. '】----') + end for kk, vv in pairs(config.currentNodes) do select_node(nodes, vv, config) end @@ -1816,7 +1857,7 @@ local execute = function() do local subscribe_list = {} local fail_list = {} - if arg[2] then + if arg[2] ~= "all" then string.gsub(arg[2], '[^' .. "," .. ']+', function(w) subscribe_list[#subscribe_list + 1] = uci:get_all(appname, w) or {} end) @@ -1826,6 +1867,8 @@ local execute = function() end) end + local manual_sub = arg[3] == "manual" + for index, value in ipairs(subscribe_list) do local cfgid = value[".name"] local remark = value.remark @@ -1893,8 +1936,7 @@ local execute = function() local raw_data = api.trim(stdout) local old_md5 = value.md5 or "" local new_md5 = luci.sys.exec("md5sum " .. tmp_file .. " 2>/dev/null | awk '{print $1}'"):gsub("\n", "") - os.remove(tmp_file) - if old_md5 == new_md5 then + if not manual_sub and old_md5 == new_md5 then log('订阅:【' .. remark .. '】没有变化,无需更新。') else parse_link(raw_data, "2", remark, cfgid) @@ -1905,6 +1947,7 @@ local execute = function() end end allowInsecure_default = true + luci.sys.call("rm -f " .. tmp_file) filter_keyword_mode_default = uci:get(appname, "@global_subscribe[0]", "filter_keyword_mode") or "0" filter_keyword_discard_list_default = uci:get(appname, "@global_subscribe[0]", "filter_discard_list") or {} filter_keyword_keep_list_default = uci:get(appname, "@global_subscribe[0]", "filter_keep_list") or {} @@ -1932,7 +1975,7 @@ if arg[1] then log(debug.traceback()) log('发生错误, 正在恢复服务') end) - log('订阅完毕...') + log('订阅完毕...\n') elseif arg[1] == "add" then local f = assert(io.open("/tmp/links.conf", 'r')) local raw = f:read('*all') diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.txt b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.txt index 4f384632bc..9ceebe987e 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.txt +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.txt @@ -63,7 +63,6 @@ 14.204.0.0/15 14.208.0.0/12 16.2.142.0/23 -23.140.100.0/24 27.0.128.0/24 27.0.130.0/23 27.0.132.0/22 @@ -75,7 +74,6 @@ 27.36.0.0/14 27.40.0.0/13 27.50.128.0/17 -27.54.224.0/19 27.98.224.0/19 27.106.128.0/18 27.106.204.0/22 @@ -90,6 +88,7 @@ 27.192.0.0/11 27.224.0.0/14 31.56.124.0/24 +31.57.10.0/24 36.1.0.0/16 36.4.0.0/14 36.16.0.0/12 @@ -127,7 +126,6 @@ 36.255.128.0/22 36.255.164.0/24 36.255.192.0/24 -36.255.194.0/24 38.111.220.0/23 39.64.0.0/11 39.96.0.0/13 @@ -205,11 +203,16 @@ 42.242.0.0/15 42.244.0.0/14 42.248.0.0/15 +43.102.128.0/21 +43.102.136.0/22 +43.102.144.0/20 43.136.0.0/13 43.144.0.0/15 43.192.0.0/16 43.193.0.0/18 43.193.64.0/24 +43.194.0.0/20 +43.195.0.0/20 43.196.0.0/16 43.224.12.0/22 43.224.23.0/24 @@ -250,7 +253,7 @@ 43.228.204.0/22 43.228.240.0/22 43.229.48.0/22 -43.229.184.0/22 +43.229.184.0/23 43.229.216.0/22 43.230.72.0/22 43.230.136.0/22 @@ -271,6 +274,7 @@ 43.240.124.0/22 43.240.128.0/22 43.240.133.0/24 +43.240.136.0/22 43.240.156.0/22 43.240.192.0/21 43.240.200.0/23 @@ -280,11 +284,13 @@ 43.241.16.0/22 43.241.48.0/24 43.241.50.0/23 +43.241.76.0/22 43.241.180.0/22 43.241.208.0/20 43.241.224.0/20 43.241.240.0/22 43.242.72.0/22 +43.242.84.0/22 43.242.96.0/22 43.242.152.0/21 43.242.164.0/22 @@ -312,6 +318,7 @@ 43.247.196.0/22 43.247.244.0/22 43.247.248.0/22 +43.248.0.0/22 43.248.48.0/22 43.248.76.0/22 43.248.96.0/21 @@ -340,7 +347,6 @@ 43.251.4.0/22 43.251.8.0/22 43.251.36.0/22 -43.251.100.0/22 43.251.244.0/22 43.252.48.0/24 43.254.0.0/22 @@ -373,6 +379,7 @@ 43.255.212.0/22 43.255.224.0/21 44.30.15.0/24 +44.30.28.0/24 44.31.42.0/24 44.31.81.0/24 44.31.96.0/24 @@ -398,8 +405,6 @@ 45.116.152.0/22 45.116.208.0/22 45.117.8.0/22 -45.117.68.0/24 -45.117.70.0/23 45.119.60.0/22 45.119.68.0/22 45.119.105.0/24 @@ -430,6 +435,7 @@ 45.151.47.0/24 45.157.88.0/24 45.195.6.0/24 +45.202.64.0/22 45.202.209.0/24 45.202.210.0/23 45.202.212.0/24 @@ -515,7 +521,6 @@ 49.112.0.0/13 49.120.0.0/14 49.128.203.0/24 -49.128.220.0/24 49.128.223.0/24 49.140.0.0/15 49.208.0.0/14 @@ -627,7 +632,8 @@ 59.111.96.0/21 59.111.104.0/23 59.111.107.0/24 -59.111.108.0/22 +59.111.109.0/24 +59.111.111.0/24 59.111.112.0/21 59.111.128.0/20 59.111.144.0/24 @@ -651,7 +657,9 @@ 59.111.232.0/23 59.111.236.0/24 59.111.238.0/23 -59.111.240.0/20 +59.111.240.0/22 +59.111.244.0/24 +59.111.248.0/21 59.151.0.0/17 59.152.32.0/24 59.152.36.0/24 @@ -727,18 +735,17 @@ 72.163.240.0/23 72.163.248.0/22 74.114.51.0/24 +77.107.118.0/24 79.133.176.0/24 81.23.208.0/20 81.68.0.0/14 81.173.18.0/23 81.173.20.0/22 81.173.28.0/24 -82.26.131.0/24 82.156.0.0/15 84.54.2.0/23 85.237.205.0/24 87.254.207.0/24 -89.144.2.0/24 93.183.14.0/24 93.183.18.0/24 94.191.0.0/17 @@ -761,7 +768,6 @@ 101.50.56.0/22 101.52.4.0/24 101.52.6.0/24 -101.52.52.0/24 101.52.112.0/21 101.52.124.0/22 101.52.128.0/20 @@ -833,6 +839,7 @@ 101.237.128.0/20 101.240.0.0/14 101.245.0.0/22 +101.245.8.0/23 101.245.16.0/22 101.245.32.0/19 101.245.64.0/18 @@ -906,7 +913,9 @@ 103.24.176.0/22 103.24.228.0/22 103.24.248.0/22 +103.25.20.0/22 103.25.24.0/22 +103.25.36.0/22 103.25.64.0/23 103.25.156.0/24 103.26.0.0/22 @@ -952,12 +961,14 @@ 103.37.160.0/21 103.37.172.0/22 103.38.40.0/22 +103.38.76.0/22 103.38.84.0/22 103.38.92.0/23 103.38.116.0/22 103.38.224.0/22 103.38.232.0/22 103.38.252.0/23 +103.39.64.0/22 103.39.200.0/21 103.39.208.0/20 103.39.224.0/21 @@ -1005,6 +1016,7 @@ 103.49.196.0/24 103.49.198.0/23 103.50.36.0/22 +103.50.253.0/24 103.51.62.0/23 103.52.104.0/23 103.52.172.0/22 @@ -1023,7 +1035,6 @@ 103.56.152.0/22 103.56.184.0/22 103.57.12.0/22 -103.57.136.0/23 103.57.139.0/24 103.59.112.0/22 103.59.124.0/22 @@ -1068,7 +1079,6 @@ 103.73.204.0/22 103.74.24.0/21 103.74.48.0/22 -103.74.126.0/24 103.75.104.0/22 103.75.152.0/22 103.76.60.0/22 @@ -1078,16 +1088,17 @@ 103.77.72.0/22 103.77.92.0/22 103.77.132.0/22 +103.78.60.0/22 103.78.126.0/23 103.78.228.0/22 103.79.24.0/22 +103.79.120.0/22 103.79.200.0/22 103.81.4.0/22 103.81.48.0/22 103.81.72.0/22 103.81.123.0/24 103.81.200.0/22 -103.82.52.0/22 103.82.224.0/22 103.83.44.0/22 103.83.64.0/22 @@ -1098,7 +1109,6 @@ 103.85.164.0/22 103.85.168.0/21 103.85.176.0/22 -103.85.224.0/22 103.87.132.0/22 103.87.180.0/22 103.88.32.0/21 @@ -1130,6 +1140,7 @@ 103.97.60.0/24 103.97.62.0/23 103.97.112.0/24 +103.97.144.0/22 103.98.0.0/24 103.98.15.0/24 103.98.28.0/23 @@ -1171,11 +1182,13 @@ 103.110.132.0/22 103.110.136.0/22 103.111.64.0/24 +103.111.172.0/22 103.113.4.0/22 103.114.100.0/22 103.114.158.0/23 103.114.212.0/23 103.114.236.0/22 +103.115.92.0/22 103.115.120.0/22 103.115.248.0/22 103.116.76.0/22 @@ -1193,6 +1206,7 @@ 103.119.104.0/22 103.119.224.0/22 103.120.72.0/22 +103.120.88.0/22 103.120.224.0/22 103.121.52.0/22 103.121.164.0/23 @@ -1214,6 +1228,7 @@ 103.132.80.0/23 103.132.212.0/23 103.133.128.0/23 +103.134.136.0/22 103.135.160.0/22 103.135.192.0/21 103.135.236.0/24 @@ -1238,7 +1253,6 @@ 103.145.92.0/24 103.146.126.0/23 103.147.124.0/24 -103.149.110.0/23 103.149.181.0/24 103.149.242.0/24 103.149.244.0/22 @@ -1247,7 +1261,6 @@ 103.150.164.0/23 103.150.212.0/24 103.151.148.0/23 -103.151.178.0/23 103.152.28.0/23 103.152.56.0/23 103.152.76.0/23 @@ -1290,7 +1303,7 @@ 103.183.66.0/23 103.183.122.0/23 103.183.124.0/23 -103.183.218.0/24 +103.183.218.0/23 103.184.46.0/23 103.186.4.0/23 103.186.108.0/23 @@ -1395,7 +1408,6 @@ 103.227.80.0/22 103.227.120.0/22 103.227.136.0/22 -103.227.228.0/22 103.228.12.0/22 103.228.136.0/22 103.228.160.0/22 @@ -1408,7 +1420,6 @@ 103.229.216.0/21 103.229.236.0/22 103.230.110.0/23 -103.230.128.0/23 103.230.200.0/22 103.230.212.0/22 103.230.236.0/22 @@ -1458,13 +1469,16 @@ 103.239.68.0/22 103.239.152.0/22 103.239.184.0/24 +103.239.187.0/24 103.239.192.0/22 103.239.204.0/22 103.239.224.0/22 103.239.244.0/22 +103.240.16.0/22 103.240.36.0/22 103.240.84.0/22 103.240.124.0/22 +103.240.244.0/22 103.241.95.0/24 103.241.208.0/23 103.242.128.0/24 @@ -1541,7 +1555,6 @@ 106.2.100.0/22 106.2.104.0/21 106.2.112.0/21 -106.2.122.0/24 106.2.124.0/22 106.2.128.0/19 106.2.224.0/24 @@ -1853,8 +1866,7 @@ 114.112.160.0/21 114.112.200.0/21 114.112.208.0/20 -114.113.16.0/20 -114.113.32.0/19 +114.113.63.0/24 114.113.64.0/18 114.113.144.0/20 114.113.196.0/22 @@ -1884,6 +1896,8 @@ 115.28.0.0/15 115.31.64.0/22 115.32.0.0/19 +115.32.32.0/21 +115.32.56.0/21 115.44.0.0/14 115.48.0.0/12 115.84.0.0/18 @@ -1940,7 +1954,7 @@ 116.85.0.0/22 116.85.13.0/24 116.85.14.0/23 -116.85.16.0/24 +116.85.16.0/23 116.85.64.0/20 116.85.240.0/20 116.90.80.0/20 @@ -1994,14 +2008,12 @@ 116.198.0.0/18 116.198.64.0/21 116.198.72.0/22 -116.198.80.0/21 116.198.144.0/20 116.198.160.0/20 116.198.176.0/21 116.198.192.0/18 116.199.0.0/17 116.204.0.0/17 -116.204.132.0/22 116.205.0.0/16 116.207.0.0/16 116.208.0.0/14 @@ -2039,7 +2051,10 @@ 117.48.216.0/23 117.48.218.0/24 117.48.220.0/22 -117.48.224.0/20 +117.48.224.0/21 +117.48.232.0/23 +117.48.234.0/24 +117.48.236.0/22 117.50.0.0/16 117.51.0.0/17 117.51.128.0/19 @@ -2055,9 +2070,9 @@ 117.72.16.0/23 117.72.32.0/19 117.72.64.0/18 +117.72.144.0/20 117.72.160.0/19 117.72.192.0/19 -117.72.224.0/20 117.72.255.0/24 117.73.0.0/20 117.73.16.0/21 @@ -2136,6 +2151,21 @@ 118.145.192.0/18 118.178.0.0/16 118.180.0.0/14 +118.184.0.0/22 +118.184.30.0/24 +118.184.40.0/21 +118.184.48.0/22 +118.184.52.0/24 +118.184.64.0/24 +118.184.66.0/23 +118.184.69.0/24 +118.184.76.0/22 +118.184.81.0/24 +118.184.82.0/23 +118.184.84.0/22 +118.184.92.0/22 +118.184.96.0/22 +118.184.104.0/22 118.184.128.0/17 118.186.0.0/19 118.186.32.0/24 @@ -2174,6 +2204,15 @@ 118.192.70.0/24 118.192.96.0/19 118.193.96.0/19 +118.193.128.0/23 +118.193.138.0/24 +118.193.144.0/23 +118.193.152.0/22 +118.193.160.0/23 +118.193.162.0/24 +118.193.164.0/22 +118.193.176.0/24 +118.193.188.0/22 118.194.32.0/19 118.194.128.0/21 118.194.240.0/21 @@ -2386,7 +2425,11 @@ 120.136.128.0/21 120.136.140.0/22 120.136.144.0/20 -120.136.160.0/19 +120.136.160.0/20 +120.136.176.0/21 +120.136.184.0/22 +120.136.188.0/23 +120.136.190.0/24 120.192.0.0/10 121.0.16.0/20 121.4.0.0/15 @@ -2442,7 +2485,8 @@ 122.10.160.0/24 122.11.32.0/19 122.13.0.0/16 -122.14.0.0/18 +122.14.44.0/22 +122.14.62.0/24 122.14.192.0/18 122.48.0.0/16 122.49.8.0/21 @@ -2466,7 +2510,11 @@ 122.112.0.0/20 122.112.32.0/19 122.112.64.0/19 -122.112.128.0/17 +122.112.132.0/22 +122.112.136.0/21 +122.112.144.0/20 +122.112.160.0/19 +122.112.192.0/18 122.114.0.0/16 122.115.0.0/20 122.115.32.0/19 @@ -2531,8 +2579,9 @@ 123.4.0.0/14 123.8.0.0/13 123.49.192.0/23 +123.49.194.0/24 +123.49.224.0/24 123.49.229.0/24 -123.49.230.0/24 123.49.232.0/24 123.49.240.0/24 123.49.242.0/23 @@ -2585,7 +2634,7 @@ 123.103.40.0/21 123.103.48.0/20 123.103.64.0/18 -123.108.89.0/24 +123.108.88.0/24 123.108.208.0/22 123.108.212.0/23 123.108.220.0/22 @@ -2641,7 +2690,6 @@ 124.151.0.0/17 124.151.128.0/18 124.151.193.0/24 -124.151.194.0/24 124.151.224.0/19 124.152.0.0/16 124.160.0.0/13 @@ -2857,6 +2905,14 @@ 154.8.128.0/17 154.19.43.0/24 154.38.104.0/22 +154.48.226.0/24 +154.48.231.0/24 +154.48.235.0/24 +154.48.236.0/22 +154.48.240.0/24 +154.48.247.0/24 +154.48.248.0/24 +154.48.250.0/23 154.72.42.0/24 154.72.44.0/24 154.72.47.0/24 @@ -2871,7 +2927,6 @@ 154.208.160.0/21 154.208.172.0/23 154.213.4.0/23 -154.213.189.0/24 155.102.0.0/23 155.102.2.0/24 155.102.4.0/23 @@ -2882,13 +2937,9 @@ 155.102.20.0/24 155.102.22.0/23 155.102.24.0/24 -155.102.27.0/24 +155.102.26.0/23 155.102.28.0/22 -155.102.32.0/22 -155.102.36.0/23 -155.102.39.0/24 -155.102.40.0/21 -155.102.48.0/20 +155.102.32.0/19 155.102.111.0/24 155.102.112.0/21 155.102.120.0/23 @@ -2913,6 +2964,7 @@ 155.102.220.0/23 155.102.247.0/24 155.102.248.0/23 +155.102.253.0/24 155.126.176.0/23 156.59.108.0/24 156.59.202.0/23 @@ -2968,7 +3020,6 @@ 161.163.28.0/23 161.189.0.0/16 161.207.0.0/16 -161.248.136.0/23 162.14.0.0/16 162.105.0.0/16 163.0.0.0/16 @@ -2980,6 +3031,7 @@ 163.53.128.0/22 163.53.168.0/22 163.61.202.0/23 +163.61.214.0/24 163.125.0.0/16 163.142.0.0/16 163.177.0.0/16 @@ -3045,7 +3097,7 @@ 163.181.196.0/22 163.181.200.0/21 163.181.209.0/24 -163.181.210.0/24 +163.181.210.0/23 163.181.212.0/23 163.181.214.0/24 163.181.216.0/21 @@ -3099,7 +3151,6 @@ 175.44.0.0/16 175.46.0.0/15 175.102.0.0/19 -175.102.32.0/22 175.102.128.0/21 175.102.178.0/23 175.102.180.0/22 @@ -3145,6 +3196,7 @@ 180.160.0.0/12 180.178.208.0/20 180.178.224.0/21 +180.178.232.0/22 180.178.248.0/21 180.184.0.0/21 180.184.8.0/23 @@ -3185,6 +3237,7 @@ 182.48.112.0/21 182.50.8.0/21 182.50.112.0/20 +182.51.117.0/24 182.51.118.0/24 182.51.122.0/23 182.51.124.0/24 @@ -3230,6 +3283,7 @@ 183.192.0.0/10 185.75.173.0/24 185.75.174.0/24 +185.78.105.0/24 185.234.212.0/24 188.131.128.0/17 192.55.46.0/24 @@ -3313,6 +3367,7 @@ 202.61.88.0/22 202.62.112.0/22 202.63.160.0/20 +202.65.96.0/24 202.67.3.0/24 202.69.4.0/23 202.69.16.0/20 @@ -3554,7 +3609,7 @@ 203.76.216.0/22 203.76.240.0/22 203.78.48.0/20 -203.79.0.0/20 +203.79.0.0/23 203.80.57.0/24 203.80.144.0/20 203.82.0.0/23 @@ -3592,15 +3647,12 @@ 203.95.0.0/23 203.95.2.0/24 203.95.4.0/22 -203.95.96.0/22 -203.95.104.0/21 203.95.128.0/23 203.99.20.0/22 203.99.24.0/21 203.100.50.0/23 203.100.54.0/24 203.100.92.0/22 -203.100.96.0/19 203.100.192.0/20 203.104.32.0/20 203.107.1.0/24 @@ -3613,9 +3665,6 @@ 203.107.72.0/21 203.107.80.0/21 203.107.96.0/23 -203.107.100.0/22 -203.107.104.0/22 -203.107.108.0/23 203.107.116.0/22 203.110.160.0/19 203.110.208.0/20 @@ -3628,7 +3677,6 @@ 203.119.33.0/24 203.119.80.0/23 203.119.83.0/24 -203.119.85.0/24 203.119.114.0/23 203.119.128.0/19 203.119.160.0/24 @@ -3722,7 +3770,8 @@ 203.223.21.0/24 204.13.175.0/24 205.198.19.0/24 -206.52.0.0/23 +206.52.0.0/22 +206.52.4.0/23 206.54.1.128/25 206.54.9.0/24 206.54.10.0/23 @@ -3978,7 +4027,8 @@ 211.161.0.0/20 211.161.24.0/22 211.161.32.0/20 -211.161.60.0/22 +211.161.60.0/23 +211.161.62.0/24 211.161.97.0/24 211.161.101.0/24 211.161.102.0/23 @@ -4096,7 +4146,8 @@ 219.233.0.0/16 219.234.0.0/21 219.234.16.0/20 -219.234.64.0/18 +219.234.80.0/20 +219.234.96.0/19 219.234.128.0/17 219.235.0.0/20 219.235.32.0/19 @@ -4135,7 +4186,10 @@ 220.113.154.0/24 220.114.250.0/23 220.152.128.0/17 +220.154.0.0/20 +220.154.16.0/22 220.154.128.0/22 +220.154.140.0/24 220.154.144.0/24 220.160.0.0/12 220.176.0.0/14 @@ -4196,6 +4250,7 @@ 221.13.0.0/16 221.14.0.0/15 221.122.0.0/16 +221.123.112.0/20 221.123.128.0/17 221.129.0.0/16 221.130.0.0/15 @@ -4246,8 +4301,7 @@ 222.126.140.0/22 222.126.144.0/20 222.126.160.0/20 -222.126.178.0/23 -222.126.180.0/22 +222.126.176.0/21 222.126.184.0/22 222.126.192.0/22 222.126.196.0/23 diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.ver b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.ver index 5f893bc20a..df0c5ad912 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.ver +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip4.ver @@ -1 +1 @@ -20250718035513 +20250808035959 diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.txt b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.txt index 95e3740342..6ef9bd2686 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.txt +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.txt @@ -1,6 +1,7 @@ 2001:250::/30 2001:254::/31 2001:256:100::/48 +2001:678:120::/48 2001:67c:ebc::/48 2001:7fa:5::/48 2001:c68::/32 @@ -12,7 +13,6 @@ 2001:daa:6::/48 2001:dc7::/32 2001:dd8:1::/48 -2001:dd8:5::/48 2001:dd9::/48 2001:df0:ac40::/48 2001:df3:3a80::/48 @@ -151,7 +151,8 @@ 2401:b400::/45 2401:b400:8::/47 2401:b400:11::/48 -2401:b400:14::/46 +2401:b400:14::/48 +2401:b400:16::/47 2401:b400:20::/47 2401:b680::/32 2401:be00::/32 @@ -170,6 +171,7 @@ 2401:f860:88::/47 2401:f860:90::/47 2401:f860:93::/48 +2401:f860:94::/48 2401:f860:100::/40 2401:f860:f100::/40 2401:fa00:40::/43 @@ -337,7 +339,6 @@ 2404:2280:1f0::/45 2404:2280:1f8::/46 2404:2280:1fd::/48 -2404:2280:1fe::/48 2404:2280:202::/47 2404:2280:204::/46 2404:2280:208::/46 @@ -350,6 +351,7 @@ 2404:2280:21a::/48 2404:2280:221::/48 2404:2280:271::/48 +2404:2280:27a::/48 2404:2280:27c::/48 2404:3700::/48 2404:4dc0::/32 @@ -405,8 +407,6 @@ 2405:3140:21::/48 2405:3140:31::/48 2405:3140:3a::/48 -2405:57c0::/47 -2405:57c0:100::/48 2405:66c0::/32 2405:68c0:21::/48 2405:6940::/48 @@ -440,11 +440,10 @@ 2406:840:e201::/48 2406:840:e230::/44 2406:840:e260::/48 -2406:840:e2cb::/48 +2406:840:e2cf::/48 2406:840:e500::/47 2406:840:e621::/48 2406:840:e666::/47 -2406:840:e720::/44 2406:840:e80f::/48 2406:840:eb00::/46 2406:840:eb04::/47 @@ -533,6 +532,7 @@ 2407:c080:5000::/37 2407:c080:6000::/36 2407:c080:8000::/36 +2407:d9c0::/32 2408:4000::/22 2408:8000::/48 2408:8000:2::/47 @@ -653,104 +653,151 @@ 2408:8374::/30 2408:8378::/31 2408:837a::/32 -2408:8406::/40 +2408:8406::/42 +2408:8406:40::/43 +2408:8406:c0::/42 2408:8406:100::/41 2408:8406:180::/42 -2408:8406:c00::/40 +2408:8406:c00::/42 +2408:8406:c40::/43 +2408:8406:cc0::/42 2408:8406:d00::/41 2408:8406:d80::/42 -2408:8406:1800::/40 +2408:8406:1800::/42 +2408:8406:1840::/43 +2408:8406:18c0::/42 2408:8406:1900::/41 2408:8406:1980::/42 -2408:8406:2400::/40 +2408:8406:2400::/42 +2408:8406:2440::/43 +2408:8406:24c0::/42 2408:8406:2500::/41 2408:8406:2580::/42 -2408:8406:3000::/40 +2408:8406:3000::/42 +2408:8406:3040::/43 +2408:8406:30c0::/42 2408:8406:3100::/41 2408:8406:3180::/42 -2408:8406:3c00::/40 +2408:8406:3c00::/42 +2408:8406:3c40::/43 +2408:8406:3cc0::/42 2408:8406:3d00::/41 2408:8406:3d80::/42 -2408:8406:4800::/40 +2408:8406:4800::/42 +2408:8406:4840::/43 +2408:8406:48c0::/42 2408:8406:4900::/41 2408:8406:4980::/42 -2408:8406:5400::/40 +2408:8406:5400::/42 +2408:8406:5440::/43 +2408:8406:54c0::/42 2408:8406:5500::/41 2408:8406:5580::/42 -2408:8406:6000::/40 +2408:8406:6000::/42 +2408:8406:6040::/43 +2408:8406:60c0::/42 2408:8406:6100::/41 2408:8406:6180::/42 -2408:8406:6c00::/40 +2408:8406:6c00::/42 +2408:8406:6c40::/43 +2408:8406:6cc0::/42 2408:8406:6d00::/41 2408:8406:6d80::/42 -2408:8406:7800::/40 +2408:8406:7800::/42 +2408:8406:7840::/43 +2408:8406:78c0::/42 2408:8406:7900::/41 2408:8406:7980::/42 -2408:8406:8400::/40 +2408:8406:8400::/42 +2408:8406:8440::/43 +2408:8406:84c0::/42 2408:8406:8500::/41 2408:8406:8580::/42 -2408:8406:9000::/40 +2408:8406:9000::/42 +2408:8406:9040::/43 +2408:8406:90c0::/42 2408:8406:9100::/41 2408:8406:9180::/42 -2408:8406:9c00::/40 +2408:8406:9c00::/42 +2408:8406:9c40::/43 +2408:8406:9cc0::/42 2408:8406:9d00::/41 2408:8406:9d80::/42 -2408:8406:a800::/40 +2408:8406:a800::/42 +2408:8406:a840::/43 +2408:8406:a8c0::/42 2408:8406:a900::/41 2408:8406:a980::/42 -2408:8406:b400::/40 +2408:8406:b400::/42 +2408:8406:b440::/43 +2408:8406:b4c0::/42 2408:8406:b500::/41 2408:8406:b580::/42 2408:8407:500::/43 2408:8409::/40 -2408:8409:120::/43 -2408:8409:140::/42 +2408:8409:100::/41 2408:8409:180::/42 +2408:8409:1c0::/43 2408:8409:c00::/40 2408:8409:d00::/41 2408:8409:d80::/42 +2408:8409:dc0::/43 2408:8409:1800::/40 2408:8409:1900::/41 2408:8409:1980::/42 +2408:8409:19c0::/43 2408:8409:2400::/40 2408:8409:2500::/41 2408:8409:2580::/42 +2408:8409:25c0::/43 2408:8409:3000::/40 2408:8409:3100::/41 2408:8409:3180::/42 +2408:8409:31c0::/43 2408:8409:3c00::/40 2408:8409:3d00::/41 2408:8409:3d80::/42 +2408:8409:3dc0::/43 2408:8409:4800::/40 2408:8409:4900::/41 2408:8409:4980::/42 +2408:8409:49c0::/43 2408:8409:5400::/40 2408:8409:5500::/41 2408:8409:5580::/42 +2408:8409:55c0::/43 2408:8409:6000::/40 2408:8409:6100::/41 2408:8409:6180::/42 +2408:8409:61c0::/43 2408:8409:6c00::/40 2408:8409:6d00::/41 2408:8409:6d80::/42 +2408:8409:6dc0::/43 2408:8409:7800::/40 2408:8409:7900::/41 2408:8409:7980::/42 +2408:8409:79c0::/43 2408:8409:8400::/40 2408:8409:8500::/41 2408:8409:8580::/42 +2408:8409:85c0::/43 2408:8409:9000::/40 2408:8409:9100::/41 2408:8409:9180::/42 +2408:8409:91c0::/43 2408:8409:9c00::/40 2408:8409:9d00::/41 2408:8409:9d80::/42 +2408:8409:9dc0::/43 2408:8409:a800::/40 2408:8409:a900::/41 2408:8409:a980::/42 +2408:8409:a9c0::/43 2408:8409:b400::/40 2408:8409:b500::/41 2408:8409:b580::/42 +2408:8409:b5c0::/43 2408:840c::/40 2408:840c:200::/40 2408:840c:400::/40 @@ -1140,7 +1187,6 @@ 2602:f93b:400::/38 2602:f9ba:a8::/48 2602:f9ba:10c::/48 -2602:fd92:cc0::/44 2602:feda:182::/47 2602:feda:1bf::/48 2602:feda:1d1::/48 @@ -1191,9 +1237,8 @@ 2a06:1180:1000::/48 2a06:3605::/32 2a06:3606::/31 -2a06:9f81:4600::/44 +2a06:9f81:4600::/43 2a06:9f81:4640::/44 -2a06:9f81:4660::/44 2a06:a005:260::/43 2a06:a005:280::/43 2a06:a005:2a0::/44 @@ -1206,9 +1251,10 @@ 2a09:b280:ff81::/48 2a09:b280:ff83::/48 2a09:b280:ff84::/47 -2a0a:2840::/30 +2a0a:2840:20::/43 +2a0a:2840:2000::/48 +2a0a:2842::/32 2a0a:2845:aab8::/46 -2a0a:2845:d647::/48 2a0a:2846::/48 2a0a:6040:ec00::/40 2a0a:6044:6600::/40 @@ -1216,10 +1262,8 @@ 2a0b:2542::/48 2a0b:4340:a6::/48 2a0b:4e07:b8::/47 -2a0c:9a40:84e0::/48 2a0c:9a40:9e00::/43 2a0c:b641:571::/48 -2a0e:97c0:550::/44 2a0e:97c0:83f::/48 2a0e:9b00::/29 2a0e:aa01:1fff::/48 @@ -1236,6 +1280,7 @@ 2a0e:aa07:e039::/48 2a0e:aa07:e044::/48 2a0e:aa07:e151::/48 +2a0e:aa07:e155::/48 2a0e:aa07:e160::/47 2a0e:aa07:e162::/48 2a0e:aa07:e16a::/48 @@ -1256,7 +1301,6 @@ 2a0e:b107:740::/44 2a0e:b107:c10::/48 2a0e:b107:dce::/48 -2a0e:b107:16b0::/44 2a0e:b107:178d::/48 2a0e:b107:178e::/48 2a0f:5707:ac00::/47 @@ -1274,8 +1318,6 @@ 2a0f:7803:fe81::/48 2a0f:7803:fe82::/48 2a0f:7d07::/32 -2a0f:85c1:816::/48 -2a0f:85c1:b3a::/48 2a0f:85c1:ba5::/48 2a0f:9400:6110::/48 2a0f:9400:7700::/48 @@ -1283,8 +1325,12 @@ 2a10:2f00:15a::/48 2a10:cc40:190::/48 2a10:ccc0:d00::/46 -2a10:ccc0:d0a::/48 +2a10:ccc0:d0a::/47 2a10:ccc0:d0c::/47 +2a10:ccc6:66c6::/48 +2a10:ccc6:66c9::/48 +2a10:ccc6:66ca::/48 +2a10:ccc6:66cd::/48 2a12:f8c3::/36 2a13:1800::/48 2a13:1800:10::/48 @@ -1296,16 +1342,15 @@ 2a13:a5c7:1800::/40 2a13:a5c7:2100::/48 2a13:a5c7:2102::/48 -2a13:a5c7:2110::/48 2a13:a5c7:2121::/48 2a13:a5c7:2803::/48 2a13:a5c7:3100::/43 +2a13:a5c7:31a0::/43 2a13:aac4:f000::/44 2a14:7c0:4a01::/48 2a14:4c41::/32 2a14:67c1:20::/44 2a14:67c1:70::/47 -2a14:67c1:73::/48 2a14:67c1:74::/48 2a14:67c1:702::/47 2a14:67c1:704::/48 @@ -1315,12 +1360,11 @@ 2a14:67c1:a024::/48 2a14:67c1:a02a::/48 2a14:67c1:a02f::/48 -2a14:67c1:a040::/48 +2a14:67c1:a040::/47 2a14:67c1:a061::/48 2a14:67c1:a064::/48 -2a14:67c1:a090::/48 -2a14:67c1:a092::/47 -2a14:67c1:a095::/48 +2a14:67c1:a090::/46 +2a14:67c1:a094::/47 2a14:67c1:a099::/48 2a14:67c1:a100::/43 2a14:67c1:b000::/48 @@ -1332,14 +1376,15 @@ 2a14:67c1:b107::/48 2a14:67c1:b130::/47 2a14:67c1:b132::/48 -2a14:67c1:b4d0::/44 +2a14:67c1:b4c0::/45 2a14:67c1:b4e0::/43 2a14:67c1:b500::/48 2a14:67c1:b561::/48 2a14:67c1:b563::/48 2a14:67c1:b566::/48 2a14:67c1:b582::/48 -2a14:67c5:1100::/40 +2a14:67c1:b588::/47 +2a14:67c1:b590::/48 2a14:67c5:1900::/40 2a14:7580:9200::/40 2a14:7580:9400::/39 @@ -1349,7 +1394,6 @@ 2a14:7580:fe00::/40 2a14:7581:3100::/40 2a14:7581:9010::/44 -2a14:7584:9000::/36 2c0f:f7a8:8011::/48 2c0f:f7a8:8050::/48 2c0f:f7a8:805f::/48 diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.ver b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.ver index 5f893bc20a..df0c5ad912 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.ver +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_ip6.ver @@ -1 +1 @@ -20250718035513 +20250808035959 diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.txt b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.txt index 5f6453d643..bc8b2fc7c2 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.txt +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.txt @@ -127,19 +127,16 @@ 016sf.com 018520.com 019103.com -01amlink.site 01bzw.us 01bzw.xyz 01caijing.com 01dou.com -01hklink.site 01home.com 01hour.com 01hr.com 01isp.com 01isp.net 01jinhua.com -01jplink.site 01jzw.com 01ki.com 01p.com @@ -147,7 +144,6 @@ 01skjj.com 01studio.cc 01teacher.com -01w.com 01wb.com 01yo.com 01yuanma.com @@ -179,7 +175,6 @@ 021-zszx.com 021.com 021.net -0210l.com 0214.com 02156506666.net 02163.com @@ -225,7 +220,6 @@ 023dns.com 023fyy.com 023gmdk.com -023sm.com 023up.com 023xfyy.com 023xiaoyuan.com @@ -345,7 +339,6 @@ 02yc.com 030303.com 030mall.com -0310.co 0310it.com 0311.cc 03118888.com @@ -356,7 +349,6 @@ 0316366.com 03167.com 0316yun.com -0318gbw.com 0328.com 033.com 033033.com @@ -379,11 +371,9 @@ 0371wang.com 037201.com 037398.com -0376-8777777.com 0377auto.com 0378zz.com 0379home.com -0379pfw.com 0379wan.com 0391fc.com 03964.com @@ -499,10 +489,8 @@ 0537yz.com 0539fc.com 053c.com -054057.com 0543bbs.com 0543hr.com -0543tuangou.com 054400.com 0546fdc.com 0546tx.com @@ -531,7 +519,6 @@ 0571crm.com 0571gszc.com 0571nh.com -0571ok.com 0571pu.com 0571zp.com 0572h.com @@ -578,7 +565,6 @@ 0595job.com 0595qz.com 0595rc.com -0595zf.com 0596fc.com 0597kk.com 0597music.com @@ -589,7 +575,6 @@ 0598rc.com 0598yu.com 0599yx.com -05bk.com 05bq.com 05idc.com 05info.com @@ -703,7 +688,6 @@ 0755bdqn.com 0755bzf.com 0755caibao.com -0755car.com 0755cts.com 0755fm.com 0755gty.com @@ -737,7 +721,6 @@ 0762uu.com 0763f.com 076650.com -0768.gd 0768000.com 0769auto.com 0769che.com @@ -786,7 +769,6 @@ 0791look.com 0791quanquan.com 0791qzw.com -07928888.xyz 0792jj.net 0792ju.com 0792lsly.com @@ -829,7 +811,6 @@ 0838.com 0838che.com 0839zp.com -08447.vip 085.com 0852diaoyu.com 0853rc.com @@ -930,13 +911,14 @@ 0he0.com 0hgame.com 0i-i0.com +0jpf7u.com 0ka.com 0kee.com 0kkkkkt.com +0ms.one 0nu2yo.com 0pdsa.icu 0r17374.com -0rg.pw 0rl.cc 0rz.ltd 0s8s.com @@ -1146,10 +1128,8 @@ 103153.com 10333.com 10349.com -10419.net 1050qm.com 105mr.com -106.com 10639888.com 1065m.com 10666114.net @@ -1170,7 +1150,6 @@ 109ya.com 10bests.com 10fang.com -10futu.com 10gjkj.com 10gt.com 10guoying.com @@ -1189,7 +1168,6 @@ 10soo.com 10tianqi.com 10vps.com -10xiang.net 10yan.com 110.com 11000011.com @@ -1213,7 +1191,6 @@ 111867.com 1118cctv.ltd 111com.net -111g.com 111golf.com 111ppp999kkk.com 111tt.icu @@ -1293,6 +1270,7 @@ 115meta.com 115seo.com 115vod.com +115wg.com 115zb.com 1163.com 1166.com @@ -1316,7 +1294,6 @@ 118inns.com 118jm.com 118pan.com -118pc.com 118study.com 118ttc.com 118wa.com @@ -1351,7 +1328,6 @@ 11sun.com 11td123.com 11wow.com -11wyx.com 11xotn7p.com 11yinyuan.com 11zhang.com @@ -1372,6 +1348,7 @@ 120jxxh.com 120kid.com 120kq.com +120naotan.com 120scp.com 120sg.com 120shgc.com @@ -1386,6 +1363,7 @@ 12120.net 12123.com 121314.com +121588.com 121ask.com 121down.com 121mai.com @@ -1424,8 +1402,10 @@ 12333si.com 12333tc.com 123366.xyz +1233dns.com 1234.me 12341288.com +1234567.com 123456edu.com 123456wz.com 12345b.com @@ -1468,7 +1448,6 @@ 123baofeng.com 123bo.com 123boligang.com -123chufa.com.hk 123ds.org 123du.cc 123ems.com @@ -1547,7 +1526,6 @@ 128qd.com 128sy.com 128uu.com -12933v.com 12988.net 129t.com 12dzx.com @@ -1599,7 +1577,6 @@ 135031.com 135139.net 135309.com -1353j.com 135650.com 13567.com 1356789.com @@ -1610,12 +1587,12 @@ 135e.com 135editor.com 135edu.com -135fa.com 135plat.com 135yuedu.com 136.com 1360.com 136136.com +1362-rfwi.cc 13636.com 1366.com 13667703999.com @@ -1757,7 +1734,6 @@ 15982.com 159shouji.com 15bl.com -15cy.org 15gg.com 15gift.com 15hr.com @@ -1930,6 +1906,7 @@ 16bus.net 16buzhi.com 16c1.com +16ceshi.com 16ds.com 16fan.com 16first.com @@ -2031,7 +2008,6 @@ 175sf.com 175wan.com 175yo.com -176207.com 17666.mobi 1766bbs.com 17673.com @@ -2041,7 +2017,6 @@ 176web.net 1773.com 1778.com -177o.com 177xfb.com 178.com 178.net @@ -2123,6 +2098,7 @@ 17guagua.com 17gwx.com 17haibao.com +17hc.com 17house.com 17hpl.com 17huahua.com @@ -2140,7 +2116,6 @@ 17jzt.com 17k.com 17kan.cc -17kf.cc 17kgk.com 17kjs.com 17koko.com @@ -2350,7 +2325,6 @@ 18art.art 18art.com 18av.com -18chonglou.com 18dao.info 18daxue.com 18dx.com @@ -2409,7 +2383,6 @@ 1949idc.com 194nb.com 195155.com -195855.com 195idc.com 196g.com 197.com @@ -2432,7 +2405,6 @@ 1987yp.com 1988.tv 19888.tv -1988zixun.com 198game.com 198game.net 1990i.com @@ -2507,7 +2479,6 @@ 1f11.com 1fangchan.com 1fatong.com -1fenda.com 1fengxin.xyz 1fenlei.com 1flash.net @@ -2544,6 +2515,7 @@ 1j8.net 1jbest.com 1jiesong.com +1jkbie336689.com 1jok.icu 1ju.com 1juhao.com @@ -2580,11 +2552,11 @@ 1menjin.com 1mfg.com 1miba.com -1mirrors.com 1mishu.com 1mit.com 1mjz.com 1mm8.com +1mmbie336689.com 1mmed.com 1more.com 1mpi.com @@ -2611,7 +2583,6 @@ 1qia.com 1qianbao.com 1qianbao.net -1qibi.com 1qirun.com 1qishu.com 1qit.com @@ -2632,7 +2603,6 @@ 1st56.com 1stacks.net 1stchip.com -1stjc.com 1styan.com 1szq.com 1t.gs @@ -2675,7 +2645,6 @@ 1yyg.com 1zhangdan.com 1zhanshou.com -1zhantai.com 1zhao.org 1zhe.com 1zhengji.com @@ -2685,7 +2654,6 @@ 1zjob.com 1zr.com 1zu.com -1zw.com 2-33.com 2-class.com 2-mm.net @@ -2717,10 +2685,8 @@ 201061.com 201201.com 2012jh.com -2012seo.com 20130123.com 201314520.net -2013sh.com 2014.mobi 20150.net 201551.com @@ -2738,7 +2704,6 @@ 201g.com 202014.xyz 202030.com -2021.com 202271.xyz 2022cdnpl.com 2023.com @@ -2753,11 +2718,14 @@ 2049baby.com 2050life.com 206zz.com +207xz.com 2080ly.com 2093hd.com 2099xs.com 20fl.com 20g0.com +20images10.com +20images7.com 20ju.com 20kf.com 20on.com @@ -2773,7 +2741,6 @@ 210997.com 210z.com 2113.com -2113s.com 2114.com 2115.com 211600.com @@ -2791,7 +2758,6 @@ 21263.net 212ehae.fun 2133.com -21335.club 2133bbs.com 21373.com 2144.com @@ -2903,7 +2869,6 @@ 21xfbd.com 21xianhua.com 21xl.info -21xrx.com 21xuema.com 21yangjie.com 21yibiao.com @@ -2930,8 +2895,6 @@ 222tt.icu 222wy333bb.com 22336699.xyz -2234p.com -223600.com 2238202.com 2239.com 223969ufy.com @@ -2982,7 +2945,6 @@ 22tj.com 22vape.com 22vd.com -22zw.com 2300sjz.com 230890.com 231083.com @@ -3148,7 +3110,6 @@ 25rk.com 25tmw.com 25un.com -25w1.com 25wy.com 25xg.com 25xianbao.com @@ -3210,7 +3171,6 @@ 272955.com 27399.com 273u.com -274500.com 27492.com 275.com 2755005.com @@ -3218,6 +3178,7 @@ 27813000.com 278838mcu.com 278wan.com +279.tv 279love.com 279tt.com 279wo.com @@ -3246,8 +3207,6 @@ 2848168.com 28493.com 2850.com -2853x.com -2857t.com 2858999.com 285u.com 286sy.com @@ -3278,7 +3237,6 @@ 293.net 294041.com 29592.net -29663.com 296u.com 29797.com 2980.com @@ -3361,7 +3319,6 @@ 2liang.net 2ll.co 2loveyou.com -2lvj.com 2m2j.com 2m3m.com 2ma2.com @@ -3474,7 +3431,6 @@ 312000.net 31260939.com 312green.com -313.com 313033.com 3131yx.com 313515.com @@ -3546,7 +3502,6 @@ 31xj.com 31xs.net 31yarn.com -31yj.com 31yr.com 31zhi5f.xyz 320921.com @@ -3619,6 +3574,7 @@ 333.com 333056.com 33315.com +333232.xyz 333333.com 333333.org 3335665.com @@ -3793,7 +3749,6 @@ 35pic.com 35q.com 35sf.com -35vc.com 35xss.com 35zww.com 36-7.com @@ -3844,7 +3799,6 @@ 360doc1.net 360doc18.net 360doc2.net -360doc21.net 360doc25.net 360doc4.net 360doc7.net @@ -3975,6 +3929,7 @@ 360zhyx.com 360zmr.com 360zqaq.com +360zqf.com 360zuowen.com 360zuqiu.com 36130.com @@ -3992,6 +3947,7 @@ 363.com 363.net 363120.com +363210.com 363322014.com 3636.tech 363635.com @@ -4103,7 +4059,6 @@ 36612345.com 3663.com 366300.com -36657.cc 366666.net 36683.com 3669yx.com @@ -4158,7 +4113,6 @@ 3710167.com 37163.com 371bus.com -371house.com 371love.com 37201.com 3721520.com @@ -4265,7 +4219,6 @@ 3937.com 3939339.com 394394.com -3952j.com 39655.com 3975.com 3975ad.com @@ -4312,7 +4265,6 @@ 3aok.com 3apz.com 3aqj.com -3aqyzs.com 3avox.com 3b2o.com 3bag.ru @@ -4366,6 +4318,7 @@ 3dnew.com 3doe.com 3dqvcli.xyz +3drrr.com 3dsdce.com 3dsjw.com 3dsnail.com @@ -4387,8 +4340,10 @@ 3elife.net 3etimes.com 3eyes.org +3fahudong.com 3fang.com 3fantizi.com +3fcl8.net 3fda.com 3fzipper.com 3g-edu.org @@ -4503,6 +4458,7 @@ 3swg.com 3thiku.com 3tilabs.com +3tinkers.com 3tmall.com 3treesgroup.com 3tsmh.com @@ -4625,7 +4581,6 @@ 400cx.com 400dianhua.com 400gb.com -400gk.com 400ja.com 400jz.com 400kaoyan.vip @@ -4643,12 +4598,13 @@ 404wan.com 404youxi.com 405400.com -406yx.com 407wan.com 4080517.com 408399.com 408399.net 40images10.com +40images15.com +40images16.com 40images8.com 40manhua.com 40sishi.com @@ -4680,7 +4636,6 @@ 4234cdn.com 42353.com 423down.com -4241x.com 4243.net 425300.co 425yx.com @@ -4747,7 +4702,6 @@ 444888qq.com 44552121.com 44629.com -4473n.com 44749.net 4480.cc 4484.win @@ -4835,6 +4789,7 @@ 49363.com 4937711.com 4948.com +495.cc 495495.com 49644913.com 497-img.com @@ -4932,7 +4887,6 @@ 4xiaoshuo.info 4xseo.com 4xx.me -4y2rl.cc 4y4.net 4ye.cc 4yt.net @@ -5008,7 +4962,6 @@ 510hb.com 510xds.com 510you.com -511.la 51110.com 51119.com 5117.com @@ -5106,7 +5059,6 @@ 51870.com 5187g.com 5188.com -5188jc.com 5188yy.com 518ad.com 518doc.com @@ -5164,7 +5116,6 @@ 51buy.com 51bxg.com 51bzi.com -51cacg.com 51caiyou.com 51callcenter.com 51callu.net @@ -5338,7 +5289,6 @@ 51hicard.com 51hika.com 51hjk.com -51hkx.com 51hlife.com 51hlife.net 51homemoney.com @@ -5350,7 +5300,6 @@ 51huanhuan.com 51hunningtu.com 51huoyou.com -51hvac.com 51hwzy.com 51ibm.com 51ican.com @@ -5530,7 +5479,6 @@ 51rumo.com 51rxzc.com 51rz.org -51rzzx.com 51sai.com 51sanhu.com 51sao.net @@ -5611,7 +5559,6 @@ 51trust.com 51tuiyi.com 51tunhuo.com -51tuz.com 51tv.com 51tv.net 51tvbao.com @@ -5632,11 +5579,11 @@ 51vv.net 51vv2.com 51w.co -51wan.com 51wangdai.com 51wangming.com 51wangpi.com 51wanquan.com +51wanxue.com 51wcad.com 51wcity.com 51web.com @@ -5786,7 +5733,6 @@ 520way.com 520xiazai.com 520xp.com -520xst.com 520xy8.com 520yidui.com 520z-2.com @@ -5840,16 +5786,13 @@ 526net.com 527100.com 52733999.com -527578.com 5277.com 527fgame.com 527ice.com 527meeting.com -527pk.com 527ss.com 528045.com 5281.net -5281520.com 52841819.com 528500.com 528529.com @@ -5952,6 +5895,7 @@ 52jianpan.com 52jiaoshi.com 52jiaozhou.com +52jiawei.com 52jingsai.com 52jinhu.com 52jisu.com @@ -5986,9 +5930,9 @@ 52mba.com 52meirong.com 52mengdong.com +52met.com 52mhw.com 52miji.com -52miniapps.com 52mip.com 52ml.net 52mqbiao.com @@ -6111,12 +6055,9 @@ 52zx.net 52zxw.com 52zy.com -52zzl.com -530.co 5300tv.com 5306.com 5308999.com -53111xx.com 531314.com 53155.vip 531pool.com @@ -6144,6 +6085,8 @@ 537images13.com 537images20.com 537images22.com +537images41.com +537images42.com 537images5.com 537images7.com 538618.com @@ -6205,7 +6148,6 @@ 54pictu.com 54qj.com 54seaman.com -54sh.com 54traveler.com 54tup.com 54watch.com @@ -6244,7 +6186,6 @@ 555bb999ww.com 555dyds.com 555edu.net -555gk.com 555tg6s98w9d8sw.com 555yst.com 5566.net @@ -6304,8 +6245,6 @@ 56156.com 5618.co 5629.com -563337.com -5636.com 56360.com 564.cc 5648.cc @@ -6427,7 +6366,6 @@ 580eda.net 580jz.net 580k.com -580plan.com 580tequan.com 58161.com 58188.com @@ -6438,7 +6376,6 @@ 583316.com 583go.com 585227ybn.com -58553v.com 5858.com 5858xs.com 58611.net @@ -6446,6 +6383,7 @@ 5866.com 5867yh.com 586jz.com +587image.com 5884.com 588589.com 5888.tv @@ -6467,7 +6405,6 @@ 58cgg.com 58chaiyou.com 58che.com -58chxf.com 58cloud.com 58coin.com 58corp.com @@ -6508,7 +6445,6 @@ 58q.org 58q8.com 58qz.com -58school.com 58shangban.com 58shuz.com 58supin.com @@ -6527,7 +6463,6 @@ 58xinrui.com 58xs.com 58xs.la -58xs.tw 58xueche.com 58xuexi.com 58yaoji.com @@ -6549,7 +6484,6 @@ 5918656.com 5918dyw.com 591918.com -591change.com 591con.com 591hx.com 591master.com @@ -6567,6 +6501,7 @@ 592zn.com 59370.com 5945i.com +595.bet 5951835ccc.com 59519.com 595818.com @@ -6585,11 +6520,9 @@ 599.com 5999.tv 5999218ccc.com -599ku.com 599x.com 59b2b.com 59baike.com -59di.com 59dun.com 59hi.com 59iedu.com @@ -6625,6 +6558,7 @@ 5biying.com 5bjm.com 5brxi.icu +5c84i.net 5ccic.com 5cda.com 5ce.com @@ -6642,7 +6576,6 @@ 5dfsd2.com 5dgz.com 5ding.com -5djbb.com 5dmail.net 5dplay.net 5ds.com @@ -6782,6 +6715,7 @@ 5radar.com 5rc.com 5read.com +5rfh44h5.cc 5ring.com 5ritt.com 5rs.me @@ -6889,9 +6823,11 @@ 607.tv 6071.com 6073168.com +607images15.com 607images16.com 607images2.com -608.com +607images36.com +607images40.com 608.vip 6080d.com 6090400.com @@ -6948,7 +6884,6 @@ 61bb.com 61bbw.com 61cloud.net -61co.com 61diy.com 61draw.com 61ertong.com @@ -7032,7 +6967,6 @@ 648sy.com 64ba.com 64dns.com -64ds.com 64ee.com 64foot.com 64gua.com @@ -7052,11 +6986,12 @@ 65650000.com 65656564.com 656gate.com -6571n.com +657192.com 658.com 65875.com 659595.com 65993zubo26633.com +65box.com 65liuxue.com 65mhxy.com 6600.org @@ -7084,6 +7019,7 @@ 66580.com 6660333.com 666127.xyz +666291.xyz 6665.com 666532.xyz 666546.xyz @@ -7097,13 +7033,11 @@ 6666ppt.com 6666sa.com 6666xsw.com -66688.photo 6668dns.com 6669667.com 666aa777bb.com 666bb777ww.com 666gps.com -666hh999gg.com 666idc.com 666j.com 666kuaishou.com @@ -7121,7 +7055,6 @@ 667744.com 667777.cc 6677cq.com -6678net.com 66825.com 668559.com 6686.com @@ -7175,7 +7108,6 @@ 66sy.com 66team.com 66to.net -66tv.tv 66ui.com 66wc.com 66web.com @@ -7192,7 +7124,6 @@ 67017.com 6711.com 6711img.com -6760x.com 67623.com 6763.loan 676z.com @@ -7214,7 +7145,6 @@ 678vr.com 67az.com 67cha.com -67gu.com 67it.com 67joy.com 67mo.com @@ -7255,6 +7185,7 @@ 68978.net 6899wan.com 68apk.com +68bbq.com 68china.net 68design.net 68ecshop.com @@ -7264,6 +7195,7 @@ 68hanchen.com 68hlw.com 68hr.com +68jcw.com 68ke.com 68mall.com 68play.com @@ -7274,10 +7206,8 @@ 68websoft.com 68yscw.com 68zhan.net -68zixun.com 69.com 69090.com -6915x.com 69260.com 692657.com 6934.net @@ -7372,7 +7302,6 @@ 6lrt.com 6ls.cc 6m5m.com -6mao.com 6miii.com 6miu.com 6miu.net @@ -7482,7 +7411,6 @@ 714.com 715083.com 715288.com -7152x.com 715300.com 7163.com 71683.com @@ -7490,6 +7418,7 @@ 7172737.com 7176.com 717c.com +717down.com 71908.com 7192.com 719400.com @@ -7539,7 +7468,6 @@ 724pride.com 724pridecryogenics.com 724pridetech.com -7253n.com 726p.com 7273.com 7280.com @@ -7575,13 +7503,13 @@ 72zhan.com 731.tv 73110010.com -7319n.com 73232yx.com 732732.com 73336zubo25326.com 734969.com 7360.cc 737.com +737698.xyz 73789.com 7384tv.com 738888.xyz @@ -7694,7 +7622,6 @@ 777524.com 77772121.com 7777733.com -777aa999aa.com 777bb111ww.com 777bb555ww.com 777biubiu.com @@ -7715,7 +7642,6 @@ 778buy.com 7790.com 7794.com -7798.com 77991.com 7799520.com 779wan.com @@ -7788,7 +7714,6 @@ 78zw.com 79-79.com 79.com -7927n.com 793360.com 793688.com 79432.com @@ -7818,7 +7743,6 @@ 7ahr.com 7analytics.com 7b2.com -7b3s1mgg9l.com 7c.com 7caiyun.com 7capp.com @@ -7872,7 +7796,6 @@ 7jk.com 7jsqnh.com 7juju.com -7junshi.com 7k35.com 7k7k.com 7k8k.com @@ -7913,6 +7836,7 @@ 7road.net 7ronggame.com 7runto.com +7sef.com 7sfashion.com 7sj.com 7sodu.net @@ -8127,12 +8051,10 @@ 81xy.com 81zhongwenx.com 81zw.com -81zw.in 81zw.la 8203app.com 82137777.com 82158.com -8222.com 82250856.com 822644.com 8228.tv @@ -8157,7 +8079,6 @@ 82l.net 82pk.com 830777.com -831289.com 83133.com 83133.vip 83152222.com @@ -8170,8 +8091,12 @@ 835images21.com 835images28.com 835images3.com +835images32.com +835images38.com 835images48.com +835images55.com 835images6.com +835images61.com 83661111.net 83666.com 83692.com @@ -8202,8 +8127,6 @@ 8477.com 848.com 848.tv -8487x.com -848d.com 849558.com 84bus.net 84fk.com @@ -8248,7 +8171,6 @@ 86175.com 861817.com 86215.com -8624x.com 86262.com 8633.com 863535.com @@ -8260,10 +8182,8 @@ 865211.com 86586222.com 86590.com -866668.club 86696.cc 866ds.com -866pic.com 8671099.com 8673h.com 867867jh.com @@ -8385,7 +8305,6 @@ 8850006.com 885210.net 88582.com -8858924.com 8860.net 8864.com 8866.org @@ -8404,6 +8323,7 @@ 888-8.com 8880666.com 888132.com +888484.xyz 888608.xyz 88880809.com 88883aaa.com @@ -8437,7 +8357,6 @@ 88993aaa.com 88995799.com 88999.com -889995.cc 8899yyy.vip 889mi.com 88bank.com @@ -8460,15 +8379,14 @@ 88la.la 88lan.com 88laser.com -88lianmengtu.com 88lmfff666.com +88lmtupian.com 88lot.com 88meishi.com 88mf.com 88ming.net 88order.com 88pets.com -88popo.com 88rpg.net 88sup.com 88sus.com @@ -8499,7 +8417,6 @@ 8989jt.com 8989u.com 8999.cc -899973.cc 89dj.com 89doc.com 89ds.com @@ -8527,7 +8444,6 @@ 8dol.com 8dou.com 8dp.net -8dream.net 8dt.com 8dudata.com 8dus.com @@ -8545,7 +8461,6 @@ 8gyu.com 8hgame.com 8hsleep.com -8i.ink 8jdns.net 8jiaoye.com 8jie8.com @@ -8598,7 +8513,6 @@ 8tennis.com 8tgh.com 8tool.club -8tsw.com 8tupian.com 8tupian.net 8twan.com @@ -8617,7 +8531,6 @@ 8wvlk.com 8wym.com 8x6x.com -8xj.org 8xs.org 8xz8.com 8yao2hds35sv.com @@ -8633,6 +8546,7 @@ 9-xin.com 9-zhuce.com 9.biz +90.cc 900.la 900.vc 9000wy.com @@ -8647,7 +8561,6 @@ 90576.com 90686.com 906you.com -90907.com 9090cdndns.com 90ao.com 90c6.com @@ -8710,6 +8623,7 @@ 917st.com 9186.com 9188.com +918canyin.com 918dxs.com 918haoma.com 918ka.cc @@ -8735,7 +8649,6 @@ 91bushou.com 91carnet.com 91cdkey.com -91ceshi.com 91cha.com 91changxie.com 91chengguo.com @@ -8827,6 +8740,7 @@ 91meitu.com 91mh.me 91miaoshou.com +91muou.icu 91muzhi.com 91ninthpalace.com 91nzh.com @@ -8929,7 +8843,6 @@ 925g.com 925ps.com 926kf.com -92763.vip 927927.com 927953.com 927game.com @@ -8977,7 +8890,6 @@ 92txt.cc 92u93e.com 92wan.com -92wansf.com 92wudao.com 92wx.com 92wx.la @@ -9012,7 +8924,6 @@ 9377d.com 9377df.com 9377g.com -9377hi.com 9377j.com 9377ja.com 9377ku.com @@ -9105,6 +9016,7 @@ 95169.com 95191.com 95195.com +951dns.com 95262.com 9527cha.com 9527cloud.com @@ -9131,7 +9043,6 @@ 95598pay.com 95599.hk 955yes.com -955yx.com 9560.cc 95600.vip 9564.com @@ -9199,8 +9110,6 @@ 96459.com 964yx.com 965.one -96516.net -96520.com 96528.com 96533.com 965373.com @@ -9210,7 +9119,6 @@ 9663.com 9665.com 966599.com -9665k.com 9665yx.com 9666666.com 9666sr.com @@ -9229,7 +9137,6 @@ 96877.net 968816.com 9688896.com -968nft.com 968pk.com 969009.com 969368.com @@ -9288,7 +9195,6 @@ 97jz.com 97kid.com 97kks.com -97lk.com 97lp.com 97lpw.com 97ol.com @@ -9310,13 +9216,13 @@ 980cje.com 98182.com 98187411.com -9831428.com 984g.com 985.so 985211.link 985900.com 985923.com 985dh.com +985hezi.com 985ks.com 985ks.net 985sy.com @@ -9342,7 +9248,6 @@ 98ep.com 98eye.com 98fp.com -98jiankang.com 98jx.com 98k4.com 98kpm.com @@ -9543,9 +9448,7 @@ 9amts.com 9aoduo.com 9aola.com -9appstore.com 9b11b109-ab3d-4193-ac60-79cc19b3e76d.link -9beike.com 9bianli.com 9bt0.com 9cao9.com @@ -9574,7 +9477,6 @@ 9dwork.com 9ead.com 9earth.com -9ehao.com 9eip.com 9ele.com 9etravel.com @@ -9793,6 +9695,7 @@ aa360.net aa43z7.com aa65535.com aa6666.com +aa76858896.com aa77kk.com aa8828.com aaalawfirm.com @@ -9813,6 +9716,9 @@ aads-cng.net aafanke.cc aafns.xyz aafxw.com +aai07251mu.com +aai07260mu.com +aai07280mu.com aakss.com aakvtsad.shop aaltosemi.com @@ -9902,7 +9808,6 @@ abe-sz.com abe-tech.com abeacon.com abedu.net -abeij.com abesmoke.com abhouses.com abiaogw.com @@ -9921,7 +9826,6 @@ ablesci.com ablesky.com abletive.com ablinggame.com -ablkq.com ablman.com abloz.com abmjc.com @@ -9947,6 +9851,7 @@ abslw.com absoloop.com absst.com abtd.net +abtnetworks.com abtt266.com abublue.com abuquant.com @@ -10036,6 +9941,7 @@ acgres.com acgsan.com acgsky.win acgtofe.com +acgtubao.com acgvideo.com acgvr.com acgz.xyz @@ -10057,7 +9963,6 @@ acmcoder.com acmec-e.com acmemob.com acmetranslation.com -acmicpc.info acmoba.com acmsearch.com acmturc.com @@ -10130,7 +10035,6 @@ ad7.com ad778.com ad9377.com ada-post.com -adagaa.com adamahf.com adamcoder.com adamerck.net @@ -10207,7 +10111,6 @@ adm88888.com adm999.com admai.com admaimai.com -admaji.com admama.com admamax.com admbucket.com @@ -10319,7 +10222,6 @@ adxquare.com adxvip.com adxwork.com adxyun.com -adyea.com adyoc.com adyounger.com adyuedong.com @@ -10375,7 +10277,6 @@ aerocityholding.com aerofugia.com aeryt111.fun aesdrink.com -aesmysecurebill.com aesoftland.com aestheticbutler.xyz aesucai.com @@ -10422,7 +10323,6 @@ aftvc.com afudan.com afunapp.com afuvip.com -afxeon.com afy.asia afzhan.com ag03.com @@ -10430,7 +10330,6 @@ ag8.com agcen.com agcloudcs.com agconnect.link -age-spa.com age.tv age06.com age6000.com @@ -10485,6 +10384,7 @@ ah163.net ah3c.com ah5166.com ah788.com +ah7907.com ah8.cc ah9yu.com ahacpp.com @@ -10586,7 +10486,6 @@ ahjixi.com ahjk.com ahjkjt.com ahjlcd.com -ahjlxcl.com ahjpgroup.com ahjsedu.net ahjsexam.com @@ -10654,7 +10553,6 @@ ahsj-group.com ahsjxjy.com ahsjyxh.com ahslxzj.com -ahsmx.org ahspxh.com ahsqjt.com ahssgs.com @@ -10695,7 +10593,6 @@ ahx.asia ahxcyy.com ahxmgk.com ahxunbu.com -ahxuran.com ahxwkj.com ahxyol.com ahydnet.com @@ -10899,6 +10796,7 @@ aifengjie.com aifengkeji.com aifenlei.com aifont.com +aifoxtech.com aifu10.com aifu360.com aifuturex.com @@ -10970,7 +10868,6 @@ aijianji.com aijiatui.com aijiayou.com aijieneng.com -aijikong.com aijingu.com aijishu.com aijiuku.com @@ -11117,7 +11014,6 @@ aiqygogo.com air-level.com air-matters.com air-matters.io -air-th.com air-world.com air.cc airacm.com @@ -11148,7 +11044,6 @@ airmart.vip airmate-china.com airmb.com airmobyte.com -airmzp.com airnut.com airoha.com.tw airpipetech.com @@ -11162,7 +11057,6 @@ airstarfinance.net airtac.com airtofly.com airtu.me -airwalltech.com airwh.com airworksoft.com aisaohuo.com @@ -11182,7 +11076,6 @@ aisharenet.com aishdxz.com aishengji.com aishenhua.com -aishiguolong.com aishuge.cc aishuge.la aishukong.com @@ -11459,6 +11352,7 @@ alacun.com aladdin-assets.com aladdin-e.com aladdin-reagent.com +aladdinedu.com aladdinnet.com alafy.com alai.net @@ -11486,7 +11380,6 @@ aldsd.com aldtop.com aldwx.com aledeco-hk.com -aleelee.net aleenote.com alenable.com alertover.com @@ -11549,6 +11442,7 @@ alibabausercontent.com alibjyun.com alibjyun.net alibole.com +alibtc.com alibtrip.com alibuybuy.com alic.com @@ -11834,11 +11728,9 @@ alldobetter.com alldragon.com alleadprint.com allenmarket.com -allergy-iq.com allfang.com allfoodsg.com allfootballapp.com -allfromspain.com allfunnies.com allgamesky.com allhistory.com @@ -11914,7 +11806,6 @@ alphabole.com alphassl.com alphay.com alrailpha.com -alrightzd.com alskbc.com alsolife.com alsovalue.com @@ -11945,7 +11836,6 @@ amaiche.com amallb2b.com amantang.com amanyi.com -amaomb.com amap.com amapauto.com amarsoft.com @@ -11954,7 +11844,6 @@ amasswww.com amateurinterracialporn.net amaxchina.com amayad.com -amazeui.org amazfit.com amazingsys.com amazoni2.com @@ -12040,9 +11929,7 @@ amz520.com amz800.com amzcaptain.com amzcfo.com -amzcs.com amzdh.com -amzics.com amzmm.com amzndns-cn.biz amzndns-cn.com @@ -12127,7 +12014,6 @@ angel-medical.net angel-usa.com angelacon.com angelarabbit.com -angelchn.com angelcrunch.com angelhome.org angeljjangnara.com @@ -12224,6 +12110,7 @@ ankangwang.com ankaotong.com ankebio.com ankelife.com +ankeni.net anker-in.com ankerjiedian.com ankevip.com @@ -12271,12 +12158,12 @@ anonym-hi.com anosmcloud.com anoyi.com anpig.com -anpingwanzhong.com anpu119.com anpush.com anpuzx.com anqingonline.com anqingwt.com +anqingzhiyun.com anqn.com anqu.com anquan.info @@ -12350,6 +12237,7 @@ antgv.com antibanads.com antibodychina.com anticheatexpert.com +antilgbt.org antiquelearn.com antiy.com antiy.net @@ -12463,6 +12351,7 @@ anzhiguolv.com anzhisoft.com anzhitan.com anzhixun.com +anzhuauto.com anzhuo.com anzhuo.me anzhuoapk.com @@ -12526,12 +12415,10 @@ aokangsports.com aokwx.com aolai.com aolaigo.com -aoliday.com aoligei.site aolinjy.com aolinpharma.com aoliongame.com -aolunsa.com aolvyou.com aolylcd.com aomao.com @@ -12545,7 +12432,6 @@ aooedu.com aoofu.com aoogee.com aoohu.com -aoomoo.com aoongmob.com aooooz.com aoparking.com @@ -12801,6 +12687,7 @@ approvebook.com apps121.com appscan.io appsflower.com +appsflyer-cn.com appshike.com appsimg.com appsina.com @@ -12981,6 +12868,7 @@ arminuntor.com armourtires.com armsrock.com armsword.com +armvm.com armystar.com arnstbearing.com arocmag.com @@ -13103,7 +12991,6 @@ asdf-bj.net asdf010.com asdlkjf.com asdx.io -asdyf.com asean-china-center.org aseann.com aseanparts.com @@ -13250,7 +13137,7 @@ astron.ac astronergy.com astropulsion.com astrostanleystudio.com -asuidnfamun.com +asujp.com asurada.zone asus-sh.com asussmart.com @@ -13271,7 +13158,6 @@ at188.com at317.com at58.com at78.com -at851.com at98.com ata-edu.com ata-test.net @@ -13381,7 +13267,6 @@ audlabs.com audtools.com augix.me augsky.com -augth.com augurit.com augustcn.com auiou.com @@ -13394,7 +13279,6 @@ aunload.com auoda.net auok.run auozzjs.lol -auplanking.com aupu.net aura-el.com auroapi.com @@ -13442,6 +13326,7 @@ auto328.com auto510.com auto6s.com auto98.com +autoahk.com autoai.com autobaidu.com autobaojun.com @@ -13471,7 +13356,6 @@ autoij.com autoitx.com autojiaoyi.com autojingji.com -autojkd.com autojs.org automall365.com autonavi.com @@ -13497,6 +13381,14 @@ autozi.com autumnstreetrecords.com aux-home.com auxgroup.com +auy07161km.com +auy07170km.com +auy07180km.com +auy07190km.com +auy07200km.com +auy07201km.com +auy07211km.com +auy07230km.com auyou.com av-china.com av-ic.com @@ -13524,7 +13416,6 @@ avgh5.com avgnati.com avgnatii.com avgroft.com -avhxnasqeo.com aviationsnip.com avic-acs.com avic-apc.com @@ -13574,7 +13465,6 @@ awemeuglang.com awemeugsoul.com awemeugwave.com awfggc.com -awfzx.com awhouse.art awi-intl.com awinic.com @@ -13770,7 +13660,6 @@ ayalm.com ayatuan.com aybwg.org aycav.com -aycdn.cc aycgs.com aycgu.com aychfy.com @@ -13808,13 +13697,13 @@ ayrq.com aysbxxh.com aysdt.com ayshq.com +aysjhod.xyz aysjyjjh.com aysxdp.com ayudasalud.com ayump.com ayunlian.com ayuren.com -ayurmedicines.com ayuwoe.com ayuyun.com ayw.ink @@ -13881,7 +13770,6 @@ b-cro.com b-eurochina.com b-fairy.com b-k-automation.com -b-learn.com b-raymedia.com b.biz b01.net @@ -13917,13 +13805,10 @@ b3bos.com b3inside.com b3log.org b3logfile.com -b4882.com -b4iwf5.com b555b.com b5b6.com b5csgo.plus b5esports.me -b5gvpk5.com b5m.com b612.me b612kaji.com @@ -13933,6 +13818,7 @@ b7l.cc b8kk.com b8th-hzvac3.com b8yx.com +b9ad.com ba-li.com ba1400.com ba7jcm.live @@ -13954,7 +13840,6 @@ babapi.com babaxiong.com babedy.com babeijiu.com -babesters.com babifood.com babiguoguo.com bablace.com @@ -14075,7 +13960,6 @@ baidevalve.com baideye.com baidiapp.com baidinet.com -baidouya.com baidu baidu-bank.com baidu-cdn.com @@ -14093,7 +13977,6 @@ baidu.mobi baidu.to baidu120.cc baidu123.com -baidu521.com baiduads.com baiduapp.com baidubaidubaidu.net @@ -14148,6 +14031,7 @@ baifendian.com baifubao.com baigebao.com baigebg.com +baigehuidi.com baigeseo.com baigm.com baigo.net @@ -14231,6 +14115,7 @@ bailinsi.net bailitech.com bailitools.com bailitop.com +bailucloud.com bailvanquan.xyz baima.com baimao-expo.com @@ -14296,6 +14181,7 @@ baishuku.la baishulou.net baishunet.com baishuyun.com +baishuzhai.cc baishuzhai.com baisihan.com baisiterzh.com @@ -14354,6 +14240,7 @@ baiyikc.com baiying.com baiyinggd.com baiyintouzi.com +baiyishequ.com baiyizg.com baiyjk.com baiyou100.com @@ -14374,7 +14261,6 @@ baizengtech.com baizhan.net baizhanke.com baizhanlive.com -baizhi.org baizhiedu.com baizhouniao.com baizhu.cc @@ -14464,7 +14350,6 @@ bangbang.com bangbang93.com bangbanghuoyun.com bangbendi.com -bangboer.com bangboss.com bangbuy.com bangcaiwu.com @@ -14564,7 +14449,6 @@ banmeng.com banmi.mobi bannei.com banner668.com.hk -bannerbyten.com banqumusic.com bansha.com banshangong.com @@ -14579,6 +14463,7 @@ banwoyo.net banwugongsi.com banxiaomazaojiao.com banxiayue.com +banye.tech banyiyi.com banyuetan.org banyuetanapp.com @@ -14689,7 +14574,6 @@ baolansz.com baoliannet.com baolic.com baolijuyuan.org -baolimingyuefenghua.com baolizx.com baolong.biz baolong.com @@ -14847,7 +14731,6 @@ bawagon.com bawanglongbengye.com bawjxt.net bawu.net -baxi.tv baxiami.com baxichina.com baxisuye.com @@ -14889,6 +14772,7 @@ bb-hy.com bb-pco.com bb06.com bb2024.com +bb39977653.com bbanp.com bbaod.com bbaqw.com @@ -14940,7 +14824,6 @@ bbosu.com bbphonix.xyz bbpph.com bbpu.com -bbq-strainer.com bbqcdn.com bbqe.com bbqk.com @@ -14994,7 +14877,6 @@ bbwport.net bbwrc.com bbwse.com bbwunisco.com -bbwyun.com bbxarq.com bbxinwen.com bbxinwen.net @@ -15069,7 +14951,6 @@ bcsloong.com bcsytv.com bctdtx.com bctest.com -bctmo.com bctts.com bcty365.com bcvbw.com @@ -15087,7 +14968,6 @@ bczyyy.com bd-caict.com bd-film.cc bd-film.co -bd-film.com bd-gti.com bd-jd.com bd-union.com @@ -15099,10 +14979,10 @@ bdaenviro.com bdajob.com bdall.com bdapark.com -bdart.club bdatu.com bdbae.com bdc-rays.com +bdcb.cc bdcgz.com bdchangtujs.com bdchina.com @@ -15240,7 +15120,6 @@ beautifulzzzz.com beautyplus.com beaverbio.com bebhmongb.com -bebingocard.com bechangedt.com becker-china.com beckwai.com @@ -15288,7 +15167,6 @@ behr.com behrenswatches.com behrenswatches.shop bei1688.com -beianidc.com beianw.com beibaobang.com beibaozq.com @@ -15322,7 +15200,6 @@ beifangfoshifen.com beifangjiaoyu.com beifeng.com beifuni.com -beifz.com beigangyouxuan.com beigedi.com beigonggroup.com @@ -15339,7 +15216,6 @@ beihaiting.com beihaiwuyeguanli.com beihaiwz.com beihan.net -beihangonline.com beihansoft.com beihaobao.com beihuasoft.com @@ -15411,7 +15287,6 @@ beilile.com beilin.ltd beilinbox.com beiliufuyang.com -beilongcn.com beimai.com beimeigoufang.com beimeihongfeng.com @@ -15436,7 +15311,6 @@ beisencorp.com beisenpaas.com beisenyl.com beismei.com -beiso.com beitaguoguo.com beitaichufang.com beitao8.com @@ -15471,6 +15345,7 @@ belfone.com belgiumvisacenterd.com beliefbiomed.com beliefy.com +belimked.com belle-vie.xyz belle8.com belletrip.com @@ -15542,7 +15417,6 @@ benweitang.com benweng.com benxiang.com benxiaoqu.com -benxintea.com benyh.com benyouhui.com benyuannet.com @@ -15622,7 +15496,6 @@ bestdon.net bestdosas.com bestechnic.com bestedm.net -bestedm.org besteduchina.com bester-cn.com bestexpresser.com @@ -15708,7 +15581,6 @@ betterzipcn.com beuyinm.com beva.com bevol.com -bewaycare.com bewellbio.com bewg.net bewgnn.com @@ -15748,7 +15620,6 @@ bfnbgame.com bfnxxcdn.com bfqh.com bfqifu.com -bfqqsg.com bfqtchayuan.com bfscoc.com bfsea.xyz @@ -15767,6 +15638,7 @@ bfyx.net bfzhan.com bg45.com bg7ywl.com +bgbfds.com bgbg00.fun bgbjjtd.com bgbk.org @@ -15864,7 +15736,6 @@ bhhfsc.com bhhospital.com bhhsx.com bhhthl.com -bhhuasheng.com bhhzjt.com bhidi.com bhjck.com @@ -15928,7 +15799,6 @@ bi4sight.com bi5u.com bi8brp.com bian-fengwei.com -bian-min.com bianbao.net biancheng.net biancui.com @@ -15965,7 +15835,6 @@ bianzhia.com bianzhile.com bianzhirensheng.com biao12.com -biao689.com biaobaini.com biaoceo.com biaodan.info @@ -16045,7 +15914,6 @@ bieuc.icu bieyangapp.com bieyelighting.com bifabu.com -bifangpu.com bifengxia.com bifiv.com biftsce.com @@ -16365,19 +16233,16 @@ biqufu.com biqugao.cc biquge.info biquge.la -biquge.vip biquge365.com biquge8.com biquge9.cc biquge99.cc biqugeabc.com -biqugecdn.com biqugeg.com biqugegg.cc biqugena.com biquges.com biqugesk.org -biqugew.com biqugex.com biqugexs.com biqugexs.la @@ -16539,6 +16404,7 @@ bizhigq.com bizhimiao.com bizhiquan.com bizhiwang.com +bizhixia.com bizhizj.com bizhizu.com bizhongchou.com @@ -16553,7 +16419,6 @@ bizsn.com bizsofts.com bizvane.com bj-big.com -bj-bpsc.com bj-brother.com bj-brsf.com bj-bts.com @@ -16745,7 +16610,6 @@ bjgumu.com bjguodu.com bjgvpn.amd.com bjgvpn2.amd.com -bjgxhy.com bjgxs.com bjgymq.com bjgyzjw.com @@ -16992,7 +16856,6 @@ bjsrmyy.com bjsryc.com bjsskdn.com bjstcc.com -bjstcy.com bjstjy.com bjstt.com bjsubway.cc @@ -17123,7 +16986,6 @@ bjyxl.com bjyyb.net bjyyun.com bjyzfjj.com -bjyzxwl.com bjzalaw.com bjzaxy.com bjzbb.com @@ -17131,7 +16993,6 @@ bjzbkj.com bjzcha.com bjzcth.com bjzg.com -bjzg.org bjzgh.org bjzgh12351.org bjzghd.com @@ -17166,7 +17027,6 @@ bjzxsf.net bjzy360.com bjzybaoan.com bjzybc.com -bjzyca.com bjzyjt.com bjzyrxgs.com bjzysx.com @@ -17225,7 +17085,6 @@ blackshark.com blackshow.me blackswancake.com blackxl.org -blackzs.com blakat.cc blankshell.com blastracshotblastmachines.com @@ -17290,7 +17149,6 @@ blogchinese.com blogcn.co blogfeng.com bloggern.com -bloggingfor.info bloghub.fun blogjava.net blogofmusic.com @@ -17391,7 +17249,6 @@ blwire.com blxfc.com blxs.info blxs.la -bly002.com blycctv.com blyun.com blzls.xyz @@ -17408,7 +17265,6 @@ bmbn100.com bmbqwater.com bmc-medical.com bmcedu.net -bmcname.com bmcx.com bmdbr.com bmdxcx.com @@ -17453,7 +17309,6 @@ bms16.com bmser.com bmshow.com bmtrip.com -bmvps.com bmw8033.com bmwallpaper.com bmwnc.com @@ -17518,7 +17373,6 @@ boblog.com bobmao.com bobo.com bobo2008.com -bobo28.com bobo91.com bobobird.com bobohome.store @@ -17633,7 +17487,6 @@ bokecc.com bokecs.net bokee.com bokee.net -bokerb.com bokesoft.com bokesoftware.com bokexia.com @@ -17660,7 +17513,6 @@ bolejiaoxue.com bolelink.com bolexiaozhao.com bolin1688.com -boling04.com bolink.club bolken.com bolo.me @@ -17926,7 +17778,6 @@ bphxmc.xyz bplslb.com bpltm.com bpmuseum.com -bpopdjt.com bppan.com bpqwxsh.com bpsemi.com @@ -17946,7 +17797,6 @@ bqgwu.net bqgxsw.com bqjeep212.com bqlcev.com -bqldy.com bqpoint.com bqq8.com bqrdh.com @@ -18046,7 +17896,6 @@ brxtal.com bryonypie.com bryzq.com bs-56.com -bs-bz.com bs-dolfin.net bs-lab.com bs-marathon.com @@ -18120,7 +17969,6 @@ bsquant.com bsrczpw.com bsrkt.com bsrmyy.com -bsrockwool.com bsrse.com bssfy.com bssgnkyy.com @@ -18272,13 +18120,13 @@ budao24.com budarts.com budget-backpackers.com budhano.com +budiankj.com budikeji.com buding.tv budingmore.com budingscan.com budiot.com budou.com -buduanwang.vip budui.com buduobaobao.com bueryx.com @@ -18369,10 +18217,8 @@ butterdogchange.com button-nt.com buxia.net buxian8.com -buxiuedu.club buxiuga.com buxiugangban.net -buxiujiaoyu.com buy-bar.com buy-copi888.com buy-copys888.com @@ -18409,7 +18255,6 @@ bvfcdn2.com bvgv.com bvmc.cc bvseo.com -bvubasnf.com bw1006.com bw30yun.com bw40.net @@ -18466,7 +18311,6 @@ bxgkzy.com bxgmmw.com bxgshengwang.com bxgt.com -bxgtd.com bxgxcl.com bxgycfsb.com bxhaibao.com @@ -18495,7 +18339,6 @@ bxwst.com bxwx.cc bxwx.io bxwx.tv -bxwx520.org bxxhtsw.com bxxy.com bxxyysc.com @@ -18514,7 +18357,6 @@ by6sx.com by899.com byai.com byair.cc -bybbs.org bybieyang.com bybily.com byboai.com @@ -18802,7 +18644,6 @@ bzxz.net bzxzk.net bzy.net bzy2015.com -bzyxch.com bzzpw.com c-119.com c-3.moe @@ -18820,7 +18661,6 @@ c-estbon.com c-fehong.com c-fol.net c-jet.com -c-lh.com c-lodop.com c-markaudio.com c-nin.com @@ -18849,6 +18689,7 @@ c2h4.org c360dn.com c3acg.com c3crm.com +c3pool.org c3x.me c4006.com c4008.com @@ -18975,7 +18816,6 @@ cagoe.com cahkms.org cai-ba.com cai110.com -cai120.com cai21.xyz cai58t.com cai8.net @@ -18984,7 +18824,6 @@ caiacn.com caiair.com caian.net caibangzi.com -caibaodi.com caibaojian.com caibaopay.com caibaotao.com @@ -18992,7 +18831,6 @@ caibeike.com caibihui.com caibowen.net caicao.net -caichong.com caidan2.com caidao1.com caidao8.com @@ -19058,7 +18896,6 @@ cailianpress.com cailiao.com cailiaoniu.com cailiaoren.com -cailicai.com cailutong.com caimai.cc caimaiba.com @@ -19131,7 +18968,6 @@ cake400.com cake6.com cakfw.com calab88.com -calanovahotel.com calawei.com calb-tech.com calccn.com @@ -19306,8 +19142,8 @@ caomeishuma.com caomeixz10.xyz caomeixz7.xyz caoniang.com +caonimazuzong.com caonmp.com -caonv.net caos-china.org caoshiyabo.com caotama.com @@ -19330,7 +19166,6 @@ capitalip.org capitalonline.net capitaltoday.com capjoy.com -caplanking.com cappdr.org capsuleshanghai.com captain-cro.com @@ -19394,7 +19229,6 @@ carnoc.com carodpiano.com carp56.com carpoly.com -carrobot.com carrotchou.blog carrotchou.com cars001.com @@ -19531,7 +19365,6 @@ cbecok.com cbecx.com cbeeexpo.com cbes21.com -cbevent.com cbex.com cbfau.com cbgcloud.com @@ -19551,6 +19384,7 @@ cbivisa.com cbj1998.com cbjq.com cbjuice.com +cbjy520.com cbjzw.org cbmexpo.com cbmf.org @@ -19645,7 +19479,6 @@ cccdzxw.com cccf-cloud.com cccitu.com cccity.cc -cccjjj.com cccking.com ccckq.com cccm-em120.com @@ -19654,7 +19487,6 @@ cccmii.com cccmtf.com cccnec.com cccovvv.com -cccp.online cccpan.com cccppp.com cccrx.org @@ -19879,7 +19711,6 @@ ccrjw.com ccsacacasfdghh.com ccschangsha.com ccscrbyy.com -ccsdj.com ccsedqrmyy.com ccsfuchan.com ccshenghuo.com @@ -20113,7 +19944,6 @@ cdhtgs.com cdhtrq.com cdhuaying.com cdhxdq.com -cdidc.net cdii-leasing.com cdirs.com cditv.tv @@ -20131,7 +19961,6 @@ cdjtzhtc.com cdjxjy.com cdjzso.com cdjzw.com -cdjzwykj.com cdjzzg.com cdkeynogap.com cdkf.com @@ -20194,7 +20023,6 @@ cdn40.com cdn56.com cdn778.com cdn86.net -cdn88.cc cdn90.com cdn90.net cdn90.org @@ -20235,9 +20063,7 @@ cdnetworks.net cdnexus.com cdnf.cc cdnff.com -cdnfree.org cdngia.com -cdngogo.cc cdngogo2.cc cdngot.com cdngslb.com @@ -20395,7 +20221,6 @@ cdt-ec.com cdt-md.com cdt-re.com cdtaishan.com -cdtfn2t.icu cdtianda.com cdtkdw.com cdtlev.com @@ -20455,7 +20280,6 @@ cdzuche.com cdzvan.com cdzxy.com cdzzhn.com -cdzzxxe.com ce-air.com ce04.com ce2293.com @@ -20646,7 +20470,6 @@ cersign.com cersp.com certlab.org ceruchina.com -cervicalsurgeon.com ceryt111.fun ces-transaction.com cese2.com @@ -20814,6 +20637,7 @@ cgjoy.net cgke.com cgkjvip.com cgksw.com +cgktudr.xyz cgllt.com cglw.com cglzw.net @@ -20835,7 +20659,6 @@ cgown.com cgpbatech.com cgplayer.com cgplusplus.com -cgptwd.com cgreentown.com cgris.net cgrpark.com @@ -21046,7 +20869,6 @@ changqingshu.net changqingteng.ltd changqu.cc changshabdc.com -changshajzy.com changshang.com changshaship.com changshatong.com @@ -21086,7 +20908,6 @@ changyou.com changyoyo.com changyuangroup.com changyudz.com -changyueba.com changyushengwu.com changzhinews.com chanjet.com @@ -21097,7 +20918,6 @@ channelbeyond.com channingsun.bid chanpay.com chanpin100.com -chanpinban.com chanpindashi.com chansemt.com chanshi.vip @@ -21129,6 +20949,7 @@ chaojibuy.com chaojicdn.com chaojifan.com chaojihetong.com +chaojiping.homes chaojituzi.net chaojiying.com chaojiyun.com @@ -21168,6 +20989,7 @@ chaoxing.com chaoxingv.com chaoyang.com chaoyi996.com +chaoyinjiu.com chaoyuesd.com chaozhenht.com chaozhoudaily.com @@ -21191,7 +21013,6 @@ charmkeytextile.com charmsunfund.com charsesdneyse.com chartboost-china.com -chase-cctv.com chaseyanyu.net chashebao.com chashudi.com @@ -21257,7 +21078,6 @@ che-youhui.com che.com che0.com che101.com -che12.com che127.com che168.com che168.net @@ -21323,7 +21143,6 @@ chehejia.com chehui.com chejianding.com chejingjie.com -chekb.com chekuaipai.com chelaike.com chelajanitorial.com @@ -21428,7 +21247,6 @@ chengjianjituan.com chengjing.com chengjinholdinggroup.com chengkao365.com -chenglan.cc chenglang.net chenglangyun.com chenglil.com @@ -21453,7 +21271,6 @@ chengshiw.com chengshu.com chengsmart.com chengtaijiaju.com -chengtaizs.com chengtay.com chengtianxiajy.com chengtiexinxi.com @@ -21468,7 +21285,6 @@ chengxiangzhineng.com chengxiaoliu.com chengxingjicj.com chengxinlinghang.com -chengxinsy.com chengxinyouxuan.com chengxuan.com chengyangyang.com @@ -21486,7 +21302,6 @@ chengzhaoxi.xyz chengzhinj.com chengzhongmugu.ltd chengzhongmugu.vip -chengzhou.net chengzijianzhan.cc chengzijianzhan.com chengzivr.com @@ -21654,6 +21469,7 @@ chidaotv.com chidd.net chidowl.com chidudata.com +chidutech.com chiefmore.com chiefpharma.com chieftin.org @@ -21885,6 +21701,7 @@ china-shufan.com china-shugaung.net china-sites.com china-slate.com +china-smartech.com china-sop.com china-sorsa.org china-soyea.com @@ -21992,7 +21809,6 @@ chinaagv.com chinaahth.com chinaairer.com chinaamc.com -chinaang.com chinaant.com chinaant.net chinaapper.com @@ -22602,7 +22418,6 @@ chinaqikan.com chinaqingtian.com chinaqipeihui.com chinaqjydxh.com -chinaqking.com chinaql.org chinaqoe.net chinaquickpcb.com @@ -22629,7 +22444,6 @@ chinarun.com chinarunau.com chinarzfh.com chinasaat.com -chinasafety.net chinasalestore.com chinasanbai.com chinasanc.com @@ -22711,7 +22525,6 @@ chinataiwan.org chinatalent.org chinatalentgroup.com chinatat.com -chinatechinsights.com chinatelecom-h.com chinatelecom.com.hk chinatelecom.com.mo @@ -22807,7 +22620,6 @@ chinawebber.com chinawebmap.com chinaweiyu.com chinaweizheng.com -chinawenben.com chinawepon.com chinawerewolf.com chinawie.com @@ -23227,7 +23039,6 @@ chuangmaoshanghai.com chuangmei8.com chuangongsi.com chuangqiweilaijy.com -chuangruo8.com chuangseo.com chuangshiwl.com chuangshiyuli.com @@ -23242,7 +23053,6 @@ chuangxuan.xyz chuangyebaba.com chuangyehai.com chuangyejia.com -chuangyejmw.com chuangyetv.com chuangyi.co chuangyichong.com @@ -23259,7 +23069,6 @@ chuangzuoniu.com chuanhai.net chuanhuan.com chuanjiaoban.com -chuanjie.vip chuanke.com chuanloo.com chuanmeixing.com @@ -23297,7 +23106,6 @@ chucheng.wiki chuchujie.com chuchujue.com chuchur.com -chudian365.com chufaba.me chufw.com chuge8.com @@ -23324,7 +23132,6 @@ chukong-inc.com chukonggame.com chukou1.com chukouplus.com -chule.cc chuleg.com chumenwenwen.com chun-wang.com @@ -23348,7 +23155,6 @@ chunliao.net chunloo.com chunmen.com chunmi.com -chunmiaosh.com chunqiuhong.com chunshen-group.com chunsheng.com @@ -23407,7 +23213,6 @@ chwlsq.com chxchips.com chxent.com chxin-oil.com -chxumov.com chxyl.com chxyq.com chyitech.com @@ -23526,9 +23331,7 @@ cijiasu.com cijiyun.com cikelink.com cilgroup.org -ciliba.buzz ciliba.life -ciliba5.xyz cilin.org cilishenqi.cc cilishiye.com @@ -23546,7 +23349,6 @@ cimcvehiclesgroup.com cimen.club cimic.com cimicgroup.com -cimicmj.com cimictiles.com ciming-bj.com ciming-sh.com @@ -23554,7 +23356,6 @@ ciming.com cimingaoya.com cimingbj.com cimingsy.com -cimingwang.com cimsic.com cimtshow.com cinacom.net @@ -23691,6 +23492,7 @@ ciweiyuedui.com ciwong.com ciwong.net ciwork.net +cixcomputing.com cixibank.com cixiedu.net cixiucn.com @@ -23809,7 +23611,6 @@ cjyy6789.com cjyyw.com cjzcb.com cjzcgl.com -cjzkw.com cjzsy.com cjzww.com cjzx.net @@ -23818,6 +23619,7 @@ ck0771.com ck100.com ck180.net ck586.com +ck830.com ck921.com ckair.com ckan.tv @@ -23840,6 +23642,7 @@ ckjr001.com ckjryy.com ckpharm.com ckplayer.com +ckqjyjq.xyz cksct.com cksd888.com cksic.com @@ -23939,7 +23742,6 @@ cljtscd.com cljtw8.com cljtwr.com cljtzycw.com -clkwnl.xyz cllcczx.com clled.com cllk.net @@ -23966,6 +23768,7 @@ cloud-frame.com cloud-hebi.com cloud-hub.co cloud-industry-delivery.site +cloud-link.com cloud-links.net cloud-neofussvr.sslcs.cdngc.net cloud-ningbo.com @@ -24184,7 +23987,6 @@ clxsczx.com clyiyuan.com clyric.com clz.me -clzbl.com clzd.com clzd.fun clzqm.com @@ -24289,7 +24091,6 @@ cmgemooc.com cmgn.cc cmgos.com cmgrasp.com -cmhbsb.com cmhello.com cmhijs.com cmia.info @@ -24340,7 +24141,6 @@ cmt1993.com cmt7.com cmtauto.com cmtdi.com -cmtech.net cmtopdr.com cmtrq.com cmtv1.com @@ -24449,7 +24249,6 @@ cn168.com cn18k.com cn2030.com cn22.net -cn2599.com cn2che.com cn2rv.com cn314.com @@ -24683,7 +24482,6 @@ cne-motor.com cne-om.com cne.com cnean.com -cnec-tj.com cnecc.com cnechc.com cnecport.com @@ -24802,7 +24600,6 @@ cnhan.com cnhanjia.com cnhantide.com cnhanxing.com -cnhaojia.com cnhaomen.com cnhaoshengyi.com cnhbql.com @@ -25025,7 +24822,6 @@ cnmtpt.com cnmuseum.com cnmysoft.com cnn100.com -cnnage.com cnnaihuo.com cnnb.com cnnbfdc.com @@ -25116,7 +24912,6 @@ cnprs.com cnpsec.com cnpubc.com cnpubg.com -cnpusi.com cnpv.com cnpx.net cnpxyy.com @@ -25127,7 +24922,6 @@ cnqd.net cnqiang.com cnqichun.com cnqifeng88.com -cnqiuyu.com cnqjw.com cnqr.org cnquanjing.com @@ -25243,7 +25037,6 @@ cntally.com cntan.net cntangka.com cntapp.com -cntattoos.com cntaz.com cntc.com cntech.com @@ -25278,7 +25071,6 @@ cntyjt.com cntywhcm.com cnu.cc cnuninet.net -cnuniwise.com cnuozu.com cnur.com cnuschool.org @@ -25315,7 +25107,6 @@ cnwnews.com cnwood-ipp.org cnwsgj.com cnwtn.com -cnwuhu.com cnwutong.com cnww1985.com cnww9.com @@ -25368,7 +25159,6 @@ cnyouhao.com cnypa.org cnys.com cnytgy.com -cnyu.com cnyw.net cnywinfo.com cnyydj.com @@ -25387,7 +25177,6 @@ cnzhjk.com cnzhongcha.com cnzhongzhuan.com cnzici.com -cnziyun.com cnzjdd.com cnzjj.com cnzjol.com @@ -25426,7 +25215,6 @@ coach-edu.com coach-japanese.com coahr.net coalcloud.net -coalcn.com coalstudy.com coantec.com coaoo.com @@ -25445,7 +25233,6 @@ cochemist.com cochicon.com cochina.org cocia.org -cocimg.com coco413.com cocoachina.com cocodiy.com @@ -25484,7 +25271,6 @@ codebye.com codechina.net codecomeon.com codedefault.com -codedream.xin codeeeee.com codeflying.net codeforge.com @@ -25621,6 +25407,7 @@ college-ing.com colly-pink.com collycn.com colobu.com +colocess.com color-measure.com color365.com colorbird.com @@ -25704,6 +25491,7 @@ comway-mro.com comweixin.com comwin-sh.com con-star.com +con.sh con3c.com conan06.com conantoptical.com @@ -25752,7 +25540,6 @@ contentstore.htcvive.com controlinai.com conuo.com convergemob.com -convertermkv.com convertlab.com cony-tech.com conyedit.com @@ -25848,6 +25635,7 @@ coooz.com coopcc.com cooperningbo.com coorain.net +coordsx.com coostack.com cootek.com cootekos.com @@ -25878,6 +25666,7 @@ corerain.com corex-design.com corgichina.com corlercar888.com +coros.com corp-email.com corp.cc corpautohome.com @@ -26007,13 +25796,11 @@ cplamc.com cplotus.com cpm1000.com cpmiao.net -cpmp3.com cpmrc.org cpmwuxi.com cpo.xyz cpo2o.com cpolar.com -cpolar.io cpolive.com cpooo.com cpp-prog.com @@ -26029,7 +25816,6 @@ cpph.com cppinfo.com cpplay.com cppoly.com -cpppc.org cpppf.org cppszw.com cpqrmyy.com @@ -26089,7 +25875,6 @@ cq8.com cq96868.com cq9yuan.com cqaaa.com -cqaca.com cqace.com cqaflopack.com cqai.vip @@ -26149,7 +25934,6 @@ cqcmxy.com cqcoal.com cqcp.net cqcpt.com -cqcqcq.com cqcrane.com cqcrossmobil.com cqcsic.com @@ -26273,14 +26057,12 @@ cqhnbsb.com cqhncd.com cqhongshuangda.com cqhouse.net -cqhpoldi.com cqhrjd.com cqhsgy.com cqhsjs.com cqhtu.com cqhushan.com cqhwr.com -cqhwsw.com cqhwzs.com cqhxdbj666.com cqhxeye.com @@ -26314,7 +26096,6 @@ cqiter.com cqiti.com cqitic.com cqivc.com -cqivip.com cqjat.com cqjbrc.com cqjchg.com @@ -26465,7 +26246,6 @@ cqpfjt.com cqpfmz.com cqph.com cqphar.com -cqpinjian.com cqpix.com cqpost.com cqpump.com @@ -26478,7 +26258,6 @@ cqqcjzsj.com cqqgsafe.com cqqgx.com cqqianggu.com -cqqigao.com cqqiujing.com cqqiyi.com cqqjyy.com @@ -26622,7 +26401,6 @@ cqwenbo.com cqwest.com cqwin.com cqwlg.com -cqwlln.com cqwlzz.com cqwsnews.net cqwsrmyy.com @@ -26701,7 +26479,6 @@ cqysgyy.com cqysp.com cqysxx.com cqysxy.com -cqytbfc.com cqyti.com cqytjt.com cqytjzgc.com @@ -26710,8 +26487,8 @@ cqytu.com cqytyk.com cqyu.com cqyuanjing.com -cqyuelai.com cqyuhong.com +cqyunshi.com cqyuxing.com cqyuzhoujx.com cqyx999.com @@ -26784,7 +26561,6 @@ craim.net crandom.com crane-china.cc crane-net.com -cranebbs.com cranewh.com crash.work cravatar.com @@ -26858,7 +26634,6 @@ crecu.com cred.com credibleglass.com credit100.com -credit315.org creditcn.com credithc.com creditrepairjournal.com @@ -26871,7 +26646,6 @@ creo-support.com crep-led.com crepcrep.com creplus.net -cresqoirz.com crestv.com cret-bio.com crewchina.net @@ -26906,7 +26680,6 @@ crl.kaspersky.com crlf0710.com crlg.com crlintex.com -crlsxny.xyz crm.cc crm1001.com crmch.com @@ -26948,6 +26721,7 @@ crtc-hr.com crtdri.com crtg.com crtrust.com +crtyhr.com crucg.com cruelcoding.com cruhut.com @@ -26980,6 +26754,7 @@ cs27.com cs2c.com cs2ccloud.com cs30.net +cs451.com cs48.com cs528.com cs53.com @@ -27011,7 +26786,6 @@ cscec1b-bj.com cscec1b.net cscec5b3.com cscec7b.com -cscec7bhb.com cscec81.com cscec8bud.com cscecbjadi.com @@ -27021,7 +26795,6 @@ cscjedu.com csclc.com cscmgg.com csct-china.com -cscxgjzx.com csd568.com csdc.info csdcfvgf4.fun @@ -27054,7 +26827,6 @@ csfreezer.com csftyy.com csfudu.com csfybjy.com -csg99.com csgasgroup.com csgcjxxh.com csgcyy.com @@ -27257,7 +27029,6 @@ cswszy.com csxbank.com csxcdj.com csxdf.com -csxdzx.com csxiangfeng.com csxingfutemple.org csxingya.com @@ -27386,6 +27157,7 @@ ctjin.com ctjituan.com ctjl.net ctjsoft.com +ctkon.com ctkq.com ctlcdn.com ctldl.windowsupdate.com @@ -27407,7 +27179,6 @@ ctongonline.com ctoutiao.com ctpdd.com ctqcw.com -ctquan.com ctracer.net ctrcw.net ctrip-ttd.hk @@ -27498,7 +27269,6 @@ cugstore.com cuhnj.com cui1000.com cuihuan.net -cuijia.net cuijiahua.com cuilai.com cuiniaoedu.com @@ -27514,7 +27284,6 @@ cuixingreen.com cuixueshe.com cuiyongjian.com cuiyouxuan.com -cujin.org cujs.com cuketest.com cul-studies.com @@ -27570,7 +27339,6 @@ cutemidi.com cuteng.com cutepet-hk.com cutieshop153.com -cutoch.com cutowallpaper.com cutv.com cuuhn.com @@ -27578,7 +27346,6 @@ cuumo.com cux.cc cuz.cx cuzz.site -cvammby.com cvc898cvc.com cvchina.info cvchome.com @@ -27641,6 +27408,7 @@ cx930.net cxacg.com cxas.com cxaxdfsbw.com +cxbbattery.com cxbiji.com cxbio.com cxbsx.com @@ -27703,6 +27471,7 @@ cxszdi.com cxta.com cxthhhhh.com cxtld.com +cxtrip.cc cxtuku.com cxumol.com cxvlog.com @@ -27750,7 +27519,6 @@ cy-scm.com cy-ymtw.com cy.com cy0go.com -cy123.cc cy2009.com cy365.com cy52.com @@ -28050,7 +27818,6 @@ czzy-edu.com czzyc.com czzyvideo.com czzzbwg.com -czzzly.com d-controls.com d-ctrip.com d-d.design @@ -28087,7 +27854,6 @@ d1xn.com d1xny.com d1xz.net d1y.cc -d2cmall.com d2core.com d2film.com d2kdi2ss.com @@ -28120,7 +27886,6 @@ d7w.net d80438960.com d8th.com d99net.net -d9ad.com d9js.com d9k99.com d9ym.com @@ -28151,6 +27916,7 @@ dabanke.com dabao123.com dabaoge.host dabaoku.com +dabapiao.com dabaqian.com dabeiduo.com dabiaoji.info @@ -28198,7 +27964,6 @@ dadaojiayuan.com dadaqipai.com dadasasa.com dadasou.com -dadatuwz.com dadayou.com dadclab.com daddybaby.com @@ -28233,9 +27998,7 @@ dafmgroup.com dafork.com dafosi.org dagangcheng.com -dage.cc dagongcredit.com -dagonglang.com dagongnet.com dagongtech.com daguan.com @@ -28308,7 +28071,6 @@ daidongxi.com daief.tech daigege.com daigou.com -daiguaji.com daihaobiao.com daihing.com daijuchuang.net @@ -28316,7 +28078,6 @@ daijun.com daikandq.com daikela.com daikuan.com -daikuanlilv.com daili321.com dailianmama.com dailianqun.com @@ -28406,7 +28167,6 @@ dakao8.net dakapath.com dakaruanwen.com dakasi.com -dakawm.cc dakedakedu.com dakejie.com dakekj.com @@ -28519,7 +28279,6 @@ dangbei.net dangbeiprojector.com dangbiao.com dangcdn.com -dangd.net dangdaiyiyao.com dangdang.com dangdj.com @@ -28674,7 +28433,6 @@ daoyu8.com daoyumiao.com daozhao.com dapai8.com -dapaizixun.com dapan.com dapei.cc dapenggangguanchang.com @@ -28713,7 +28471,6 @@ darknight.games darmao.com darongcheng.com darryring.com -darseek.com dartchina.com dartou.com dartzon.com @@ -28727,7 +28484,6 @@ dashangu.com dashen520.com dashen8.com dashengji.com -dashenglaile.com dashengpan.com dashengzuji.com dashenquan.com @@ -28877,7 +28633,6 @@ daxuewang.com day66.com dayaguqin.com dayainfo.com -dayalihome.com dayang.group dayangjt.com dayangliangyou.com @@ -28899,6 +28654,7 @@ daydayup123.com daydx.com daye.hk dayee.com +dayehome.com dayemarathon.com dayesmart.com dayezheng.com @@ -28953,7 +28709,6 @@ dayustudy.com dayutukun.com dayuzy.com daza168.com -dazhan123.com dazhangfang.com dazhangqiu.com dazhantai.com @@ -29004,6 +28759,7 @@ dbankcloud.ru dbankedge.asia dbankedge.net dbanote.com +dbaobao.com dbatmb.com dbbqb.com dbc2000.net @@ -29024,6 +28780,7 @@ dbmailserver.com dbmaiyan7.com dbmall.com dbnuo.com +dbpan.com dbparking.com dbqf.xyz dbqgg.com @@ -29058,6 +28815,7 @@ dcg.microsoft.com dcg123.com dcgqt.com dcgsi.com +dcgstd.com dchotel.net dcic-china.com dcits.com @@ -29114,7 +28872,6 @@ ddahr.net ddbiquge.cc ddbiquge.com ddbiu.com -ddc888.com ddcdn.com ddcheshi.com ddcits.com @@ -29182,10 +28939,10 @@ ddpai.com ddpoc.com ddqcw.com ddsaas.com +ddsiojf.xyz ddsk.la ddsm.com ddstarapp.com -ddswcm.com ddsy.com ddtk.vip ddtsg.com @@ -29205,7 +28962,6 @@ ddwjs.com ddxhx.com ddxhyl.com ddxq.mobi -ddxs.cc ddxsku.com ddxstxt8.com ddyjapp.com @@ -29220,6 +28976,7 @@ ddzf.cc ddzhj.com ddzl.net ddzls.net +ddzn.tech ddznzj.com ddztv.com ddzui.com @@ -29407,7 +29164,6 @@ delunyk.com deluxewatchbox.com deluxworld.com deluya.com -delv029.com demage.com demanmedical.com demark-jgkj.com @@ -29511,7 +29267,6 @@ deskpool.com desktop-calculator.com desktopcal.com deskwc.com -desmonsur.com desnerboats.com desoonproduct.com destoon.com @@ -29591,7 +29346,6 @@ deyayk.com deyecloud.com deyeehome.com deyerchem.com -deyetown.com deyi.com deyi.net deyicc.com @@ -29655,7 +29409,6 @@ dfmc.com dfmcastrol.com dfmingya.com dfnzhp.com -dfpk.com dfpost.com dfpz.net dfqcmy.com @@ -29699,7 +29452,6 @@ dfysgs.com dfysscy.com dfysw.net dfyuan.com -dfyxs.com dfyyc.com dfyzx.com dfzbsh.com @@ -29722,11 +29474,9 @@ dg688.com dgaefi.org dgaiia.com dgbaineng.com -dgbap.com dgbgw.com dgbia.com dgcct.com -dgchangan.com dgchenghe.com dgcia.com dgcpkl.com @@ -29818,7 +29568,6 @@ dgtungwah.com dgtuoyue.com dgtzjt.com dgujayx.com -dgvbla.com dgw888.com dgwap.com dgweierwj.com @@ -29870,7 +29619,6 @@ dh978.com dhaitun.com dhaof.com dhasgf.com -dhaxhsa325.com dhb.hk dhb168.com dhboy.com @@ -30002,7 +29750,6 @@ dianlanyibiao.com dianli.com dianli08.com dianli100.com -dianliang8.com dianlinet.com dianluo-tech.com dianlut.com @@ -30055,6 +29802,7 @@ dianwantu.com dianwo98.com dianwoba.com dianwoda.com +dianwolf.com dianwoyou.com dianxian.net dianxian8.com @@ -30066,6 +29814,7 @@ dianxin.com dianxin.net dianxinnews.com dianxinos.com +dianyacloud.com dianyinghai.cc dianyingshow.com dianyingwenxue.com @@ -30112,7 +29861,6 @@ diaoyu365.com diaoyuren.com diaoyuwang.com diaoyuweng.com -diaoyy.com diary365.net diaxue.com diazha.com @@ -30154,7 +29902,6 @@ didi-trip.com didi.xin didialift.com didiapp.com -didiar.com didichuxing.com dididadidi.com dididapiao.com @@ -30175,7 +29922,6 @@ diducoder.com die4beats.com diebian.net dieclock.com -diemameishi.com diemoe.net diemz.com dieniao.com @@ -30295,6 +30041,7 @@ dingdingdan.com dingdingdoctor.com dingdingkaike.com dingdingtingche.com +dingdingzn.com dingdone.com dingdongcloud.com dingdongebusiness.com @@ -30305,6 +30052,7 @@ dingefactory.com dingertai.com dingfubang.com dingge.cc +dinggebaojian.com dinggou.org dinggu.net dinghaiec.com @@ -30379,7 +30127,6 @@ diomasce.com dionly.com diopic.net dious-f.com -dious.cc dipan.com dipephoto.com dipont.com @@ -30443,7 +30190,6 @@ diwork.com diwuyuan.com dixinkj.com dixintong.com -dixonsdelight.com diy10.com diyahz.com diyamh.com @@ -30478,7 +30224,6 @@ diynova.com diyosl.com diypda.com diyring.cc -diywoju.com diyyh.com diyzhen.com dizalpharma.com @@ -30578,8 +30323,6 @@ djzyg.com dk-lexus.com dk517.com dk8s.com -dkasdeerw.xyz -dkasffredf.xyz dkashop.com dkdangle.com dkdgroup.com @@ -30622,7 +30365,6 @@ dl321.net dl56.net dl8z.com dlairport.com -dlangchina.com dlbaohuang.com dlbbdk.com dlbbs.com @@ -30763,7 +30505,6 @@ dmicrobe.com dmiug.com dmjk120.com dmjnb.com -dmjuups.com dmjvip.com dmlei.com dmm.ink @@ -30781,6 +30522,7 @@ dmrta.com dmrtb.com dms365.com dmssc.net +dmtemp.com dmtg.com dmtgy.com dmu-1.com @@ -30792,7 +30534,6 @@ dmzgame.com dmzj.com dmzlcn.com dmzlpf.com -dmzshequ.com dmzx.com dmzzbjb.net dn.com @@ -30955,7 +30696,6 @@ dnzh.org dnzhuti.com dnzjds.com dnzp.com -dnzs678.com do-global.com do-shi.com do-won.com @@ -30978,7 +30718,6 @@ docer.com docexcel.net docin.com docin.net -docin365.com dockerinfo.net dockerone.com dockerproxy.com @@ -31310,6 +31049,7 @@ doseeing.com doserv.com doservice.com doshome.com +dosilicon.com dosk.win dosnap.com dospy.com @@ -31396,7 +31136,6 @@ doulaidu8.cc doule-ref.com douleyun.net doulongyun.com -douluodalu3.com doumenqu.com doumi.com doumiip.com @@ -31426,9 +31165,7 @@ douyabo.com douyacun.com douyadaili.com douyaobuy.com -douyapu.com douyar.com -douyi.com douyin.com douyin766.com douyinact.com @@ -31547,7 +31284,6 @@ dplslab.com dpma.cc dpn.net dpqct.com -dpqhf.com dptech.com dptechnology.net dpurat.com @@ -31613,6 +31349,7 @@ dragon-hotel.com dragonarea.com dragonballcn.com dragonest.com +dragonfgame.com dragonfly.fun dragonlab.org dragonlcm.com @@ -31641,7 +31378,6 @@ drdwy.com dre8.com dream-loft.com dream-marathon.com -dream-universe.org dream.ren dream211.com dreamad.mobi @@ -31696,7 +31432,6 @@ drouma.com drp321.com drpika.com drry.site -drs-cs.com drscrewdriver.com drscrm.com drsmilehealth.com @@ -31788,6 +31523,7 @@ dsrepark.com dss.hk dssddf33.fun dsspinfo.com +dsssp.com dsstudio.tech dssz.com dst.gov.mo @@ -31795,10 +31531,7 @@ dstcar.com dstfsbc.com dstguanwang.com dsti.net -dsvfdsf-bnigfo-sdkkg.com dsw6.com -dswenda.com -dswenku.com dswjcms.com dswljt.com dswmt.com @@ -31814,7 +31547,6 @@ dsxys.pro dsyqt.com dsyun.com dsz.cc -dszan.com dt-paint.com dt-stor.com dt0j.icu @@ -31852,7 +31584,6 @@ dtstack.com dtstatic.com dtston.com dttc-icp.com -dttnsq.com dttt.net dtuosh.com dtuyun.com @@ -31860,7 +31591,6 @@ dtwave.com dtxmw.com dtxn.net dtxww.com -dtxxhh.com dtxxjq.com dtyhgj.com dtysky.moe @@ -31894,7 +31624,6 @@ duanxb.com duanxiansen.com duanxianxia.com duanxin.com -duanxin321.com duanxin520.com duanxindao.com duanzaixian.vip @@ -32177,7 +31906,6 @@ dushudaren.com dushuge.net dustess.com dustglobal.com -dustit.me dusulang.com dute.me dutenews.com @@ -32217,7 +31945,6 @@ dvbcn.com dvbei.com dvd2017.com.tw dvdc100.com -dvdduplicationphoenix.net dvidc.com dvmama.com dvmission.com @@ -32245,7 +31972,6 @@ dwjoy.com dwjpwf.com dwjxz.com dwmoniqi.com -dwmqg.com dwntme.com dwoke.com dwq.com @@ -32255,22 +31981,18 @@ dwsgases.com dwstatic.com dwstock.com dwt.life -dwtedx.com dww11.com dwwin.com -dwxw.net dwxyamaha.com dwyeuy.com dwywood.com dwywooden.com -dwz.date dwz.lc dwzjd.com dx-job.com dx-marine.com dx-tech.com dx00.net -dx021.com dx10000.com dx2008.com dx286.com @@ -32313,7 +32035,6 @@ dxqyy.com dxr.com dxrc.com dxs8.com -dxsabc.com dxsaxw.com dxsbb.com dxsclass.com @@ -32364,9 +32085,9 @@ dy2018.com dy2066.com dy3j.com dy558.com +dyaobo2029.com dybeta.com dycar.net -dycars.com dyccb.net dycdn.com dycic.net @@ -32388,7 +32109,6 @@ dyee.org dyemp.com dyets-cn.com dyfc.net -dyfcw.com dyfgp.com dyfm200.com dyg-hec.com @@ -32404,7 +32124,6 @@ dyhjw.com dyhongshun.com dyhuidong.com dyhxgame.com -dyie.net dyjdcz.com dyjqd.com dyjqlrj.com @@ -32413,7 +32132,6 @@ dyjw.info dyjxjt.com dyjxsj.com dyjymy.com -dyketai.net dykszx.com dykz66.com dylc.com @@ -32455,7 +32173,6 @@ dytt7899.com dytt8.com dytt8.net dytt89.com -dyttcdn.com dyvideotape.com dywcc.com dywuyuan.com @@ -32554,7 +32271,6 @@ dzpezp.com dzpk.com dzpklite.com dzpknews.com -dzqc.link dzqrmyy.com dzqu.com dzqxj.com @@ -32610,7 +32326,6 @@ e-10031.com e-adcon.com e-ande.com e-bidding.org -e-bq.com e-buychina.com e-byte.com e-cbest.com @@ -32670,7 +32385,6 @@ e0453.com e0514.com e0575.com e0734.com -e0744.com e0838.com e0hhk12.xyz e12345.com @@ -32698,18 +32412,15 @@ e399.com e3j.co e3ol.com e4008.com -e4221.com e4l4.com e53w.com e5413.com -e5618.com e5865f69dee0.xyz e5hc.com e5n.com e5sj.com e5tech.com e600.com -e64.fun e656gps.com e65u.com e68cname.com @@ -32728,7 +32439,6 @@ e7z.net e836g.com e890.com e8d7.icu -e9377f.com e9797.com e9898.com e99999.com @@ -32768,6 +32478,7 @@ eanfang.com eanmed.com eap2.net eapchina.net +ear0.com eardatek.com earlytrip.fun earth-science.net @@ -32780,6 +32491,7 @@ easck.com eascs.com easea.net easebar.net +easecation.net easeconvert.com easefun.info easeheal.com @@ -33039,7 +32751,6 @@ ecco-market.com eccpos.com ecdag.net ecdnx.com -ecdpower.net ecduo.com ece-global.com eceibs.com @@ -33049,7 +32760,6 @@ ecej.com ecer.com ecerdns.com ecerimg.com -ecezt.com ecf-gov.com ecgci.com ecgoods.com @@ -33087,9 +32797,9 @@ eciticcfc.com ecjobhome.com ecjson.com eckwai.com +eclipium.xyz ecloud-gdu.com ecloud.hk -ecmagnet.com ecmc-nj.com ecmoban.com ecmould.com @@ -33154,7 +32864,6 @@ ecv360.com ecvv.com ecwan77.net ecydm.com -ecyj.net ecyti.com ecyzm.com ed-textile.com @@ -33297,7 +33006,6 @@ edumq.com edumsys.com eduour.com edupm.com -eduppw.com edurck.com edushi.com edusoho.com @@ -33375,9 +33083,9 @@ eei168.com eeio99.com eeioe.com eeju.com +eekgame.com eelly.com eeloves.com -eelve.com eema.info eenzo.com eeook.com @@ -33408,7 +33116,6 @@ eezml.com ef-cdn.com ef360.com ef360.net -ef9377.com efala.net efang.tv efangcdn.com @@ -33420,6 +33127,7 @@ efashioncloud.com efchina.org efe.cc efengji.org +efengqing.com efesco.com eff-soft.com effapp.com @@ -33620,15 +33328,12 @@ ejsoon.win ejtieyi.com eju.com ejudata.com -ejuen.com ejuhome.com -ejujiu.com ejunshi.com ejustcn.com ejy365.com ek-edu.com ek1ng.com -ek6.com ekaid.com ekaidian.com ekan001.com @@ -33644,7 +33349,6 @@ ekimmigration.com eking-tech.com ekingair.com ekingtopwood.com -ekltes.xyz ekoooo.com eks0451.com ekuaibao.com @@ -33715,7 +33419,6 @@ elimautism.org eling.me elingka.com elingyun.com -elinkhost.com elinzy.com elitecrm.com elitenexusgroup.com @@ -33857,6 +33560,7 @@ emwan.com emyard.com en.tm en51.com +en5static.com en8848.com en998.com enacdn.biz @@ -33898,6 +33602,7 @@ engeniustec.com engeyuan.com engkoo.com engley.com +englibrary.com english163.com englishdict.cc englishmasterclub.com @@ -33912,6 +33617,7 @@ enianteam.com enicn.com eniu.com enjerr.com +enjlink.com enjoy.link enjoy1992.com enjoy3c.com @@ -33984,6 +33690,7 @@ enwto.com enxicled.com enyamusical.com enzj.com +eo-edgefunctions7.com eoaluminium.com eoaoo.com eoeandroid.com @@ -34028,7 +33735,6 @@ epay.com epaynfc.com epbiao.com epchina.com -epchung.com epcnn.com epcservicio.com epcsw.com @@ -34230,7 +33936,7 @@ esenagro.com esensoft.com esfimg.com esgforum.com -esgweb.net +esgz.com eshangle.com eshare.cc esheep.com @@ -34244,7 +33950,6 @@ eshow365.com eshufa.com eshuizong.com eshukan.com -eshuu.com eshzp.com esie-expo.com esilk.net @@ -34274,7 +33979,6 @@ esou.biz esoua.com esound.vip esouou.com -esoyu.com esp8266.com espeedpost.com esplus.club @@ -34319,6 +34023,7 @@ eswincomputing.com eswlnk.com eswxj.com eswzx.com +esxlt.com esy.org eszmall.com esztsg.org @@ -34330,7 +34035,6 @@ et-fine.com et001.com et363.com et59.com -et998.com etagrfid.com etagri.com etang.com @@ -34343,7 +34047,6 @@ etccenters.com etcchebao.com etcgsx.com etchcb.com -etchcomponents.com etcsd.com etcsx.com etczs.net @@ -34417,7 +34120,6 @@ etsc-tech.com etsingshan.com etsoon.com etsstar.com -etstock.net ett-cn.com ett.cc ettabiotech.com @@ -34489,6 +34191,7 @@ evcard.com evcard.vip evcrrc.com evdays.com +evdo.vip eve.moe evebattery.com evefashion.com @@ -34541,6 +34244,7 @@ evileyesaint.com evilleaker.com evilwind.fun evinchina.com +evisa99.com evisionics.com evisugo.com evketang.com @@ -34585,7 +34289,6 @@ eweirong.com eweis.com ewemt.com ewen.co -ewenchina.com ewenyan.com ewhnzmqncm7.com ewidecloud.com @@ -34657,7 +34360,6 @@ exchen.net excm.net excoino.com exd.design -exdak.com exdoll.com exeedcars.com exexm.com @@ -34766,7 +34468,6 @@ eye0777.com eye0779.com eyeabc.com eyee.com -eyejin.com eyeofcloud.com eyeofcloud.net eyepetizer.net @@ -34788,7 +34489,9 @@ eyouct.com eyoumb.com eyoungindustry.com eyourbusiness.com +eyouwx.com eyprint.com +eyspwkg.com eyuangong.com eyuconnect.com eyugame.com @@ -34805,6 +34508,7 @@ eywedu.org eyy168.com eyy8.vip eyyyye.com +eyz.ink ez-leaf.com ez01.com ezagoo.com @@ -34845,6 +34549,7 @@ ezpro.pro ezreal.cool ezrent.hk ezrpro.com +ezsuperfans.com eztcn.com eztest.org eztvnet.com @@ -34885,6 +34590,7 @@ f3322.org f3knp1j.xyz f41g.com f4h90.cyou +f526.cc f52o04oylrbmfw.com f537.com f5432.com @@ -34895,7 +34601,6 @@ f5sd.com f5yx.com f5zv2.icu f64532081.com -f6991.com f6yc.com f7777.net f7chinavip.com @@ -35124,7 +34829,6 @@ fangtangtv.com fangte.com fangtian.net fangtong.com -fangtoon.com fangtx.com fangwei315.com fangweima.com @@ -35317,7 +35021,6 @@ farennews.com farerdak.com farfir.com farisl.com -farmanl.com farmasino.com farmkd.com farmsec.com @@ -35446,7 +35149,6 @@ fc-smartsystem.xyz fc0531.com fc0633.com fc169.net -fc187.com fc571.com fc62.com fc811.com @@ -35507,6 +35209,7 @@ fcln.net fclouddns.net fcloudpaas.com fcnes.com +fcnode.net fcpawn.com fcpiao.com fcport.com @@ -35519,6 +35222,7 @@ fcsccz.com fcsdzly.xyz fcseiko.com fcstor.com +fcsubcn.cc fctaiwan.com fcuit.com fcvvip.com @@ -35604,7 +35308,6 @@ feel-bar.com feelcars.com feelchat.net feelec.net -feelingmarine.com feelnowtrip.com feelsoar.com feemoo.com @@ -35622,7 +35325,6 @@ feheadline.com fehelper.com fehorizon.com fei580.com -fei65.com feiair.com feiauto.com feibajiasu.com @@ -35704,7 +35406,6 @@ feilu.cc feilvway.com feimalv.com feimao666.com -feimaolihao.com feimaoweb.com feimaoyun.com feimayun.com @@ -35771,7 +35472,6 @@ feixiong.tv feixue666.com feixuege.com feixueteam.net -feixunvip.xyz feiyang.com feiyang.hk feiyang233.club @@ -35841,6 +35541,7 @@ fengbohan.com fengbolive.com fengbuy.com fengcaijiaju.com +fengchaoyuan.com fengche.us fengchengroup.com fengchizixun.com @@ -35894,7 +35595,6 @@ fengli.su fengliankeji.com fenglichem.com fengligroup.com -fenglil.com fenglingroup.com fenglinjiu.com fenglinlab.com @@ -35927,7 +35627,6 @@ fengtao365.com fengtaochanglai.com fengtianz.com fengtingsmart.com -fengtouwang.com fengtupic.com fengwanyx.com fengwatch.com @@ -35973,7 +35672,6 @@ fenjiji.net fenjj.com fenke.com fenking.club -fenlei.biz fenlei168.com fenlei265.com fenleidao.com @@ -36030,6 +35728,7 @@ fevte.com feydj.com feyer-tc.com ff112222.com +ff14.cloud ff54.ink ff63.com ff8828.com @@ -36052,7 +35751,6 @@ ffmobi.com ffmomola.com ffnmu.com ffpedia.com -ffphb.com ffpw1688.com ffquan.com ffreeslott.com @@ -36075,13 +35773,11 @@ fggyw.com fghi34.com fgi90.com fgidna.com -fgjsxg.com fgkj.cc fglt.net fgnwct.com fgo.wiki fgowiki.com -fgt120.com fgtxnews.com fgvisa.net fh01.com @@ -36100,6 +35796,7 @@ fheb-four.com fheb-six.com fhfxys.com fhgame.com +fhgjds.com fhguotai.com fhl05161ps.com fhldns.com @@ -36143,7 +35840,6 @@ ficochina.net ficowshen.com fiehff.com fieldcommunicator.net -fieldschina.com fiezaits.com fifa666.com fifaschool.com @@ -36304,7 +36000,6 @@ fiui.org fivecakes.com fivedo.net fiveplus.com -fivestarcompanions.com fivestarsolar.com fivision-tech.com fix666.com @@ -36335,7 +36030,6 @@ fjber.com fjbgwl.com fjbiopharma.com fjbk.org -fjblq.com fjbyjs.com fjc001.com fjce.com @@ -36351,8 +36045,8 @@ fjctyz.net fjcyl.com fjcyl.org fjdaily.com +fjdaze.com fjdc.xyz -fjdexing.com fjdf.vip fjdfxy.com fjdh.com @@ -36393,6 +36087,7 @@ fjjcled.com fjjianxin.com fjjltgyl.com fjjnsn.com +fjjoyz.com fjjsp01.com fjjszg.com fjjyt.net @@ -36610,7 +36305,6 @@ flowtechgd.com flowtechsh.com flpsz.com flpwb.com -flqhd.com flqrmyy.com flrcw.com flsrp.com @@ -36702,7 +36396,6 @@ fminers.com fmkefu.com fmkpharm.com fmmob.com -fmncz.com fmpan.com fmscm.com fmsdlb.com @@ -36787,7 +36480,6 @@ fogcloud.io foguanghui.org fohohr.com foidn.com -foioo.com foisonad.com foisongroup.com fojiaonet.com @@ -36930,7 +36622,6 @@ fotao9.com fotile.com fotileglobal.com fotilestyle.com -fotoe.com fotomore.com fotoplace.cc fotosay.com @@ -36954,7 +36645,6 @@ founderpod.com foundersc.com foundertech.com foundertype.com -foundgroup.net founpad.com four-faith.com fourco-inc.com @@ -36962,6 +36652,7 @@ fourfaithwater.com fovmy.com fovtedt.com fow.ink +fowep.com fox-studio.net fox008.com foxconn.com @@ -36974,6 +36665,7 @@ foxphp.com foxqq.com foxtable.com foxuc.com +foxugame.com foxwaf.com foxwho.com foxwq.com @@ -36994,7 +36686,6 @@ fpga-china.com fpgabbs.com fpgakey.com fpgaw.com -fpgqh.com fphis.com fphs.cc fphs5.com @@ -37006,10 +36697,8 @@ fpsace.com fpsjk.com fpstt.com fpwap.com -fpwjq.com fpxz.net fpyy120.com -fq-top-v-fast.com fq688.com fqapps.com fqfilm.com @@ -37216,12 +36905,10 @@ fs0757.com fs121.com fs1982.com fs31.com -fs315.org fs58.com fs7000.com fsabwy.com fsaii.com -fsauto.org fsbankonline.com fsbldjd.com fsbqgd.com @@ -37252,7 +36939,6 @@ fsgcw.com fsgechao.com fsggb.com fsgplus.com -fsguangjun.com fsgzhg.com fshczf.com fshd.com @@ -37389,6 +37075,7 @@ ftzn.net ftzx.com fu-guan.com fu-rui.com +fu2zu.com fu57.com fu62.vip fuanna.com @@ -37444,7 +37131,6 @@ fuhai360.com fuhaikj.com fuhancapital.com fuhanziben.com -fuhaodaquan.cc fuhaodaquan.org fuhaoku.com fuhefu.com @@ -37520,6 +37206,7 @@ fun.tv fun2ex.com fun4go.com funcdn.com +funcrea.com functionads.com functionaltextilesshanghai.com functioncool.com @@ -37636,6 +37323,7 @@ fuxinews.com fuxinghf.com fuxingtech.com fuxingwang.com +fuxuanji-jp.com fuxunpay.com fuyang.com fuyang.net @@ -37705,9 +37393,8 @@ fwsfwef2.fun fwt0.com fwtoys.com fwvv.net +fwwevez.xyz fwxgx.com -fwzjia.com -fx-jgworks.com fx-plc.com fx120.net fx168api.com @@ -37918,7 +37605,6 @@ fzjdct.com fzjingzhou.com fzjxr.com fzjxw.com -fzjyxy.com fzkjg.com fzl7.com fzlawyers.net @@ -37971,6 +37657,7 @@ g-medon.com g-spin.com g-tar.com g-var.com +g052m43e2ghn.com g1080.com g11edashb1.fun g12345.com @@ -37980,7 +37667,6 @@ g188.net g1c5.com g1d.net g1f5.com -g1jnmyj2yu.com g1yx.com g2.link g20chn.org @@ -38020,7 +37706,6 @@ gaaamee.com gaapqcloud.com gac-capital.com gac-nio.com -gaccode.com gacfca.com gacfcasales.com gacfiatauto.com @@ -38029,10 +37714,8 @@ gaclib.net gacmotor.com gacrnd.com gacsofinco.com -gadanhua.com gadlee.com gae-pro.com -gae-yfeigaggoagjag.com gaeadata.com gaeamobile-inc.net gaeamobile.net @@ -38045,7 +37728,6 @@ gagaga.icu gagaga.tech gagahi.com gagaslklxjasdkafj.com -gahejiao.com gahwilertaxservice.com gai.net gaiabiohx.com @@ -38066,6 +37748,7 @@ gaintop.com gairuo.com gaisen.ltd gaishichina.com +gaishitongshu.com gaitu.com gaituba.com gaitubao.com @@ -38090,7 +37773,7 @@ galaxydreams.site galaxyfont.com galaxyinfo.com galaxymagnets.com -galaxyns.net +galaxyoversea.com galileo.work galsun.com galudisu.info @@ -38178,7 +37861,6 @@ gamerstorm.com gamesh.com gameshr.com gamesifu.com -gamestarfield.com gametanzi.com gametaptap.com gametdd.com @@ -38441,7 +38123,6 @@ gatewang.com gateweb3.cc gateweb3.io gather-dns.com -gatherfind.com gaugan.com gaush.com gavill.com @@ -38473,7 +38154,6 @@ gbiac.net gbicdn.com gbicom.com gbictc.com -gbieg.com gblhgk.com gbma.org gbndash2.fun @@ -38490,7 +38170,6 @@ gbt88.com gbtranswins.com gbvh.com gbw114.com -gbym.net gc-zb.com gc0771.com gc1616.com @@ -38641,7 +38320,6 @@ gdccus.org gdcdsh.com gdceg.com gdcgkg.com -gdchain.org gdchanbo.com gdchess.com gdchjt.com @@ -39196,6 +38874,7 @@ geekxue.com geekzhao.me geekzl.com geelevel.com +geely-auto-gtm.com geely-test.com geely.com geely.pe @@ -39274,7 +38953,6 @@ genchim.com gendan5.com gendantong.com gendone.com -genebiotec.com genegeo.com geneliunx.com genelotus.com @@ -39409,7 +39087,6 @@ getu.fun getui.com getui.net getui.vip -getulab.com getvidi.co geuba.xyz gewala.com @@ -39423,7 +39100,6 @@ gewuer.com gewuzhixiang.com gexiao.me gexiaocloud.com -gexincn.com gexinda.com gexing.com gexing.me @@ -39477,10 +39153,8 @@ gfnormal00ar.com gfnormal01ab.com gfnormal01ad.com gfnormal01aj.com -gfnormal02ak.com gfnormal02ap.com gfnormal03ae.com -gfnormal04an.com gforward.org gfoxsoft.net gfren.org @@ -39493,17 +39167,14 @@ gftuan.com gfun.me gfund.com gfvip00ae.com -gfvip00an.com gfvip01am.com gfvip02aj.com gfvip05aj.com gfvip06ae.com gfvip06as.com -gfvip06at.com gfvip07am.com gfvip07ao.com gfvip08ah.com -gfvip08am.com gfxaa.com gfxcamp.com gfxtr1.com @@ -39527,7 +39198,6 @@ ggbondtech.com ggbygx.com ggcimbar.com ggcj.com -ggcname.com ggcx.com ggcykf.com ggdata.com @@ -39579,7 +39249,6 @@ ggmsw.com ggmymy.com ggnops.com ggnqmy.com -ggo.la ggo.net ggoplay.com ggowan.com @@ -39619,7 +39288,6 @@ ggxue.com ggxx.net ggy.net ggy775.com -ggyoupinshu.com ggyouyu.com ggysc.com ggysfw.com @@ -39765,7 +39433,6 @@ giiso.com gijsq.com gildata.com gilieye.com -gillmoversuae.com giltbridge.com giltworld.com gimcyun.com @@ -39777,11 +39444,12 @@ ginde.com ginfon.com gingerbreadstudio.cc gingyan.com -ginihbg.com ginlong.com ginshio.org ginwa.com gio.ren +gio07231rp.com +gio07250rp.com gioccc.com giocdn.com gionee.com @@ -39794,7 +39462,6 @@ giraff3.com girdear.net girl13.com girls-frontline.com -girls007.com girlsfighters.com girlsheaven-job.net girlw.net @@ -39835,7 +39502,6 @@ giyu8.com gizaworks.com gizlnr.com gizwits.com -gj-robotics.com gj555.net gj62.com gjbaek.ren @@ -39865,15 +39531,14 @@ gjmbwxpt.com gjmbwxzx.com gjmedashb0.fun gjmrk.com -gjnbf.com gjnlyd.com gjpdh.com gjrwls.com gjsc.info gjsj.com gjsun.com +gjtmu.com gjtt.net -gjtxwh.com gjw.com gjw123.com gjwl123.com @@ -39923,7 +39588,6 @@ gkshanghai.com gkshuju.com gktianshanjd.com gkwo.net -gkx.com gkxd.com gkxs.com gkxx.com @@ -39957,11 +39621,9 @@ glab.online gladcc.com gladdigit.com glafamily.com -glajzl.com glamever.com glamourred.com glamourtrains.com -glandpackingindia.com glanimaltrade.com glanu.com glaproject.com @@ -40006,7 +39668,6 @@ glfdfcyy.com glflyy.com glfpii.com glfund.com -glfyfs.com glfyjg.com glgangyu.com glgcsj.com @@ -40033,7 +39694,6 @@ glhcoptical.com glhdq.com glhfmy.com glhfsy.com -glhmgs.com glhmmr.com glhnkj.com glhospital.com @@ -40102,6 +39762,7 @@ glmmodels.com glncn.com glnewstar.com gloamingtechnology.com +global-dba.com global-download.acer.com global-harbor.com global-idc.net @@ -40140,6 +39801,7 @@ globalsourcingbiz.com globalstech.com globalston.com globaltradecoo.com +globalvisa888.com globalx-nest.com globebill.com globecancer.com @@ -40251,7 +39913,6 @@ glzyjt.com glzzjy.com gm-scm.com gm016.com -gm1.cc gm193.com gm3.win gm35.com @@ -40273,6 +39934,7 @@ gmcc.net gmcchina.net gmcinnov.com gmcmonline.com +gmdt9b.com gmdun.com gmecn.com gmed.cc @@ -40458,7 +40120,6 @@ gohong.com going-link.com gojiaju.com gojira.net -gojiscm.com gokaigai.com goke.com gokols.com @@ -40501,7 +40162,6 @@ goldenname.com goldenseaair.com goldenthroat.com goldentom.com -goldenwoner.com goldfoil.com goldgov.com goldgrid.com @@ -40566,7 +40226,6 @@ gongchu.com gongfubb.com gongfudou.com gongfugw.com -gongheshengshi.com gongji58.com gongjiao.com gongjiao160.com @@ -40574,7 +40233,6 @@ gongjiaomi.com gongjiyun.com gongju.com gongju5.com -gongjuji.net gongjux.com gongkaohub.com gongkaoleida.com @@ -40641,6 +40299,7 @@ gongzuoshouji.net gongzuoyun.org gonsun.com gonvvama.net +gonxt.com gonyn.com goo17.com gooagoo.com @@ -40705,11 +40364,11 @@ goodwillcis.com goodwillresource.com goodwyee.com goodyoungtea.com -goodyw.com goodzuji.com goodzuo.com goofish.com googcc.net +google-hub.com google-play.mobi google444.com googlebbs.net @@ -41089,7 +40748,6 @@ grksc.com grmxdy.com grnuo.com groad.net -grondrens.com gronhi.com groovymedicine.com grouk.com @@ -41163,6 +40821,7 @@ gsfrj.com gsfybjy.com gsfycloud.com gsfzb.com +gsgltz.com gsgs10086.com gsgundam.com gshangju.com @@ -41177,6 +40836,7 @@ gsicpa.net gsidy.com gsjb.com gsjie.com +gsjkjt.com gsjqtv.com gsjt-cn.com gsjt56.com @@ -41197,6 +40857,7 @@ gsmgw.com gsmpers.com gsmuban.com gsmxjy.com +gsnhcg.com gsnytz.com gsp11-cn.ls.apple.com gsp12-cn.ls.apple.com @@ -41215,7 +40876,6 @@ gsrwfyy.com gss56.com gssag.com gssbh.com -gssdlv.com gsseo.net gssey.com gsshylsh.com @@ -41224,6 +40884,7 @@ gsskyst.com gssltxrmyy.com gsslxh.com gsstargroup.com +gsstic.com gsstock.com gsstsdgs.com gsswtz.com @@ -41379,7 +41040,6 @@ gtm-i2d9.com gtm-we.com gtm.pub gtmlufax.com -gtmm.net gtmsh.com gtn9.com gtobal.com @@ -41410,7 +41070,6 @@ gu166.com gu360.com gua123.com guabu.com -guaguasheng.com guaguay.com guahao-inc.com guahao.com @@ -41484,6 +41143,7 @@ guangjipharm.com guangjiubusiness.com guangjiucompany.com guangju123.com +guangjuke.com guangka.com guangkatf.com guangli88.com @@ -41611,7 +41271,6 @@ guanyezipper.com guanyierp.com guanyinshan.com guanyiyun.com -guanyou.ltd guanzhongrc.com guanzhu.mobi guanzhulian.com @@ -41684,7 +41343,6 @@ guifan.cc guifancha.com guifanku.com guifeng.net -guifudi.com guifun.com guigang688.com guiganganlan.com @@ -41762,7 +41420,6 @@ guizhougames.com guizhougas.com guizhounaishili.com guizhoushengyang.com -guizhouxinsheng.com guizhutanglao.com guj6.com gujianba.com @@ -41791,14 +41448,12 @@ gumade.com gumang.com gumaor.com gumeng.net -gumengya.com gumiji.com gumingnc.com gumo.pro gumodels.com gumpmall.com gundambattle.com -gungahlinproperty.com gunshitech.com gunsuo.com gunxueqiu.com @@ -41872,7 +41527,6 @@ guojing-tech.com guojiseka.com guojiwuye.com guojixiao.com -guojixuexiao.com guojixuexiao.net guojixuexiao.org guojiyujiaxueyuanzongbu.com @@ -41970,7 +41624,6 @@ guoyuejituan.com guoyunjc.com guoyusec.com guoyutec.com -guoyuwo.com guozaoke.com guozeyu.com guozh.net @@ -42019,7 +41672,6 @@ gushiji.cc gushiju.net gushiwen.org gushufang.com -gusiyuan.com gusspro.com gusucaishui.com gususoft.com @@ -42040,7 +41692,6 @@ guwu121.com guxiang.com guxunw.com guyaheng.com -guyiying.com guyizisha.com guyuehe.com guyuehome.com @@ -42170,7 +41821,6 @@ gxanchen.com gxankao.com gxantu.com gxany.com -gxaohua.com gxaoma.com gxar.com gxarl.com @@ -42180,7 +41830,6 @@ gxawjmy.com gxaxjy.com gxaxpc.com gxayn.com -gxazfw.com gxb.io gxbaichen.com gxbaidu.net @@ -42232,7 +41881,6 @@ gxbrm.com gxbs.net gxbscbh.com gxbsfj.com -gxbsjsgc.com gxbsky.com gxbsnx.com gxbssyy.com @@ -42351,7 +41999,6 @@ gxcznews.com gxcznews.net gxczrc.com gxdadu.com -gxdahua.com gxdairy.com gxdajin.com gxdajixiong.com @@ -42509,7 +42156,6 @@ gxfzpg.com gxfzyjs.com gxg1978.com gxgaia.com -gxgama.com gxgangji.com gxgangxin.com gxgangyuan.com @@ -42571,7 +42217,6 @@ gxgljy.com gxglkg.com gxglnykj.com gxglory.com -gxgltzjt.com gxglyl.com gxglys.com gxglzj.com @@ -42704,7 +42349,6 @@ gxhhmed.com gxhhzsjt.com gxhigreen.com gxhis.net -gxhiyuan.com gxhjbw.com gxhjjt.net gxhjky.com @@ -42773,10 +42417,8 @@ gxhuaen.com gxhuahui.com gxhuanbaojt.com gxhuapei.com -gxhuaqi.com gxhuaqu.com gxhuar.com -gxhuashuo.com gxhuaxing.com gxhuaxintech.com gxhui.com @@ -42802,7 +42444,6 @@ gxhyey.com gxhygg.com gxhyhs.com gxhykglass.com -gxhym.com gxhyq.com gxhyscl.com gxhysm.com @@ -42875,7 +42516,6 @@ gxjhcj.com gxjhgczx.com gxjhgd.com gxjhgs.com -gxjhgy.com gxjhjcw.com gxjhjdsb.com gxjhjs.com @@ -42902,7 +42542,6 @@ gxjigeng.com gxjigeyuan.com gxjihu.com gxjinan.com -gxjinchahua.com gxjingsheng.com gxjingu.com gxjinhai.com @@ -42931,7 +42570,6 @@ gxjkhj.com gxjkjg.com gxjkjyjc.com gxjkwy.com -gxjkzx.com gxjl99.com gxjla.com gxjlbw.com @@ -43079,7 +42717,6 @@ gxlanco.com gxlancogroup.com gxlanlian.com gxlansheng.com -gxlanta.com gxlbang.com gxlbbwg.com gxlbgf.com @@ -43130,7 +42767,6 @@ gxliri.com gxlituo.com gxliuhang.com gxliuqiaojidian.com -gxliuyuan.com gxlixin.com gxliyugs.com gxljgc.com @@ -43179,7 +42815,6 @@ gxlvjian.com gxlvtong.com gxlvwang.com gxlwdsslgy.com -gxlwjx.com gxlwlc.com gxlwt.com gxlxgg.com @@ -43197,7 +42832,6 @@ gxlycyxh.com gxlyghy.com gxlygyl.com gxlyhbkj.com -gxlyjs.com gxlyjt.com gxlzbbw.com gxlzck.com @@ -43335,17 +42969,14 @@ gxnxdb.com gxnxgd.com gxnydq.com gxnymt.com -gxnzf.com gxnzjz.com gxnzzy.com gxoc168.com gxoem.com gxok.com gxosjc.com -gxostec.com gxota.com gxota.net -gxotsc.com gxouguan.com gxoulian.com gxouwen.com @@ -43364,8 +42995,6 @@ gxpgy.com gxphc.com gxphd.com gxphj.com -gxpiao.com -gxpikaqiu.com gxpingen.com gxpinn.com gxpjzs.com @@ -43434,7 +43063,6 @@ gxqzxw.com gxqzxyd.com gxqzyz.com gxqzzy.com -gxrahswhysg.com gxrasafety.com gxrayhome.com gxrc.com @@ -43450,7 +43078,6 @@ gxrczc.net gxrdgroup.com gxrdjy.com gxrenheng.com -gxrfy.com gxrfys.com gxrgjd.com gxrgwl.com @@ -43500,10 +43127,8 @@ gxsckj.net gxscq.com gxscse.com gxscsw.com -gxscwy.com gxscyg.com gxsd.net -gxsddz.com gxsdem.com gxsdkj.com gxsdpx.com @@ -43551,7 +43176,6 @@ gxshudao.com gxshuibao.com gxshuixie.com gxshunxiu.com -gxshwlw.com gxshxc.com gxshxf.com gxshxlpx.com @@ -43639,7 +43263,6 @@ gxtfmy.com gxtfxx.com gxthcpa.com gxthxxkj.com -gxthy168.com gxthyy.com gxtianlan.com gxtianmiao.com @@ -43662,7 +43285,6 @@ gxtnc.com gxtodo.com gxtonghui.com gxtongji.com -gxtongpai.com gxtongtai.com gxtongyin.com gxtongzhu.com @@ -43771,7 +43393,6 @@ gxwzyl.com gxxbx.com gxxbysy.com gxxbzm.com -gxxbzs.com gxxdbp.com gxxdit.com gxxdpc.com @@ -43799,7 +43420,6 @@ gxxhtax.com gxxhtsj.com gxxhtx.com gxxhtzp.com -gxxhyjjt.com gxxhz.com gxxhzp.com gxxiangxing.com @@ -43879,7 +43499,6 @@ gxyasuoji.com gxybsw.com gxybyy.com gxyc.net -gxycdp.com gxycjy.com gxycwh.com gxycwy.com @@ -43927,7 +43546,6 @@ gxyingyue.com gxyinniyuan.com gxyintian.com gxyinyulanyingguigang.com -gxyipin.com gxyixin.com gxyiz.com gxyj.com @@ -43951,7 +43569,6 @@ gxyls.com gxylsjsp.com gxylswkj.com gxympay.com -gxymyl.com gxynjx.com gxynlts.com gxyoj.com @@ -43983,7 +43600,6 @@ gxyuanfeng.com gxyuansheng.com gxyuanyun.com gxyuchuan.com -gxyuehe.com gxyuheju.com gxyunhua.com gxyunsen.com @@ -44134,7 +43750,6 @@ gxzydl.com gxzyfs.com gxzygygs.com gxzyhb.com -gxzyhjd.com gxzyjl.com gxzyjsgc.com gxzyky.com @@ -44217,7 +43832,6 @@ gypzkat.com gyqcw.com gyqqd.com gyqrmyy.com -gyqzby.com gyr.cc gyrcw.com gyrmyy.com @@ -44398,7 +44012,6 @@ gzdtcy168.com gzdtg.com gzduguo.com gzdysx.com -gzdzbj.com gzebpubservice.com gzedu.com gzeic.com @@ -44600,7 +44213,6 @@ gzmeichang.com gzmiden.com gzminjia.com gzmiyuan.com -gzmjhzs.com gzmlfcyy.com gzmofa.com gzmould.com @@ -44649,6 +44261,7 @@ gzpydlc.com gzpyxz.net gzqbd.com gzqdedu.com +gzqgdg.com gzqiche.com gzqixun-tech.com gzqljxd.com @@ -44829,6 +44442,7 @@ gzxzjy.com gzyajs.com gzyancheng.com gzyangai.com +gzybao.com gzycdy.com gzych.vip gzycsjgs.com @@ -44848,7 +44462,6 @@ gzyouai.com gzyowin.com gzyqtlxs.com gzyqwl.net -gzysbpay.com gzysnkyy.com gzytgf.com gzyucai.com @@ -44931,7 +44544,6 @@ h3ue2s.com h3wog.com h3yun.com h4088.com -h4532.com h4k5.com h4sud3rr4pmu.com h5-share.com @@ -44940,7 +44552,6 @@ h5-yes.com h5.net h51.com h51h.com -h5495.com h554.com h55u.com h576.com @@ -45081,7 +44692,6 @@ haibaoyouxi.com haibeinews.com haibeishangmao.com haibian.com -haiboinvest.com haibowh.com haiboyi.com haica.cc @@ -45114,6 +44724,7 @@ haier.hk haier.net haiercash.com haierfinancial.com +haiermoney.com haiershequ.com haiershui.com haiersmarthomes.com @@ -45259,7 +44870,6 @@ haitangw.cc haitangw.net haitao.co haitao.com -haitao369.com haitaohub.com haitaoj.com haitaolab.com @@ -45366,12 +44976,9 @@ halcyonz.com halead.com halfrost.com halfsug.com -halidown.com haligame.com -halihali6.com halihali9.com halixun.com -haliyy.com haljl.com halloar.com hallofix.com @@ -45392,6 +44999,7 @@ han-ju.cc hanamichi.wiki hanas.com hanascitygas.com +hanbi.live hanbige.com hanboshi.com hanbridge.org @@ -45415,13 +45023,11 @@ handongkj.com handongruanjian.com handpk.com handsfree.work -handtrip.com handu.com handuyishe.com handyfriendship.com hanenyunxiao.com hanergy.com -hanergymobileenergy.com hanex.cc hanfakg.com hanfan.cc @@ -45454,7 +45060,6 @@ hangjizulin.com hangkong.com hangkongxx.com hanglorygroup.com -hangmaquan.com hangongjk.com hangpai.org hangpu-topsys.com @@ -45491,13 +45096,11 @@ hangzhouweifeng.com hangzhouyiyao.com hangzhouyq.com hangzhouzehe.com -hangzyuyuan.com hanhai.net hanhaiqikan.com hanhanfx.com hanhanmanhua.com hanhe-cable.com -hanhengtanhuang.com hanhongchina.com hanhoo.com hanhua.com @@ -45506,10 +45109,8 @@ hanhuilvshi.com hanihanrf.com hanjea.com hanjianbing.org -hanjiangsanguo.com hanjiaying.com hanjie.biz -hanjimeixue.com hanjjl.com hanju-tv.org hanjuejituan.com @@ -45635,7 +45236,6 @@ hao120.cc hao123-hao123.com hao123.com hao123.com.sg -hao123.lt hao123.net hao123.ph hao123.sh @@ -45650,7 +45250,6 @@ hao1cm.com hao22.com hao222.com hao222.net -hao224.com hao2345.com hao24.com hao245.com @@ -45683,7 +45282,6 @@ haoayi.xyz haobangkj.com haobangni.com haobangscm.com -haobanyi.com haobiaoke.com haobtc.com haocaa.com @@ -45705,7 +45303,6 @@ haochimei.com haochu.com haochuguo.com haocw.com -haodadachina.com haodai.com haodanku.com haodaquan.com @@ -45774,7 +45371,6 @@ haohaozhu.com haohaozhu.me haohead.com haohexinxing.com -haohongfan.com haoht123.com haohuan.com haohuanjiao.com @@ -45782,7 +45378,6 @@ haohuo.xin haohuoa.com haohuoyuan.com haohxs.com -haoib.com haointl.com haoinvest.com haoji.me @@ -45866,7 +45461,6 @@ haoqixingstem.com haoqq.com haoqu.net haoqu99.com -haor233.com haoranbio.com haorantech.com haorc.com @@ -46056,6 +45650,7 @@ happyplaygame.net happysky.org happystudy.cc happytimenet.com +happyvalley.link happywalk.net happyya.com hapying.com @@ -46111,6 +45706,7 @@ hassbian.com hassfull.com hasstatic.com hastenpharma.com +hasuhasu.com hatanggame.com hatangqp.com hatangyx.com @@ -46226,11 +45822,13 @@ hbcljyc.com hbclqcw.com hbclzq.com hbcoal.com +hbcof.com hbcofco.com hbcourt.org hbct-wiremesh.com hbctgs.com hbcthotels.com +hbctic.com hbctjk.com hbctjt.com hbcwt.com @@ -46386,8 +45984,6 @@ hblhfrp.com hblhnykj.com hbliti.com hblq.com -hblryz.com -hblszzs.com hblszzyy.com hbltyh.com hbltzb.com @@ -46593,7 +46189,6 @@ hbzh.net hbzhan.com hbzhjxzz.com hbzhonghai.com -hbziwei.com hbzjjk.com hbzjrx.com hbzjzb.com @@ -46643,14 +46238,12 @@ hcclhealthcare.com hccoeutg.com hccpcba.com hcdamai.com -hcdblg.com hcdiy.com hcdyhr.com hceia.com hcenc.com hcepay.com hcfac888.com -hcfang.net hcfc168.com hcftyy.com hcgaokong.com @@ -46865,7 +46458,6 @@ hdzuoye.com hdzxyy.com he-edu.com he-ku.com -he-nan.com he-one.com he17.com he1j.com @@ -46893,6 +46485,7 @@ healthjd.com healthr.com healthybaike.com healthych.com +healthydigitallife.com healzentx.com heanyo.com hearstchina.com @@ -46904,6 +46497,7 @@ heating-sh.com heatingtrace.com heavenlywind.cc heavenonearthhealingalternatives.com +heavly1.com hebangdianzi.com hebbank.com hebbc.org @@ -46999,7 +46593,6 @@ heclife.com heclouds.com hecoe.com hecpharm.com -hedaenergy.com hedaoapp.com hedaozi.com hedasudi.com @@ -47050,7 +46643,6 @@ heibai.org heibaicao.com heibaige.com heibailianmeng.com -heibaimanhua.com heibaimeng.com heibaixiaoyuan.com heibandongcha.com @@ -47078,6 +46670,7 @@ heijin.org heike07.com heilanhome.com heilei.com +heilifun.com heilongjianggames.com heiluo.com heima.com @@ -47102,7 +46695,6 @@ heiniufeiye.com heinote.com heinw.com heirenlei.com -heisener.com heisha.net heishao.net heishenhua.com @@ -47127,11 +46719,9 @@ heiyanimg.com heiying.cc heiyu.cc heiyu.space -heiyuewan.com heiyunxitong.com heizhushoes.com hejia-china.com -hejiadianshang.com hejiang.com hejiangroup.com hejiantech.com @@ -47160,7 +46750,6 @@ helipay.com helishun.com helitzc.com heliuyan.com -helixph.com hello-fpga.com hello-inc.com hello1010.com @@ -47257,6 +46846,7 @@ henanrc.com henansha.com henanshengtang.com henansyj.com +henanxinjiang.com henanyikayi.com henanyixue.com henanzhulongjx.com @@ -47340,7 +46930,6 @@ hengyagongshui.com hengyan.com hengyankeji.com hengyemould.com -hengyi-optics.com hengyi.com hengyimining.com hengyishihua.com @@ -47373,7 +46962,6 @@ hepan.org hepartshome.com hepatox.org hepingdao.net -hepingtieli.com hepmall.com hepost.com hepu123.com @@ -47392,6 +46980,7 @@ herdpcdn.com herdsric.com here120.com here325.com +herecdn.com heredlift.com herenit.com hereseo.net @@ -47477,6 +47066,7 @@ hexinchemical.com hexindai.com hexinli.org hexinwanjia.com +hexiny.com hexinyu.com hexmeet.com hexsen.com @@ -47501,7 +47091,6 @@ heyiguoyuan.com heyimiao.com heyingcn.com heyingedu.com -heyinguanli.com heyinshiliu.com heyix.com heymeo.net @@ -47518,7 +47107,6 @@ heytapdownload.com heytapimage.com heytapmobi.com heytapugc.com -heytea-co.com heytea.com heythings-iot.com heytime.com @@ -47575,7 +47163,6 @@ hfbcjt.com hfbeta.com hfbtv.com hfbz.com -hfcanxin.com hfcentury.com hfchosp.com hfchzyy120.com @@ -47638,7 +47225,6 @@ hfrcbc.com hfrh-emc.com hfrqh.com hfrsggff.com -hfrtsm.com hfsava.com hfshec.com hfsia.com @@ -47661,7 +47247,6 @@ hfx.net hfxcfiberoptic.com hfxczj.com hfxg.net -hfxyjx.com hfyestar.com hfykd.com hfykt.com @@ -47707,7 +47292,6 @@ hgitv.com hgj.com hgj668.com hgjart.com -hgjiancai.com hgjl.net hgjob.com hgjtcn.com @@ -47956,6 +47540,7 @@ hifishuo.com hifiveai.com hifkw.com hifkw.xin +hifleet.com hifly.mobi hifly.tv hifpga.com @@ -47983,7 +47568,6 @@ highlightoptics.com highlionceramic.com highlm.com highly.cc -highpriceddatinguk.com highsharp.com highstar.com hightac.com @@ -48068,7 +47652,6 @@ himengyou.com himetoo.com himile.com himin.com -himisw.com himmpat.com himorfei.com hin.cool @@ -48090,6 +47673,7 @@ hiphi.com hiphop8.com hiphotonics.com hipiao.com +hipole.com hippoanimation.com hippter.com hipu.com @@ -48161,7 +47745,6 @@ hitqs.com hitrip.info hitsame.com hitui.com -hitutu.com hitv.com hiusers.com hiv888.com @@ -48287,7 +47870,6 @@ hk-xin.com hk.uy hk0523.com hk2875.com -hk515.net hk603.hk hk662.com hk8668.com @@ -48305,11 +47887,11 @@ hkcgart.com hkcna.hk hkcoalition.com hkcpr.com +hkctgbus.com hkcts.com hkctshotels.com hkctsmembers.com hkcwdc.com -hkdcn.com hkdfc.com hkdfgroup.com hkdqgroup.com @@ -48446,7 +48028,6 @@ hljradio.com hljrcc.com hljsdm.com hljsek.com -hljsfjy.com hljsjtzy.com hljsph.com hljszjxhw.com @@ -48455,12 +48036,10 @@ hljtcm.com hljtv.com hljtx.com hljucm.net -hljwmcx.com hljxgs.com hljyestar.com hljyqnj.com hljyushi.com -hljyzy.com hljzc.net hljzl.icu hlkd.pro @@ -48510,7 +48089,6 @@ hlyiq.com hlytec.com hlyy8.com hlyykp.com -hlzad.com hlzaojia.com hlzq.com hlzqgs.com @@ -48539,7 +48117,6 @@ hmervjk.com hmf-china.com hmfxw.com hmgbtv.com -hmgfair.com hmgj.com hmgreat.com hmhliot.com @@ -48590,7 +48167,6 @@ hmzs.net hmzx163.com hn-binglang.com hn-cbec.com -hn-coach.com hn-fa.com hn-hwqjxh.com hn-medical.com @@ -48693,13 +48269,13 @@ hnfapiao.com hnfcis.com hnfcjr.com hnfck.com -hnfcly.com hnfdx.com hnfjz.com hnfles.com hnfudu.com hnfyqmj.com hnfysg.com +hngajs.com hngangjiegou.com hngbjy.com hngbw.com @@ -48798,7 +48374,6 @@ hnlis.com hnlshm.com hnltcw.com hnlxq.com -hnlyy.com hnlzhd.com hnlzw.net hnmangshan.com @@ -48817,7 +48392,6 @@ hnmsg.com hnmsw.com hnmudi.com hnmuseum.com -hnmyhk.com hnmyjt.com hnmzbg.com hnmzmy.com @@ -49085,7 +48659,6 @@ hogatoga.net hogesoft.com hoghu.com hogon17.com -hogyp.com hoho123.com hoho666.com hohode.com @@ -49212,7 +48785,6 @@ hongdou.com hongdoufm.com hongdoulive.com hongen.com -hongene.com hongfasi.net hongfeihr.com hongfengye.com @@ -49221,7 +48793,6 @@ hongganshebei.net hongguogame.com hongguoyouxi.com honghaibengye.com -honghaihouse.com honghailt.com honghaish.com honghe-tech.com @@ -49253,7 +48824,6 @@ hongkun-tech.com hongkunjinfu.com honglan123.com honglans.com -hongligroup.com honglimfg.com honglimingbiao.com honglipai.net @@ -49266,7 +48836,6 @@ hongmeiti.net hongmen.cc hongmen.com hongmingbus.com -hongmitech.com hongmo.xyz hongmoka.com hongmu.com @@ -49277,7 +48846,6 @@ hongpig.com hongqi.tv hongqiangmjg.com hongqiaochina.com -hongqimold.com hongqipharma.com hongqipress.com hongrenyiyuan.com @@ -49298,7 +48866,6 @@ hongsenlin.com hongshan.com hongshang-led.com hongsheng-group.com -hongshengxieye.com hongshi88.com hongshigroup.com hongshikai.com @@ -49357,7 +48924,6 @@ hongyikun.com hongyimarine.com hongyimro.com hongyirong.com -hongyitang.com hongyu-qi.com hongyuanpharm.com hongyuanqh.com @@ -49458,6 +49024,7 @@ horion.com horionsw.com horizon-china.com horizon.ai +horizon.auto horizon.cc horizonfuelcell.com horizonlawyers.com @@ -49732,7 +49299,6 @@ hqsgw.com hqshuaimi.com hqsmartcloud.com hqsoft.cc -hqstreams.net hqswuye.com hqthw.com hqts.com @@ -49844,7 +49410,6 @@ hroot.co hroot.com hrpackage.com hrqxy.com -hrrlzy.com hrrsj.com hrs100.com hrsalon.org @@ -49895,7 +49460,6 @@ hschina.net hscn.com hscode.net hscode123.com -hsd588.com hsdatalab.com hsdbg.com hsdcw.com @@ -49965,7 +49529,6 @@ hsrc.tv hsrcw.com hsrexpo.com hsrjtk.com -hsrnsw.com hsrtd.club hssdk.com hssdtest.com @@ -49980,6 +49543,7 @@ hsszfx.com hst.com hst1966.net hstars.net +hstbroker.com hstczkj.com hstd.com hstong.com @@ -50004,7 +49568,6 @@ hsxhr.cc hsxjjs.com hsxt.com hsxt.net -hsxxad.com hsy188.com hsyaguanjg.com hsyanyi.com @@ -50018,7 +49581,7 @@ hsyymusic.com hsyzg.net hszhizhen.net hszk.org -hszpfk.com +hszq6.com hszq8.com hszsb.org hszsfz.com @@ -50040,7 +49603,6 @@ ht-tech.com ht-valve.com ht0775.com ht1832.com -ht500.com ht88.com ht9.com htai51.com @@ -50223,7 +49785,6 @@ huadian360.com huadiansc.com huadie.com huadihealth.com -huadingxuan.com huadiplan.com huadonghospital.com huadongmedia.com @@ -50280,9 +49841,9 @@ huahuaka.com huahuamaoyi.com huahuan.com huahuihealth.com +huahuizhineng.com huahuo.com huai.gg -huai365.com huaian.com huaiangj.com huaiansgyy.com @@ -50293,13 +49854,11 @@ huaicai.cc huaien.com huaigang.com huaihai.tv -huaihaigufen.com huaihaixiang.com huaijiufu.com huaimg.com huaimi.com huain.com -huainanhai.com huainanhy.com huainannet.com huainanren.net @@ -50434,7 +49993,6 @@ huangli8.com huangliangbo.com huanglong.com huangma.com -huangmeixi.cc huangpucn.com huangqi1688.com huangshaotian.com @@ -50575,7 +50133,6 @@ huashi.cc huashi6.com huashibus.com huashichang.com -huashideh.com huashidongman.com huashijie.art huashilm.com @@ -50690,7 +50247,6 @@ huaxincem.com huaxing.com huaxingas.com huaxingchem.com -huaxingku.com huaxinhz.com huaxinorthop.com huaxinpark.com @@ -50710,7 +50266,6 @@ huayaocc.com huayaody.com huaye.com huayi-faucet.com -huayi-ks.com huayicn.com huayidiaosu.com huayielec.com @@ -50829,7 +50384,6 @@ hufangyun.com hufe.cc hufqekp.com hugane.com -hugao8.com hugcar.com hugd.com hugecdn168.com @@ -50861,7 +50415,6 @@ hui10.com hui10.net hui100.com hui43.com -hui712.com hui800.com hui800.net huians.com @@ -50962,6 +50515,7 @@ huijitrans.com huijiwiki.com huiju.cool huijucn.com +huikao8.com huikex.com huikundz.com huila88.com @@ -51011,7 +50565,6 @@ huimwang.com huinaimei.com huing.net huinkj.net -huinongtx.com huion.com huiqia.net huiqianfan.com @@ -51116,7 +50669,6 @@ huiyicq.net huiyihealth.com huiyijh.com huiyingdai.com -huiyingde.com huiyinxun.com huiyizhuo.com huiyou.com @@ -51129,7 +50681,6 @@ huiyuanyy.com huiyucn.com huiyuehz.com huiyumedia.com -huiyunsec.xyz huiyutools.com huize.com huizecdn.com @@ -51174,7 +50725,6 @@ hulianfang.com hulianmaibo.com hulianwangchuangye.com hulichuang.mobi -huliku.com hulinhong.com hulixin.com huliyx.com @@ -51199,7 +50749,6 @@ humanrights-china.org humanwellcaps.com humanwellhb.com humaotec.com -humbletg.com humblit.com humengyun.com humensec.com @@ -51219,6 +50768,7 @@ hunaniptv.com hunanjz.com hunanpea.com hunantv.com +hunanxingxin.com hunanyuneng.com hunanzp.com hunanzy.com @@ -51264,6 +50814,8 @@ huo07100hy.com huo07110hy.com huo07120hy.com huo07140hy.com +huo07150hy.com +huo07160hy.com huoas.com huoban.com huobanbot.com @@ -51289,6 +50841,7 @@ huochehuan.com huochepiao.com huochepiao.net huocheso.com +huocms.com huodao.hk huodong.org huodong.store @@ -51563,7 +51116,6 @@ hwxc.com hwxda.com hwxfc.com hwxjp.com -hwxlawyer.com hwxnet.com hwxuanliuqi.com hwyton.com @@ -51608,6 +51160,7 @@ hxdec.com hxdi.com hxdkfp.com hxdkj88.com +hxdrisk.com hxdsbgg.com hxdspa.com hxdtekf.com @@ -51709,7 +51262,6 @@ hxxkw.org hxxl6.com hxxlm.com hxxsljd.com -hxy365.com hxycxx.com hxyd.cc hxydup.com @@ -51718,11 +51270,9 @@ hxys.com hxytea.com hxytw.com hxyxt.com -hxyyad.com hxyyw.com hxz.ink hxzlsgs.com -hxzq.net hy-china.com hy-express.com hy-f.com @@ -51894,11 +51444,9 @@ hywater.net hywaternet.com hywh1999.com hywjjz.com -hywly.com hywx.com hyx1927.com hyxiang888.xyz -hyxny888.com hyxrmt.com hyxt.com hyy99.com @@ -51933,7 +51481,6 @@ hz-kedi.com hz-moon.com hz-pharm.com hz-polar.com -hz-shoes.com hz-spring.net hz-tire.com hz-tt.com @@ -51941,7 +51488,6 @@ hz-winone.com hz-xiaofei.com hz-xin.com hz-zhuce.com -hz-zjsh.com hz-zq.com hz2jx.com hz2y.com @@ -52012,7 +51558,6 @@ hzcnc.com hzcollege.com hzcopyright.com hzcourse.com -hzcphotonics.com hzctjs.com hzctkj.com hzctxh.com @@ -52038,7 +51583,6 @@ hzdx.com hzebang.com hzecsemir.com hzeeec.com -hzefjs.com hzeg.com hzelec.com hzepd.com @@ -52287,6 +51831,7 @@ hzsnowcom.com hzsource.com hzsp.com hzspeed.com +hzsports.net hzsqhb.com hzsqsmart.com hzsswjt.com @@ -52523,7 +52068,6 @@ i7gg.com i7ol.com i7play.com i7txt.cc -i7txt.com i8001.com i8956.com i8cn.com @@ -52851,6 +52395,7 @@ ichennan.com icheruby.net icheshi.com ichezhan.com +ichhlj.com ichika.cc ichinaceo.com ichinaenergy.com @@ -52920,6 +52465,7 @@ icolor8.com iconntech.com icoolby.com icoolxue.com +icoonal.xyz icoou.com icoremail.net icos8.com @@ -52944,7 +52490,6 @@ icphu.com icpisp.net icpkuaiban.net icplishi.com -icpmii.com icqone.com icrazyidea.com ics-sec.com @@ -52982,8 +52527,8 @@ icver.com icvip.com icxbk.com icxinli.com -icxuqjw.com icy-capital.com +icytown.com icyuyan.net icz.com iczhiku.com @@ -52995,7 +52540,6 @@ ida-a.org idachu.com idacn.org idadt.com -idafen.com idaguang.com idailycar.com idaima.com @@ -53120,7 +52664,6 @@ idlegog.com idloves.com idmchina.net idmzj.com -idn100.com idname.com idnscloud.com ido-love.com @@ -53215,7 +52758,6 @@ ieforever.com iefrd.com iefxz.com iegcom.com -iegee.net iegourl.com ieh-hz.com iehou.com @@ -53226,7 +52768,6 @@ ieltsabc.com ieltschn.com ieltsonlinetests.com iemailforce.com -iemate.com iemblog.com iemiq.com iemnet.xyz @@ -53334,7 +52875,6 @@ iflyrec.com iflyresearch.com iflysec.com iflytek.com -iflytekin.com iflytektstd.com iflytoy.com ifmtech.com @@ -53345,7 +52885,6 @@ ifonelab.net ifonts.com iforce-ad.com iforce-media.com -iforestbox.com ifoxfactory.com ifoxhui.com ifqcihp.com @@ -53412,6 +52951,7 @@ igoomall.com igou.com igoyx.com igps123.com +igpsport.com igptex.com igreatdream.com igrs.org @@ -53523,7 +53063,6 @@ ihuipao.com ihuisida.net ihuman.com ihumand.com -ihungyi.com ihuntto.com ihuoli.com ihuoqiu.com @@ -53532,7 +53071,6 @@ ihuoshanlive.com ihuoshanstatic.com ihuoshanvod.com ihuoyan.com -ihupai.com ihupo.com ihush.com ihuyi.com @@ -53567,7 +53105,6 @@ iieii.com iiesz.com iieye.cc iigs9.com -iigushi.com iii80.com iiiaaa.com iiiddd.com @@ -53741,7 +53278,6 @@ ilianwo.com ilianyue.com ilibrand.com ilidubj.net -ilieqi.net ilifesmart.com ilikecp.com ilikemanga.com @@ -53965,6 +53501,7 @@ imlazy.ink imlb2c.com imlianai.com imliuyi.com +imlizhi.com immeee.com immersivetranslate.com immfast.com @@ -53991,6 +53528,7 @@ imoemh.com imofan.com imoffice.com imohu.com +imok.run imoke.org imolive.tv imomoe.com @@ -54072,6 +53610,7 @@ imzego.com imzhanghao.com imzhongxin.com imzhuomo.com +imzudian.com imzy.ink in-cen.com in-driving.com @@ -54214,8 +53753,10 @@ inibiru.com inicoapp.com inidc.net ininin.com +initcc.com initff.com initialview.com +initkk.com initpp.com initroot.com initvv.com @@ -54361,7 +53902,6 @@ internationalbrand.net internbird.com internetke.com internettrademark.com -interotc.net intertid.com interval.im intimerent.com @@ -54443,6 +53983,7 @@ ioqoo.com iorca.net iornnl.xyz ios-auto.net +ios114.com ios222.com ios98.com iosask.com @@ -54457,6 +53998,7 @@ iosyyds.com ioszc.com ioszn.com iot-cas.com +iot-dc.com iot.moe iot0.net iot1001.com @@ -54784,7 +54326,6 @@ iseedog.com iseekids.com isellerpal.com isenruan.com -isenxwsc.com iseoku.com isf.ink isfashion.com @@ -55018,7 +54559,6 @@ itcpn.net itczh.com itdabao.com itdai.com -itdaogou.com itdayang.com itdcw.com itdevnow.com @@ -55089,7 +54629,6 @@ itit.io itjoy.net itjspx.com itjuzi.com -itkoudai.com itkuku.com itlic.com itlog.vip @@ -55110,7 +54649,6 @@ itnb.cc itnec.org itnihao.com itnxs.com -ito-co.com itoec.org itoegd.com itogame.com @@ -55179,7 +54717,6 @@ itto100.com ittribalwo.com ituad.com ituchong.com -itugo.com ituite.com ituopeng.com iturco.com @@ -55241,7 +54778,6 @@ iv06.com iv2i.com iva-schmetz.com ivali.com -ivanli.cc ivban.com ivcheng.com ivdchina.org @@ -55292,7 +54828,6 @@ iwangzha.com iwanoutdoor.com iwanshow.com iwanws.com -iwanyl.com iwapan.com iwatani-gz.com iwatch365.com @@ -55311,7 +54846,6 @@ iweidu.net iweixiu120.com iweju.com iwellen.com -iweme.net iwen1.com iwenan.com iwencai.com @@ -55365,7 +54899,6 @@ ixianlai.com ixiaochengxu.cc ixiaoma.com ixiatxt.com -ixiede.com ixigua.com ixiguapi.com ixiguavideo.com @@ -55417,7 +54950,6 @@ iyaya.com iyaya.info iyb.tm iybtv.com -iycdm.com iycsky.com iycwl.com iydsj.com @@ -55553,7 +55085,7 @@ j2ee.cc j2up.com j3cx.com j4321.com -j45.xyz +j4lpr.com j5.cc j5757.com j5k6.com @@ -55562,7 +55094,6 @@ j7c16.icu j8j9.com j95a.com j99h8.com -j9dq.com j9pic.com ja-cloud.com jaadee.com @@ -55637,6 +55168,7 @@ jarhu.com jarods.org jarvisw.com jasangroup.com +jasminer.com jasolar.com jason-z.com jason5.xyz @@ -55728,6 +55260,7 @@ jbzyw.com jc-ai.com jc-dl.net jc-hr.com +jc-pcba.com jc-saas.com jc0531.com jc170.com @@ -55817,7 +55350,6 @@ jcno.net jcodecraeer.com jcpeixun.com jcpesz.com -jcqm001.com jcqzw.com jcrb.com jcrcw.com @@ -56014,6 +55546,7 @@ jdphone.net jdplay.com jdpta.com jdpz44.com +jdreader.net jdrns.com jdrpr.com jdrq.net @@ -56029,7 +55562,6 @@ jdt-precision.com jdtiot.com jdtjy.com jdtxgc.com -jduiv.com jdunion.com jdv794.vip jdvisa.com @@ -56071,7 +55603,6 @@ jdzol.net jdzrcw.com jdzs.com jdzwang.com -jea-asia.com jeacar.com jean.cd jeanphy.online @@ -56292,7 +55823,6 @@ jhfsata.com jhgolfcarts.com jhgroup525.com jhgtgb.com -jhgujia.com jhgykt.com jhhospital.com jhhygl.com @@ -56327,7 +55857,6 @@ jhsddjd.com jhsjttz.com jhspa6.com jhszyy.com -jhtcgroup.com jhtmsf.com jhtong.net jhuishou.com @@ -56555,7 +56084,6 @@ jiangpaipinpai.com jiangping.fyi jiangpinjiangxin.com jiangqiaomuye.com -jiangqimeixue.com jiangque.com jiangruyi.com jiangshancpa.com @@ -56689,7 +56217,6 @@ jianxi-materials.com jianxinchemical.com jianxinyun.com jianxiyasi.com -jianxuzuo.com jianyanjia.com jianyechina.com jianyefans.com @@ -56865,7 +56392,6 @@ jiazhao7.com jiazhaoba.com jiazhi.online jiazhichem.com -jiazhongkeji.com jiazhoulvke.com jiazhua.com jiazhuang.com @@ -56933,10 +56459,12 @@ jiefu.com jiefu.net jiefuku.com jiegames.com +jiege.pro jiegeng.com jiegon.com jiehua-chem.com jiehua.com +jiehualv.com jiehuapharma.com jiehuigroup.com jiehun021.com @@ -57088,7 +56616,6 @@ jikegou.net jikeiot.cloud jikejiang.com jikejiazhuang.com -jikejidi.com jikejishu.com jikeq.com jiketuchuang.com @@ -57124,7 +56651,6 @@ jimay.com jimei-cn.com jimeilm.com jimeisilk.com -jimeius.com jimeng.com jimeng.mobi jimetec.com @@ -57201,7 +56727,6 @@ jindidata.com jindidq.com jinding.cc jindingfm.com -jindongneng.com jindongsoft.com jindoushiqi.com jinducw.com @@ -57218,7 +56743,6 @@ jinfanda.com jinfangka.com jinfapharma.com jinfengcx.com -jinfenghl.com jinfengpaint.com jinfengwine.com jinfh.net @@ -57251,7 +56775,6 @@ jingdaka.com jingdapcb.com jingdata.com jingdeyx.com -jingdiancha.net jingdianhuayu.com jingdianju.com jingdianlaoge.com @@ -57271,7 +56794,6 @@ jinggeng.net jinggon.com jinggong-auto.com jinggongvalve.com -jinggu-ag.com jingguan.ai jinggui.com jinggumofang.com @@ -57397,7 +56919,6 @@ jingyitech.com jingyiyiyao.com jingyougz.com jingytech.com -jingyu.com jingyuan.com jingyuelaw.com jingyuetang.com @@ -57432,7 +56953,6 @@ jinhuo.net jinhusns.com jinhutour.com jinianbi.com -jinianbishequ.com jiniance8.com jinianri.com jining.com @@ -57452,7 +56972,6 @@ jinjiaomh.com jinjie.tech jinjiedu.com jinjieshengwu.com -jinju8.com jinkaijia.com jinkan.org jinkanghospital.com @@ -57475,7 +56994,6 @@ jinlaijinwang.com jinlangbo.com jinlanqihua.com jinlanzuan.com -jinleijx.com jinletx.com jinlianchu.com jinling.com @@ -57495,7 +57013,6 @@ jinlvkeji.com jinlyb.com jinma-int.com jinmabrand.com -jinmacy.com jinmajia.com jinmalvyou.com jinmao-ti.com @@ -57522,6 +57039,7 @@ jinpin.xyz jinpu.com jinpupvc.com jinqi2023.com +jinqiang.online jinqiangjc.com jinqianguan.com jinqianma.com @@ -57559,7 +57077,6 @@ jinrongren.net jinrui-tech.com jinruimedical.com jinruism.com -jinruitc.com jinrunsoft.com jins-cn.com jinse.com @@ -57704,6 +57221,7 @@ jishicn.com jishigou.net jishigu.com jishirili.com +jishitailai.com jishiyuboke.com jishubai.com jishuchi.com @@ -57792,7 +57310,6 @@ jiuchutong.com jiucool.org jiudafu.com jiudaifu.com -jiuday.com jiudianhudong.com jiudianjiu.com jiudianrong.com @@ -57802,7 +57319,6 @@ jiudingcapital.com jiudinggroup.com jiudingref.com jiufengsuye.com -jiufuquan.com jiugang.com jiugangbid.com jiuguijiu000799.com @@ -57890,7 +57406,6 @@ jiuwanshan.net jiuwei.net jiuweick.com jiuweige.com -jiuwo123.com jiuxian.com jiuxianfeng.com jiuxiaobao.vip @@ -57955,7 +57470,6 @@ jixiew360.com jixiewz.com jixinbbd.com jixinet.com -jixinhuanjing.com jixixx.com jixuanw.com jixueedu.com @@ -57983,7 +57497,6 @@ jiyuntang.com jiyusi.com jizhan.com jizhangla.com -jizhangzhuce.com jizhaotang.com jizhazha.com jizhiba.com @@ -58102,7 +57615,6 @@ jjxyls.com jjy118.com jjycc.cc jjycw.net -jjydp.com jjygym.com jjypyz.com jjys188.com @@ -58141,7 +57653,6 @@ jkcsjd.com jkd.com jkdsz.com jkelec.com -jkfwvip.com jkfy5.com jkh-ym.com jkhapp.com @@ -58267,7 +57778,6 @@ jljzzs.com jlkfapp.com jlkgj.com jlkj.cc -jlkja.com jlkjgroup.com jllihua.com jllyzxyy.com @@ -58322,6 +57832,7 @@ jlxhyy.com jlxtxny.com jlxzt.com jlylwater.com +jlyr2.com jlysgjzx.com jlytzk.com jlywkj.com @@ -58465,7 +57976,6 @@ jnjpkj.com jnjszl.com jnjtsc.com jnkason.com -jnkbmy.com jnky.com jnlab.com jnlc.com @@ -58541,7 +58051,6 @@ job1998.com job225.com job2299.com job250.com -job256.com job263.com job36.com job369.com @@ -58597,14 +58106,12 @@ jocund-gift.com jodoll.com joe92.com joessem.com -joey-rose.com jogjamedianet.com johhan.com johnlz.com johnmedia.com johogames.com johome.com -johope.com johouse.com joiest.com joinchitchat.com @@ -58732,7 +58239,6 @@ joyncleon.com joynext.com joyochem.com joyocosmetics.com -joyog.com joyoget.com joyoucnc.com joyoung.com @@ -58801,7 +58307,6 @@ jpmsg.com jpnettech.com jpnlink.xyz jpnxcn.com -jpplanking.com jpqgxy.com jprtyun.com jpsdk.com @@ -58901,7 +58406,6 @@ jrszw.com jrtaiji.net jrteck.com jrtgroup.net -jrtkse.com jrtx.site jrwenku.com jrxtp.com @@ -58920,7 +58424,6 @@ js-cxjt.com js-dw.com js-emap.com js-exp.com -js-fangyuan.com js-gear.com js-gojo.com js-haiyao.com @@ -58936,7 +58439,6 @@ js-rongzheng.com js-seeker.com js-shenghang.com js-talents.com -js-tengda.com js-weilong.com js-xny.com js-ym.com @@ -58944,7 +58446,6 @@ js-zk.com js.design js04999.com js0573.com -js11183.com js118114.com js165.com js178.com @@ -59001,7 +58502,6 @@ jschunxing.com jschy.com jscj-elec.com jscj.com -jsckjqr.com jsckw.org jsclearing.com jscmjt.com @@ -59286,7 +58786,6 @@ jsnol.com jsnovel.com jsntg.com jsntgas.com -jsntzsgs.com jsnx.net jsnxs.com jsnydefy.com @@ -59297,7 +58796,6 @@ jsomick.com jsonin.com jsososo.com jsp158.com -jsp51.com jspaint.com jspang.com jspatch.com @@ -59350,7 +58848,6 @@ jssalt.com jssbaoxian.com jssbjt.com jssc.cc -jsscsj.com jssczxh.com jssdezyy.com jssdh.com @@ -59394,7 +58891,6 @@ jssuty.com jssuwei.com jsswordshop.com jssyj.com -jssylawfirm.com jssytc.com jssyyy.net jstcm.com @@ -59413,7 +58909,6 @@ jstlcyy.com jstlgn.com jstljs.com jstore.site -jstour.com jstoys.net jstsks.com jstti.com @@ -59544,7 +59039,6 @@ jsyxep.com jsyxh.org jsyxrcb.com jsyypump.com -jsyyzz.net jsyzht.com jsz120.com jszbtb.com @@ -59665,7 +59159,6 @@ ju33.com ju3x3so.com ju51.com ju53.com -ju81.cc juaiyou.com juanbao.com juandou.com @@ -59859,7 +59352,6 @@ junanres.com junanshengwu.com junao147.com junaotiyu.com -juncaiqh.com junce.com juncyun.com jundacheng.com @@ -59960,7 +59452,6 @@ jurcc.net juren.com jurenqi.com jurilisheng.com -juroku.net jurongfangchan.com jurongrencai.com jurp.net @@ -60025,7 +59516,6 @@ juwang.com juwangmedia.com juwanhezi.com juwanshe.com -juwanzhuan.com juwed.com juweixin.com juxia.com @@ -60065,6 +59555,7 @@ juzhen.io juzhentech.com juzhenyun.org juzhi720.com +juzhiliang.com juzhiyuan.com juzhongjoy.com juzicon.com @@ -60133,7 +59624,6 @@ jwzykg.com jx-189.com jx-amc.com jx-bank.com -jx.la jx09.com jx116114.com jx139.com @@ -60227,6 +59717,7 @@ jxjdgy.com jxjee.com jxjia.net jxjianwei.com +jxjktzjt.com jxjmzc.com jxjob.net jxjrw.com @@ -60530,6 +60021,7 @@ jz68888.com jzb.com jzbar.net jzbdc.com +jzbull.com jzcbank.com jzchou.com jzcmfw.com @@ -60572,6 +60064,7 @@ jzkjjt.com jzkoo.net jzlt100.com jzmbti.com +jzmjtjn.xyz jzmlzy.com jzmob.com jzmsmj.com @@ -60618,12 +60111,12 @@ jzwcom.com jzwl66.com jzwxfrp.com jzx.com +jzxian.com jzxjcf.com jzxs.com jzygczx.com jzyqyb.com jzyqzypg.com -jzysjt.com jzyx.com jzzfyw.com jzzhw.com @@ -60631,6 +60124,7 @@ jzzls.com jzzx.com jzzypt.com k-boxing.com +k-dyn.com k-kbox.com k-res.net k.biz @@ -60695,7 +60189,6 @@ kacper.fun kada.com kada163.com kadang.com -kadingding.com kaeryun.com kafangtech.com kafeng.com @@ -60788,7 +60281,6 @@ kaiteer17.com kaitianad.com kaitiancloud.com kaiting.cc -kaivps.com kaiwenda.com kaiweneducation.com kaiwind.com @@ -60956,10 +60448,8 @@ kanguo.com kanguowai.com kangxi55wlsf.com kangxiang.com -kangxiangjituan.com kangxidi.com kangxin.com -kangxinzhiyuan.com kangyang51.com kangyiqiye.com kangyuntang.com @@ -61008,7 +60498,6 @@ kansea.com kanshangjie.com kanshijie.cc kanshu.com -kanshu.la kanshu5.net kanshu58.cc kanshuge.com @@ -61065,6 +60554,7 @@ kaopenhs.com kaopu001.com kaopubao.com kaopubao.net +kaopujinfu.com kaopuyun.com kaopuyun.net kaoqin.com @@ -61101,7 +60591,6 @@ kaoyanjun.com kaoyanking.com kaoyanmiji.com kaoyannanda.com -kaoyanne.com kaoyansiji.com kaoyanwin.com kaoyaya.com @@ -61156,6 +60645,7 @@ kbao123.com kbcdn.com kbcmw.com kbcool.com +kbddftp.com kbdfans.com kbgogo.com kbgok.com @@ -61198,17 +60688,14 @@ kcjyyjzzs.com kcloudidc.com kcm120.com kcouxp.com -kcpseo.com kcqcjt.com kcrcb.com kcrea.cc -kcsgx.com kctgov.com kcwiki.org kcyuri.com kczhaosheng.com kczjlb.com -kd-hw.com kd010.com kd100.com kd120.com @@ -61282,6 +60769,7 @@ keda.com keda.fun kedabai.com kedacom.com +kedaifu.com kedang.net kedanm.com kedaotech.com @@ -61544,10 +61032,10 @@ keylol.com keymantek.com keymedbio.com keymoe.com +keyoo.com keyoou.com keyray-hk.com keyshot.cc -keyshot.pro keytherapharma.com keyto168.com keytoix.vip @@ -61613,7 +61101,6 @@ kgimg.com kgipr.com kgnmkj.com kgogame.com -kgou.cc kguaq.com kgzyy.com kh-zx.com @@ -61822,6 +61309,7 @@ kitstown.com kituin.fun kivend.net kivo.fun +kivo.wiki kiwa-tech.com kiwenlau.com kiwifarms.net @@ -61899,6 +61387,7 @@ kk-china.com kk1.vip kk169.com kk18.com +kk1bie336689.com kk30.com kk30.net kk3g.net @@ -61918,6 +61407,7 @@ kkdgroup.com kkdict.com kkdnsv1.com kkdownload.com +kkdzpt.com kkeji.com kkfesw.com kkffdns.com @@ -61941,6 +61431,7 @@ kkmar.com kkmh.com kkmicro.com kkmop.com +kkong.vip kkpan.com kksmg.com kksofts.com @@ -62041,11 +61532,11 @@ kmdcwt.com kmdn.net kmdns.net kmeecc.com +kmeila.com kmeitu.com kmf.com kmfengli.com kmg-jd.com -kmgcpf.net kmgdgs.com kmgg88.com kmguolv.com @@ -62058,6 +61549,7 @@ kmimall.com kmjt.net kmlcl.com kmlhh.com +kmljexb.xyz kmljk.com kmmama.com kmmdkj.com @@ -62108,7 +61600,6 @@ knbmotor.com knewbi.com knewone.com knewsmart.com -kneyvz.xyz knfeco.com knight-un.com knightli.com @@ -62278,7 +61769,6 @@ koudaigou.net koudaili.com koudaionline.com koudaionline.net -koudaipe.com koudaitiku.com koudaitong.com koudashijie.com @@ -62291,7 +61781,6 @@ kouke5.com koukousky.com koukuko.com koumakan.cc -kouming.net kouqiangba.com koushare.com kouss.com @@ -62306,14 +61795,13 @@ kowa103.com kowloonhospital.com kox.moe koyuki.cc -kpanda.wiki kpblw.com +kpbyd.com kpdhk.com kpfans.com kpfcw.com kpfqg.com kphm88.com -kphrs.com kphwchem.com kpjushi.com kpkpw.com @@ -62371,7 +61859,6 @@ kriweb.com krones-group.com krones.com krpano.tech -krplanking.com krqcitie.com krszf.com krtdl.com @@ -62447,6 +61934,7 @@ ksops.com ksord.com ksosoft.com kspays.com +kspeeder.com kspkg.com ksrc001.com ksren.com @@ -62467,6 +61955,7 @@ kstao.com kstengcai.com kstnjscl.com kstore.space +kstore.vip kstv.com ksudi.com ksupdate.com @@ -62551,7 +62040,6 @@ ku6cdn.com ku6img.com ku82.com ku90.com -ku9377.com ku968.com ku987.com kua365.com @@ -62673,7 +62161,6 @@ kuaishouba.com kuaishougroup.com kuaishoupay.com kuaishouzt.com -kuaishu.net kuaishuru.net kuaisouwifi.com kuaisu.com @@ -62728,7 +62215,6 @@ kuajingzhushou.com kuajinzhifu.com kuakao.com kuakao.net -kuake666.com kuake8.com kuamarketer.com kuaming.com @@ -62758,8 +62244,8 @@ kuark.com kuashou.com kuashuonk.com kuayuegroup.com -kubady2.com kubercloud.com +kubesre.xyz kubey.cc kubikeji.com kuboluo.com @@ -62949,9 +62435,7 @@ kutinai.com kutj.com kutongji.com kutuan.com -kuuad.com kuuke.com -kuv97t.xyz kuvun.com kuwan8.com kuwanapp.com @@ -62986,7 +62470,6 @@ kuzhengame.com kuzu.com kv-kva.com kvenjoy.com -kvfumdr.com kvhee.com kviso.com kvogues.com @@ -63028,7 +62511,6 @@ kwimgs.com kwinbon.com kwise-log.com kwkf.com -kwmachineworks.com kwniu.com kwong-tech.com kws123.com @@ -63045,7 +62527,6 @@ kx001.com kx139.com kx1978.com kx1d.com -kx2222.com kx778.com kx7p.com kxapps.com @@ -63180,6 +62661,7 @@ l1yu.com l2cn.com l2h.site l2t7.cc +l2z4l.net l3gt9.com l68.net l7audiolab.com @@ -63230,9 +62712,9 @@ ladymetro.com ladyol.com ladyw.com ladyw.net +laecloud.com laey.net laf.run -lafacw.xyz lafaso.com lafayettewines.com lafy.org @@ -63331,7 +62813,6 @@ laizhouba.com laizhouba.net laizhoujob.com laizi.net -lajixs.com lajoson.com lakala.com lakecn.com @@ -63477,7 +62958,6 @@ langxi.org langxi.xyz langxingys.com langxiyuyou.com -langyabang.com langzezs.com lanh.love lanhaicaijing.com @@ -63510,8 +62990,6 @@ lanlingtuliao.com lanlv.com lanmaiedu.com lanmao.com -lanmao88.hk -lanmao99.hk lanmaokeji.com lanmaos.com lanmicloud.com @@ -63522,7 +63000,6 @@ lanohotel.com lanosso.com lanou3g.com lanovamedicines.com -lanpanpan.com lanpiankeji.com lanpuele.com lanpv.com @@ -63590,6 +63067,7 @@ lanying.site lanyingwang.com lanyu.net lanyue.com +lanyun.net lanyunbrand.com lanyuncloud.com lanyuncms.com @@ -63769,7 +63247,6 @@ laschina.org lascn.net laser-dhc.com laser568.com -laserboltland.com laserfair.com laserjg.com lashou.com @@ -63796,6 +63273,7 @@ lavago.com lavandehotels.com lavapm.com lavaradio.com +lavdrzv.xyz law-lib.com law-star.com law01.net @@ -63955,7 +63433,6 @@ lcfgjs.com lcfile.com lcfw.co lcgdbzz.org -lcgfpt.mobi lcgjcj.com lcgod.com lchot.com @@ -63983,6 +63460,7 @@ lcpumps.com lcqixing.com lcqjsjxxx.com lcqwdz.com +lcrc.ltd lcrcbank.com lcrq.net lcsepu.com @@ -64042,6 +63520,7 @@ ldkj-zs.com ldkqyy.com ldmap.net ldmnq.com +ldoooo.com ldplayer.net ldqxn.com ldrcw.com @@ -64209,7 +63688,6 @@ lee-tieguo.com leeaon.com leeco.com leefanmr.com -leehomcn.com leehon.com leeleo.vip leenzee.com @@ -64385,6 +63863,7 @@ lengyankj.com lengzzz.com leniugame.com leniy.org +lenmy.com lenogo.com lenosoft.net lenovator.com @@ -64482,6 +63961,7 @@ lestcg.com letabc.com letang666.com letao.com +letaoedu.com letaofang.net letaoren.com letbonchina.com @@ -64576,7 +64056,6 @@ leyixue.com leyonb.com leyoo.com leyoujia.com -leyouquan.com leyu.com leyuanhr.com leyue100.com @@ -64696,7 +64175,6 @@ lhasa.icu lhave.com lhbbj.com lhbgchina.com -lhbye.com lhconst.com lhcreditevaluation.com lhcy168.com @@ -64971,6 +64449,7 @@ lichimedicine.com lichiwei.com lichong.work lichuang.ren +licic.net lickeji.com lickscreen.com licomsh.com @@ -65049,7 +64528,6 @@ lifanfc.com lifebook.red lifediary.shop lifeeu.com -lifegatemedicine.com lifegc.com lifegreenmedical.com lifeinjungle.com @@ -65310,7 +64788,6 @@ lingtong.info lingtool.com lingtu.com lingtuan.com -lingualeo.com lingumob.com linguoguang.com lingw.net @@ -65479,7 +64956,6 @@ linuopv.com linuoshi.com linuottc.com linuozhiyao.xyz -linuser.com linux-code.com linux-ren.org linux.zone @@ -65599,6 +65075,7 @@ listenpa.com listentide.com listentoworld.com listenvod.com +listno1.com listong.com lisure.com lisz.me @@ -65647,7 +65124,6 @@ liu-kevin.com liu16.com liuayuan.com liubaocha.com -liubo.live liucao.vip liuchengguanli.com liuchengming.com @@ -65767,13 +65243,13 @@ liuyimin4.com liuyixiang.com liuyua.xyz liuyuechuan.com -liuyun.name liuyunliumeng.com liuyuntian.com liuzaoqi.com liuzekang.com liuzhihang.com liuzhixiang.com +liuzhiyugzs.com liuzhosoft.com liuzhoufushan.com liuzhoukaichuang.com @@ -65795,6 +65271,7 @@ liveapp.ink livecdnstatic.com livechina.com livecourse.com +livehwc4.com liveinau.com liveincy.com livejh.com @@ -65890,7 +65367,6 @@ liyuplay.com liyx.fun liyx.net lizaike.com -lizhaoblog.com lizhehaozhongyi.com lizhenauto.com lizhenglai.com @@ -65916,13 +65392,13 @@ lizikeji.vip lizilaw.com liziqiche.com lizitongxue.com +liziwl.com liziwu.net lizixin.cool liziyuan.com lizq.host lj-audio.com lj-bank.com -lj-group.com lj168.com ljbao.net ljbbj.com @@ -66028,11 +65504,13 @@ llinkslaw.com lljgame.com lljsq.net lljyx.com +llkk.cc llku.com lllcn.com llllx7.com lllomh.com lllpv.com +llmtrend.com llmworld.net llongwill.com llqsq.com @@ -66058,7 +65536,6 @@ llxj119.com llxx.cc llxzl.com llxzu.com -llycloud.com llyj.net llyweb.com llyy.org @@ -66078,7 +65555,6 @@ lmbhfsgfjs.com lmbus.com lmdk01.com lmdouble.com -lmeee.com lmengcity.com lmeurbnjs.com lmfdt.com @@ -66128,6 +65604,7 @@ lncmcc.com lncmxy.com lncnw.com lnddhxq.com +lndhbv.com lndhdx.com lndnw.com lndwkj.com @@ -66196,7 +65673,6 @@ lnvipsoft.com lnwgms.com lnwish.com lnwoo.com -lnxldkj.com lnxmt.com lnxysf.com lnxzj.com @@ -66219,6 +65695,7 @@ loansliml.com local-ip.online locatran.com locez.com +locimg.com lockchat.app lockfans.com lockin.com @@ -66278,7 +65755,6 @@ logwirecloud.com lohaa.com lohalink.com lohand.com -lohas-art.com lohasor.com lohjs.com lohkahhotels.com @@ -66399,6 +65875,7 @@ longmen-pharma.com longmen.net longmenedutech.com longmeng.com +longmenshuju.com longming.com longmingdns.com longnanke.com @@ -66452,6 +65929,7 @@ longygo.com longyi-uav.com longyin.net longyinok.com +longyistudio.com longyiyy.com longyu.cc longyucq.com @@ -66643,7 +66121,6 @@ lpgjkd.com lph119.com lpllol.com lpou.online -lppoll.com lppsw.com lppz.com lppzimg.com @@ -66707,7 +66184,6 @@ lricn.com lrist.com lrkdzx.com lrkj.net -lrlvs.com lrlz.com lrmation.com lrnya.com @@ -66734,6 +66210,7 @@ lsbankchina.com lsbbf3.com lsbchina.com lsbin.com +lsbj365.com lsbtly.com lsccb.com lscstz.com @@ -66778,7 +66255,6 @@ lsldjyw.com lslfs.com lslgzn.com lslihai.com -lslkkyj.com lsmaps.com lsmtjy.com lsmzt.cc @@ -66826,7 +66302,6 @@ lswfw.com lswgy.com lswld.com lswqw.com -lsxjbxx.com lsxnm.com lsxrmtzx.com lsxuantong.com @@ -66881,7 +66356,6 @@ ltoit.com ltopto.com ltp-cloud.com ltp.ai -ltplayer.com ltplighting.com ltpower.net ltsbbs.com @@ -66904,6 +66378,7 @@ lty.fun ltyears.com ltzsjt.com ltzxw.com +ltzz666.com lu.com lu0.com lu17996.com @@ -66953,7 +66428,6 @@ luckincoffeecdn.com lucklnk.com luckmail.net luckup.cc -luckwt.com luckxh.com lucky286.com lucky8k.com @@ -67024,7 +66498,6 @@ lujiazuiforum.org lujingtao.com lujiya.com lujun9972.win -lujuncn.com lukachen.com lukafei.com lukechina.com @@ -67064,7 +66537,6 @@ lunhuaxiei.com lunkuokeji.com lunlunapp.com lunt.cx -lunwen000.com lunwenf.com lunwengo.net lunwenlib.com @@ -67142,7 +66614,6 @@ luoxue.com luoyangdx.com luoyangkeji.com luoyangmalasong.com -luoye.cc luoyechenfei.com luoying66.com luoyingsh.com @@ -67154,7 +66625,6 @@ lup2p.com lupaworld.com luping.com luqidong.com -luqq.net lure123.com lurefans.com lurefq.com @@ -67201,7 +66671,6 @@ luxianpo.com luxiao.com luxiaoche.com luxichemical.com -luxinyingcheng.com luxiwang.com luxiyue.com luxshare-ict.com @@ -67284,7 +66753,6 @@ lvjieplus.com lvjinsuo.com lvjitangbao.com lvjiwang.com -lvjoe.pw lvjuelaw.com lvjuf.com lvjunzx.com @@ -67347,6 +66815,7 @@ lvyestudy.com lvyetong.com lvyidoor.com lvyinba.com +lvyinbar.com lvyou168.net lvyou521.com lvyoubei.com @@ -67357,7 +66826,6 @@ lvyouw.net lvysz.com lvyuanjj.com lvyuanpam.com -lvyuanzl.net lvyuetravel.com lvzeep.com lvzheng.com @@ -67436,7 +66904,6 @@ lxhuwai.com lxhuwai.net lxhz-avionics.com lxi.me -lxin007.com lxjapp.com lxjiasu.com lxkj.info @@ -67458,7 +66925,6 @@ lxtuyou.com lxway.com lxway.net lxwlcn.com -lxx-inc.com lxxarq.com lxxdyzx.com lxxm.com @@ -67508,7 +66974,6 @@ lyckw.com lycs-arc.com lycua.com lyd-china.com -lyd56.co lyd6688.com lydaas.com lydezx.net @@ -67595,7 +67060,6 @@ lylangchao.com lyldhg.com lylhkq.com lylme.com -lylseo.com lylxjxc.com lymarathon.com lymy1684.com @@ -67622,7 +67086,6 @@ lyrcw.com lyreqiqiu.com lyric-robot.com lyrics.run -lyrunxiang.com lysafety.com lyscjc.com lyshangdu.com @@ -67867,7 +67330,6 @@ lztb.com lztdzy.com lzteli.com lztlcyxx.com -lztuteng.com lztv.tv lztvnet.com lztx123.com @@ -67959,6 +67421,7 @@ m1xia.com m2ez.com m2mlib.com m2mzy.com +m2time.net m3-cloud.com m3guo.com m3kaiye.com @@ -68093,7 +67556,6 @@ magewell.com magfx-jbkk.com magi.com magic-school.com -magicdata.io magich5page.com magicleaders.com magicneko.com @@ -68190,7 +67652,6 @@ maimaiche.com maimaidx.cc maimaigongkong.com maimaimaiw.com -maimaitee.com maimaiyouhuiquan.com maimemo.com maimemostatus.com @@ -68201,7 +67662,6 @@ mainlandip.com mainlandmed.com mainone.com mainshe.com -mainstreethhi.com maintao.com mainwww.com maipu.com @@ -68434,7 +67894,6 @@ manpowergrc.com manrong.win manshaoco.com manshijian.com -manshitea.com manshuo.ink mantachina.com mantewei.com @@ -68627,7 +68086,6 @@ masikkk.com masinen.com masjfc.com masjinquan.com -maslimin.com maslink.com maslong.com mason-led.com @@ -68642,7 +68100,6 @@ massestech.com masszxyy.com masteam.com master-home.com -master-ioowe-iwww.com mastercardnucc.com masterchefworks.com masterfy.com @@ -68884,6 +68341,7 @@ mchat.com mchifi.com mchim.net mchose.pro +mchost.guru mchpk.com mchweb.net mchxx.net @@ -68908,9 +68366,9 @@ mcohmygod.com mcoo.cc mcooks.com mcool.com -mcpeach.cc mcpemaster.com mcpmaid.com +mcq93.app mcqy.net mcsafebox.com mcsgis.com @@ -68961,7 +68419,6 @@ mdhky.com mditie.com mdj2y.com mdjgjjt.com -mdjrcw.com mdkj1.com mdl.ink mdlf.xyz @@ -69006,6 +68463,7 @@ mebhaoya.com mebo.com mebtf.com mebyk.com +mechanic10.xyz mechatim.com mechina.org mechr.com @@ -69029,6 +68487,7 @@ meddatas.com medebound.com medejob.com medeming.com +media.paperclipclub.net mediastory.cc mediatek.com mediav.com @@ -69130,7 +68589,6 @@ meican.com meicanstatic.com meichen.cc meichengchongdian.com -meichengkaifa.com meichenindustry.com meichibao.com meichuanchuan.com @@ -69342,6 +68800,7 @@ meitukiss.com meitumail.com meitumob.com meitumobile.com +meitumv.com meitun.com meituncdn.com meitupaipai.com @@ -69572,7 +69031,6 @@ metastonecorp.com metastudioxr.com metastudy.vip metasyun.com -metatai.xyz metatube.pro metavatar.cc metaversemolecule.com @@ -69603,13 +69061,13 @@ meu95otw4967t.com meuicat.com meutu.com mevionchina.com +mevyyk.com mew.fun mewx.art mexicopanama.com meximexi.me mexingroup.com mexontec.net -mexue.com mexxum.com meyet.net meyoufreight.com @@ -69619,7 +69077,6 @@ mezw.com mf-y.com mf08s.com mf1288.com -mf910.com mf999.com mfbrjc.com mfbuluo.com @@ -69693,7 +69150,6 @@ mgslb.com mgslb.net mgslb.org mgsp.fun -mgszl.com mgtv.com mgtv2025.com mgw999.com @@ -69739,7 +69195,6 @@ mhtclub.com mhtes.com mhtyd.com mhtzjt.com -mhukasx.com mhv2.net mhw315.com mhwck.com @@ -69780,7 +69235,6 @@ miancp.com miandanbx.com mianfeiic.com mianfeiquming.com -mianfeissl.com mianfeiwendang.com mianfeiwucan.org mianfeiziti.com @@ -69807,14 +69261,12 @@ miaodongbar.com miaogongzi.cc miaogongzi.net miaohuiyanyi.com -miaojiangdaoshi.net miaojibrand.com miaokaikeji.com miaokaiyun.com miaokan.com miaokan100.com miaolaoshi.com -miaole1024.com miaolianyunapp.com miaolingbio.com miaomaicar.com @@ -69853,7 +69305,6 @@ miaozanba.com miaozao.com miaozhan.com miaozhen.com -miaozhu888.com miaozhun.com miaozhunjing.net miaozuo.com @@ -69908,6 +69359,7 @@ micronetpay.com microrui.net microsate.com microsoft-ware.com +microsoftsa.com microsoftuwp.com microstarsoft.com microstern.com @@ -69932,6 +69384,7 @@ midainc.com midanyi.com midasbuy.com midea-buy.com +midea-group.com midea-hotwater.com midea.com midea.com.tr @@ -69951,6 +69404,7 @@ midingdong.com midita.com midiyinyue.com midlele.com +midonglab.com midongtech.com midongtech.xyz midu.com @@ -70038,7 +69492,6 @@ mijwed.com mika123.com mike-x.com mikeauth.com -mikechee.com mikechen.cc mikecrm.com mikemessiha.com @@ -70048,7 +69501,6 @@ mikesent-awareness-04.com mikesent.net mikeyouxi.com mikge.com -mikger.com mikika.com miko007.com mikoshu.me @@ -70091,6 +69543,7 @@ milo-star.com miloktv.com miloli.info milphets.com +milsay.com milu.com milu.ink milubtyx.com @@ -70115,9 +69568,7 @@ mimoprint.com mimouse.net mimvp.com minapp.com -mincache.com mincdn.com -minchengjx.com mincoder.com mind-home.net mindai.com @@ -70134,7 +69585,6 @@ mindshow.fun mindsun.com mindway-sz.com minebbs.com -minecraft.kim minecraftxz.com minecraftzw.com minegoods.com @@ -70154,7 +69604,6 @@ mingbianji.com mingbiao001.com mingbiaohao.com mingcalc.com -mingcha.org mingchao.com mingchaoonline.com mingchaoyouxi.com @@ -70225,7 +69674,6 @@ mingtian.com mingtou.com mingxf.com mingxigu.com -mingxingbobbin.com mingxingku.com mingxinglai.com mingxuan.store @@ -70307,7 +69755,6 @@ minovapharma.com minpayment.com minqiao.com minra.com -minrank.com minretail.com minshangjie.com minshengec.com @@ -70396,7 +69843,6 @@ misuland.com misunly.com mitalk.com mitang.com -mitangbao.com mitangtuan.com mitao.bar mitaoping.com @@ -70541,7 +69987,6 @@ ml-kq.com mlabc.com mlairport.com mlbaikew.com -mlbuy.com mlc.cc mldgoing.com mlexpo.com @@ -70566,7 +70011,6 @@ mlj194.com mlj36.com mlj55.com mlj93.com -mljr.com mljydoors.com mlkmba.com mllj.net @@ -70668,7 +70112,6 @@ mmsccn.com mmscoo.com mmsfw.com mmsk.com -mmssai.com mmstat.com mmt3000.com mmtch.com @@ -70699,7 +70142,6 @@ mnjj.group mnkan.com mnnmnn.com mnpc.net -mnptinibfbv.com mnwww.com mnxhj.com mo-co.com @@ -70781,7 +70223,6 @@ mocache.com mocafilm.com mocartoon.com moccaanimation.com -mocdn.xyz mochafengbao.com mochai.store mochateam.com @@ -70855,7 +70296,6 @@ moejp.com moeking.me moeli123.com moemiao.net -moeqy.com moerlong.com moetu.club moetu.org @@ -70882,7 +70322,6 @@ mofazhu.com moffettai.com mofile.com mofishgames.com -mofmicrosoft.com mofoun.com mofunenglish.com mogao.com @@ -70955,7 +70394,6 @@ molefitting.com molegu.com molerose.com molesdn.com -moliao.biz molibaike.com molifan.net molihe.cc @@ -70968,9 +70406,7 @@ moliplayer.com molipy.com moliqiji.com molixiangce.com -molizm.com mollervilla.com -molpmh.xyz molwater.com molygoo.com mom001.com @@ -71030,6 +70466,7 @@ moomoo.com moomooequity.com moomootrustee.com moomv.com +moon-insight.com moonbasa.com moonbio.com moonbitlang.com @@ -71207,7 +70644,6 @@ moxingfans.com moxingyun.com moxiu.com moxiu.net -moxiwh4.com moxuangenet.com moyangmoyang.com moyann.com @@ -71376,6 +70812,7 @@ msjpay.com msjy123.com mskjf.com mskoo.com +mslmc.net msltbio.com mslzk.com msm.moe @@ -71396,7 +70833,6 @@ mstchina.com mstxx.com msudz.com msunland.com -msvod.com msweekly.com msxf.com msxf.net @@ -71427,6 +70863,7 @@ mt77.com mt888vip.com mtadvert.com mtadx.com +mtaokj.com mtavip.com mtblj.com mtchome.com @@ -71471,7 +70908,6 @@ mtmssdn.com mtmssdn0.com mtmt.tech mtmyw.com -mtn-db.com mtnets.com mtnets.net mtoou.info @@ -71573,6 +71009,7 @@ muniao.com munling.com munue.com muomou.com +muouso.fun mupao.com mupceet.com muqianyun.com @@ -71624,7 +71061,6 @@ muwai.com muwaifanzhiliao.com muwenxi.com mux5.com -muxell.com muxia.fun muxin.fun muxiulin.com @@ -71706,6 +71142,7 @@ mxbc.com mxbc.net mxbiao.com mxbsy.com +mxceyjj.com mxchip.com mxddp.com mxde.com @@ -71727,6 +71164,7 @@ mxhichina.com mxhthw.com mxifund.com mxitie.com +mxitres.com mxivi.com mxj.cx mxjd.com @@ -71778,6 +71216,7 @@ my120.org my147.com my1616.net my22.fun +my22.info my2852.com my2space.com my2w.com @@ -71816,6 +71255,7 @@ mybaby100.com mybabya.com mybarrefitness.com mybdqn.com +mybj.com mybjx.net mybosc.com myboyan.com @@ -71830,7 +71270,6 @@ mycar58.com mycaraok.com mycarbar.com mycardgame.net -mycdn-cache.com mychery.com mychery.net mychinaevent.com @@ -71944,7 +71383,6 @@ myie9.com myimis.com myip.la myiplay.com -myipw.com myir-tech.com myiroom.com myirtech.com @@ -72036,6 +71474,7 @@ mypx.org myqcloud.com myqcloud.net myqee.com +myqqdd.com myqqjd.com myr9.com myra2.com @@ -72047,7 +71486,6 @@ myrice.com myrightone.com myroome.com myrqjt.com -myrrcar.cc myrrcar.com myrtb.net myrunners.com @@ -72056,6 +71494,7 @@ mysecretrainbow.com mysemlife.com myseot.com myshipjob.com +myshopex.com myshoptago.com myshou.com myshow360.net @@ -72247,7 +71686,6 @@ n9z.net na.ci na2sib.com na7.cc -naadou.com naaln.com nabluemedia.com naboyi.com @@ -72272,7 +71710,6 @@ nahuiyi.com nahuo.com nahuo8.com nahuo9.com -nai.si naibabiji.com naibago.com naicha99.com @@ -72358,6 +71795,7 @@ nanguache.com nanguakexue.biz nanguakexue.com nangualin.com +nanguaxia.vip nanguowl.com nangxia.com nanhaibank.com @@ -72492,7 +71930,6 @@ narkii.com narochina.com narrowad.com naruto.red -narutom.com narwal.com narwaltech.com nas-ya.com @@ -72559,7 +71996,6 @@ nb-jiale.com nb-medicalsystem.com nb0817.com nb160.com -nb301.xyz nb591.com nba98k.com nbabm.com @@ -72610,7 +72046,6 @@ nbgjwl.com nbgodo.com nbgong.com nbgree.com -nbgroupllc.com nbgy.com nbhailan.com nbhao.org @@ -72658,7 +72093,6 @@ nbocc.com nbosco.com nbpmia.com nbpolytheatre.com -nbpyx.com nbqixing.com nbqwrc.com nbrawwater.com @@ -72681,7 +72115,6 @@ nbslxh.com nbsmjt.com nbsp99.com nbsqbank.com -nbstbz.com nbsti.net nbstjt.com nbstrans.com @@ -72690,6 +72123,7 @@ nbszgd.com nbt.ren nbtlwl.com nbtobacco.com +nbttbn.com nbtzjd.com nbtzsh.com nbuci.com @@ -72709,7 +72143,6 @@ nbwhg.com nbwskj666.com nbxdjt.com nbxiaoshi.net -nbxlxcl.com nbxmz.com nbxry.com nbxsjg.com @@ -72766,7 +72199,6 @@ ncpqh.com ncpssd.org ncq8.com ncqiche.com -ncreal.fun ncsdyyy.com ncshxd.com ncsjhf.com @@ -72813,7 +72245,6 @@ ndgzy.com ndhx.net ndhys.com ndiip.com -ndj-china.com ndj520.com ndjtwl.com ndkhn.com @@ -72858,7 +72289,6 @@ neep.shop neeq.cc neets.cc neeu.com -nefertitiware.com nefficient.co.kr nei-mao.com nei.tm @@ -72869,7 +72299,6 @@ neihancommunity.net neihandiantai.com neihanfly.com neihanshequ.com -neihuang.cc neimaowang.com neimenggugames.com neisha.cc @@ -72893,7 +72322,6 @@ nengrui.com nengshida.com nengshouwangluo.com nengyuanxx.com -nenske.com nenufm.com nenup.com nenzei.com @@ -72983,7 +72411,6 @@ netinfi.com netinfi.net netingcn.com netitest.com -netjue.com netkao.com netman123.com netnoease.com @@ -73141,7 +72568,6 @@ newsmy.com newsmyshop.com newsn.net newspluse.com -newspress.name newssc.net newssc.org newstarpress.com @@ -73198,7 +72624,6 @@ nextpcb.com nextrt.com nextstudios.com nexttao.com -nexttix.net nextvid.net nextworkshop.net nextyu.com @@ -73226,7 +72651,6 @@ nfdx.net nffq.net nffund.com nfgjhr.com -nfkos.com nflchina.com nflsxl.com nfmedia.com @@ -73270,7 +72694,6 @@ ngctransmission.com ngcz.tv ngedu.net ngfcyy.com -nggift.com ngh6.com nghmesc.com ngicer.com @@ -73443,7 +72866,6 @@ nikkiup2u2.com nikkon-china.com nilai.com nileloan.com -nilend.com nimitzvac.com nimolife.com nimotion.com @@ -73713,7 +73135,6 @@ njfk.net njfkdq.com njfklngl.com njflt.com -njfmyd.com njfmz.com njforge.com njfuruisi.com @@ -74048,7 +73469,6 @@ njxizebio.com njxjjsjt.com njxkyy.net njxlhd.com -njxlmz.com njxlxx.com njxnjt.com njxsmz.com @@ -74121,6 +73541,7 @@ njzxxyy.com njzychemical.com njzztyl.com nk-sh.com +nk8686.com nkf-pharma.com nkiec.com nkjy.com @@ -74145,7 +73566,6 @@ nlscan.com nlteck.com nlttms.com nlww168.com -nlxfybjy.com nlxn.com nlyiren.com nlypx.com @@ -74162,7 +73582,6 @@ nmbxd1.com nmbyh.com nmcoo.com nmcpo.com -nmcysp.com nmdhzs.com nmet168.com nmgatdj.com @@ -74234,7 +73653,6 @@ nn22772.com nn22882.com nn2fy.com nn2yy.com -nn33.com nn3yy.com nn4yy.com nn4z.com @@ -74466,7 +73884,6 @@ nnqtc.com nnrbsoa.com nnrc.net nnrfjc.com -nnridangwu.com nnrig.com nnrkz.com nnrongjie.com @@ -74497,7 +73914,6 @@ nnsmk.com nnsmy.com nnsqr.com nnsrjsnzp.com -nnsssss.com nnssyjs.com nnstbss.com nnsugar.com @@ -74556,7 +73972,6 @@ nnyarun.com nnybf.com nnybskq.com nnych.com -nnydcb.com nnydcs.com nnyfjc.com nnyfyfy.com @@ -74571,7 +73986,6 @@ nnylhz.com nnynrc.com nnyongzhou.com nnysart.com -nnytty.com nnyunying.com nnyy17.com nnyypc.com @@ -74631,7 +74045,6 @@ nocode.com nod32jihuoma.com node-is.green node1link.xyz -nodeasy.com nodefu.net nodeing.com nodejs999.com @@ -74725,7 +74138,6 @@ noposion.com nor-land.com noratechpharma.com norchem-pharma.com -nordfxs.com nordicic.com nordicways.com nordikr.com @@ -74765,7 +74177,6 @@ note52.com notedeep.com notetao.com notetech.org -notidc.com notification-list.com notonlymoon.com notrisk.com @@ -74780,7 +74191,6 @@ novastargame.net novaxinli.com novel-supertv.com novelbio.com -noveless.com novelfm.com novelfmpic.com novelfmstatic.com @@ -74788,7 +74198,6 @@ novelfmvod.com novell.me novelquickapp.com novelquickapppic.com -novelsee.com novemideas.com novo-auto.com novo-biotech.com @@ -74872,7 +74281,6 @@ nri-beijing.com nrisc.com nrmchina.com nrmtc.com -nrnr.cc nrsfh.com nrsg.net nruan.com @@ -75052,6 +74460,9 @@ nuctech.com nuedc-ti.com nuedcchina.com nufans.net +nug08010lu.com +nug08030lu.com +nug08031lu.com nuhcpf.com nuhighbio.com nuist.pro @@ -75068,7 +74479,6 @@ nuobeiliao.com nuobeirack.com nuobz.com nuocdn.com -nuocx.com nuodaguandao.com nuodefund.com nuodepharm.com @@ -75088,7 +74498,6 @@ nuonuo.com nuoshell.com nuoshou2023.com nuosike.com -nuotaii.com nuoyahao.com nuoyasite.com nuoye.xyz @@ -75107,6 +74516,7 @@ nutriera.com nutrilite-farm.com nutsbp.com nutspace.com +nutstart.com nutstore.net nutstorehq.com nutzam.com @@ -75136,7 +74546,6 @@ nvsheng.com nvshengjie.com nvshuyun.com nvsip.com -nvwangg.com nvwu.com nvyouguoji.com nvzhanshen.com @@ -75146,7 +74555,6 @@ nw0898.com nwbiotec.com nwct.me nwdlink.com -nwell.net nweon.com nwncd.com nwshotel.com @@ -75177,7 +74585,6 @@ nxlayer2.com nxliao.com nxls.com nxly766.com -nxlyldb.com nxmy.com nxnba.com nxnews.net @@ -75266,6 +74673,7 @@ nzchina.com nzcxh.com nzggroup.com nzghotel.com +nzhnb.com nziku.com nzkd.com nzmice.com @@ -75324,7 +74732,6 @@ oa8858.com oaavv.com oabc.cc oabg.net -oachn.net oacrm.com oact.net oadz.com @@ -75348,7 +74755,6 @@ oatenglish.com oatos.com oauto.com oaz.cc -ob-park.com obagame.com obai.cc obaku.com @@ -75430,7 +74836,6 @@ octsszj.com octsunshine.com octwuhan.com oculist.net -ocuwyfarlvbq.com ocwms.com odaily.news odalong.com @@ -75568,7 +74973,6 @@ ojhdt.com ojidacp.com ojkjt.com ojpal.com -ojz457.com ok-meeting.com ok0415.com ok06.com @@ -75790,6 +75194,7 @@ onelife-love.com onelinkplus.com onelnk.com onemob.mobi +onemtservers.com onenice.tech oneniceapp.com onenoter.com @@ -75932,7 +75337,6 @@ opal-qt.com opalhk.com opark.com opatseg.com -opcns.net opcool.com opdown.com opectek.com @@ -75955,7 +75359,6 @@ openasic.org openatom.club openbayes.com openbcs.com -openbtba.com opencas.org opencloudgpt.online opencloudos.org @@ -75998,7 +75401,6 @@ openrice.com opensoce.com opensplendid.com openssw.com -openthos.com openuc.com openwbs.com openwrt.ai @@ -76008,10 +75410,10 @@ operachina.com operatorcom.com opfed.com opfibre.com -opinion.works opjmw1.ren opkjh.com oplay.net +oplinking.com oplus.com oplustrust.com opmaterial.com @@ -76102,7 +75504,6 @@ ordosqyjt.com ordostonghui.com orebotech.com orfactory.com -orfxsoa.com organo-sz.com orgcc.com orggd.com @@ -76145,7 +75546,6 @@ originsilicon.com originwater.com origloria.com orihard.com -orion34g.com oriphant.com oritive.com oriza.com @@ -76174,6 +75574,7 @@ osase.net osbean.com osbkj.com osbzr.com +osc.cool oscaches.com oscarzhoud.com oschina.com @@ -76181,7 +75582,6 @@ oschina.io oschina.net oscs1024.com osechina.com -osedu.net osee-dig.com oseminfo.com oserror.com @@ -76214,6 +75614,7 @@ ospchina.com ospod.com osportsmedia.com ospp.com +ospserver.net osredm.com osrelease.download.prss.microsoft.com oss-cn-beijing-aliyuncs.com @@ -76237,7 +75638,6 @@ otkglass.com otm.ink otms.com otoeasy.com -otokonocomplex.com otome.me otomedream.com otosaas.com @@ -76245,6 +75645,7 @@ otp-express.com otpub.com otqyzk7mx2t8.com ott4china.com +ottai.com ottclub.com ottcn.com ottcn.help @@ -76443,6 +75844,7 @@ ovtfwn.com ovuems.com ovupre.com ovuwork.com +ovxe.com oway.mobi owecn.com oweidata.com @@ -76452,7 +75854,6 @@ owgels.com owinchina.com owl-go.com owlxjz.lol -ownwuh.xyz owocloud.net owoit.com owseals.com @@ -76483,7 +75884,6 @@ oyqqan.xyz oysd.com oywtv.com oyya.com -oyzdbsx.com oyzns.com oz138.com ozocenter.com @@ -76501,7 +75901,6 @@ p-er.com p-pass.com p.biz p.cdn.persaas.dell.com -p007fyt3.group p023.com p0371.com p0431.com @@ -76519,7 +75918,6 @@ p2pchina.com p2pcq.com p2peye.com p2peye.net -p2pjd.com p2psearchers.com p2ptouhang.com p2pxing.com @@ -76582,6 +75980,7 @@ paiago.com paiangmedical.com paiangstudy.com paibanxia.com +paibaohy.com paicc.com paichen.net paichi.com @@ -76662,6 +76061,7 @@ pamahotel.com pamica.com pamss.net pan-good.com +pan-ics.com pan-key.com pan131.com pan58.com @@ -76760,6 +76160,7 @@ panoramastock.com panothers.com panpanfood.com panpanzsw.com +panpass.net panpay.com panplayable-toutiao-b.com panplayable-toutiao.com @@ -76787,7 +76188,6 @@ pantower.com pantrysbest.com pantuitui.com pantum.com -panwan.net panweizeng.com panxsoft.com panyiyun.com @@ -76813,6 +76213,7 @@ paoshuba.cc paoshuba.org paoxq.com paoxue.com +paozhengtong.com paozw.org papa21.com papa91.com @@ -76832,7 +76233,6 @@ paperbert.com paperbus.com paperbye.com paperccb.com -paperclipclub.net paperclipglobal.com papercool.com paperdb.com @@ -76937,11 +76337,9 @@ payeco.com payititi.com paykwai.com paylf.com -paymax.cc paympay.com paynews.net paypaytech.com -payrao.com paytm-pay.net pb89.com pbc-dcep.com @@ -77023,7 +76421,6 @@ pcgeshi.com pcgogo.com pcgta.cc pch.pub -pchealthcheck.net pchome.com pchome.net pchpic.net @@ -77034,7 +76431,6 @@ pcitech.com pcjsq.com pcljl.com pcmgr-global.com -pcmjggc.com pcmoe.net pcoic.com pcoof.com @@ -77105,7 +76501,6 @@ pdidc.com pdie-expo.com pdim.gs pdinvestmentgroup.com -pdivsvu.com pdlib.com pdlnn.com pdloscar.com @@ -77140,7 +76535,6 @@ peacebird.com peaceboat.net peacekang.com peacepetro.com -peaceticket.com peacha.net peacockedu.com peak-labs.com @@ -77211,7 +76605,6 @@ pek0b0.com pekhongyuan.com peksung.com pelejs.com -pellucid.art pelorseating.com pemap.com pemch.com @@ -77294,6 +76687,7 @@ perfma.net peropero.net peroperogames.com persagy.com +personabook.net personpsy.org perspectivar.com peryt111.fun @@ -77375,6 +76769,7 @@ pgy6.com pgyer.com pgyidc.com pgyy.com +pgyy.vip pgzs.com pgzx.net ph-fc.com @@ -77483,7 +76878,7 @@ phpjiayuan.com phpkaiyuancms.com phplife.net phpor.net -phprpc.org +phprnu.com phpsong.com phpspider.org phpstat.net @@ -77644,7 +77039,6 @@ pinbang.com pinbayun.com pinble.com pinble.net -pinbu.cc pincai.com pinchain.com pinchedashi.com @@ -77718,7 +77112,6 @@ pingstart.com pinguan.com pinguo.us pingwest.com -pingxiangsm.com pingxiangzhifa.com pingxiaow.com pingxuan123.com @@ -77774,7 +77167,6 @@ pintuer.com pintuju.com pintuxiu.net pinuc.com -pinunu.com pinwaiyi.com pinweiqifu.com pinxianghui.com @@ -78018,6 +77410,7 @@ plutoer.com plutuspay.com pluveto.com plvideo.net +plxao.com plxfgroup.com plxww.com plycd.com @@ -78196,7 +77589,6 @@ pop-shoe.com pop136.com pop365.com pop800.com -popasp.com popcj.com popcustoms.com popdg.com @@ -78269,6 +77661,7 @@ potplayer.org potplayercn.com pouchcontainer.io pouquiagievu.com +pouser.net pova-elc.com power-rail.com power-sprayer.com @@ -78328,7 +77721,6 @@ pp51.com pp5200.com pp540.com pp63.com -pp66.cc pp77.com pp8.com pp918.com @@ -78468,7 +77860,6 @@ ppzhan.com ppzhilian.com ppzuche.com ppzw.com -pqd.org pqdtcn.com pqpo.me pqt-bearing.com @@ -78741,6 +78132,7 @@ puer10000.com puercha.cc puercn.com puerlife.org +puersai.com puertea.com puffergames.com pugba.com @@ -78859,7 +78251,6 @@ pvc-diban.net pvc123.com pvcliping.com pvk2e.icu -pvkj.com pvmeng.com pvpin.com pvxmqp.xyz @@ -78869,6 +78260,7 @@ pw1999.com pw65.cc pw88.com pwand.com +pwjptdg.xyz pwjt.com pwkss.com pwmat.com @@ -78942,7 +78334,6 @@ pymeng.com pymh.com pyneo.com pyou.com -pypt020.com pysdsysc.com pyshszh.com pyskl.com @@ -78956,7 +78347,6 @@ python-brief.com python-china.com python100.com python51.com -pythonav.com pythonclub.org pythoner.com pythonheidong.com @@ -78974,7 +78364,6 @@ pyxrc.com pyxwapp.com pyxww.com pyycz.com -pyygbj.com pyynsm.com pyzhbc.com pyzls.com @@ -79044,7 +78433,6 @@ qajung.xyz qakkan.vip qalex.com qamemc.com -qanhnvb.com qapi.cc qaqgame.com qaros.com @@ -79097,7 +78485,6 @@ qcbaas.com qcbone.com qcc.com qcc.qualcomm.com -qcc0.com qccip.com qcckyc.com qccost.com @@ -79160,7 +78547,6 @@ qcq3.com qcql.com qcr.cc qcrencai.com -qcrgz.com qcrlvip.com qcrqll.com qcsapp.com @@ -79452,6 +78838,7 @@ qhd-marathon.com qhd.net qhdast.com qhdatongnews.com +qhderwei.com qhdgjj.com qhdglc.com qhdjgyy.com @@ -79474,7 +78861,6 @@ qhfzcp.com qhg7.com qhgas.com qhgufen.com -qhgy.net qhholding.com qhhxnw.com qhimg.com @@ -79627,7 +79013,6 @@ qianjiayue.com qianjing.com qianjingdesign.com qianjingkeji.com -qianjr.com qianju.org qianka.com qiankoo.com @@ -79682,11 +79067,11 @@ qiant.net qiantangke.com qiantubao.asia qiantucdn.com +qianuni.com qianvisa.com qianwa.com qianwanku.com qianxiangbank.com -qianxiaonet.com qianxibj.net qianximiye.com qianxin.com @@ -79734,7 +79119,6 @@ qiaodan.com qiaofangyun.com qiaofanxin.com qiaofu.shop -qiaogu.com qiaoh.com qiaohewei.cc qiaohu.com @@ -79755,6 +79139,7 @@ qiaoshoujituan.com qiaosidea.com qiaotu.com qiaoxuanhong.com +qiaoxuesi.com qiaoyi.org qiaoyinkg.com qiaoyue66.com @@ -79980,6 +79365,7 @@ qimingzi.net qiminzi.com qimodesign.com qimser.com +qimu86.com qinbei.com qinbing.com qincai.com @@ -80036,7 +79422,6 @@ qingdelan.com qingdou.ltd qingdou.net qingdouw.com -qinger.name qingf001.com qingfanqie.com qingfeichina.com @@ -80091,7 +79476,6 @@ qinglue.net qinglvpin.com qingly.ink qingmail.com -qingmang.mobi qingmayun.com qingmei.me qingmh.com @@ -80124,7 +79508,6 @@ qingshow.net qingshu.live qingshuo.com qingshuxuetang.com -qingsong123.com qingsongcdn.com qingsongchou.com qingsongjituan.com @@ -80235,7 +79618,6 @@ qinxue.com qinxue100.com qinxue365.com qinxuye.me -qinyening.com qinyi.net qinyuanyang.com qinyukehuan.com @@ -80292,7 +79674,6 @@ qishenghuo.com qishengliang.com qishiruye.com qishixitong.com -qishixunmei.com qishu.vip qishui.com qishunbao.com @@ -80302,7 +79683,6 @@ qishuta.net qishuta.org qisi.co qisool.com -qisuu.la qisuya.com qita.love qitaifu.com @@ -80352,6 +79732,7 @@ qiuxian.com qiuxiao.com qiuxue360.com qiuxueshe.com +qiuy.cloud qiuyewang.com qiuyexitong.com qiuyi120.com @@ -80380,6 +79761,7 @@ qixing123.com qixingcr.com qixingquan.com qixingtang.com +qixinpro.com qixintian.com qixinworks.com qixiu88.com @@ -80411,7 +79793,6 @@ qiyeyouxiang.net qiyi.com qiyi.video qiyicc.com -qiyidj.com qiyigx.com qiyikeji.com qiyimusic.com @@ -80464,7 +79845,6 @@ qj175.com qj26.com qj99.net qjbchina.com -qjbwgh.com qjbxw.com qjcode.com qjcrcgas.com @@ -80521,6 +79901,7 @@ qktoutiao.com qkttapp.com qkua.com qkvop.com +qkyamkl.com qkyxzx.com qkzj.com ql-cellbank.com @@ -80591,7 +79972,6 @@ qmht.com qmht.mobi qmjianli.com qmjzdscj.com -qmmgo.com qmniu.com qmqm.net qmrobot.com @@ -80659,7 +80039,6 @@ qooic.com qooioo.com qookar.com qookkagames.com -qoqaoligei.com qoros.com qorosauto.com qosnet.xyz @@ -80680,7 +80059,6 @@ qphospital.com qpjjku.com qpjylm.com qpkaifa.com -qplcinfo.com qplus.com qpoc.com qpstar.com @@ -80730,7 +80108,6 @@ qqcg.com qqcjw.com qqdcw.com qqddc.com -qqder.com qqdiannao.com qqdiannaoguanjiadl.com qqdna.com @@ -80753,7 +80130,6 @@ qqgx.com qqgygd.com qqgyhk.com qqhbx.com -qqhelper.net qqhjy.com qqhn.net qqhot.com @@ -80833,7 +80209,6 @@ qqtu8.cc qqtu8.com qqtxt.cc qqtz.com -qqu.cc qquanquan.com qqumall.com qqurl.com @@ -80866,7 +80241,6 @@ qqyn.com qqyouju.com qqywf.com qqyy.com -qqz1.com qqz7.com qqzby.net qqzfw.com @@ -80950,7 +80324,6 @@ qszt.com qszt.net qt-edu.com qt119.com -qt126.com qt56yun.com qt6.com qt86.com @@ -81018,7 +80391,6 @@ quan007.com quan365.com quanaichina.com quanbailing.com -quanben.com quancang.com quandashi.com quandier.com @@ -81065,7 +80437,6 @@ quanoukeji.com quanqiuwa.com quanqiuweishang.com quanquanapp.net -quanr.com quanriai.com quansheng-group.com quanshi.com @@ -81110,14 +80481,11 @@ qubaike.com qubaobei.com qubiankeji.com qucai.com -qucaigg.com -qucaiti.com qucanzhan.com quce001.com quceaiqing.com quchao.net qucheng.com -quchew.com quclouds.com qudaiji.com qudajie.com @@ -81131,6 +80499,7 @@ qudiandi.com qudingshui.com qudong.com qudong51.net +qudong9.com qudou100.com qudoula.com qudushu.com @@ -81496,6 +80865,7 @@ qupeiyin.com qupingce.com quqi.com quqike.com +quqingting.com quqiuhun.com ququabc.com ququpei.com @@ -81560,9 +80930,7 @@ qvip.net qvkanwen.com qvlz.com qvpublish.com -qvxtzi.xyz qvxz.com -qvyue.com qw5599.com qwbk.cc qwe1e.com @@ -81807,7 +81175,6 @@ qzjzyy002.com qzkangfu.com qzkcw.com qzkey.com -qzkj.tech qzkjyy.com qzks.com qzktzc.com @@ -81989,7 +81356,6 @@ rajyj.com rakinda-aidc.com rakinda-xm.com rakutabichina.com -rakuyoudesu.com ramadaplaza-ovwh.com ramboplay.com ramostear.com @@ -82015,7 +81381,6 @@ ranknowcn.com ranliao.biz ranling.com ranqibiao.net -ranqiren.net rantu.com ranwen.net ranwen.org @@ -82041,6 +81406,7 @@ rashanghai.org rashost.com raspigeek.com rastargame.com +rat.dev rat3c.com rate2003.com rationalwh.com @@ -82096,7 +81462,6 @@ razerzone.com razrlele.com raztb.com rb-parking.com -rb139.com rb400.com rbi-china.com rbift.icu @@ -82149,6 +81514,7 @@ rcnep.com rcolab.com rcpx.cc rcss88.com +rcswo.com rcsxzx.com rcuts.com rcwl.net @@ -82212,7 +81578,6 @@ readboy.com readceo.com readdsp.com readend.net -reader8.com readers365.com readfollow.com readfree.net @@ -82254,7 +81619,6 @@ realor.net realsee-cdn.com realsee.com realshark.com -realsheying.com realtech-inc.com realtimecn.com realtorforce.ca @@ -82271,6 +81635,7 @@ rebo-group.com rechaos.com rechulishebei.com recitymedia.com +reckfeng.com recodeal.com recolighting.com reconova.com @@ -82320,6 +81685,7 @@ redoufu.com redox-med.com redphon.com redq.cc +redraingame.com redrcd.com redream.com redredsquare.com @@ -82375,7 +81741,6 @@ reinness.com rejesafe.com rejushe.com rek8.com -rekelead.com rekong.com rekonquer.com rekoo.com @@ -82416,7 +81781,6 @@ renbenai.com renbenzhihui.com renbj.com rencai.biz -rencaiaaa.com rencaijia.com rencaijob.com rencheng1991.com @@ -82456,11 +81820,9 @@ renminkaiguan.com renminyixue.com renny.ren renping.cc -renqitong.com renren-inc.com renren.com renren.io -renren3d.com renrenbeidiao.com renrenche.com renrencou.com @@ -82503,7 +81865,6 @@ repaiapp.com repair5g.com repanso.com repian.com -repianimg.com replays.net replica.club replicabest.cc @@ -82711,7 +82072,6 @@ rimaiwang.com rin9.com ringdoll.com ringpu.com -rinima.cc rining.com rinlink.com rinvay.cc @@ -82724,6 +82084,7 @@ ripic.xyz rippletek.com riqicha.com risc-v1.com +riscv-dev.tech riscv-mcu.com riscv-summit.com riscv.club @@ -82743,7 +82104,6 @@ rishuncn.com rising-eo.com risingauto.com risinggas.com -risingpenny.com riskbird.com riskivy.com risongtc.com @@ -82847,7 +82207,6 @@ rmbbk.com rmbgame.net rmbgd.com rmburl.com -rmcaribbean.com rmcteam.org rmcvqq.sbs rmejk.com @@ -82855,13 +82214,11 @@ rmgvx.com rmhospital.com rmjiaju.com rmjtxw.com -rmjypx.com rmnof.com rmny.tech rmoxl.com rmrbwc.com rmrun.com -rmryun.com rmsznet.com rmttjkw.com rmtyun.com @@ -82997,7 +82354,6 @@ rongguang-sh.com ronghai.com ronghaosk.com ronghedai.com -ronghejiuye.com ronghotels.com ronghuajixie.com ronghub.com @@ -83013,7 +82369,6 @@ rongmaowl.com rongmei.net rongnav.com rongnews.com -rongqiguan.com rongqu.net rongroad.com rongsheng.biz @@ -83157,7 +82512,6 @@ rrcimg.com rrcp.com rrdiaoyu.com rrdtz.com -rree.com rrfccx.com rrfed.com rrfmn.com @@ -83174,7 +82528,6 @@ rrrdai.com rrrrdaimao.com rrrxz.com rrs.com -rrscdn.com rrsurg.com rrswl.com rrting.net @@ -83197,7 +82550,6 @@ rrzxw.net rs-xrys.com rs485.net rsachina.org -rscala.com rscazvdbfpbyzqdvpy1m.com rscazvdbfpbyzqdvpylm.com rsdcw.com @@ -83289,13 +82641,13 @@ ru9911.com rua93.online ruan.cloud ruan8.com -ruan88.com ruancan.com ruanchaomin.com ruancq.xyz ruanduo.com ruandy.com ruanfujia.com +ruanjian60.com ruanjiandown.com ruanjianwuxian.com ruanjianya.net @@ -83390,7 +82742,6 @@ ruihaozhanlan.com ruihengyiliao.com ruiheyuanny.com ruihongip.com -ruihongxing.com ruihuajw.com ruihuaxinxi.com ruihuo.com @@ -83403,7 +82754,6 @@ ruijinginfo.com ruijinintl.com ruijinyy.com ruikangjinshu.com -ruikesearch.com ruilibi.com ruilimr.com ruilinblw.com @@ -83458,7 +82808,6 @@ ruizhi-group.com ruizhipak.com ruizhiqi.com ruizib.com -ruizim.com ruizong-gz.com rujiazg.com rujiu.net @@ -83564,6 +82913,7 @@ rushui.net russellluo.com rustc.cloud rustfisher.com +rustfs.com rustvnt.com ruthout.com ruthus.com @@ -83615,7 +82965,6 @@ rxhospital.com rxhui.com rxhysm.com rxian.com -rxjcw.com rxjhbaby.com rxjt.co rxkjcn.com @@ -83663,6 +83012,7 @@ rytx.com rytyaofang.com ryweike.com ryx.store +ryxiut.com ryxiut.net ryxkf.com ryylkj.com @@ -83904,6 +83254,7 @@ samsunganycar.com samsungcloudcn.com samsungconnectivity.com samsunghealthcn.com +samsungosp.com samsungyx.com samton.net samyang.cc @@ -84027,6 +83378,7 @@ sanligm.com sanliwenhua.com sanlovalve.com sanmanuela.com +sanmanuela.net sanmao.com sanmiaocdn.com sanmicun.com @@ -84103,7 +83455,6 @@ sanyibao.com sanyichemical.com sanyipos.com sanyouco.com -sanyoudq.com sanyougame.com sanyoumed.com sanyoutj.com @@ -84144,6 +83495,7 @@ sapphiretech.store saraba1st.com sardchina-lmgt.com sarft.net +sarosgame.com sasacity.com sasecurity.com sass.hk @@ -84162,7 +83514,6 @@ satrip.com saturdaysoft.com saturnbird.com saublenew.com -saveatsma.com savilehotelgroup.com savokiss.com savouer.com @@ -84252,10 +83603,12 @@ scansmt.com scanv.com scarbbs.com scarclinic-cn.com +scardtech.com scasqhwz.com scatc.net scavc.com scbaidu.com +scbaijia.com scbao.com scbaopo.org scbgaudio.com @@ -84266,7 +83619,6 @@ scbotai.com scbuilder.com scbxmr.com scbyx.net -scbz120.com sccbj.com sccchina.net scccyts.com @@ -84297,6 +83649,7 @@ scdccb.com scdcs.net scdengbang.com scdn.im +scdn.io scdn0077.com scdn08xd.com scdn0wcp.com @@ -84429,7 +83782,6 @@ scdzmw.com sce-re.com scea.co sceci.net -scedu.net sceea.org sceeo.com sceia.org @@ -84502,6 +83854,7 @@ sciencecity.net sciencehr.net sciencep.com sciengine.com +scienjus.com scientop.com scientrans.com scienward.net @@ -84519,7 +83872,6 @@ scimall.cc scimall.org scimao.com scimee.com -scinno-cn.com scinormem.com scinorwater.com scio.icu @@ -84693,7 +84045,7 @@ scxdf.com scxinkang.com scxjyw.com scxsls.com -scxtj.com +scxsrh.com scyanzu.com scyarui.com scybjc.com @@ -84736,7 +84088,6 @@ sd-fjzy.com sd-gold.com sd-gree.com sd-guotai.com -sd-huaxu.com sd-jiuyang.com sd-jnyz.com sd-kb.com @@ -84744,7 +84095,6 @@ sd-keyuan.com sd-nand.com sd-port.com sd-portfh.com -sd-qx.com sd-rtn.com sd-sangte.com sd-sanju.com @@ -84772,7 +84122,6 @@ sdbao.com sdbaoding.com sdbaowei.com sdbeidou.com -sdbeone.com sdbeta.com sdbetter.com sdbgk.com @@ -84800,7 +84149,6 @@ sdcjtz.com sdcjxy.com sdclimber.com sdcmc.net -sdcmnis.com sdcoke.com sdcpd.com sdcqjy.com @@ -84823,7 +84171,6 @@ sddhpharm.com sddory.com sddp.net sddstore.com -sddsxc.com sddtzx.com sddyfxjc.com sddyzl.com @@ -84837,6 +84184,7 @@ sdecloud.com sdecu.com sdecx.com sdedu.net +sdedubook.com sdeer.com sdeerlive.com sdenews.com @@ -84942,7 +84290,6 @@ sdhxsj.com sdhycm.com sdhydl.com sdhynytc.com -sdhz12333.com sdhzgs.com sdi23.com sdiandian.com @@ -85067,7 +84414,6 @@ sdointl.com sdoke.com sdongpo.com sdoprofile.com -sdoqp.com sdoyhg.com sdpag.com sdpea.org @@ -85375,6 +84721,7 @@ seedit.cc seedit.com seedland.cc seedlandss.com +seedpace.com seedsufe.com seeed.cc seegif.com @@ -85401,7 +84748,6 @@ seepomotor.com seepomotor.net seerbigdata.com seerking.com -seersee.com seesawcoffee.com seeseed.com seeshentech.com @@ -85454,7 +84800,6 @@ selinuxplus.com sellerspace.com sellersprite.com sellfox.com -sellgreat.com sellingexpress.net selypan.com sem123.com @@ -85723,7 +85068,6 @@ sfydns.com sfygroup.com sfys365.com sfystatic.com -sfyyqc.com sfzj123.com sg-che.com sg-gemsy.com @@ -85735,7 +85079,6 @@ sg169.com sg888.vip sg91.net sg92.com -sgad.site sgameglobal.com sgamer.com sgautomotive.com @@ -85840,7 +85183,6 @@ sh-gexing.com sh-gsg.com sh-henderson-metropolitan.com sh-hengyuan.com -sh-henian.com sh-hilead.com sh-hitech.com sh-hlrubber.com @@ -85892,7 +85234,6 @@ sh-service.com sh-sfc.com sh-sgl.com sh-shenming.com -sh-shenou.com sh-shuguang.com sh-sict.com sh-sinodiet.com @@ -86012,7 +85353,6 @@ shandongjiapeng.com shandongjuli.com shandonglanhua.com shandongqinuo.com -shandongrs.com shandongruyi.com shandongsannong.com shandongsilk.com @@ -86146,7 +85486,6 @@ shanghcat.com shanghuiai.com shanghuiwww.com shanghuiyi.com -shangjialianpage6.win shangjie2006.com shangjieiot.com shangjilian.com @@ -86171,7 +85510,6 @@ shangpo.com shangpu-china.com shangpusou.com shangpuzhan.com -shangqiulvxing.com shangquanquan.com shangque.com shangrao-marathon.com @@ -86226,9 +85564,9 @@ shanhe01.com shanheknit.com shanheyule.com shanhs.com +shanhu188.com shanhu99.com shanhuu.com -shanhuxueyuan.com shanji.club shanjianzhan.com shanjingyuan.com @@ -86396,7 +85734,6 @@ shayujizhang.com shayuweb.com shazc.com shb.ltd -shb02.com shbangde.com shbangdian.com shbaoli.com @@ -86424,7 +85761,6 @@ shbtpm.com shbxzp.com shbyer.com shbyw.com -shc1126.com shcaco3.com shcancer.com shcas.net @@ -86542,7 +85878,6 @@ shejiqun.com shejis.com shejiwo.net shejixf.com -shejiye.com shejiyizhou.com shejiyue.com sheketiandi.com @@ -86725,6 +86060,7 @@ shenpucw.com shenqhy.com shenqisou.com shenqiwunet.com +shenqizhilv.com shenquol.com shenrongda.com shenrongjidian.com @@ -86868,7 +86204,6 @@ shguanmai.com shgushi.com shgyg.com shgymy.com -shhanjunco.com shhanqiao.com shharborcity.com shhbgm.com @@ -87015,7 +86350,6 @@ shijiretailo2o.com shijitailai.com shijiudao.com shijiufang.com -shijizhongxi.com shijqq.com shiju.cc shijue.me @@ -87167,7 +86501,6 @@ shiwang1688.com shiwangyun.com shiweisemi.com shiwenlu.com -shiwusmd.com shixiangren.com shixiaojin.com shixibiaozhi.com @@ -87229,7 +86562,6 @@ shjaming.com shjayson.com shjb600838.com shjcm3d.com -shjcpf.net shjd.org shjdceo.com shjdjx.com @@ -87296,7 +86628,6 @@ shlayout.com shlcxby.com shld.com shldfm.com -shleilik.com shlhbxg.com shliangshi.com shlingang.com @@ -87322,7 +86653,6 @@ shmds.com shmds.vip shmedia.tech shmengyang.com -shmesun.com shmet.com shmetro.com shmfmr.net @@ -87359,7 +86689,6 @@ shockley-elect.com shodbj.com shoegaze.com shoeshr.com -shoeswheels.net shofine.com shojo.cc shokan.org @@ -87408,7 +86737,6 @@ shoubanjiang.com shoubaodan.com shoubashou.net shoubb.com -shoubiao1688.com shoubiaohuishou.com shoubiaowang.com shoubuluo.com @@ -87629,7 +86957,7 @@ shsparkwater.com shspdq.com shsportschool.com shsq.vip -shssac.com +shsrdzs.com shssdc.com shssp.org shstcm.com @@ -87706,7 +87034,6 @@ shuangkuai.co shuangle56.com shuangle888.com shuangliang-boiler.com -shuangliangbale.com shuanglin.com shuanglingroup.com shuanglongdong.com @@ -87872,7 +87199,6 @@ shujutang.com shujuwa.net shujuwu.com shujuxian1688.com -shujuzhentan.com shukeba.com shukeju.com shukemobile.com @@ -87885,7 +87211,6 @@ shukuai3.com shukuajing.com shukuge.com shukun.press -shukw.com shukwai.com shulanapp.com shulanedu.com @@ -87916,6 +87241,7 @@ shunchangdt.com shunchangzhixing.com shunchaojinshu.com shuncom.com +shundaoyun.com shunde-marathon.com shundecity.com shundehr.com @@ -87965,7 +87291,6 @@ shuoman.com shuomingshu.net shuomingshuku.com shuoniu.cc -shuoou.com shuoshuojie.net shuoshuojuzi.com shuoshuokong.com @@ -88038,6 +87363,7 @@ shuzhiduo.com shuzhou.cc shuzibao.com shuzigd.com +shuzigonggao.com shuziguanxing.com shuzijihuo.com shuzilm.com @@ -88045,7 +87371,6 @@ shuzisharing.com shuziw.com shuzixiaoyuan.com shuzixindong.com -shuziyoutian.com shuziyuedong.com shuzong.com shwbs.org @@ -88143,7 +87468,6 @@ shyrcb.com shyrcw.com shyrcw.net shyrjt.com -shysco.com shysjt.com shyuanye.com shyueai.com @@ -88213,7 +87537,6 @@ si-en.com si-era.com si-in.com si-win.com -si9377.com sia1995.net siad-c.com siaedu.net @@ -88326,7 +87649,6 @@ siixu.com sijiaomao.com sijijun.com sijinchuanbo.com -sijitao.net sijiwater.com sijiweinong.com sikantech.com @@ -88358,7 +87680,6 @@ silkpresent.com silkroad-ec.com silkroad24.com silkroadtechnologies.com -silksong.me silktrek.com sillumin.com sillydong.com @@ -88400,7 +87721,6 @@ simici3.com simicloud.com simij.com simiki.org -simingcun.net simingkuai.com simingtang.com simkeway.com @@ -88977,7 +88297,6 @@ sjzyxh.com sjzyyhg.com sjzyz.net sjzzbxh.com -sjzzimu.com sjzzxmm.com sjzzyy.com sk163.com @@ -89018,6 +88337,7 @@ skpssz.com skrshop.tech skrskrskrskr.com sksdwl.com +sksight.com skslfd.com skstravel.com skswz.com @@ -89044,6 +88364,7 @@ skyard.com skyart.site skybility.com skybluek.com +skybogroup.com skybright-group.com skycaiji.com skycedu.com @@ -89116,7 +88437,6 @@ skyxvpn.com skyyin.org skyzhan.com skznsb.com -sl-360.com sl.al sl.fun sl512.com @@ -89363,6 +88683,7 @@ smsbao.com smshos.com smshx.com smskb.com +smslk1.com smslkcoffee.com smsot.com smsvifv.com @@ -89413,7 +88734,6 @@ smyxxj.com smyyhj.com smyyulin.com smyz.net -smzaxx.com smzdm.com smzdmimg.com smzdwan.com @@ -89490,6 +88810,7 @@ snkhome.com snkjol.com snkshoe.com snkyat.com +snltty.com snlxgk.com snmandarin.com snmi.com @@ -89601,7 +88922,6 @@ sodayang.com sodc8.com sodexo-cn.com sodhef.com -sodianwan.com sodiao.cc sodig.com sodino.com @@ -89609,6 +88929,7 @@ sodion.net sodocloud.com sody123.com soeasysdk.com +soeo.net sofa-webbing.com sofabiao.com sofan.one @@ -89636,7 +88957,6 @@ softbanks.net softbar.com softbingo.net softgostop.com -softhead-citavi.com softhome.cc softjinzhou.com softmall.net @@ -89712,7 +89032,6 @@ sokoban.ws soku.com sokuba.com sokutu.com -sokutxt.com sokyotw.com solaking.com solanyun.com @@ -89755,7 +89074,6 @@ som88.net somacisgraphic.hk somama.com somamobi.com -somao123.com somcool.com somd5.com somdom.com @@ -89809,7 +89127,6 @@ songsongruanwen.com songsongyingxiao.com songsongyun.com songtaox.com -songtaste.com songtasty.com songtianlube.com songtsam.com @@ -89922,7 +89239,6 @@ sososteel.com sosotec.com sosoyunpan.com sosoyy.com -sosuan.com sosuo.name sosyao.com sotake.com @@ -89938,7 +89254,6 @@ sou-yun.com sou.com sou58.com soua.com -souacode.com souaiche.com souajki.com souajki.net @@ -90006,7 +89321,6 @@ sourcecodecap.com sourcecodeserver.com sourcegcdn.com sourcelandchina.com -sourl.co sousea.com soushai.com soushoubiao.com @@ -90059,13 +89373,13 @@ sowotech.com sowu.com soxiqu.com soxpai.com -soxsok.com soxyc.com soya-protein.com soyim.com soyixia.net soyiyuan.com soyjg.com +soyo-dg.com soyohui.com soyoung.com soyouso.com @@ -90129,7 +89443,6 @@ specchemind.com specialcdnstatus.com spectorfilm.com spectreax.com -spectreax.site speechless.pw speed-hz.com speedaf.com @@ -90179,7 +89492,6 @@ splaybow.com splayer.work spldlkj.com splendecor.com -splicd.com splmcn.com spmcn.com spmyc.com @@ -90187,11 +89499,11 @@ spnchinaren.com spochikj.com spoience.com spointdesign.com +sport-syy.com sportman.cc sportnanoapi.com sportq.com sports-100.com -sports-idea.com sportsdt.com spoto.net spotpear.com @@ -90392,6 +89704,7 @@ ssffx.com ssgedm.com ssgeek.com ssggg.com +ssgsemi.com ssgxwq.com ssgz.com sshce.com @@ -90472,7 +89785,6 @@ ssslgs.com sssmro.com sssmy.com ssso.com -sssyyy.com sst-ic.com sst-sd.com sst-sz.com @@ -90499,7 +89811,6 @@ ssyxdeli.com ssyxlx.com ssyxmall.com ssyzx.net -sszdh.net sszgit.com sszhg.com sszjnc.com @@ -90533,6 +89844,7 @@ standteam.net stanlyview.com staofchina.com stapharma.com +star-charge.com star-elink.com star-engine.com star-kid.com @@ -90551,6 +89863,7 @@ starbaby.cc starbaby.com starbaysoft.com starbrightpet.com +starcharge.com stardata360.com starde.net stardict.org @@ -90575,7 +89888,6 @@ starpack-group.com starpainters.net starpiao.com starrails.com -starredvs.com starrockinvest.com starrtc.com starrydyn.com @@ -90685,7 +89997,6 @@ step-motor.com stepelectric.com stepsigriner.com steriguardmed.com -stevelanasa.com stfile.com stg8.com stgiantfilms.com @@ -90706,7 +90017,6 @@ stmaoyi.com stmbuy.com stmjsociety.com stmybj.com -stnew.xyz stnn.cc stnts.com sto-express.com @@ -90788,7 +90098,6 @@ stubbornhuang.com studa.net studentboss.com studioartiz.com -studiozecevic.com studstu.com study-cloud.com study163.com @@ -90867,7 +90176,6 @@ subom.net subond.com subuy.com sucai.com -sucai123.com sucai77.com sucai999.com sucaibar.com @@ -90891,7 +90199,6 @@ suchengmeizhan.com suchugao.com suchz.com sucjg.com -suckdude.com sucop.com sucoupon.com sudaizhijia.com @@ -90945,7 +90252,6 @@ suhedj.com suhedz.com suhergroup.com suhongzhan.com -suhuibao.com suhuikj.com suhuishou.com sui.com @@ -91087,7 +90393,6 @@ suner.cc sunera-cn.com sunergyworks.com sunflowerscf.com -sunfluxeq.com sunfounder.cc sunfreight-logistics.com sunfront.com @@ -91205,6 +90510,7 @@ sunsharer.com sunshine-power.net sunshine-sino.com sunshinecoasthomesearch.com +sunsili.com sunsilu.com sunsine.com sunspotfund.com @@ -91431,6 +90737,7 @@ suyugame.com suyujoy.com suyun.net suyunj.com +suyur.com suyutech.com suyuzz.com suz-vpn.amd.com @@ -91649,7 +90956,6 @@ sxepc.com sxetcedu.com sxfl.org sxfoundation.com -sxfsw.com sxfu.org sxfyjzzs.com sxgbs.com @@ -91686,7 +90992,6 @@ sxhtyy.net sxhwhb.com sxhwls.com sxhxbank.com -sxhyjt.com sxinrj.com sxisa.org sxjant.com @@ -91706,7 +91011,6 @@ sxjmfxky.com sxjntech.com sxjtyhjt.com sxjwlkj.com -sxjwxs.com sxjxdyqfw.com sxjybk.com sxjzxww.com @@ -91718,6 +91022,7 @@ sxldns.com sxlfwl.com sxlhrj.com sxlib.com +sxlljm.com sxlottery.net sxlpd.com sxls.com @@ -91841,7 +91146,6 @@ sxyrxb.com sxyxqk.com sxyyc.net sxyyzcj.com -sxzb.app sxzcrq.com sxzhaobiao.com sxzhongfei.com @@ -91874,11 +91178,13 @@ sybasebbs.com syberos.com syberq.com sybj.com +sybxpu.com sybygx.com sycaijing.com sycbbs.com sycdtz.com sychlon.com +sycontroller.com sycreader.com sycsgj.com sycxzx.net @@ -92025,7 +91331,6 @@ sysjnl.com sysjoint.com sysmaster.online sysmini.com -sysmk120.com sysmls.com sysnfj.com sysokean.com @@ -92040,7 +91345,6 @@ sysutest.xyz syswgw.com sysx.tech sysxhz.com -sysydianji.com sysydz.net sysyhfj.com sysysjnk.com @@ -92083,9 +91387,7 @@ syyy99.com syyyd.com syyyj.com syyyking.com -syyykj.xyz syyzhpc.com -syzdbxg.com syzdhyb.com syzjjt.com syzlzz.com @@ -92210,7 +91512,6 @@ szajsj.com szamc.com szande.com szanjun.com -szaoh.org szaojin.com szas.com szastcg.com @@ -92320,6 +91621,7 @@ szds.com szdsit.com szdtwcw.com szdunan.net +szduopin.com szdwwy.com szdwxy.com szdwyy.com @@ -92462,7 +91764,6 @@ szhuayilong.com szhubei.com szhuhang.com szhulian.com -szhulian.net szhuodong.com szhvac.org szhvs.com @@ -92529,6 +91830,7 @@ szjunfei.com szjunlin.com szjunrong.com szjuquan.com +szjuwx.com szjuyou.com szjxgroup.com szjxj.com @@ -92603,7 +91905,6 @@ szlvwang.com szlwbj.com szlwtech.com szlxl100.com -szlygc.com szlyi.com szlzsd.com szmadigi.com @@ -92944,7 +92245,6 @@ szyingduoduo.com szyinglian.com szyingzhan.com szyink.com -szyixiu.net szyixx.com szyiyue.com szyjedu.com @@ -93127,7 +92427,6 @@ taida100.com taidao.net taidaxincai.com taidhotel.com -taidic.net taidichina.com taidu.com taiduhome.com @@ -93206,7 +92505,6 @@ tais3.com taisantech.com taisenfurniture.com taishangroup.com -taishangshiwu.com taishansports.com taishanxq.com taishanyy.com @@ -93294,7 +92592,6 @@ tan14.net tan8.com tanapk.com tanbao178.com -tanbaoe.com tanbo.name tanboer.com tancdn.com @@ -93316,6 +92613,7 @@ tangdouimg.com tangeche.com tangfc.com tanggu11g.com +tangguobaohe.com tangguoxian.com tanghu.net tanghushi.com @@ -93324,6 +92622,7 @@ tangjihuang.com tangkabj.com tanglei.name tangmi.net +tangmingint.com tangongye.com tangpai.cc tangping.com @@ -93471,7 +92770,6 @@ taohaoqu.com taohaowan.com taohhui.com taohua.com -taohuah.com taohuang.com taohuazu.net taohuazu.pw @@ -93525,7 +92823,6 @@ taopuwang.com taopxx.com taoq.net taoqao.com -taoqian123.com taoqizu.com taoquanquan.com taor.work @@ -93665,7 +92962,6 @@ tbcache.com tbh5.com tbhcc.com tbhelper.com -tbi-osk.com tbinq.com tbjfw.com tbjt18.com @@ -93831,6 +93127,7 @@ tcxys.com tcxzj.com tcy1688.com tcy365.com +tcy365.net tcyad.com tcyfw.com tcylgslb.com @@ -94069,7 +93366,6 @@ telrgeam.cc telsda.com telu.net telunsu.net -telunxiaosu.fun tem.pw temaiapi.com temaiku.com @@ -94506,7 +93802,6 @@ thfdcsoft.com thffc.com thgkyy.com thgsjt.com -thhome.net thhymj.com thief.im thiemechina.com @@ -94570,10 +93865,8 @@ threewater.net thrive-chemicals.com thronechina.com thrrip.space -thruudrad.com ths123.com ths8.com -thseoer.com thsj.com thsolar.com thstars.com @@ -94598,7 +93891,6 @@ thvow.com thwater.com thwgetsy.com thwiki.cc -thwjbg.com thwpmanage.com thxddb.com thxdx.com @@ -94644,7 +93936,6 @@ tianchanggongjiao.com tianche.net tianchenalum.com tianchengas.com -tianchengps.com tianchi.com tianchihao.com tianchu.com @@ -94742,6 +94033,7 @@ tianmidian.com tianmimiclub.com tianmu.mobi tianmu.net +tianmuds.com tianmumusic.com tianmunews.com tianmupe.com @@ -94759,14 +94051,12 @@ tianqi.cc tianqi.com tianqi24.com tianqi321.com -tianqi518.com tianqiaojuyuan.com tianqiaoyishuzhongxin.org tianqiapi.com tianqicloud.com tianqihoubao.com tianqiip.com -tianqiji.com tianqijun.com tianqilithium.com tianqistatic.com @@ -94797,7 +94087,6 @@ tianshi2.net tianshiyiyuan.com tianshizhisheng.net tianshugame.com -tianshuizhaopin.com tianshungroup.com tiansu-china.com tiantaichina.com @@ -94828,7 +94117,6 @@ tiantianxieye.com tiantianxuexi.com tiantingfm.com tiantis.com -tiantk1.com tiantongfruit.com tiantonglaw.com tianvalue.com @@ -94912,7 +94200,6 @@ tiaotiao.store tiaotiaotang.net tiaovon.com tiaoyue.xyz -tiaozao.me tiaozhanbei.net tiapi.net tiatiatoutiao.com @@ -95085,7 +94372,6 @@ tinetcloud.com tinfinite.com tinfo.com ting22.com -ting456.com ting55.com ting89.com tingbook.com @@ -95093,7 +94379,6 @@ tingchewei.net tingchina.com tingchucontrol.com tingclass.com -tingfei.space tingfun.net tinghaohr.com tinghen.com @@ -95133,6 +94418,7 @@ tinktek.net tinman798.net tinning-automation.com tinsecret.com +tinstu.com tinwod.com tinychen.com tinycms.xyz @@ -95142,6 +94428,7 @@ tinyflare.com tinygroup.org tinylab.org tinymind.com +tinypixos.com tinyservices.net tinywan.com tinyyuan.com @@ -95322,7 +94609,6 @@ tjtrust.com tjtsxd.com tjtvc.com tjubbs.net -tjucar.com tjumc.com tjupdi.com tjuzj.com @@ -95330,6 +94616,7 @@ tjwatergroup.com tjwch.com tjwch.org tjwenjie.com +tjwf.com tjwj88.com tjwmschool.net tjxdzhonda.com @@ -95371,8 +94658,8 @@ tkddns.xyz tkfff.com tkgame.com tkhealthcare.com +tkjzym.com tkmedicare.com -tkoubei.com tkpension.com tkplusemi.com tkrlab.com @@ -95385,7 +94672,6 @@ tkxlglyy.com tkxxd.net tkxyy.com tky001.com -tkyfw.com tkyks.xyz tkzqv.com tl-finechem.com @@ -95406,7 +94692,6 @@ tlbyx.com tlcbf.com tlcharity.com tlcssk.com -tldczgs.com tlfw.net tlfzkj.com tlgas.com @@ -95446,7 +94731,6 @@ tlsy.vip tlt5.com tlte.com tltesoft.com -tltsxk.com tltuan.net tltzg.com tlu5.com @@ -95455,7 +94739,6 @@ tlwk.net tlwok.com tlxxw.com tly.cloud -tlygc.com tlyz.net tlzey.com tlzhjt.com @@ -95538,6 +94821,7 @@ tnettms.com tnfn.net tnfno.icu tngcjx.com +tngdigital.com.my tnodenow.com tnong.com tnsou.com @@ -95700,7 +94984,6 @@ tonglichang.com tonglingwulian.com tonglize.com tongmengge.com -tongmijx.com tongniguoji.com tongoiltools.com tongpiao.com @@ -95886,6 +95169,7 @@ topomel.com toppdu.com topperuse.com topping.pro +toppingaudio.com toppollen.com toppps.com toppridehk.com @@ -95947,6 +95231,7 @@ toshiba-tnis.com toshow.com tosohbioscience.net tosonet.com +tosound.com tospur.com tosstar5117.com tosuai.com @@ -95978,6 +95263,7 @@ touchev.com touchjoin.com touchjoint.com touchmark.art +touchngo.com.my touchpal.com touchsh.com touchsprite.com @@ -96099,7 +95385,8 @@ tp82.com tpadx.com tpbook.com tpccoo.com -tpcmacao.com +tpdz.net +tpfangchan.com tphdled.com tpjhr.com tpjwww.com @@ -96177,7 +95464,6 @@ trackingmore.com tracup.com tracyclass.com tradaquan.com -trade-list.com tradeblazer.net tradeleo.com trademanager.com @@ -96426,7 +95712,6 @@ tsbtv.tv tschina.com tscorona.com tsdaodao.com -tsddu.com tsdjg.com tsdjq.com tsdxb.com @@ -96456,7 +95741,6 @@ tsinghua-sz.org tsinghua-vc.com tsinghua-wx.org tsinghuaic.com -tsinghuaicwx.com tsinghuajournals.com tsinghuan.com tsinghuawoman.com @@ -96512,9 +95796,7 @@ tstvxmt.com tsubakichina.com tsukistar.fun tsunbull.com -tswjn.com tswljt.com -tswmb.com tswnanning.com tswuby.com tsxcfw.com @@ -96579,7 +95861,6 @@ ttime.com ttionya.com ttj5.com ttjianbao.com -ttjiasu.com ttjisu.com ttkaiche.com ttkdex.com @@ -96587,7 +95868,6 @@ ttkefu.com ttkuan.com ttll.cc ttlock.com -ttlsa.com ttmark.com ttmass.com ttmd5.com @@ -96675,7 +95955,6 @@ tu8.cc tu9215594236.cc tu93.biz tu960.com -tuan1024.com tuan800.com tuan800.net tuanai.com @@ -96800,7 +96079,6 @@ tuipeanut.com tuipear.com tuipinpai.com tuiplay.com -tuiq.net tuirice.com tuishao.net tuishark.com @@ -96851,8 +96129,10 @@ tumchina.com tumengtech.com tumicomm.com tumormed.com +tumukaoyan.com tumukeji.com tumuzhe.com +tumwf.com tumyu.com tuna.wiki tunanhuashi.com @@ -96987,6 +96267,7 @@ tux.red tuxi.com tuxiangyan.com tuxiaobei.com +tuxing.art tuxing2010.com tuxiu.com tuxun.fun @@ -97100,7 +96381,6 @@ tx-trans.com tx009.com tx1588.com tx163.com -tx29.com tx321.com tx365.com tx5d.com @@ -97213,6 +96493,7 @@ ty8621.com tybai.com tyboard.net tyc100.com +tyccdn888.com tychemical.com tychio.net tychou.com @@ -97322,7 +96603,6 @@ tzbao.com tzcpa.com tzcul.com tzcz.com -tzdaily.com tzedu.org tzfdc.com tzfeilu.com @@ -97389,6 +96669,7 @@ tzzp.com tzzszb.com tzzx.net u-camera.com +u-carloan.com u-cdn.net u-lights.com u-link.org @@ -97405,7 +96686,6 @@ u.sb u.tools u005.com u0351.com -u05.xyz u0537.com u062.com u10010.com @@ -97467,7 +96747,6 @@ uaxk.com ub-os.com ub8020.com ubaiyi.com -ubalh.com ubangmang.com ubao.com ubc-bearing.com @@ -97501,7 +96780,6 @@ ubuntukylin.com ubuuk.com ubuylogi.com uc-union.com -uc003.com uc108.com uc123.com uc129.com @@ -97569,7 +96847,6 @@ ucpchina.com ucpopo.com ucren.com ucsanya.com -ucsded.com ucss.ninja uctrac.com uctwydx.com @@ -97633,7 +96910,6 @@ uestcedu.com uestcgxcd.com uestcliuxue.com uetianshanyp.com -uetir2550.com ueuz.com uewaf.com uez.com @@ -97670,7 +96946,6 @@ ugapk.com ugbb.com ugdesk.com ugdtimg.com -ugediao.com uggame.com uggd.com ugirls.tv @@ -97756,7 +97031,6 @@ uitab.com uitool.net uiu.cc uiuihub.com -uiusc.com uiwow.com ujakn.com ujia007.com @@ -97790,7 +97064,6 @@ ukoo.net ukosgolfcart.com ukpass.org ukpathway.com -ukplanking.com ukrainevisacenter.com ukubang.com ukui.org @@ -97889,7 +97162,6 @@ unachina.org unafeed.com unaming.info unaming.net -unasdwarfs.com unbank.info unbcomm.com uncbd.com @@ -98074,7 +97346,6 @@ uooconline.com uooioo.com uoolu.com uooss.com -uooyoo.com uoozi.com uoria.com uos56.com @@ -98145,7 +97416,6 @@ ups001.com ups88.net upsapp.com upsclan.com -upsdydc.com upseller.com upskyshanghai.com upst86.com @@ -98180,7 +97450,6 @@ uqipower.com uqite.com uqitong.com uqseo.com -uqtool.com uqualities.com uqude.com uqufin.com @@ -98196,7 +97465,6 @@ urbetter.net urbtix.hk urcb.com urcove-hotels.com -urgaffel.com urhimalayanak.com uri6.com uril6.com @@ -98212,7 +97480,6 @@ urocancer.org urology.wiki urongda.com urovo.com -urovo.net urovoworld.com urq7wvyumzfdi5.com urs-china.com @@ -98284,7 +97551,6 @@ usoftchina.com usoi.net usonetrip.com uspard.com -usplanking.com usportnews.com usqiaobao.com usryinc.com @@ -98315,7 +97581,6 @@ utermux.dev utfinancing.com utgd.net utiao.com -uting-chuzhou.com utofairy.com utogame.com utom.design @@ -98340,7 +97605,6 @@ uu11441.com uu11661.com uu1314.com uu178.com -uu2024.com uu22112.com uu22332.com uu22662.com @@ -98401,7 +97665,6 @@ uusee.com uusense.com uusky.com uusoo.net -uusos.com uustory.com uustv.com uutils.com @@ -98422,13 +97685,13 @@ uuvps.com uuwldh.com uuwtq.com uuwx.la +uuxlink.com uuxn.com uuxoo.com uuxs.info uuxs.la uuxs.tw uuyoyo.com -uuysiaq.com uuzham.com uuzhufu.com uuzo.net @@ -98511,9 +97774,7 @@ uzise.com uzshare.com uzzf.com v-56.com -v-beautysalon.com v-danci.com -v-lz.com v-mate.mobi v-pack.net v-simtone.com @@ -98604,7 +97865,6 @@ vanbaolu.com vance-commerce.com vanch.net vancheer.com -vanchhandheld.com vanchip.com vanchiptech.com vanchu.com @@ -98633,6 +97893,7 @@ vannauto.com vanqun.com vanrui.com vansungroup.com +vanvi-cn.com vanvps.com vanward.com vanwardsmart.com @@ -98677,6 +97938,8 @@ vbbobo.com vbidc.com vbio-pharma.com vbiquge.com +vbkhk.com +vbkrhk.com vbmnmy.com vbsemi.com vc800.com @@ -98695,6 +97958,8 @@ vcimg.com vcinchina.com vckbase.com vclass.com +vclbroker.com +vclbrokers.com vcled.com vcloud-byte.com vcloudapi.com @@ -98702,6 +97967,7 @@ vcloudgtm.com vcloudstc.com vcloudstc.net vcloudvod.com +vcltrade.com vclusters.com vcnews.com vcomic.com @@ -98717,7 +97983,6 @@ vcsint.com vcsmemo.com vcspark.com vctianshanvs.com -vcudu.com vcxpe.com vcxv73.fun vcxv787.fun @@ -98742,6 +98007,7 @@ vdongchina.com vdsdsf2.fun vdson888.com vdyoo.com +vdyoo.net ve-imcloud.com ve-trafficroute.com ve-trafficroute.net @@ -98765,7 +98031,6 @@ vedsalb.com veecar.com veefdev.com veelink.com -veeqi.com veeqi.net veer.com veervr.tv @@ -98837,7 +98102,6 @@ verydoc.net verydu.net verydz.com veryevent.com -veryfb.com verygrass.com verygslb.com verygslb.net @@ -98887,7 +98151,6 @@ vfuiov.sbs vfuke.net vfund.org vfvdf.com -vfvdsati.com vfvdvd99.fun vfx123.com vg.com @@ -98906,7 +98169,6 @@ vgoapp.com vgooo.com vgover.com vgoyun.com -vgt.cc vgtime.com vgunxpkt.com vgvmotor.com @@ -98924,6 +98186,7 @@ vhsinsurtech.com vhxaw.com vhzhaopin.com vi-mayman.com +vi1zen.com vi21.net vi586.com via-cert.com @@ -99045,11 +98308,9 @@ vip1280.net vip150.com vip800.com vip8849.com -vip97.net vip9982.net vipabc.com vipabcyun.com -vipads.live vipappsina.com vipbaihe.com vipbcw.com @@ -99072,7 +98333,6 @@ vipgouyouhui.com vipgs.net vipgslb.com vipguanjia.net -viphudong.com viphxw.com vipiao.com vipjingdong.com @@ -99195,6 +98455,7 @@ vitalgen.com vitalxyz.com vitamio.net vitarn.com +vitasoy-chn.com vitechliu.com viterbi-tech.com vitesexpo.com @@ -99300,6 +98561,7 @@ vmoviercdn.com vmsky.com vmtdf.com vmtnet.com +vmuhyu.site vmvps.com vmylan.com vnadssb.com @@ -99309,10 +98571,10 @@ vnanke.com vndian.com vnet.com vnet.mobi +vniddlg.xyz vnlin.com vnnox.com vnpy.com -vns1.net vnuuh.icu vnzmi.com voa365.com @@ -99342,7 +98604,6 @@ voicer.info voicer.me voidcc.com voidking.com -voidme.com voip366.com vojs.tv vokop.com @@ -99355,6 +98616,7 @@ volcadocean.com volcadvc.com volcalb.com volcanicengine.com +volcano-force.com volcanospring.com volcautovod.com volcbiz.com @@ -99391,6 +98653,7 @@ volcfake.com volcfcdn.com volcfcdnbyte.com volcfcdndvs.com +volcfcdndvs1.com volcfcdndvs2.com volcfcdnplus.com volcfcdnrd.com @@ -99639,12 +98902,12 @@ vuepush.com vuevideo.net vulbox.com vulcan.dl.playstation.net -vulcanmaximum.xyz vultr1.com vultrcn.com vultrvps.com vumstar.com vunion.net +vuphub.com vurl.link vurl3.vip vutimes.com @@ -99671,7 +98934,6 @@ vviptuangou.com vvjob.com vvlian.com vvmeiju.com -vvnna.com vvo2o.com vvpgwg.xyz vvpncdn.com @@ -99753,7 +99015,6 @@ w2gou.com w2n5cu58rn.com w2solo.com w333.com -w3cay.com w3cbus.com w3ccoo.com w3cfuns.com @@ -99863,7 +99124,6 @@ waizaowang.com wajiquan.com wajueji.com wajufo.com -wakatool.com wakeai.tech wakedata.com wakeofgods.com @@ -99908,6 +99168,7 @@ waluer.com walvax.com wamawama.com wamila.com +wamkio.com wan-ka.com wan.cc wan.com @@ -99928,7 +99189,6 @@ wanadalu.com wanandroid.com wananshan.com wanbaapp.com -wanbaoju.com wanbexpress.com wanbgame.com wanbiao800.com @@ -100004,7 +99264,6 @@ wangan.com wangbaobei.com wangbaoqiang-cloudcdn.com wangbixi.com -wangcai.cm wangcaio2o.com wangcaiwang.com wangcanmou.com @@ -100021,7 +99280,6 @@ wangdaibdt.com wangdaicaifu.com wangdaidongfang.com wangdaiguancha.com -wangdaijiamen.com wangdaishikong.com wangdaisj.com wangdaitiandi.com @@ -100096,7 +99354,6 @@ wangshidi.com wangshitou.com wangshu.la wangshugu.com -wangsongxing.com wangsu.com wangsu.net wangsucloud.com @@ -100193,7 +99450,6 @@ wanjiquan.com wanjixin.com wanjunshijie.com wanjutoy.com -wanjuzhan.com wanka5.com wankacn.com wankacn.net @@ -100430,7 +99686,6 @@ wateryx.com watyuan.com wauee.com wauee.net -wave-game.com wave-optics.com wavecn.com wavedsp.tech @@ -100652,7 +99907,6 @@ web3caff.com web3gate.cc web3gate.io web3ling.com -web88888.com web89.net web930.com webacg.com @@ -100813,7 +100067,6 @@ weibang.vip weibangong.com weibanzhushou.com weibilamp.com -weibo.co weibo.com weibo.tv weibocdn.com @@ -100831,7 +100084,6 @@ weiboyi.com weibozn.com weibu.com weibusi.net -weica.net weicaifu.com weicewang.com weichai.com @@ -100937,7 +100189,6 @@ weikenhair.com weikeqi-biotech.com weikerifu.com weikuw.com -weilaa.xyz weilai555.com weilaicaijing.com weilaili.com @@ -101003,7 +100254,6 @@ weinisongdu.com weinm.com weiot.net weipaitang.com -weipano.com weipe.vip weiphone.net weiphp.com @@ -101026,7 +100276,6 @@ weiqing120.com weiqingbao.cc weiqiok.com weiqitv.com -weiqunbuluo.com weiquyx.com weiren.com weirenjob.com @@ -101159,6 +100408,7 @@ weiyituliao.com weiyiwangluo.com weiyoubot.com weiyours.com +weiyouxi.com weiyu98.com weiyueliang.com weiyueread.com @@ -101340,7 +100590,6 @@ wenlc.com wenli-china.com wenlian123.com wenliangedu.com -wenlvlijiang.com wenlvnews.com wenlvpai.com wenmeng.com @@ -101535,7 +100784,6 @@ wf66.com wfaokun.com wfaozhuo.com wfbbs.com -wfbrood.com wfc805.com wfcgs.com wfdaily.com @@ -101579,6 +100827,7 @@ wfsyzx.net wftdrh.com wftvqcm.com wfuyu.com +wfwzg.xyz wfy.pub wfzbjx.com wfzczdh.com @@ -101630,7 +100879,6 @@ wh111.com wh119.com wh12345szzx.com wh20zx.com -wh2work.com wh50.com wh5yy.com wh6yy.com @@ -101653,9 +100901,9 @@ whaletvlive.com whaleunique.com whalipaycs.com whampoa-design.com -whamspa.com whatbuytoday.com whatchina.com +whatfugui.com whatsns.com whattheybuy.com whaudio.com @@ -101983,7 +101231,6 @@ whszniao.com whtaxi.com whtbglass.com whtbgroup.com -whtbk.com whtbq.com whtby.com whtcm.com @@ -102115,7 +101362,6 @@ whzwzk.com whzwzs.com whzxht.com whzxjcgc.com -whzxsz.com whzxzls.com whzydz.com whzys.com @@ -102191,7 +101437,6 @@ willwin91.com wiloon.com wimetro.com wimiar.com -win-an.com win-haoxiang-win.com win-ke.com win-man.com @@ -102309,7 +101554,6 @@ winnermicro.com winnerracing.com winnerway.com winnet.cc -winning11cn.com winningdq.com winos.me winotes.net @@ -102408,7 +101652,6 @@ wisevector.com wisewatercloud.com wish-hightech.com wish3d.com -wishbuild.com wishcad.com wishcc.com wishdown.com @@ -102582,7 +101825,6 @@ wlhyjx.com wlhyxh.com wlinfor.com wljhealth.com -wljy8.com wljyyjy.com wlkgo.com wlkst.com @@ -102610,7 +101852,6 @@ wlrjy.com wls96121.com wlsgjslgy.com wlski.com -wlsrenzaocaoping.com wlstock.com wlsx.net wltieyaoban.com @@ -102733,6 +101974,7 @@ wnnyjx.com wnote.com wnp.com wnplayer.net +wnqapp.com wnqianbao.com wnrb.net wnrcw.com @@ -102828,6 +102070,7 @@ wofjhs.com wofuwater.com wogame.net wogaosuni.com +wogg.lol wogg.net wogoo.com wohenizaiyiqi.com @@ -102955,7 +102198,6 @@ wooqx.com woordee.com woosiyuan.com woosmart.com -wootwood.com woowtcprc.com wooxhome.com wooyun.org @@ -103071,7 +102313,6 @@ wowoyou.com wowoyou.net wowozhe.com wowqu.cc -wowsai.com wowtb.com wowtran.com wowzx.net @@ -103161,7 +102402,6 @@ wqiis.com wqingjian.com wqketang.com wqlin.com -wqlkz.com wqlml.com wqoiyz.com wqop2018.com @@ -103193,7 +102433,6 @@ wrmjk.com wrsa.net wrshg.com wrsikq.xyz -wrsxy.com wrtauto.com wrtnode.cc wrtnode.com @@ -103290,7 +102529,6 @@ wsoso.com wsoss.com wsound.cc wsoversea.info -wsoversea.net wsqejt.com wsrsj.com wsrxw.com @@ -103365,7 +102603,6 @@ wtoip.com wtojob.com wtoutiao.com wtown.com -wtr.cc wtraff.com wtroytj33.fun wts999.com @@ -103386,7 +102623,6 @@ wu.run wu123.com wu35.com wu37.com -wu65.com wu7zhi.com wuage.com wuahihotel.com @@ -103672,7 +102908,6 @@ wuxishuangfan.com wuxishuangyou.com wuxisj.com wuxitianlang.com -wuxitzjx.com wuxiwang.net wuxiwanli.com wuxiwenlv.com @@ -103790,7 +103025,6 @@ www.dell.com www.djivideos.com www.gov.mo www.htc.com -www.laecloud.com www.microsoft.com www.nike.com www.redhat.com @@ -103968,7 +103202,6 @@ wxphp.com wxpmc.com wxq.today wxqcgc.com -wxqinxue.com wxqxbxg.com wxrb.com wxrc.com @@ -104003,7 +103236,6 @@ wxt2020.com wxtaihujx.com wxtcm.com wxtcxny.com -wxtczs.com wxtdf.com wxthe.com wxtj.com @@ -104055,7 +103287,6 @@ wy2fy.com wy34.com wy6000.com wya1.com -wyaoqing.com wybgs.com wybosch.com wybzdwss.com @@ -104082,7 +103313,6 @@ wykefu.com wykjht.com wykw.com wyl.cc -wylws.com wylylxx.com wyn88.com wynca.com @@ -104101,7 +103331,6 @@ wyshuoshuo.com wysls.com wysm88.com wyteam.net -wytfsp.com wytx.net wytype.com wytzgl.com @@ -104228,6 +103457,7 @@ wzright.com wzrjsp.com wzrm-hospital.com wzrssip.com +wzrygcht.com wzsc123.com wzsee.com wzshe.com @@ -104318,7 +103548,6 @@ x3322.net x3366.com x33699.com x33yq.org -x366f.com x3china.com x3cn.com x431.com @@ -104547,7 +103776,6 @@ xbjob.com xbjtkj.com xbkjvip.com xblaw.com -xblds.com xblou.com xblqb.com xblsign.com @@ -104563,7 +103791,6 @@ xbptc.com xbrl-cn.org xbrother.com xbtest.com -xbttgroup.com xbtw.com xbuwrp.sbs xbuyees.com @@ -104638,7 +103865,6 @@ xcmg.com xcmgmall.com xcmobi.com xcmsports.com -xcn457.com xcnchinese.com xcncp.com xcnic.net @@ -104782,7 +104008,6 @@ xdxmwang.com xdyanbao.com xdyjt.com xdystar.com -xdyszx.com xdytuliao.com xdyy.net xdyy100.com @@ -104844,7 +104069,6 @@ xfaqwlw.com xfb315.com xfbst.com xfc888.com -xfcd365.net xfcjn.com xfcn.com xfconnect.com @@ -104892,6 +104116,7 @@ xfw0594.com xfwdc.com xfwed.com xfwindow.com +xfx02.com xfx168.com xfxb.net xfxglass.com @@ -105018,7 +104243,6 @@ xhjt.com xhkt.tv xhlaowu.com xhlcsl.com -xhm.pub xhma.com xhmedia.com xhmwxy.com @@ -105062,7 +104286,6 @@ xhxcedu.com xhxgt.com xhxhr.com xhxsw.com -xhxwsyw.com xhy.com xhyd.com xhygroup.com @@ -105078,7 +104301,6 @@ xi.su xi5jie.com xia1ge.com xiaa.net -xiabb.chat xiabingbao.com xiabor.com xiabu.com @@ -105096,7 +104318,6 @@ xiafenfa.com xiagaoqing.com xiagepian.com xiageyy.com -xiagongdi.com xiaguanzhan.com xiagujian.com xiaheng.net @@ -105141,7 +104362,6 @@ xiandaihospital.com xiandaimuye.com xiandaiyuwen.com xiandanjia.com -xiandaohu.net xiandengdengguan.com xiandp.com xianer.net @@ -105269,6 +104489,7 @@ xianjiaosuo.com xianjichina.com xianjiqun.com xianjzyxh.org +xiankabao.com xiankan.com xiankantv.com xianlai.work @@ -105391,6 +104612,7 @@ xiaochengxucms.com xiaochi198.com xiaochixiang.com xiaochuan010.com +xiaochuanyun.com xiaocifang.com xiaocms.com xiaocx.org @@ -105575,6 +104797,7 @@ xiaomagouche.com xiaomai.live xiaomai5.com xiaomaigongkao.com +xiaomaigui.com xiaomaiketang.com xiaomaiuzu.com xiaomajia.com @@ -105583,7 +104806,6 @@ xiaomaomv.com xiaomape.com xiaomark.com xiaomashijia.com -xiaomastack.com xiaomaxitong.co xiaomaxitong.com xiaomayi.co @@ -105600,7 +104822,6 @@ xiaomi.net xiaomi.org xiaomi.tw xiaomiaozai.com -xiaomibbs.com xiaomicache.com xiaomicorp.com xiaomicorp.net @@ -105692,7 +104913,6 @@ xiaoshuo.com xiaoshuo1-sm.com xiaoshuo2-sm.com xiaoshuo520.com -xiaoshuob.com xiaoshuoba.com xiaoshuobi.cc xiaoshuochu.com @@ -105771,7 +104991,6 @@ xiaoyanwenxue.com xiaoyaodsx.com xiaoyaoxi.com xiaoyaoyou.com -xiaoyaoyou365.com xiaoyastar.com xiaoyatong.com xiaoyegejitar.com @@ -105824,7 +105043,6 @@ xiaozhibaoxian.com xiaozhibo.com xiaozhimed.com xiaozhiyun.com -xiaozhizhijia.com xiaozhongjishu.com xiaozhoumo.com xiaozhu.com @@ -105862,7 +105080,6 @@ xiawuyouke.com xiaxs.info xiaxs.la xiayige.org -xiayijian.com xiayixing.com xiayx.com xiazai.live @@ -105873,6 +105090,7 @@ xiazai22.com xiazaiba.com xiazaicc.com xiazaijidi.com +xiazais.com xiazaitool.com xiazaiwx.com xiazaiziti.com @@ -105929,7 +105147,6 @@ xiefenxiang.com xiegangsir.com xiege.net xiegekt.com -xiehao.me xiehehp.com xiehejx.com xiehekjkf.com @@ -105982,7 +105199,6 @@ xigua.com xigua110.com xiguaapp.com xiguabook.com -xiguaimg.com xiguaji.com xiguang.xyz xiguaplayer.com @@ -106091,7 +105307,6 @@ xincainet.com xincaise.com xincaitong.net xincanshu.com -xincarshow.com xinceremed.com xincg.com xincha.com @@ -106195,7 +105410,6 @@ xingfufangdai.com xingfulaonian.com xingfulizhaofang.com xingfuu.com -xinggan.com xinggan.net xingganggas.com xingguanggongkao.com @@ -106291,7 +105505,6 @@ xingumin.net xinguodu.com xingvps.com xingwajiang.com -xingwangqy.com xingxing.com xingxingbao.com xingxingjizhang.com @@ -106417,10 +105630,10 @@ xinju.fun xinjuc.com xinjunshi.net xinjunshicn.net -xinkaiyuanceps.com xinke-semi.com xinkenwen.com xinkuai.com +xinlangtupian.com xinlanshengbc.com xinle.com xinle366.com @@ -106556,10 +105769,8 @@ xintianw.com xintianxia.cc xintianya.net xintiao100.com -xintiao80.com xintiaogroup.com xintiaoyouxi.com -xintiku.com xintongconference.com xintongwang.com xintrum.com @@ -106704,7 +105915,6 @@ xionguamaqui.com xiongyin.com xiongying.com xiongyudl.com -xiongzhangad.com xiowo.net xioxix.com xipunet.com @@ -106831,7 +106041,6 @@ xiuxiu.com xiuxiuda.com xiuxiustatic.com xiuxmanhua.com -xiuyiit.com xiuzhan365.com xiuzhanwang.com xiuzhiwu.com @@ -106860,12 +106069,12 @@ xixibobo.com xixiclothing.com xixidoudizhu.com xixig8.com +xixih.cc xixih.net xixik.com xixik.net xixinews.com xixinghanghr.com -xixinv.com xixiqipai.com xixisys.com xixiwg.com @@ -106954,7 +106163,6 @@ xjfilm.net xjfk.com xjflcp.com xjfm.com -xjfoshan.com xjfzb.com xjgameapi.com xjgameinfo.com @@ -107054,7 +106262,6 @@ xjzdjx.com xjzhsh.com xjzlyy.com xjzp.net -xjzslr.com xk57.com xk857.com xk89.com @@ -107067,7 +106274,6 @@ xkbjm.com xkcd.in xkcun.com xkd.hk -xkdongman.com xkdywl.com xkeirofiowef.com xker.com @@ -107088,7 +106294,6 @@ xktech.com xktsz.com xkunn.com xkunyi.com -xkvvv.com xkw.com xkwe.com xkxs.org @@ -107151,6 +106356,7 @@ xlm258.com xlmarathon.com xlmis.com xlmr.com +xlmz.net xlndt.com xlobo.com xlongm.com @@ -107165,9 +106371,9 @@ xlsdn.com xlsemi.com xlshou.com xlsxmj.com +xltll.com xltnjslfd.com xltrip.com -xltxly.com xluuss.com xlvshi.com xlwl95.com @@ -107219,7 +106425,6 @@ xmbhw.com xmbie.com xmbike.com xmbus.com -xmbyhksjhzx.com xmccb.com xmcdn.com xmchong.com @@ -107252,7 +106457,6 @@ xmgsd.com xmgslx.com xmguoyi.com xmgwbn.com -xmgxpt.com xmhaicangmarathon.com xmheigu.com xmheitu.com @@ -107272,7 +106476,6 @@ xmitic.com xmj1688.com xmjchyxh.com xmjgjy.com -xmjhome.com xmjiaruan.com xmjim.com xmjj3d.com @@ -107282,7 +106485,6 @@ xmjslh.com xmjyw.com xmjzykj.com xmkanshu.com -xmkingsolar.com xml-journal.net xmldz4.com xmlheads.com @@ -107291,6 +106493,7 @@ xmlulub.com xmlvbarcode.com xmmade.com xmmama.com +xmmeiyou.com xmmnrj.com xmmtoys.com xmmtu.com @@ -107366,7 +106569,6 @@ xmzmy.com xmzs.org xmzwdgm.com xmzyark.com -xmzylh.com xmzzy.net xn--0lqv73m.com xn--0lqwsu2w.com @@ -107397,6 +106599,7 @@ xn--4lwr21d.com xn--4oqr35flvp.com xn--4qwqc04pn0lg9h.com xn--4xup5j.com +xn--54q23ckxiyx0e.com xn--54q249denfzw9a.net xn--54q40czz0g7xp.com xn--55qw7biqf7g3d004h8yuw1ctrt04sep1cjfb.com @@ -107475,9 +106678,7 @@ xn--ebr05n.com xn--eh1a34ykpl.com xn--ehq647i.xn--j6w193g xn--eltt9g.com -xn--estx4tcsdff9qu37dl78b.com xn--fcs316auqlyoe.com -xn--fct05uxe304h.com xn--fhq79jyym9nh74hfm8a.com xn--fiq03fftg7m2c.com xn--fiq06jqoz14s.com @@ -107552,7 +106753,6 @@ xn--pbt1sj69ag8b.com xn--pss89e6xl72g.com xn--ptua509t.com xn--q20av2y36ac54a.com -xn--qkroa335nnol.com xn--qruq25bjsj.net xn--qzwx3ij21azka.com xn--r8s65df7admf92a.com @@ -107590,7 +106790,6 @@ xn--vcsu9p66gy1l9vpnnbk52f.com xn--vhq3m33sbqhpsmtnuxfq.com xn--vhq3mr8b802a.net xn--vhq4ut2dsxd5xqnicjxxo55a756aovhik0aunm.com -xn--vhq726a7bz6b628r.net xn--vhqa63bt1h.com xn--vhqqbz2p62hm92e04p.com xn--vhqu1kbz3bnbi.com @@ -107612,7 +106811,6 @@ xn--xhq521b xn--xhq60k09cr85at2f494d.com xn--xhq60kzbz07dem6azlu.com xn--xhq8sm16c5ls.com -xn--xhq9mt12cf5v.ink xn--xhqq2hhv0dkpk.com xn--xhqq4f5vc69qlmk6mva633mwoeiuad9562e.com xn--xhqs8jmxkive1yest6g.com @@ -107651,7 +106849,6 @@ xnhdgame.com xninja.org xnjcw.com xnjdcbs.com -xnjty.com xnjxnz.com xnnpc.com xnongren.com @@ -107687,6 +106884,7 @@ xnzyyy.com xoao.com xoliao.com xooooa.com +xopenbeta.com xorlink.com xorpay.com xoss.co @@ -107726,7 +106924,6 @@ xpjis.com xpkjpk.com xpkongqipao.com xplaymobile.com -xpn.cc xpoy0z.com xpsheying.com xpsup.com @@ -107803,7 +107000,6 @@ xrqh.com xrso.com xrunda.com xrvm.com -xrwcn.com xrwf66.com xrxr.xyz xrxukegi.com @@ -107820,7 +107016,6 @@ xs6po.icu xs7.cc xs7.com xs7.la -xs91.net xs920.com xs9999.com xsa239.com @@ -107842,7 +107037,6 @@ xsesc.com xsfaya.com xsfc.com xsfsp.com -xsg100.com xsgame.net xsgame99.com xsgongju.com @@ -107854,7 +107048,6 @@ xshellcn.com xshengyan.com xshenshu.com xshgsh.com -xshgt.com xshhotels.com xshkvip.com xshmzz.com @@ -107878,7 +107071,6 @@ xsjgzbdf.com xsjit.com xsjk.net xsjny.com -xsjob.com xsjom.com xsjplm.com xsjrc.com @@ -107896,7 +107088,6 @@ xsmaofa.com xsmart.com xsmart.link xsmoe.com -xsmore.com xsmya.com xsn168.com xsnsyh.com @@ -107990,12 +107181,12 @@ xtjsxy.net xtjtjs.com xtlitian.com xtlog.com -xtmc.net xtmit.com xtmtrj.com xtomp.com xtong-solar.com xtongs.com +xtoobmo.xyz xtowork.com xtransfer.com xtrapowercn.com @@ -108013,7 +107204,6 @@ xtuan.com xtuos.com xtutoring.com xtw-system.com -xtw1.com xtwzyx.com xtx6.com xtxcm.com @@ -108080,7 +107270,6 @@ xuanyang888.com xuanyge.info xuanyouwang.com xuanyuanhuangdi.org -xuanyuanma.com xuanyuans.com xuanyuanzjy.com xuanyucttw.com @@ -108111,7 +107300,6 @@ xueanquan.com xueba100.com xuebaclass.com xuebaike.net -xuebalib.com xuebangsoft.com xuebapan.com xuebawang.net @@ -108216,7 +107404,6 @@ xuetimes.com xueto.com xuetongw.com xuetu.net -xuetuwuyou.com xueui.com xuewangshang.com xuewangzhan.com @@ -108344,7 +107531,6 @@ xundekai.com xundiesoft.com xundns.com xundns.net -xundonglian.com xundupdf.com xunerjie.com xunfan.net @@ -108355,7 +107541,6 @@ xunfeivr.com xunfeiwl.com xunfeixxj.com xungejiang.com -xungeng360.com xungou.com xungou5.com xunguagua.com @@ -108367,7 +107552,6 @@ xunhuweb.com xunicard.com xunihao.net xuniquan.com -xunjie.fun xunjiecad.com xunjiefanyi.com xunjiepdf.com @@ -108436,7 +107620,6 @@ xuooo.com xupai.com xupea.com xupernode.com -xupo.net xuprinter.com xupu.name xupu120.com @@ -108461,7 +107644,6 @@ xuxiang.com xuxueli.com xuxusheng.com xuyalipin.com -xuyangjs.com xuyangny.com xuyechem.com xuyi.net @@ -108472,7 +107654,6 @@ xuyueswkj.com xuyunjt.com xuzai.com xuzhi.net -xuzhoudeyu.com xuzhoufabu.com xuzhoujob.com xuzhoumuseum.com @@ -108484,6 +107665,7 @@ xvacuum.com xvcdmo.com xvideo.cc xvista.com +xvjhzuc.com xvwprdk.com xw-chip.com xw-planning.com @@ -108549,7 +107731,6 @@ xx4a.com xx5515.com xx7z.co xx8g.com -xxad.cc xxadc.com xxahsk.com xxaks01080sspao.xyz @@ -108581,7 +107762,6 @@ xxhd-tech.com xxhnanke.com xxhpkwd.com xxhrd.com -xxhyzs.com xxinficity.com xxingclub.com xxjdns.com @@ -108674,7 +107854,6 @@ xxzrs.xyz xxzsgame.com xy-365.com xy-asia.com -xy-biochem.com xy-ddh.com xy-dgyx.com xy-display.com @@ -108713,13 +107892,13 @@ xycdn.net xycgd.com xychyy.com xyclient.net +xyclient.xyz xycloud.com xyclouds.com xycsq.com xyctgroup.com xycwei.com xycyky.com -xyd5fy.com xyda.cc xydcname.com xydcname.net @@ -108773,7 +107952,6 @@ xykgjt.net xykmovie.com xyktjt.com xyl2002.com -xylbsnjx.com xylh888.com xylhwdu.com xylink.com @@ -108800,7 +107978,6 @@ xyqxr.com xyqy88.com xyrbszb.com xyre.com -xyrkl.com xyrsks.com xyrtv.com xysb.com @@ -108840,7 +108017,6 @@ xywclass.com xywlhlh.com xywm.com xywm.ltd -xywx.cc xywy.com xywyfw.com xywzs.com @@ -108996,7 +108172,6 @@ xzrcyy.com xzrdwq.com xzriit.com xzrsks.com -xzrzscq.com xzsdszx.com xzsdyyy.com xzsec.com @@ -109056,6 +108231,7 @@ y55l6.com y56.com y5663.com y5api.com +y5coin.com y5kfpt.com y5news.com y5store.com @@ -109066,7 +108242,6 @@ y7ts.icu y80s.com y8cyx6fvyxk3hs.com y8l.com -y95.net ya-bo888.com ya-marathon.com ya17.com @@ -109149,6 +108324,7 @@ yamaijia.net yameisj.com yamibo.com yan-grh.com +yan-jian.com yan678.com yanagou.net yananhongyun.com @@ -109222,6 +108398,7 @@ yanglaozhan.org yanglee.com yangli.com yangliping.com +yangliq.com yanglong.pro yangluojob.com yangmao.info @@ -109312,7 +108489,6 @@ yanjiyou.net yanjob.com yanjun7858.com yanjunbo.com -yankanshu.cc yankay.com yanke360.com yankon.com @@ -109518,7 +108694,6 @@ yaxige.com yaxin888.com yaxinde.com yaxinghbkj.com -yaxinzhineng.com yaxuntuhang.com yaya.love yayaad.com @@ -109567,7 +108742,6 @@ ybcxz.com ybdbz.com ybdlogistic.com ybe.net -ybeih.com ybfljs.com ybgkz.com ybgz.com @@ -109577,7 +108751,6 @@ ybin.cc ybirds.com ybj.com ybjjsgc.com -ybjk.com ybjsk.com ybk001.com ybk168.com @@ -109614,7 +108787,6 @@ yby1953.com ybyiot.com ybynet.com ybypark.com -ybyz.net ybzhao.com ybznzz.com ybzzgh.org @@ -109766,7 +108938,6 @@ ycwb.com ycwljt.com ycxba.com ycxdryy.com -ycxfgroup.com ycxicmall.com ycxinxi.com ycxjtd.com @@ -109776,7 +108947,6 @@ ycxy.com ycxydrkj.com ycxzlsyxgs.com ycyaw.com -ycychr.com ycyck.com ycycut.com ycyhzx.com @@ -109802,7 +108972,6 @@ yd-power.com yd-tec.com yd126.com yd166.com -yda16.me ydalison.com ydamc.com ydbimg.com @@ -109826,7 +108995,6 @@ ydhyfs.com ydihi.com ydimmi.com ydjdcjc.com -ydjia.com ydjt1166.com ydjwy.net ydjy.net @@ -110092,7 +109260,6 @@ yfcdn.net yfchuhai.com yfcity.net yfcloud.com -yfcloud.work yfd.xyz yfdc.net yfdlsb.com @@ -110123,7 +109290,6 @@ yfdurl8.com yfdurl9.com yfdxs.com yfdyf.com -yfdzy.com yffood.com yffy120.com yffzkl.com @@ -110174,7 +109340,6 @@ yg84.com yg8898.com ygbid.com ygc711iq.com -ygcf.info ygcgfw.com ygcloud.com ygcooler.com @@ -110211,6 +109376,7 @@ ygtf.net ygtiyu.com ygtl.com ygtq.net +ygvyp.com ygwenxue.com ygwh.cc ygwood.com @@ -110293,7 +109459,6 @@ yhsp.net yhsport.com yhssyl.com yhstjt.com -yht2017.com yhtclb.com yhthing.com yhtj2014.com @@ -110444,6 +109609,7 @@ yidianyuan-wawa.com yidianzixun.com yidianzx.com yiding-gr.com +yidingbao.shop yidingding3.com yidmall.com yidns.net @@ -110458,7 +109624,6 @@ yidu-marathon.com yidu.cc yidubbs.com yiduchuan.com -yidugo.com yidui.me yiduir.com yidulive.com @@ -110631,7 +109796,6 @@ yikuyi.com yilandezhong.com yilantop.com yilanvaas.com -yile.site yile8.com yilewan.com yileweb.com @@ -110765,6 +109929,7 @@ yingfs.com yinggou.com yingguangroup.com yingguantx.com +yinghai.work yinghaicar.com yinghanhuyi.com yinghecloud.com @@ -110846,7 +110011,6 @@ yingyecraft.com yingyeping.com yingyijin.com yingyinglicai.com -yingyongbei.com yingyonghao8.com yingyonghui.com yingyongmiao.com @@ -110859,6 +110023,7 @@ yingyuecl.com yingyuehe.com yingyushijie.com yingyuweb.com +yingyuxiaoshuo.com yingzaocms.com yingzhongshare.com yingzi01.com @@ -110881,6 +110046,7 @@ yinhecn.com yinheyuedu.com yinhu.com yinhuadm.one +yinhuafu.com yinhuakm.com yinhuatangyiyao.com yinhuchem.com @@ -110964,7 +110130,6 @@ yipingmi.vip yipingsj.com yipinhr.com yipinpai.com -yipinread.com yipinsmart.com yipintemian.com yipinyiwu.com @@ -111053,7 +110218,6 @@ yisanban.com yisanwu.com yisbei.com yisell.com -yisenkeji.com yishalai.com yishan168.com yishang.cc @@ -111075,7 +110239,6 @@ yishujia.net yishujie.com yishuliuxue.com yishun.fun -yishunft.com yishutang.com yishuyuanxiao.com yishuzhifa.com @@ -111084,6 +110247,7 @@ yishuzi.org yishuziti.com yisier.com yisimeimaoyi.xyz +yiso.fun yisocms.com yisou.com yisouti.com @@ -111173,7 +110337,6 @@ yixiaobang.net yixiaoyuan.com yixiaozu.com yixiatong.com -yixie8.com yixiekeji.com yixin-valve.com yixin.com @@ -111364,7 +110527,6 @@ yjsswjt.com yjtiyu.com yjtvw.com yjtw.com -yjussl.xyz yjwlnet.com yjwlo.com yjwmidc.com @@ -111396,6 +110558,7 @@ ykclass.com ykdgd.com ykdmsy.com ykedu.net +ykelai.com ykfc.net ykhongye.com ykimg.com @@ -111500,12 +110663,12 @@ yljdjx.com yljr.com yljsy.com yljtjt.com -yljyt.net ylkaite.com ylkbf.com ylkjgame.com ylklyl.com yllhzb.com +yllm666.xyz yllt.icu ylmaterial.com ylmf.cc @@ -111591,6 +110754,7 @@ ylzuche.com ylzxmryy.com ylzyhb.com ylzyjx.com +ylzz666.com ym-trans.com ym.link ym.run @@ -111606,7 +110770,6 @@ ymapp.com ymark.cc ymars.com ymatou.com -ymatou.hk ymbaidu.com ymbank.com ymbq301.com @@ -111614,7 +110777,6 @@ ymcart.com ymcart.net ymcsepu.com ymdoctor.com -ymdxl.com ymeasy.com ymechina.com ymeei.com @@ -111677,7 +110839,6 @@ ymzsl.com ymzy.games yn-tcm-hospital.com yn-tobacco.com -yn0870.com yn12396.com yn2007.com yn58.com @@ -111720,7 +110881,6 @@ ynhuasong.com ynhzm.com yni84.com ynian.com -ynikon.com ynjgy.com ynjiaoyu.net ynjk120.com @@ -111771,7 +110931,6 @@ ynsnw.com ynsrx.com ynsst.com ynstl.com -ynsxjr.com ynsydwzp.com ynsyhkgs.com ynsyy.com @@ -111903,6 +111062,7 @@ yomocode.com yomuzu.com yonderep.com yondocredit.com +yoneihan.com yonex-china.com yong-gang.com yong-ming.com @@ -111926,7 +111086,6 @@ yonghongtech.com yonghuivip.com yongjiang.com yongjiezb.com -yongjilvfeng.com yongjindl.com yongjukeji.com yongjx.com @@ -112138,7 +111297,6 @@ youhutong.com youideal.net youinsh.com youj.com -youjiagou.com youjiajk.com youjiands.net youjiangdati.com @@ -112185,7 +111343,6 @@ youlianfuwu.com youliangda.com youlianghz.com youliao.com -youliao.group youliao.love youliaobaike.com youliaoyi.com @@ -112306,7 +111463,6 @@ yousi.com youstong.com youtaidoors.com youtaidu.com -youtak.com youtao55.com youtaojd.com youthi.com @@ -112332,7 +111488,6 @@ youwei-china.com youwei.com youweigroup.com youweihui.com -youwinedu.com youwo.com youwoxing.net youwu.today @@ -112487,7 +111642,6 @@ youzikuaibao.com youzipay.com youzu.com youzuanmy.vip -youzunkj.com yovisun.com yovocloud.com yovole.com @@ -112557,6 +111711,7 @@ ypshengxian.com ypshop.net ypstech.com ypwater.com +ypxiixs.xyz ypyyjt.com ypzdw.com ypzhushou.com @@ -112599,7 +111754,6 @@ yqmh.com yqmls.com yqms.net yqn.com -yqok.com yqphh.com yqrc.com yqrcw.com @@ -112676,7 +111830,6 @@ ys8.com ys991.com ysaedesign.com ysali.com -ysb76.com ysbopet.com ysbz168.com yscase.com @@ -112687,7 +111840,6 @@ yscq.com yscro.com ysczw.com ysdq8.com -ysdui.com ysedu.com ysej.com ysemi.com @@ -112740,7 +111892,6 @@ ysnns.com ysod.com ysok.net ysol.com -ysoow.com ysosuo.com ysplay.com ysrencai.com @@ -112962,7 +112113,6 @@ yuanjingang.com yuanjingss.com yuanjisong.com yuanjoy.com -yuanjuchanlian.org yuanlai.com yuanlei.net yuanley.com @@ -112975,7 +112125,6 @@ yuanmadian.com yuanmait.com yuanmajiaoyiw.com yuanmatao.com -yuanmawu.net yuanmengyouxuan.com yuano.cc yuanpanguoji.com @@ -113182,7 +112331,6 @@ yuewanggd.com yuewei007.com yueweimusic.com yuewen.com -yuewz.com yuexiamen.com yuexiangpin.com yuexiangspace.com @@ -113278,6 +112426,7 @@ yujia.com yujiahui.com yujianai520.com yujianpay.com +yujianxiaomian.com yujiawuliu.com yujiefs.com yujifruit.com @@ -113307,7 +112456,6 @@ yulejiaodian.com yulekan.com yulekoudai.com yuleqiu.com -yuleres.com yulhe.com yuli.be yuliancn.com @@ -113456,7 +112604,6 @@ yunduocrm.com yunduoke.net yunduoketang.com yunduolp.com -yunduor.com yundzh.com yuneach.com yunerba.com @@ -113692,7 +112839,6 @@ yunwenkeji.com yunwenxue.com yunwins.com yunwuxian.net -yunxgt.com yunxi.cc yunxi.net yunxi.tv @@ -113775,6 +112921,7 @@ yunzongnet.com yunzuji.vip yunzujia.com yunzuowen.com +yunzuoye.net yunzz.net yuoucn.com yupao.com @@ -113818,7 +112965,6 @@ yusiyy.com yusongec.com yusuan.com yusunjewelry.com -yususy.com yusuusnw.com yusxz.com yutai365.com @@ -113887,6 +113033,7 @@ yuyunkj.com yuyuntang.com yuyuntech.com yuzeli.com +yuzeli.net yuzhengzixun.net yuzhenhai.com yuzhicaiexpo.com @@ -113899,7 +113046,6 @@ yuzhoua.com yuzhouwan.com yuzhouyiyuan.com yuzhouzb.com -yuzhouzs.com yuzhua.com yuzhuan.com yuzhulin.com @@ -113960,7 +113106,6 @@ ywtds.com ywurl.com ywwg.net ywwl.com -ywwm.net ywwpay.com ywxue.com ywxww.net @@ -113974,7 +113119,6 @@ yx-g.com yx-life.com yx-s.com yx-s.net -yx007.com yx0599.com yx090.com yx10011.com @@ -114138,7 +113282,6 @@ yxzp.net yxzu.com yxzxgy.com yxzzd.com -yy-xjy.com yy.com yy07.com yy11.com @@ -114367,7 +113510,6 @@ yzgnet.com yzgttm.com yzgzx.com yzhbw.net -yzhckncp.com yzhcloud.com yzhdyy.com yzhejin.com @@ -114520,6 +113662,7 @@ z316.com z318.com z3quant.com z3zex.icu +z4bgpo.com z574.com z5encrypt.com z5w.net @@ -114589,6 +113732,7 @@ zaiyunli.com zajiebao.com zajilu.com zajourney.com +zakc.group zaker.com zaku.fun zakww.com @@ -114679,7 +113823,6 @@ zazhidang.com zazhipu.com zazsz.com zb-kc.com -zb.live zb1.org zb18.net zb8.com @@ -114714,7 +113857,6 @@ zbieo.com zbii.com zbinfo.net zbintel.com -zbiquge.com zbird.com zbisq.com zbitcloud.com @@ -114894,6 +114036,8 @@ zcxsl.com zcycdn.com zczbzx.com zczj.com +zczy100.com +zczy56.com zd-auto.com zd-brake.com zd-dl.com @@ -114979,6 +114123,7 @@ zdwmq.com zdworks.com zdwx.com zdwx.net +zdwx.vip zdxlz.com zdxygl.com zdyfy.com @@ -115042,7 +114187,6 @@ zengjunyin.com zenglong3d.com zengrong.net zengslb.com -zengsong.org zengyongfu.com zengzeng.net zenha.net @@ -115075,11 +114219,11 @@ zerontruck.com zeroonead.com zeropartner.com zerotogether.net +zerseager.com zeruns.com zerustech.com zeryt111.fun zesee.com -zesenjt.com zeshengproject.com zeshengshun.online zeshengtecphar.com @@ -115089,7 +114233,10 @@ zeststore.com zetacn.com zetaijituan.com zetast.com +zetbig.com +zetcloud.com zettlernb.com +zetyun.com zeuux.com zeuux.org zexiaoqiao.com @@ -115364,7 +114511,6 @@ zgpj.net zgps168.com zgpts.com zgpy168.com -zgq.ink zgqbxh.com zgqbyp.com zgqcdt.com @@ -115383,7 +114529,6 @@ zgrcjlxh.com zgrcjyw.com zgrd.org zgrdnews.com -zgrfhb.com zgrlm.com zgrmw.com zgruisai.com @@ -115543,7 +114688,6 @@ zh-languan.com zh-longshi.com zh-piao.com zh10.com -zh188.net zh189.com zh30.com zh818.com @@ -115864,6 +115008,7 @@ zhedabingchong.com zhedu.net zhefengle.com zhefuhua.com +zhegu8.xyz zheishui.com zheiyu.com zhejiangcheng.com @@ -116000,7 +115145,6 @@ zhenhuadj.com zhenhuan888.com zhenimg.com zhenjiang-marathon.com -zhenjianghr.com zhenjiatong.com zhenjingtv.com zhenkongbang.com @@ -116034,7 +115178,6 @@ zhenxin2014.com zhenxinet.com zhenxinfu.com zhenxingkuangchanpin.com -zhenxinshengwu.com zhenxipin.net zhenyangshoes.com zhenye.com @@ -116276,6 +115419,7 @@ zhimacangku.com zhimaixiaodian.com zhimantian.com zhimapay.net +zhimaquan.net zhimaruanjian.com zhimatech.com zhimawenda.com @@ -116369,7 +115513,6 @@ zhituokeji.com zhitusoft.com zhituzhilian.com zhivisaworld.com -zhiwangrenwu.com zhiweidata.com zhiweihome.com zhiweisoft.com @@ -116417,7 +115560,6 @@ zhiyinlou.com zhiyinmanhuawang.com zhiyinmedia.com zhiyoo.com -zhiyou100.com zhiyoubao.com zhiyousx.com zhiys.com @@ -116511,7 +115653,6 @@ zhmodaoli.com zhmold.com zhmu.com zhmxchina.com -zhmzjl.com zhmzqi.com zhnbj.com zhnfad.com @@ -116522,6 +115663,7 @@ zhong.com zhong100.com zhongan.com zhongan.io +zhongancloud.com zhonganfengshang.com zhonganguobao.com zhonganib.com @@ -116551,7 +115693,6 @@ zhongchuangwenhua.com zhongda021.com zhongdakang.com zhongdazm.com -zhongde666.com zhongdegroup.com zhongdemetal.com zhongdeng.com @@ -116830,11 +115971,8 @@ zhouyi.cc zhouyi.org zhouyi114.com zhouyiapi.com -zhouyiju.com -zhouyiyuc.com zhouyou360.com zhouyouji.world -zhouyuanchao.com zhouzhuang.net zhoz.com zhpca.com @@ -116856,13 +115994,13 @@ zhsw.org zhswfw.com zhszcz.com zht-cn.com +zhtdtech.com zhtelecom.com zhtfw.net zhtgroup.com zhthg.com zhtlq.com zhtmid.com -zhtuanjian.com zhty.net zhtyljt.com zhuainiu.com @@ -116941,7 +116079,6 @@ zhubian.com zhubiaoju.com zhubijiao.com zhubo123.com -zhubogu.com zhuboqiang.com zhuceshenzhengongsi.com zhuceyou.com @@ -116956,8 +116093,6 @@ zhuding.net zhufaner.com zhufangdianping.com zhufengpeixun.com -zhufg.com -zhufuyujd.com zhuge.com zhuge888.com zhugeapi.com @@ -117064,6 +116199,7 @@ zhunbai.com zhunc.vip zhundao.net zhundaoyun.com +zhuneijs.com zhuniangjia.com zhuniu.com zhunkua.net @@ -117077,7 +116213,6 @@ zhuo.re zhuobao.com zhuobufan.com zhuodai.net -zhuodaiyu.com zhuofan.net zhuofansoft.com zhuoguang.net @@ -117092,7 +116227,6 @@ zhuolaoshi.net zhuoligk.com zhuomaiyun.com zhuomajidian.com -zhuomengwangluo.com zhuomiles.com zhuomogroup.com zhuoquapp.com @@ -117147,7 +116281,6 @@ zhutix.com zhutix.net zhutix.vip zhutou.com -zhutousan.net zhutxia.com zhuwang.cc zhuwang360.com @@ -117198,7 +116331,6 @@ zhxgimg.com zhxhs.net zhxht.com zhxinuser.com -zhxinza.com zhxjyw.com zhxnyw.com zhxqpt.com @@ -117242,6 +116374,7 @@ zi0.cc zi15.com zi5.cc zi5.me +zi6.cc zianwu.com zibaomuye.com zibasset.com @@ -117252,7 +116385,6 @@ zibogongli.com zibojinling.com zibomama.com zibomarathon.com -zibonewbright.com zibowater.com zibozhongxue.com zibsc.com @@ -117337,7 +116469,6 @@ zilian5.com ziliao8.cc ziliao8.com ziliaoge.com -ziliaoh.com ziliref.com zilongame.com zilongshanren.com @@ -117395,7 +116526,6 @@ ziti163.com ziti3.com ziti88.com ziti9.com -zitiao.org zitichina.com ziticq.com zitidi.com @@ -117420,7 +116550,6 @@ zixia.com zixiaomao.com zixigua.com zixijiaoshi.com -zixike.cc zixingxinwen.com zixueguoxue.com zixuejie.com @@ -117447,6 +116576,7 @@ ziyou.com ziyou.studio ziyouad.com ziyoufa.com +ziyouma.net ziyouwu.com ziyouxing.net ziyouziti.com @@ -117474,7 +116604,6 @@ zizdog.com zizhengfang.com zizhigx.com zizhijie.com -zizhiwang.cc zizhuauto.com zizhuhui.com zizhupark.com @@ -117998,7 +117127,6 @@ zjszyyxh.com zjszzs.com zjt2017.com zjtaa.net -zjtangshan.com zjtbe.com zjtcc.com zjtcjt.com @@ -118189,7 +117317,6 @@ zkjds.com zkkailiaoji.com zkkjpa.com zkl2333.com -zkmaint.com zkmeiling.com zkmob.net zknmattress.com @@ -118224,7 +117351,6 @@ zkw2009.com zkwtech.com zkx.cc zkxblog.com -zkxlkj.net zkxww.com zkyai.com zkydib.com @@ -118272,7 +117398,6 @@ zlingad.com zlink-e.com zlitoa.cc zlitoa.com -zljrhb.com zljskb.com zljweb.com zljx.net @@ -118384,7 +117509,6 @@ zmqh.com zmqmt.com zmren.com zmrenwu.com -zmrgame.com zmrmbc.xyz zmsq.com zmssh.com @@ -118403,7 +117527,6 @@ zmxph.com zmye5vly.com zmyui.com zmzb.com -zmzjk.com zmzjt.com zmzx.cc zn8.com @@ -118426,14 +117549,12 @@ znelc.com znfcwf.com znfit.com zngm.com -zngtgroup.com zngue.com zngxjt.com znhhmedical.com znhospital.com znhr.com znhwhw.com -znimg.com znj.com znjchina.com znjj.tv @@ -118446,6 +117567,7 @@ znlcn.org znlerp.com znlh.com znmq.com +znnu.com znonline.net znp9.com znpin.com @@ -118464,18 +117586,17 @@ zntvrom.com zntx.cc zntzdj.com znum.com -znvren.com znwb.com znxdxs.com znxhd.com znxk.net znyp.com znypjy.com -znyshurufa.com znzmo.com znzncn.com znznet.net znztool.com +znztv.com znzyf.com zo-station.com zoassetmanagement.com @@ -118572,7 +117693,6 @@ zoossoft.net zooszyservice.com zootope.ink zooyoo.cc -zopomobile.com zoqlan.com zoranchem.com zoroli.com @@ -118651,7 +117771,6 @@ zpxrmyy.com zq101.net zq12369.com zq235.com -zq2mqo.com zq6.com zq84.com zqagr.com @@ -118681,7 +117800,6 @@ zqjjr.com zqkjy.com zqlian.com zqlx.com -zqmcdr.com zqnf.com zqpj.com zqread.com @@ -118735,7 +117853,6 @@ zrtg.com zrthink.com zrtjt.com zrway.com -zrwhartongroup.com zrwjk.com zrxdsj.com zry97.com @@ -118848,8 +117965,6 @@ zslefx.art zslhs.com zslin.com zslp021.com -zslyyn12.com -zslyzjj11.com zsmama.com zsmls.com zsmw.net @@ -119085,6 +118200,7 @@ zuimeia.com zuimeiqidai.com zuimeitianqi.com zuiqiangyingyu.net +zuiqingfeng.com zuishidai.com zuitang.com zuitu.com @@ -119130,6 +118246,7 @@ zuo3.com zuoanedu.com zuoanfloor.com zuobaike.net +zuobiao.press zuobin.net zuocaibusiness.com zuocaicn.com @@ -119222,7 +118339,6 @@ zw69.com zw885.com zwads.com zwayoptik.com -zwba.net zwbdata.com zwcad.com zwcctv.com @@ -119306,7 +118422,6 @@ zxbook.net zxbzr.com zxchemgroup.com zxcmk.com -zxcnw.com zxcoder.com zxcvqqw.com zxczw.com @@ -119317,7 +118432,6 @@ zxdoo.com zxdu.net zxdyw.com zxerp.com -zxfbxg.com zxfw888.com zxfwgj.com zxgj56.com @@ -119438,7 +118552,6 @@ zybang.com zybaoan.com zybest.com zybird.com -zybk6.com zybtp.com zybuluo.com zybwhsb.com @@ -119504,6 +118617,7 @@ zyjthb.com zyjymall.com zyjyxx.com zyjyyun.com +zyka.cc zykj0668.com zykjct.com zykjgame.com @@ -119519,6 +118633,7 @@ zymc1.com zymkcdn.com zymkshop.com zymreal.com +zyms8.me zyoffice.com zyoo.net zyoogame.com @@ -119540,7 +118655,6 @@ zyqzyyy.com zyrack-china.com zyrb.com zyrc168.com -zyrfanli.com zyrj.org zyrm.com zyrykbiandao.com @@ -119610,7 +118724,6 @@ zzay.net zzbaike.com zzbaowen.com zzbbs.com -zzbcmx.com zzbd.org zzbds.net zzboiler.com @@ -119706,7 +118819,6 @@ zzmyt.com zznah001.com zznst.com zznyy.com -zzpn.net zzprotect.com zzptech.com zzpuke.com diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.ver b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.ver index 21cacf1228..3b2cd43a76 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.ver +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/china_list.ver @@ -1 +1 @@ -202507172215 +202508072216 diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.txt b/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.txt index 0d2ca444a7..bd872bcaad 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.txt +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.txt @@ -3086,6 +3086,7 @@ lsmwebcast.com lsxszzg.com ltn.com.tw luckydesigner.space +ludepress.com luke54.com luke54.org lupm.org @@ -5376,6 +5377,7 @@ waffle1999.com wahas.com waikeung.org wainao.me +walletconnect.com wallmama.com wallpapercasa.com wallproxy.com @@ -5609,6 +5611,8 @@ www1.biz www2.ohchr.org www2.rocketbbs.com wwwhost.biz +wxw.cat +wxw.moe wzyboy.im x-art.com x-berry.com @@ -5707,6 +5711,7 @@ yam.com yam.org.tw yande.re yanghengjun.com +yangzhi.org yasni.co.uk yasukuni.or.jp yayabay.com diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.ver b/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.ver index 21cacf1228..3b2cd43a76 100644 --- a/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.ver +++ b/small/luci-app-homeproxy/root/etc/homeproxy/resources/gfw_list.ver @@ -1 +1 @@ -202507172215 +202508072216 diff --git a/small/luci-app-passwall/Makefile b/small/luci-app-passwall/Makefile index 1612847688..93fffe0ab5 100644 --- a/small/luci-app-passwall/Makefile +++ b/small/luci-app-passwall/Makefile @@ -128,7 +128,6 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Shadow_TLS config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs bool "Include Simple-Obfs (Shadowsocks Plugin)" - select PACKAGE_simple-obfs select PACKAGE_simple-obfs-client default y diff --git a/small/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua b/small/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua index 93ba2b83b1..d3b16f760b 100644 --- a/small/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua +++ b/small/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua @@ -774,6 +774,18 @@ o.rmempty = false o = s2:option(ListValue, "node", translate("Socks Node")) +o = s2:option(DummyValue, "now_node", translate("Current Node")) +o.rawhtml = true +o.cfgvalue = function(_, n) + local current_node = api.get_cache_var("socks_" .. n) + if current_node then + local node = m:get(current_node) + if node then + return (api.get_node_remarks(node) or ""):gsub("(:)%[", "%1
[") + end + end +end + local n = 1 m.uci:foreach(appname, "socks", function(s) if s[".name"] == section then @@ -788,7 +800,7 @@ o.datatype = "port" o.rmempty = false if has_singbox or has_xray then - o = s2:option(Value, "http_port", "HTTP " .. translate("Listen Port") .. " " .. translate("0 is not use")) + o = s2:option(Value, "http_port", "HTTP " .. translate("Listen Port")) o.default = 0 o.datatype = "port" end diff --git a/small/luci-app-passwall/po/zh-cn/passwall.po b/small/luci-app-passwall/po/zh-cn/passwall.po index 2163e7978f..92c3ad0322 100644 --- a/small/luci-app-passwall/po/zh-cn/passwall.po +++ b/small/luci-app-passwall/po/zh-cn/passwall.po @@ -100,6 +100,9 @@ msgstr "Socks 配置" msgid "Socks Node" msgstr "Socks 节点" +msgid "Current Node" +msgstr "当前节点" + msgid "Listen Port" msgstr "监听端口" diff --git a/small/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh b/small/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh index 91c69c355d..ef4733d2ab 100755 --- a/small/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh +++ b/small/luci-app-passwall/root/usr/share/passwall/socks_auto_switch.sh @@ -31,7 +31,7 @@ test_url() { if /usr/bin/curl --help all | grep -q "\-\-retry-all-errors"; then extra_params="--retry-all-errors ${extra_params}" fi - status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout ${timeout} --retry ${try} -w %{http_code} "$url") + local status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout ${timeout} --retry ${try} -w %{http_code} "$url") case "$status" in 204) status=200 @@ -41,12 +41,12 @@ test_url() { } test_proxy() { - result=0 - status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x socks5h://127.0.0.1:${socks_port}") + local result=0 + local status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x socks5h://127.0.0.1:${socks_port}") if [ "$status" = "200" ]; then result=0 else - status2=$(test_url "https://www.baidu.com" ${retry_num} ${connect_timeout}) + local status2=$(test_url "https://www.baidu.com" ${retry_num} ${connect_timeout}) if [ "$status2" = "200" ]; then result=1 else @@ -68,7 +68,7 @@ test_node() { /usr/share/${CONFIG}/app.sh run_socks flag="test_node_${node_id}" node=${node_id} bind=127.0.0.1 socks_port=${_tmp_port} config_file=test_node_${node_id}.json local curlx="socks5h://127.0.0.1:${_tmp_port}" sleep 1s - _proxy_status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x $curlx") + local _proxy_status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x $curlx") # 结束 SS 插件进程 local pid_file="/tmp/etc/${CONFIG}/test_node_${node_id}_plugin.pid" [ -s "$pid_file" ] && kill -9 "$(head -n 1 "$pid_file")" >/dev/null 2>&1 @@ -82,14 +82,14 @@ test_node() { } test_auto_switch() { - flag=$(expr $flag + 1) + flag=$((flag + 1)) local b_nodes=$1 local now_node=$2 [ -z "$now_node" ] && { if [ -n "$(/usr/share/${CONFIG}/app.sh get_cache_var "socks_${id}")" ]; then now_node=$(/usr/share/${CONFIG}/app.sh get_cache_var "socks_${id}") else - #echolog "自动切换检测:未知错误" + #echolog "Socks切换检测:未知错误" return 1 fi } @@ -98,58 +98,59 @@ test_auto_switch() { main_node=$now_node } - status=$(test_proxy) - if [ "$status" == 2 ]; then - echolog "自动切换检测:无法连接到网络,请检查网络是否正常!" + local status=$(test_proxy) + if [ "$status" = "2" ]; then + echolog "Socks切换检测:无法连接到网络,请检查网络是否正常!" return 2 fi #检测主节点是否能使用 - if [ "$restore_switch" == "1" ] && [ -n "$main_node" ] && [ "$now_node" != "$main_node" ]; then + if [ "$restore_switch" = "1" ] && [ -n "$main_node" ] && [ "$now_node" != "$main_node" ]; then test_node ${main_node} [ $? -eq 0 ] && { #主节点正常,切换到主节点 - echolog "自动切换检测:${id}主节点【$(config_n_get $main_node type):[$(config_n_get $main_node remarks)]】正常,切换到主节点!" + echolog "Socks切换检测:${id}主节点【$(config_n_get $main_node type):[$(config_n_get $main_node remarks)]】正常,切换到主节点!" /usr/share/${CONFIG}/app.sh socks_node_switch flag=${id} new_node=${main_node} [ $? -eq 0 ] && { - echolog "自动切换检测:${id}节点切换完毕!" + echolog "Socks切换检测:${id}节点切换完毕!" } return 0 } fi - if [ "$status" == 0 ]; then - #echolog "自动切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】正常。" + if [ "$status" = "0" ]; then + #echolog "Socks切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】正常。" return 0 - elif [ "$status" == 1 ]; then - echolog "自动切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,切换到下一个备用节点检测!" - local new_node - in_backup_nodes=$(echo $b_nodes | grep $now_node) - # 判断当前节点是否存在于备用节点列表里 - if [ -z "$in_backup_nodes" ]; then - # 如果不存在,设置第一个节点为新的节点 - new_node=$(echo $b_nodes | awk -F ' ' '{print $1}') + elif [ "$status" = "1" ]; then + local new_node msg + if [ "$backup_node_num" -gt 1 ]; then + # 有多个后备节点时 + local first_node found node + for node in $b_nodes; do + [ -z "$first_node" ] && first_node="$node" # 记录第一个节点 + [ "$found" = "1" ] && { new_node="$node"; break; } # 找到当前节点后取下一个 + [ "$node" = "$now_node" ] && found=1 # 标记找到当前节点 + done + # 如果没找到当前节点,或者当前节点是最后一个,就取第一个节点 + [ -z "$new_node" ] && new_node="$first_node" + msg="切换到$([ "$now_node" = "$main_node" ] && echo 备用节点 || echo 下一个备用节点)检测!" else - # 如果存在,设置下一个备用节点为新的节点 - #local count=$(expr $(echo $b_nodes | grep -o ' ' | wc -l) + 1) - local next_node=$(echo $b_nodes | awk -F "$now_node" '{print $2}' | awk -F " " '{print $1}') - if [ -z "$next_node" ]; then - new_node=$(echo $b_nodes | awk -F ' ' '{print $1}') - else - new_node=$next_node - fi + # 只有一个后备节点时,与主节点轮询 + new_node=$([ "$now_node" = "$main_node" ] && echo "$b_nodes" || echo "$main_node") + msg="切换到$([ "$now_node" = "$main_node" ] && echo 备用节点 || echo 主节点)检测!" fi + echolog "Socks切换检测:${id}【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,$msg" test_node ${new_node} if [ $? -eq 0 ]; then - [ "$restore_switch" == "0" ] && { - uci set $CONFIG.${id}.node=$new_node - [ -z "$(echo $b_nodes | grep $main_node)" ] && uci add_list $CONFIG.${id}.autoswitch_backup_node=$main_node - uci commit $CONFIG - } - echolog "自动切换检测:${id}【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!" +# [ "$restore_switch" = "0" ] && { +# uci set $CONFIG.${id}.node=$new_node +# [ -z "$(echo $b_nodes | grep $main_node)" ] && uci add_list $CONFIG.${id}.autoswitch_backup_node=$main_node +# uci commit $CONFIG +# } + echolog "Socks切换检测:${id}【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!" /usr/share/${CONFIG}/app.sh socks_node_switch flag=${id} new_node=${new_node} [ $? -eq 0 ] && { - echolog "自动切换检测:${id}节点切换完毕!" + echolog "Socks切换检测:${id}节点切换完毕!" } return 0 else @@ -166,12 +167,20 @@ start() { main_node=$(config_n_get $id node) socks_port=$(config_n_get $id port 0) delay=$(config_n_get $id autoswitch_testing_time 30) - sleep 5s connect_timeout=$(config_n_get $id autoswitch_connect_timeout 3) retry_num=$(config_n_get $id autoswitch_retry_num 1) restore_switch=$(config_n_get $id autoswitch_restore_switch 0) probe_url=$(config_n_get $id autoswitch_probe_url "https://www.google.com/generate_204") backup_node=$(config_n_get $id autoswitch_backup_node) + if [ -n "$backup_node" ]; then + backup_node=$(echo "$backup_node" | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') + backup_node_num=$(printf "%s\n" "$backup_node" | wc -w) + if [ "$backup_node_num" -eq 1 ]; then + [ "$main_node" = "$backup_node" ] && return + fi + else + return + fi while [ -n "$backup_node" ]; do [ -f "$LOCK_FILE" ] && { sleep 6s @@ -183,7 +192,6 @@ start() { continue } touch $LOCK_FILE - backup_node=$(echo $backup_node | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') test_auto_switch "$backup_node" rm -f $LOCK_FILE sleep ${delay} @@ -191,4 +199,3 @@ start() { } start $@ - diff --git a/small/luci-app-passwall2/Makefile b/small/luci-app-passwall2/Makefile index 61863c8415..6328a950e7 100644 --- a/small/luci-app-passwall2/Makefile +++ b/small/luci-app-passwall2/Makefile @@ -124,6 +124,7 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs bool "Include Simple-Obfs (Shadowsocks Plugin)" select PACKAGE_simple-obfs + select PACKAGE_simple-obfs-client default y config PACKAGE_$(PKG_NAME)_INCLUDE_SingBox diff --git a/small/luci-app-passwall2/luasrc/controller/passwall2.lua b/small/luci-app-passwall2/luasrc/controller/passwall2.lua index d3ec9b29b1..5a6eba4b9d 100644 --- a/small/luci-app-passwall2/luasrc/controller/passwall2.lua +++ b/small/luci-app-passwall2/luasrc/controller/passwall2.lua @@ -81,6 +81,8 @@ function index() entry({"admin", "services", appname, "update_rules"}, call("update_rules")).leaf = true entry({"admin", "services", appname, "subscribe_del_node"}, call("subscribe_del_node")).leaf = true entry({"admin", "services", appname, "subscribe_del_all"}, call("subscribe_del_all")).leaf = true + entry({"admin", "services", appname, "subscribe_manual"}, call("subscribe_manual")).leaf = true + entry({"admin", "services", appname, "subscribe_manual_all"}, call("subscribe_manual_all")).leaf = true --[[Components update]] entry({"admin", "services", appname, "check_passwall2"}, call("app_check")).leaf = true @@ -416,6 +418,27 @@ function delete_select_nodes() uci:delete(appname, t[".name"], "to_node") uci:delete(appname, t[".name"], "chain_proxy") end + local list_name = t["urltest_node"] and "urltest_node" or (t["balancing_node"] and "balancing_node") + if list_name then + local nodes = uci:get_list(appname, t[".name"], list_name) + if nodes then + local changed = false + local new_nodes = {} + for _, node in ipairs(nodes) do + if node ~= w then + table.insert(new_nodes, node) + else + changed = true + end + end + if changed then + uci:set_list(appname, t[".name"], list_name, new_nodes) + end + end + end + if t["fallback_node"] == w then + uci:delete(appname, t[".name"], "fallback_node") + end end) if (uci:get(appname, w, "add_mode") or "0") == "2" then local add_from = uci:get(appname, w, "add_from") or "" @@ -619,3 +642,51 @@ function subscribe_del_all() luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate > /dev/null 2>&1") http.status(200, "OK") end + +function subscribe_manual() + local section = http.formvalue("section") or "" + local current_url = http.formvalue("url") or "" + if section == "" or current_url == "" then + http_write_json({ success = false, msg = "Missing section or URL, skip." }) + return + end + local uci_url = api.sh_uci_get(appname, section, "url") + if not uci_url or uci_url == "" then + http_write_json({ success = false, msg = i18n.translate("Please save and apply before manually subscribing.") }) + return + end + if uci_url ~= current_url then + api.sh_uci_set(appname, section, "url", current_url, true) + end + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. section .. " manual >/dev/null 2>&1 &") + http_write_json({ success = true, msg = "Subscribe triggered." }) +end + +function subscribe_manual_all() + local sections = http.formvalue("sections") or "" + local urls = http.formvalue("urls") or "" + if sections == "" or urls == "" then + http_write_json({ success = false, msg = "Missing section or URL, skip." }) + return + end + local section_list = util.split(sections, ",") + local url_list = util.split(urls, ",") + -- 检查是否存在未保存配置 + for i, section in ipairs(section_list) do + local uci_url = api.sh_uci_get(appname, section, "url") + if not uci_url or uci_url == "" then + http_write_json({ success = false, msg = i18n.translate("Please save and apply before manually subscribing.") }) + return + end + end + -- 保存有变动的url + for i, section in ipairs(section_list) do + local current_url = url_list[i] or "" + local uci_url = api.sh_uci_get(appname, section, "url") + if current_url ~= "" and uci_url ~= current_url then + api.sh_uci_set(appname, section, "url", current_url, true) + end + end + luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start all manual >/dev/null 2>&1 &") + http_write_json({ success = true, msg = "Subscribe triggered." }) +end diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua index 96b88eb315..c6ab4c3b55 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_list.lua @@ -53,6 +53,37 @@ function s.remove(e, t) m:set(s[".name"], "node", "default") end end) + m.uci:foreach(appname, "nodes", function(s) + if s["preproxy_node"] == t then + m:del(s[".name"], "preproxy_node") + m:del(s[".name"], "chain_proxy") + end + if s["to_node"] == t then + m:del(s[".name"], "to_node") + m:del(s[".name"], "chain_proxy") + end + local list_name = s["urltest_node"] and "urltest_node" or (s["balancing_node"] and "balancing_node") + if list_name then + local nodes = m.uci:get_list(appname, s[".name"], list_name) + if nodes then + local changed = false + local new_nodes = {} + for _, node in ipairs(nodes) do + if node ~= t then + table.insert(new_nodes, node) + else + changed = true + end + end + if changed then + m.uci:set_list(appname, s[".name"], list_name, new_nodes) + end + end + end + if s["fallback_node"] == t then + m:del(s[".name"], "fallback_node") + end + end) if (m:get(t, "add_mode") or "0") == "2" then local add_from = m:get(t, "add_from") or "" if add_from ~= "" then diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua index f9f5018581..11b3f173ea 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe.lua @@ -51,6 +51,11 @@ if api.is_js_luci() then end end +m.render = function(self, ...) + Map.render(self, ...) + api.optimize_cbi_ui() +end + -- [[ Subscribe Settings ]]-- s = m:section(TypedSection, "global_subscribe", "") s.anonymous = true @@ -136,15 +141,15 @@ function o.cfgvalue(self, section) translate("Delete All Subscribe Node")) end -o = s:option(Button, "_update", translate("Manual subscription All")) -o.inputstyle = "apply" -function o.write(t, n) - luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start > /dev/null 2>&1 &") - m.no_commit = true - luci.http.redirect(api.url("log")) +o = s:option(DummyValue, "_update", translate("Manual subscription All")) +o.rawhtml = true +o.cfgvalue = function(self, section) + return string.format([[ + ]], + translate("Manual subscription All")) end -s = m:section(TypedSection, "subscribe_list", "", "" .. translate("Please input the subscription url first, save and submit before manual subscription.") .. "") +s = m:section(TypedSection, "subscribe_list", "", "" .. translate("When adding a new subscription, please save and apply before manually subscribing. If you only change the subscription URL, you can subscribe manually, and the system will save it automatically.") .. "") s.addremove = true s.anonymous = true s.sortable = true @@ -205,12 +210,12 @@ function o.cfgvalue(self, section) remark, translate("Delete the subscribed node")) end -o = s:option(Button, "_update", translate("Manual subscription")) -o.inputstyle = "apply" -function o.write(t, n) - luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. n .. " > /dev/null 2>&1 &") - m.no_commit = true - luci.http.redirect(api.url("log")) +o = s:option(DummyValue, "_update", translate("Manual subscription")) +o.rawhtml = true +o.cfgvalue = function(self, section) + return string.format([[ + ]], + section, translate("Manual subscription")) end s:append(Template(appname .. "/node_subscribe/js")) diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua index 4b64f3728b..db0c137a40 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/node_subscribe_config.lua @@ -9,6 +9,11 @@ if not arg[1] or not m:get(arg[1]) then luci.http.redirect(m.redirect) end +m.render = function(self, ...) + Map.render(self, ...) + api.optimize_cbi_ui() +end + local has_ss = api.is_finded("ss-redir") local has_ss_rust = api.is_finded("sslocal") local has_singbox = api.finded_com("sing-box") diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua index 0889ab6970..723752f633 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/other.lua @@ -234,6 +234,9 @@ if has_xray then end if has_singbox then + local version = api.get_app_version("sing-box"):match("[^v]+") + local version_ge_1_12_0 = api.compare_versions(version, ">=", "1.12.0") + s = m:section(TypedSection, "global_singbox", "Sing-Box " .. translate("Settings")) s.anonymous = true s.addremove = false @@ -279,6 +282,16 @@ if has_singbox then os.remove(geosite_path) end end + + if version_ge_1_12_0 then + o = s:option(Flag, "record_fragment", "TLS Record " .. translate("Fragment"), + translate("Split handshake data into multiple TLS records for better censorship evasion. Low overhead. Recommended to enable first.")) + o.default = 0 + + o = s:option(Flag, "fragment", "TLS TCP " .. translate("Fragment"), + translate("Split handshake into multiple TCP segments. Enhances obfuscation. May increase delay. Use only if needed.")) + o.default = 0 + end end return m diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua index 192ce96eb5..73f25b30ec 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua @@ -135,7 +135,7 @@ if api.compare_versions(xray_version, ">=", "1.8.10") then end -- 探测地址 -local ucpu = s:option(Flag, _n("useCustomProbeUrl"), translate("Use Custome Probe URL"), translate("By default the built-in probe URL will be used, enable this option to use a custom probe URL.")) +local ucpu = s:option(Flag, _n("useCustomProbeUrl"), translate("Use Custom Probe URL"), translate("By default the built-in probe URL will be used, enable this option to use a custom probe URL.")) ucpu:depends({ [_n("balancingStrategy")] = "leastPing" }) ucpu:depends({ [_n("balancingStrategy")] = "leastLoad" }) @@ -379,6 +379,19 @@ o = s:option(Flag, _n("tls_allowInsecure"), translate("allowInsecure"), translat o.default = "0" o:depends({ [_n("tls")] = true, [_n("reality")] = false }) +o = s:option(Flag, _n("ech"), translate("ECH")) +o.default = "0" +o:depends({ [_n("tls")] = true, [_n("flow")] = "", [_n("reality")] = false }) + +o = s:option(TextValue, _n("ech_config"), translate("ECH Config")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("ech")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + -- [[ REALITY部分 ]] -- o = s:option(Value, _n("reality_publicKey"), translate("Public Key")) o:depends({ [_n("tls")] = true, [_n("reality")] = true }) @@ -409,6 +422,19 @@ o.default = "chrome" o:depends({ [_n("tls")] = true, [_n("utls")] = true }) o:depends({ [_n("tls")] = true, [_n("reality")] = true }) +o = s:option(Flag, _n("use_mldsa65Verify"), translate("ML-DSA-65")) +o.default = "0" +o:depends({ [_n("tls")] = true, [_n("reality")] = true }) + +o = s:option(TextValue, _n("reality_mldsa65Verify"), "ML-DSA-65 " .. translate("Public key")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("use_mldsa65Verify")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + o = s:option(ListValue, _n("transport"), translate("Transport")) o:value("raw", "RAW (TCP)") o:value("mkcp", "mKCP") diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua index fea94a1efc..6f8cbffa57 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss-rust.lua @@ -43,17 +43,29 @@ o = s:option(ListValue, _n("tcp_fast_open"), "TCP " .. translate("Fast Open"), t o:value("false") o:value("true") -o = s:option(ListValue, _n("plugin"), translate("plugin")) +o = s:option(Flag, _n("plugin_enabled"), translate("plugin")) +o.default = 0 + +o = s:option(Value, _n("plugin"), "SIP003 " .. translate("plugin"), translate("Supports custom SIP003 plugins, Make sure the plugin is installed.")) +o.default = "none" o:value("none", translate("none")) if api.is_finded("xray-plugin") then o:value("xray-plugin") end if api.is_finded("v2ray-plugin") then o:value("v2ray-plugin") end if api.is_finded("obfs-local") then o:value("obfs-local") end if api.is_finded("shadow-tls") then o:value("shadow-tls") end +o:depends({ [_n("plugin_enabled")] = true }) +o.validate = function(self, value, t) + if value and value ~= "" and value ~= "none" then + if not api.is_finded(value) then + return nil, value .. ": " .. translate("Can't find this file!") + else + return value + end + end + return nil +end o = s:option(Value, _n("plugin_opts"), translate("opts")) -o:depends({ [_n("plugin")] = "xray-plugin"}) -o:depends({ [_n("plugin")] = "v2ray-plugin"}) -o:depends({ [_n("plugin")] = "obfs-local"}) -o:depends({ [_n("plugin")] = "shadow-tls"}) +o:depends({ [_n("plugin_enabled")] = true }) api.luci_types(arg[1], m, s, type_name, option_prefix) diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua index 780a36aa12..4201cc8fbe 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ss.lua @@ -44,15 +44,18 @@ o = s:option(ListValue, _n("tcp_fast_open"), "TCP " .. translate("Fast Open"), t o:value("false") o:value("true") -o = s:option(ListValue, _n("plugin"), translate("plugin")) +o = s:option(Flag, _n("plugin_enabled"), translate("plugin")) +o.default = 0 + +o = s:option(ListValue, _n("plugin"), "SIP003 " .. translate("plugin")) +o.default = "none" o:value("none", translate("none")) if api.is_finded("xray-plugin") then o:value("xray-plugin") end if api.is_finded("v2ray-plugin") then o:value("v2ray-plugin") end if api.is_finded("obfs-local") then o:value("obfs-local") end +o:depends({ [_n("plugin_enabled")] = true }) o = s:option(Value, _n("plugin_opts"), translate("opts")) -o:depends({ [_n("plugin")] = "xray-plugin"}) -o:depends({ [_n("plugin")] = "v2ray-plugin"}) -o:depends({ [_n("plugin")] = "obfs-local"}) +o:depends({ [_n("plugin_enabled")] = true }) api.luci_types(arg[1], m, s, type_name, option_prefix) diff --git a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua index ff93af46d2..8685cc7217 100644 --- a/small/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua +++ b/small/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua @@ -187,6 +187,19 @@ o:value("h2") o:value("http/1.1") o:depends({ [_n("tls")] = true }) +o = s:option(Flag, _n("use_mldsa65Seed"), translate("ML-DSA-65")) +o.default = "0" +o:depends({ [_n("reality")] = true }) + +o = s:option(TextValue, _n("reality_mldsa65Seed"), "ML-DSA-65 " .. translate("Private Key")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("use_mldsa65Seed")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + -- o = s:option(Value, _n("minversion"), translate("minversion")) -- o.default = "1.3" -- o:value("1.3") @@ -223,6 +236,19 @@ o.validate = function(self, value, t) return nil end +o = s:option(Flag, _n("ech"), translate("ECH")) +o.default = "0" +o:depends({ [_n("tls")] = true, [_n("flow")] = "", [_n("reality")] = false }) + +o = s:option(TextValue, _n("ech_key"), translate("ECH Key")) +o.default = "" +o.rows = 5 +o.wrap = "soft" +o:depends({ [_n("ech")] = true }) +o.validate = function(self, value) + return api.trim(value:gsub("[\r\n]", "")) +end + o = s:option(ListValue, _n("transport"), translate("Transport")) o:value("raw", "RAW") o:value("mkcp", "mKCP") diff --git a/small/luci-app-passwall2/luasrc/passwall2/api.lua b/small/luci-app-passwall2/luasrc/passwall2/api.lua index 1bcbedd8b0..58af0533f9 100644 --- a/small/luci-app-passwall2/luasrc/passwall2/api.lua +++ b/small/luci-app-passwall2/luasrc/passwall2/api.lua @@ -55,7 +55,8 @@ function uci_save(cursor, config, commit, apply) end function sh_uci_get(config, section, option) - exec_call(string.format("uci -q get %s.%s.%s", config, section, option)) + local _, val = exec_call(string.format("uci -q get %s.%s.%s", config, section, option)) + return val end function sh_uci_set(config, section, option, val, commit) @@ -1208,6 +1209,9 @@ function is_js_luci() end function set_apply_on_parse(map) + if not map then + return + end if is_js_luci() == true then map.apply_on_parse = false map.on_after_apply = function(self) @@ -1217,6 +1221,10 @@ function set_apply_on_parse(map) end end end + map.render = function(self, ...) + getmetatable(self).__index.render(self, ...) -- 保持原渲染流程 + optimize_cbi_ui() + end end function luci_types(id, m, s, type_name, option_prefix) @@ -1320,3 +1328,27 @@ function format_go_time(input) if s > 0 or result == "" then result = result .. s .. "s" end return result end + +function optimize_cbi_ui() + luci.http.write([[ + + ]]) +end diff --git a/small/luci-app-passwall2/luasrc/passwall2/com.lua b/small/luci-app-passwall2/luasrc/passwall2/com.lua index 062ed873ec..dbde96b914 100644 --- a/small/luci-app-passwall2/luasrc/passwall2/com.lua +++ b/small/luci-app-passwall2/luasrc/passwall2/com.lua @@ -1,11 +1,13 @@ local _M = {} local function gh_release_url(self) - return "https://api.github.com/repos/" .. self.repo .. "/releases/latest" + --return "https://api.github.com/repos/" .. self.repo .. "/releases/latest" + return "https://github.com/xiaorouji/openwrt-passwall-packages/releases/download/api-cache/" .. string.lower(self.name) .. "-release-api.json" end local function gh_pre_release_url(self) - return "https://api.github.com/repos/" .. self.repo .. "/releases?per_page=1" + --return "https://api.github.com/repos/" .. self.repo .. "/releases?per_page=1" + return "https://github.com/xiaorouji/openwrt-passwall-packages/releases/download/api-cache/" .. string.lower(self.name) .. "-pre-release-api.json" end _M.hysteria = { diff --git a/small/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua b/small/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua index 8c5286a95f..5cedef0c5c 100644 --- a/small/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua +++ b/small/luci-app-passwall2/luasrc/passwall2/util_shadowsocks.lua @@ -28,6 +28,7 @@ function gen_config_server(node) return config end +local plugin_sh, plugin_bin function gen_config(var) local node_id = var["-node"] @@ -49,12 +50,19 @@ function gen_config(var) local local_http_port = var["-local_http_port"] local local_http_username = var["-local_http_username"] local local_http_password = var["-local_http_password"] - + if api.is_ipv6(server_host) then server_host = api.get_ipv6_only(server_host) end local server = server_host - + + local plugin_file + if node.plugin and node.plugin ~= "" and node.plugin ~= "none" then + plugin_sh = var["-plugin_sh"] or "" + plugin_file = (plugin_sh ~="") and plugin_sh or node.plugin + plugin_bin = node.plugin + end + local config = { server = server, server_port = tonumber(server_port), @@ -68,10 +76,8 @@ function gen_config(var) } if node.type == "SS" then - if node.plugin and node.plugin ~= "none" then - config.plugin = node.plugin - config.plugin_opts = node.plugin_opts or nil - end + config.plugin = plugin_file or nil + config.plugin_opts = (plugin_file) and node.plugin_opts or nil config.mode = mode elseif node.type == "SSR" then config.protocol = node.protocol @@ -87,8 +93,8 @@ function gen_config(var) method = node.method, password = node.password, timeout = tonumber(node.timeout), - plugin = (node.plugin and node.plugin ~= "none") and node.plugin or nil, - plugin_opts = (node.plugin and node.plugin ~= "none") and node.plugin_opts or nil + plugin = plugin_file or nil, + plugin_opts = (plugin_file) and node.plugin_opts or nil } }, locals = {}, @@ -119,5 +125,15 @@ if arg[1] then local func =_G[arg[1]] if func then print(func(api.get_function_args(arg))) + if plugin_sh and plugin_sh ~="" and plugin_bin then + local f = io.open(plugin_sh, "w") + f:write("#!/bin/sh\n") + f:write("export PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin:$PATH\n") + f:write(plugin_bin .. " $@ &\n") + f:write("echo $! > " .. plugin_sh:gsub("%.sh$", ".pid") .. "\n") + f:write("wait\n") + f:close() + luci.sys.call("chmod +x " .. plugin_sh) + end end end diff --git a/small/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua b/small/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua index 9ce22bf5a2..d35f0bf065 100644 --- a/small/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua +++ b/small/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua @@ -8,8 +8,9 @@ local fs = api.fs local CACHE_PATH = api.CACHE_PATH local split = api.split -local local_version = api.get_app_version("sing-box") -local version_ge_1_11_0 = api.compare_versions(local_version:match("[^v]+"), ">=", "1.11.0") +local local_version = api.get_app_version("sing-box"):match("[^v]+") +local version_ge_1_11_0 = api.compare_versions(local_version, ">=", "1.11.0") +local version_ge_1_12_0 = api.compare_versions(local_version, ">=", "1.12.0") local new_port @@ -31,9 +32,13 @@ function gen_outbound(flag, node, tag, proxy_table) end local proxy_tag = nil + local fragment = nil + local record_fragment = nil local run_socks_instance = true if proxy_table ~= nil and type(proxy_table) == "table" then proxy_tag = proxy_table.tag or nil + fragment = proxy_table.fragment or nil + record_fragment = proxy_table.record_fragment or nil run_socks_instance = proxy_table.run_socks_instance end @@ -98,6 +103,8 @@ function gen_outbound(flag, node, tag, proxy_table) alpn = alpn, --支持的应用层协议协商列表,按优先顺序排列。如果两个对等点都支持 ALPN,则选择的协议将是此列表中的一个,如果没有相互支持的协议则连接将失败。 --min_version = "1.2", --max_version = "1.3", + fragment = fragment, + record_fragment = record_fragment, ech = { enabled = (node.ech == "1") and true or false, config = node.ech_config and split(node.ech_config:gsub("\\n", "\n"), "\n") or {}, @@ -327,6 +334,8 @@ function gen_outbound(flag, node, tag, proxy_table) enabled = true, server_name = node.tls_serverName, insecure = (node.tls_allowInsecure == "1") and true or false, + fragment = fragment, + record_fragment = record_fragment, alpn = (node.hysteria_alpn and node.hysteria_alpn ~= "") and { node.hysteria_alpn } or nil, @@ -361,6 +370,8 @@ function gen_outbound(flag, node, tag, proxy_table) enabled = true, server_name = node.tls_serverName, insecure = (node.tls_allowInsecure == "1") and true or false, + fragment = fragment, + record_fragment = record_fragment, alpn = (node.tuic_alpn and node.tuic_alpn ~= "") and { node.tuic_alpn } or nil, @@ -398,6 +409,8 @@ function gen_outbound(flag, node, tag, proxy_table) enabled = true, server_name = node.tls_serverName, insecure = (node.tls_allowInsecure == "1") and true or false, + fragment = fragment, + record_fragment = record_fragment, ech = { enabled = (node.ech == "1") and true or false, config = node.ech_config and split(node.ech_config:gsub("\\n", "\n"), "\n") or {}, @@ -978,7 +991,7 @@ function gen_config(var) end if is_new_ut_node then local ut_node = uci:get_all(appname, ut_node_id) - local outbound = gen_outbound(flag, ut_node, ut_node_tag, { run_socks_instance = not no_run }) + local outbound = gen_outbound(flag, ut_node, ut_node_tag, { fragment = singbox_settings.fragment == "1" or nil, record_fragment = singbox_settings.record_fragment == "1" or nil, run_socks_instance = not no_run }) if outbound then outbound.tag = outbound.tag .. ":" .. ut_node.remarks table.insert(outbounds, outbound) @@ -1144,8 +1157,19 @@ function gen_config(var) }) end end - - local _outbound = gen_outbound(flag, _node, rule_name, { tag = use_proxy and preproxy_tag or nil, run_socks_instance = not no_run}) + local proxy_table = { + tag = use_proxy and preproxy_tag or nil, + run_socks_instance = not no_run + } + if not proxy_table.tag then + if singbox_settings.fragment == "1" then + proxy_table.fragment = true + end + if singbox_settings.record_fragment == "1" then + proxy_table.record_fragment = true + end + end + local _outbound = gen_outbound(flag, _node, rule_name, proxy_table) if _outbound then _outbound.tag = _outbound.tag .. ":" .. _node.remarks rule_outboundTag, last_insert_outbound = set_outbound_detour(_node, _outbound, outbounds, rule_name) @@ -1348,7 +1372,7 @@ function gen_config(var) sys.call(string.format("mkdir -p %s && touch %s/%s", api.TMP_IFACE_PATH, api.TMP_IFACE_PATH, node.iface)) end else - local outbound = gen_outbound(flag, node, nil, { run_socks_instance = not no_run }) + local outbound = gen_outbound(flag, node, nil, { fragment = singbox_settings.fragment == "1" or nil, record_fragment = singbox_settings.record_fragment == "1" or nil, run_socks_instance = not no_run }) if outbound then outbound.tag = outbound.tag .. ":" .. node.remarks COMMON.default_outbound_tag, last_insert_outbound = set_outbound_detour(node, outbound, outbounds) diff --git a/small/luci-app-passwall2/luasrc/passwall2/util_xray.lua b/small/luci-app-passwall2/luasrc/passwall2/util_xray.lua index ae27871fbb..058de37890 100644 --- a/small/luci-app-passwall2/luasrc/passwall2/util_xray.lua +++ b/small/luci-app-passwall2/luasrc/passwall2/util_xray.lua @@ -154,14 +154,16 @@ function gen_outbound(flag, node, tag, proxy_table) tlsSettings = (node.stream_security == "tls") and { serverName = node.tls_serverName, allowInsecure = (node.tls_allowInsecure == "1") and true or false, - fingerprint = (node.type == "Xray" and node.utls == "1" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or nil + fingerprint = (node.type == "Xray" and node.utls == "1" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or nil, + echConfigList = (node.ech == "1") and node.ech_config or nil } or nil, realitySettings = (node.stream_security == "reality") and { serverName = node.tls_serverName, publicKey = node.reality_publicKey, shortId = node.reality_shortId or "", spiderX = node.reality_spiderX or "/", - fingerprint = (node.type == "Xray" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or "chrome" + fingerprint = (node.type == "Xray" and node.fingerprint and node.fingerprint ~= "") and node.fingerprint or "chrome", + mldsa65Verify = (node.use_mldsa65Verify == "1") and node.reality_mldsa65Verify or nil } or nil, rawSettings = ((node.transport == "raw" or node.transport == "tcp") and node.protocol ~= "socks" and (node.tcp_guise and node.tcp_guise ~= "none")) and { header = { @@ -460,7 +462,8 @@ function gen_config_server(node) certificateFile = node.tls_certificateFile, keyFile = node.tls_keyFile } - } + }, + echServerKeys = (node.ech == "1") and node.ech_key or nil } or nil, rawSettings = (node.transport == "raw" or node.transport == "tcp") and { header = { @@ -545,7 +548,8 @@ function gen_config_server(node) dest = node.reality_dest, serverNames = node.reality_serverNames or {}, privateKey = node.reality_private_key, - shortIds = node.reality_shortId or "" + shortIds = node.reality_shortId or "", + mldsa65Seed = (node.use_mldsa65Seed == "1") and node.reality_mldsa65Seed or nil } or nil end end @@ -1152,7 +1156,7 @@ function gen_config(var) sys.call(string.format("mkdir -p %s && touch %s/%s", api.TMP_IFACE_PATH, api.TMP_IFACE_PATH, node.iface)) end else - local outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.fragment == "1" or nil, run_socks_instance = not no_run }) + local outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil, run_socks_instance = not no_run }) if outbound then outbound.tag = outbound.tag .. ":" .. node.remarks COMMON.default_outbound_tag, last_insert_outbound = set_outbound_detour(node, outbound, outbounds) diff --git a/small/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm b/small/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm index 39f37d82dd..57985d3876 100644 --- a/small/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm +++ b/small/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm @@ -282,6 +282,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("pbk", dom_prefix + "reality_publicKey"); params += opt.query("sid", dom_prefix + "reality_shortId"); params += opt.query("spx", dom_prefix + "reality_spiderX"); + params += opt.query("pqv", dom_prefix + "reality_mldsa65Verify"); } if (opt.get(dom_prefix + "flow") && opt.get(dom_prefix + "flow").value) { let v_flow = opt.get(dom_prefix + "flow").value; @@ -290,6 +291,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += "&security=" + v_security; params += opt.query("alpn", dom_prefix + "alpn"); params += opt.query("sni", dom_prefix + "tls_serverName"); + params += opt.query("allowinsecure", dom_prefix + "tls_allowInsecure"); + params += opt.query("ech", dom_prefix + "ech_config"); } if (opt.get(dom_prefix + "shadowtls")?.checked) { @@ -404,7 +407,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("path", dom_prefix + "ws_path"); if (v_type == "sing-box" && opt.get(dom_prefix + "ws_enableEarlyData").checked) { var ws_maxEarlyData = opt.get(dom_prefix + "ws_maxEarlyData").value; - params += "?ed=" + ws_maxEarlyData; + params += encodeURIComponent("?ed=" + ws_maxEarlyData); } } else if (v_transport === "h2") { v_transport = "http"; @@ -440,7 +443,11 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } params += "&type=" + v_transport; - params += opt.query("encryption", dom_prefix + "encryption"); + if (v_type === "sing-box") { + params += "&encryption=none"; + } else { + params += opt.query("encryption", dom_prefix + "encryption"); + } if (opt.get(dom_prefix + "tls").checked) { var v_security = "tls"; @@ -453,6 +460,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("pbk", dom_prefix + "reality_publicKey"); params += opt.query("sid", dom_prefix + "reality_shortId"); params += opt.query("spx", dom_prefix + "reality_spiderX"); + params += opt.query("pqv", dom_prefix + "reality_mldsa65Verify"); } if (opt.get(dom_prefix + "flow") && opt.get(dom_prefix + "flow").value) { let v_flow = opt.get(dom_prefix + "flow").value; @@ -461,6 +469,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += "&security=" + v_security; params += opt.query("alpn", dom_prefix + "alpn"); params += opt.query("sni", dom_prefix + "tls_serverName"); + params += opt.query("allowinsecure", dom_prefix + "tls_allowInsecure"); + params += opt.query("ech", dom_prefix + "ech_config"); } params += "#" + encodeURI(v_alias.value); @@ -520,6 +530,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += opt.query("pbk", dom_prefix + "reality_publicKey"); params += opt.query("sid", dom_prefix + "reality_shortId"); params += opt.query("spx", dom_prefix + "reality_spiderX"); + params += opt.query("pqv", dom_prefix + "reality_mldsa65Verify"); } if (opt.get(dom_prefix + "flow") && opt.get(dom_prefix + "flow").value) { let v_flow = opt.get(dom_prefix + "flow").value; @@ -528,6 +539,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin params += "&security=" + v_security; params += opt.query("alpn", dom_prefix + "alpn"); params += opt.query("sni", dom_prefix + "tls_serverName"); + params += opt.query("allowinsecure", dom_prefix + "tls_allowInsecure"); + params += opt.query("ech", dom_prefix + "ech_config"); } params += "#" + encodeURI(v_alias.value); if (params[0] == "&") { @@ -958,6 +971,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'utls', true); opt.set(dom_prefix + 'fingerprint', queryParam.fp); } + opt.set(dom_prefix + 'ech', !!queryParam.ech); + opt.set(dom_prefix + 'ech_config', queryParam.ech || ''); } if (queryParam.security == "reality") { @@ -973,6 +988,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'reality_publicKey', queryParam.pbk || ''); opt.set(dom_prefix + 'reality_shortId', queryParam.sid || ''); opt.set(dom_prefix + 'reality_spiderX', queryParam.spx || ''); + opt.set(dom_prefix + 'use_mldsa65Verify', !!queryParam.pqv); + opt.set(dom_prefix + 'reality_mldsa65Verify', queryParam.pqv || ''); } } @@ -1061,6 +1078,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } } if (dom_prefix === "ssrust_") { + opt.set(dom_prefix + 'plugin_enabled', true); opt.set(dom_prefix + 'plugin', "shadow-tls"); let shadowtlsOpt = parseShadowTLSParams(queryParam["shadow-tls"]); opt.set(dom_prefix + 'plugin_opts', shadowtlsOpt || ""); @@ -1335,6 +1353,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'utls', true); opt.set(dom_prefix + 'fingerprint', queryParam.fp); } + opt.set(dom_prefix + 'ech', !!queryParam.ech); + opt.set(dom_prefix + 'ech_config', queryParam.ech || ''); } if (queryParam.security == "reality") { @@ -1350,6 +1370,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'reality_publicKey', queryParam.pbk || ''); opt.set(dom_prefix + 'reality_shortId', queryParam.sid || ''); opt.set(dom_prefix + 'reality_spiderX', queryParam.spx || ''); + opt.set(dom_prefix + 'use_mldsa65Verify', !!queryParam.pqv); + opt.set(dom_prefix + 'reality_mldsa65Verify', queryParam.pqv || ''); } } @@ -1550,6 +1572,9 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || ''); } } + if ((!queryParam.security || queryParam.security == "") && queryParam.sni && queryParam.sni != "") { + queryParam.security = "tls"; + } if (queryParam.security) { if (queryParam.security == "tls") { opt.set(dom_prefix + 'tls', true); diff --git a/small/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm b/small/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm index 37c2fb3680..e00a676c6a 100644 --- a/small/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm +++ b/small/luci-app-passwall2/luasrc/view/passwall2/node_subscribe/js.htm @@ -3,6 +3,8 @@ local api = require "luci.passwall2.api" -%> diff --git a/small/luci-app-passwall2/po/zh-cn/passwall2.po b/small/luci-app-passwall2/po/zh-cn/passwall2.po index 750a52e3d2..794bf66cbc 100644 --- a/small/luci-app-passwall2/po/zh-cn/passwall2.po +++ b/small/luci-app-passwall2/po/zh-cn/passwall2.po @@ -343,7 +343,7 @@ msgstr "负载均衡策略" msgid "Fallback Node" msgstr "后备节点" -msgid "Use Custome Probe URL" +msgid "Use Custom Probe URL" msgstr "使用自定义探测网址" msgid "By default the built-in probe URL will be used, enable this option to use a custom probe URL." @@ -940,8 +940,14 @@ msgstr "订阅网址" msgid "Subscribe URL Access Method" msgstr "订阅网址访问方式" -msgid "Please input the subscription url first, save and submit before manual subscription." -msgstr "请输入订阅网址保存应用后再手动订阅。" +msgid "When adding a new subscription, please save and apply before manually subscribing. If you only change the subscription URL, you can subscribe manually, and the system will save it automatically." +msgstr "新增订阅请先保存并应用后再手动订阅;如仅修改订阅地址,可直接手动订阅,系统将自动保存。" + +msgid "Please save and apply before manually subscribing." +msgstr "请先保存并应用后再手动订阅。" + +msgid "Subscribe URL cannot be empty." +msgstr "订阅网址不能为空。" msgid "Subscribe via proxy" msgstr "通过代理订阅" @@ -1126,6 +1132,9 @@ msgstr "快速打开" msgid "plugin" msgstr "插件" +msgid "Supports custom SIP003 plugins, Make sure the plugin is installed." +msgstr "支持自定义 SIP003 插件,请确保插件已安装。" + msgid "opts" msgstr "插件选项" @@ -1547,10 +1556,10 @@ msgid "Protocol parameter. Enable length block encryption." msgstr "协议参数。启用长度块加密。" msgid "ECH Config" -msgstr "ECH 密钥" +msgstr "ECH 配置" msgid "ECH Key" -msgstr "ECH 配置" +msgstr "ECH 密钥" msgid "PQ signature schemes" msgstr "后量子对等证书签名方案" @@ -1585,6 +1594,12 @@ msgstr "分片间隔" msgid "Fragmentation interval (ms)" msgstr "分片间隔(ms)" +msgid "Split handshake data into multiple TLS records for better censorship evasion. Low overhead. Recommended to enable first." +msgstr "将握手数据拆分为多个 TLS 记录,提升抗封锁能力,几乎不增加延迟,建议优先启用。" + +msgid "Split handshake into multiple TCP segments. Enhances obfuscation. May increase delay. Use only if needed." +msgstr "将 TLS 握手数据分为多个 TCP 包发送,提高伪装性,可能增加延迟,仅在封锁严重时使用。" + msgid "Noise" msgstr "噪声" diff --git a/small/luci-app-passwall2/root/usr/share/passwall2/0_default_config b/small/luci-app-passwall2/root/usr/share/passwall2/0_default_config index 98434175e1..ded4f16703 100644 --- a/small/luci-app-passwall2/root/usr/share/passwall2/0_default_config +++ b/small/luci-app-passwall2/root/usr/share/passwall2/0_default_config @@ -51,7 +51,7 @@ config global_rules config global_app option xray_file '/usr/bin/xray' option hysteria_file '/usr/bin/hysteria' - option singbox_file '/usr/bin/sing-box' + option sing_box_file '/usr/bin/sing-box' config global_subscribe option filter_keyword_mode '1' diff --git a/small/luci-app-passwall2/root/usr/share/passwall2/app.sh b/small/luci-app-passwall2/root/usr/share/passwall2/app.sh index 87a1111390..89b4efbeea 100755 --- a/small/luci-app-passwall2/root/usr/share/passwall2/app.sh +++ b/small/luci-app-passwall2/root/usr/share/passwall2/app.sh @@ -297,11 +297,11 @@ get_singbox_geoip() { local geoip_code="$1" local geoip_path=$(config_t_get global_singbox geoip_path) [ -e "$geoip_path" ] || { echo ""; return; } - local has_geoip_tools=$($(first_type $(config_t_get global_app singbox_file) sing-box) geoip | grep "GeoIP tools") + local has_geoip_tools=$($(first_type $(config_t_get global_app sing_box_file) sing-box) geoip | grep "GeoIP tools") if [ -n "${has_geoip_tools}" ]; then [ -f "${geoip_path}" ] && local geoip_md5=$(md5sum ${geoip_path} | awk '{print $1}') local output_file="${TMP_PATH2}/geoip-${geoip_md5}-${geoip_code}.json" - [ ! -f ${output_file} ] && $(first_type $(config_t_get global_app singbox_file) sing-box) geoip -f "${geoip_path}" export "${geoip_code}" -o "${output_file}" + [ ! -f ${output_file} ] && $(first_type $(config_t_get global_app sing_box_file) sing-box) geoip -f "${geoip_path}" export "${geoip_code}" -o "${output_file}" case "$2" in ipv4) cat ${output_file} | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | awk -F '"' '{print $2}' | sed -e "/^$/d" @@ -468,7 +468,7 @@ run_singbox() { [ "$loglevel" = "warning" ] && loglevel="warn" _extra_param="${_extra_param} -loglevel $loglevel" - _extra_param="${_extra_param} -tags $($(first_type $(config_t_get global_app singbox_file) sing-box) version | grep 'Tags:' | awk '{print $2}')" + _extra_param="${_extra_param} -tags $($(first_type $(config_t_get global_app sing_box_file) sing-box) version | grep 'Tags:' | awk '{print $2}')" [ -n "$flag" ] && pgrep -af "$TMP_BIN_PATH" | awk -v P1="${flag}" 'BEGIN{IGNORECASE=1}$0~P1{print $1}' | xargs kill -9 >/dev/null 2>&1 [ -n "$flag" ] && _extra_param="${_extra_param} -flag $flag" @@ -552,7 +552,7 @@ run_singbox() { } lua $UTIL_SINGBOX gen_config -node $node ${_extra_param} > $config_file - ln_run "$(first_type $(config_t_get global_app singbox_file) sing-box)" "sing-box" "${log_file}" run -c "$config_file" + ln_run "$(first_type $(config_t_get global_app sing_box_file) sing-box)" "sing-box" "${log_file}" run -c "$config_file" } run_socks() { @@ -604,7 +604,7 @@ run_socks() { sing-box) [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + config_file="${config_file//SOCKS/HTTP_SOCKS}" local _extra_param="-local_http_address $bind -local_http_port $http_port" } [ -n "$relay_port" ] && _extra_param="${_extra_param} -server_host $server_host -server_port $server_port" @@ -615,12 +615,12 @@ run_socks() { } [ -n "$no_run" ] && _extra_param="${_extra_param} -no_run 1" lua $UTIL_SINGBOX gen_config -flag SOCKS_$flag -node $node -local_socks_address $bind -local_socks_port $socks_port ${_extra_param} > $config_file - [ -n "$no_run" ] || ln_run "$(first_type $(config_t_get global_app singbox_file) sing-box)" "sing-box" /dev/null run -c "$config_file" + [ -n "$no_run" ] || ln_run "$(first_type $(config_t_get global_app sing_box_file) sing-box)" "sing-box" /dev/null run -c "$config_file" ;; xray) [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + config_file="${config_file//SOCKS/HTTP_SOCKS}" local _extra_param="-local_http_address $bind -local_http_port $http_port" } [ -n "$relay_port" ] && _extra_param="${_extra_param} -server_host $server_host -server_port $server_port" @@ -637,14 +637,23 @@ run_socks() { [ -n "$no_run" ] || ln_run "$(first_type ssr-local)" "ssr-local" $log_file -c "$config_file" -v -u ;; ss) - lua $UTIL_SS gen_config -node $node -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $server_port -mode tcp_and_udp > $config_file + [ -n "$no_run" ] || { + local plugin_sh="${config_file%.json}_plugin.sh" + local _extra_param="-plugin_sh $plugin_sh" + } + lua $UTIL_SS gen_config -node $node -local_addr $bind -local_port $socks_port -server_host $server_host -server_port $server_port -mode tcp_and_udp ${_extra_param} > $config_file [ -n "$no_run" ] || ln_run "$(first_type ss-local)" "ss-local" $log_file -c "$config_file" -v ;; ss-rust) + local _extra_param [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") - local _extra_param="-local_http_address $bind -local_http_port $http_port" + config_file="${config_file//SOCKS/HTTP_SOCKS}" + _extra_param="-local_http_address $bind -local_http_port $http_port" + } + [ -n "$no_run" ] || { + local plugin_sh="${config_file%.json}_plugin.sh" + _extra_param="${_extra_param:+$_extra_param }-plugin_sh $plugin_sh" } lua $UTIL_SS gen_config -node $node -local_socks_address $bind -local_socks_port $socks_port -server_host $server_host -server_port $server_port ${_extra_param} > $config_file [ -n "$no_run" ] || ln_run "$(first_type sslocal)" "sslocal" $log_file -c "$config_file" -v @@ -652,7 +661,7 @@ run_socks() { hysteria2) [ "$http_port" != "0" ] && { http_flag=1 - config_file=$(echo $config_file | sed "s/SOCKS/HTTP_SOCKS/g") + config_file="${config_file//SOCKS/HTTP_SOCKS}" local _extra_param="-local_http_address $bind -local_http_port $http_port" } lua $UTIL_HYSTERIA2 gen_config -node $node -local_socks_address $bind -local_socks_port $socks_port -server_host $server_host -server_port $server_port ${_extra_param} > $config_file @@ -666,7 +675,7 @@ run_socks() { # http to socks [ -z "$http_flag" ] && [ "$http_port" != "0" ] && [ -n "$http_config_file" ] && [ "$type" != "sing-box" ] && [ "$type" != "xray" ] && [ "$type" != "socks" ] && { - local bin=$(first_type $(config_t_get global_app singbox_file) sing-box) + local bin=$(first_type $(config_t_get global_app sing_box_file) sing-box) if [ -n "$bin" ]; then type="sing-box" lua $UTIL_SINGBOX gen_proto_config -local_http_port $http_port -server_proto socks -server_address "127.0.0.1" -server_port $socks_port -server_username $_username -server_password $_password > $http_config_file @@ -688,9 +697,17 @@ socks_node_switch() { local flag new_node eval_set_val $@ [ -n "$flag" ] && [ -n "$new_node" ] && { + local prefix pf filename + # 结束 SS 插件进程 + for prefix in "" "HTTP_"; do + pf="$TMP_PATH/${prefix}SOCKS_${flag}_plugin.pid" + [ -s "$pf" ] && kill -9 "$(head -n1 "$pf")" >/dev/null 2>&1 + done + pgrep -af "$TMP_BIN_PATH" | awk -v P1="${flag}" 'BEGIN{IGNORECASE=1}$0~P1 && !/acl\/|acl_/{print $1}' | xargs kill -9 >/dev/null 2>&1 - rm -rf $TMP_PATH/SOCKS_${flag}* - rm -rf $TMP_PATH/HTTP2SOCKS_${flag}* + for prefix in "" "HTTP_" "HTTP2"; do + rm -rf "$TMP_PATH/${prefix}SOCKS_${flag}"* + done for filename in $(ls ${TMP_SCRIPT_FUNC_PATH}); do cmd=$(cat ${TMP_SCRIPT_FUNC_PATH}/${filename}) @@ -1312,7 +1329,15 @@ stop() { eval_cache_var [ -n "$USE_TABLES" ] && source $APP_PATH/${USE_TABLES}.sh stop delete_ip2route - kill_all xray-plugin v2ray-plugin obfs-local shadow-tls + # 结束 SS 插件进程 + # kill_all xray-plugin v2ray-plugin obfs-local shadow-tls + local pid_file pid + find "$TMP_PATH" -type f -name '*_plugin.pid' | while read -r pid_file; do + read -r pid < "$pid_file" + if [ -n "$pid" ]; then + kill -9 "$pid" >/dev/null 2>&1 + fi + done pgrep -f "sleep.*(6s|9s|58s)" | xargs kill -9 >/dev/null 2>&1 pgrep -af "${CONFIG}/" | awk '! /app\.sh|subscribe\.lua|rule_update\.lua|tasks\.sh|ujail/{print $1}' | xargs kill -9 >/dev/null 2>&1 unset V2RAY_LOCATION_ASSET @@ -1402,7 +1427,7 @@ get_config() { set_cache_var GLOBAL_DNSMASQ_CONF_PATH ${GLOBAL_ACL_PATH}/dnsmasq.d XRAY_BIN=$(first_type $(config_t_get global_app xray_file) xray) - SINGBOX_BIN=$(first_type $(config_t_get global_app singbox_file) sing-box) + SINGBOX_BIN=$(first_type $(config_t_get global_app sing_box_file) sing-box) } arg1=$1 diff --git a/small/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh b/small/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh index 709a21bfd3..dfb53da9d6 100755 --- a/small/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh +++ b/small/luci-app-passwall2/root/usr/share/passwall2/haproxy_check.sh @@ -1,13 +1,19 @@ #!/bin/sh export PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin +CONFIG=passwall2 listen_address=$1 listen_port=$2 server_address=$3 server_port=$4 -probe_file="/tmp/etc/passwall2/haproxy/Probe_URL" +pgrep -af "${CONFIG}/" | awk '/app\.sh.*(start|stop)/ || /nftables\.sh/ || /iptables\.sh/ { found = 1 } END { exit !found }' && { + # 特定任务执行中不检测 + exit 0 +} + +probe_file="/tmp/etc/${CONFIG}/haproxy/Probe_URL" probeUrl="https://www.google.com/generate_204" if [ -f "$probe_file" ]; then firstLine=$(head -n 1 "$probe_file" | tr -d ' \t\n') @@ -19,7 +25,7 @@ if /usr/bin/curl --help all | grep -q "\-\-retry-all-errors"; then extra_params="${extra_params} --retry-all-errors" fi -status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout 3 --retry 1 --max-time 10 -w "%{http_code}" "${probeUrl}") +status=$(/usr/bin/curl -I -o /dev/null -skL ${extra_params} --connect-timeout 3 --retry 2 --max-time 10 -w "%{http_code}" "${probeUrl}") case "$status" in 200|204) diff --git a/small/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh b/small/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh index 85d81353fb..4434d8f2fb 100755 --- a/small/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh +++ b/small/luci-app-passwall2/root/usr/share/passwall2/socks_auto_switch.sh @@ -64,9 +64,12 @@ test_node() { /usr/share/${CONFIG}/app.sh run_socks flag="test_node_${node_id}" node=${node_id} bind=127.0.0.1 socks_port=${_tmp_port} config_file=test_node_${node_id}.json local curlx="socks5h://127.0.0.1:${_tmp_port}" sleep 1s + # 结束 SS 插件进程 + local pid_file="/tmp/etc/${CONFIG}/test_node_${node_id}_plugin.pid" + [ -s "$pid_file" ] && kill -9 "$(head -n 1 "$pid_file")" >/dev/null 2>&1 _proxy_status=$(test_url "${probe_url}" ${retry_num} ${connect_timeout} "-x $curlx") pgrep -af "test_node_${node_id}" | awk '! /socks_auto_switch\.sh/{print $1}' | xargs kill -9 >/dev/null 2>&1 - rm -rf "/tmp/etc/${CONFIG}/test_node_${node_id}.json" + rm -rf /tmp/etc/${CONFIG}/test_node_${node_id}*.* if [ "${_proxy_status}" -eq 200 ]; then return 0 fi @@ -168,6 +171,11 @@ start() { sleep 6s continue } + pgrep -af "${CONFIG}/" | awk '/app\.sh.*(start|stop)/ || /nftables\.sh/ || /iptables\.sh/ { found = 1 } END { exit !found }' && { + # 特定任务执行中不检测 + sleep 6s + continue + } touch $LOCK_FILE backup_node=$(echo $backup_node | tr -s ' ' '\n' | uniq | tr -s '\n' ' ') test_auto_switch "$backup_node" diff --git a/small/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua b/small/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua index a309eb905a..25754a664b 100755 --- a/small/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua +++ b/small/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua @@ -23,6 +23,7 @@ uci:revert(appname) local has_ss = api.is_finded("ss-redir") local has_ss_rust = api.is_finded("sslocal") +local has_ssr = api.is_finded("ssr-local") and api.is_finded("ssr-redir") local has_singbox = api.finded_com("sing-box") local has_xray = api.finded_com("xray") local has_hysteria2 = api.finded_com("hysteria") @@ -273,7 +274,7 @@ do if node.balancing_node then for k, node in pairs(node.balancing_node) do currentNodes[#currentNodes + 1] = { - log = false, + log = true, node = node, currentNode = node and uci:get_all(appname, node) or nil, remarks = node, @@ -321,7 +322,7 @@ do if node.urltest_node then for k, node in pairs(node.urltest_node) do currentNodes[#currentNodes + 1] = { - log = false, + log = true, node = node, currentNode = node and uci:get_all(appname, node) or nil, remarks = node, @@ -440,6 +441,10 @@ local function processData(szType, content, add_mode, add_from) } --ssr://base64(host:port:protocol:method:obfs:base64pass/?obfsparam=base64param&protoparam=base64param&remarks=base64remarks&group=base64group&udpport=0&uot=0) if szType == 'ssr' then + if not has_ssr then + log("跳过 SSR 节点,因未安装 SSR 核心程序 shadowsocksr-libev。") + return nil + end result.type = "SSR" local dat = split(content, "/%?") @@ -466,17 +471,13 @@ local function processData(szType, content, add_mode, add_from) result.remarks = base64Decode(params.remarks) elseif szType == 'vmess' then local info = jsonParse(content) - if has_singbox then - result.type = 'sing-box' - end - if has_xray then - result.type = 'Xray' - end if vmess_type_default == "sing-box" and has_singbox then result.type = 'sing-box' - end - if vmess_type_default == "xray" and has_xray then + elseif vmess_type_default == "xray" and has_xray then result.type = "Xray" + else + log("跳过 VMess 节点,因未适配到 VMess 核心程序,或未正确设置节点使用类型。") + return nil end result.alter_id = info.aid result.address = info.add @@ -593,7 +594,21 @@ local function processData(szType, content, add_mode, add_from) return nil end elseif szType == "ss" then - result.type = "SS" + if ss_type_default == "shadowsocks-libev" and has_ss then + result.type = "SS" + elseif ss_type_default == "shadowsocks-rust" and has_ss_rust then + result.type = 'SS-Rust' + elseif ss_type_default == "xray" and has_xray then + result.type = 'Xray' + result.protocol = 'shadowsocks' + result.transport = 'raw' + elseif ss_type_default == "sing-box" and has_singbox then + result.type = 'sing-box' + result.protocol = 'shadowsocks' + else + log("跳过 SS 节点,因未适配到 SS 核心程序,或未正确设置节点使用类型。") + return nil + end --SS-URI = "ss://" userinfo "@" hostname ":" port [ "/" ] [ "?" plugin ] [ "#" tag ] --userinfo = websafe-base64-encode-utf8(method ":" password) @@ -623,8 +638,7 @@ local function processData(szType, content, add_mode, add_from) local idx_pn = plugin_info:find(";") if idx_pn then result.plugin = plugin_info:sub(1, idx_pn - 1) - result.plugin_opts = - plugin_info:sub(idx_pn + 1, #plugin_info) + result.plugin_opts = plugin_info:sub(idx_pn + 1, #plugin_info) else result.plugin = plugin_info end @@ -681,19 +695,6 @@ local function processData(szType, content, add_mode, add_from) result.method = method result.password = password - if ss_type_default == "shadowsocks-rust" and has_ss_rust then - result.type = 'SS-Rust' - end - if ss_type_default == "xray" and has_xray then - result.type = 'Xray' - result.protocol = 'shadowsocks' - result.transport = 'raw' - end - if ss_type_default == "sing-box" and has_singbox then - result.type = 'sing-box' - result.protocol = 'shadowsocks' - end - if result.type ~= "Xray" then result.method = (method:lower() == "chacha20-poly1305" and "chacha20-ietf-poly1305") or (method:lower() == "xchacha20-poly1305" and "xchacha20-ietf-poly1305") or method @@ -722,8 +723,7 @@ local function processData(szType, content, add_mode, add_from) result.plugin = nil result.plugin_opts = nil end - end - if result.type == "sing-box" then + else result.plugin_enabled = "1" end end @@ -822,11 +822,17 @@ local function processData(szType, content, add_mode, add_from) result.utls = "1" result.fingerprint = params.fp end + if params.ech and params.ech ~= "" then + result.ech = "1" + result.ech_config = params.ech + end if params.security == "reality" then result.reality = "1" result.reality_publicKey = params.pbk or nil result.reality_shortId = params.sid or nil result.reality_spiderX = params.spx or nil + result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil + result.reality_mldsa65Verify = params.pqv or nil end end params.allowinsecure = params.allowinsecure or params.insecure @@ -863,6 +869,7 @@ local function processData(szType, content, add_mode, add_from) end if result.type == "SS-Rust" then + result.plugin_enabled = "1" result.plugin = "shadow-tls" result.plugin_opts = parseShadowTLSParams(params["shadow-tls"]) elseif result.type == "sing-box" then @@ -885,10 +892,15 @@ local function processData(szType, content, add_mode, add_from) elseif szType == "trojan" then if trojan_type_default == "sing-box" and has_singbox then result.type = 'sing-box' + result.protocol = 'trojan' elseif trojan_type_default == "xray" and has_xray then result.type = 'Xray' + result.protocol = 'trojan' + else + log("跳过 Trojan 节点,因未适配到 Trojan 核心程序,或未正确设置节点使用类型。") + return nil end - result.protocol = 'trojan' + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1049,17 +1061,13 @@ local function processData(szType, content, add_mode, add_from) result.group = content.airport result.remarks = content.remarks elseif szType == "vless" then - if has_singbox then - result.type = 'sing-box' - end - if has_xray then - result.type = 'Xray' - end if vless_type_default == "sing-box" and has_singbox then result.type = 'sing-box' - end - if vless_type_default == "xray" and has_xray then + elseif vless_type_default == "xray" and has_xray then result.type = "Xray" + else + log("跳过 VLESS 节点,因未适配到 VLESS 核心程序,或未正确设置节点使用类型。") + return nil end result.protocol = "vless" local alias = "" @@ -1197,11 +1205,17 @@ local function processData(szType, content, add_mode, add_from) result.utls = "1" result.fingerprint = params.fp end + if params.ech and params.ech ~= "" then + result.ech = "1" + result.ech_config = params.ech + end if params.security == "reality" then result.reality = "1" result.reality_publicKey = params.pbk or nil result.reality_shortId = params.sid or nil result.reality_spiderX = params.spx or nil + result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil + result.reality_mldsa65Verify = params.pqv or nil end end @@ -1220,6 +1234,14 @@ local function processData(szType, content, add_mode, add_from) end end elseif szType == 'hysteria' then + if has_singbox then + result.type = 'sing-box' + result.protocol = "hysteria" + else + log("跳过 Hysteria 节点,因未安装 Hysteria 核心程序 Sing-box。") + return nil + end + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1267,10 +1289,6 @@ local function processData(szType, content, add_mode, add_from) result.hysteria_down_mbps = params.downmbps result.hysteria_hop = params.mport - if has_singbox then - result.type = 'sing-box' - result.protocol = "hysteria" - end elseif szType == 'hysteria2' or szType == 'hy2' then local alias = "" if content:find("#") then @@ -1330,8 +1348,19 @@ local function processData(szType, content, add_mode, add_from) if params["obfs-password"] or params["obfs_password"] then result.hysteria2_obfs = params["obfs-password"] or params["obfs_password"] end + else + log("跳过 Hysteria2 节点,因未适配到 Hysteria2 核心程序,或未正确设置节点使用类型。") + return nil end elseif szType == 'tuic' then + if has_singbox then + result.type = 'sing-box' + result.protocol = "tuic" + else + log("跳过 Tuic 节点,因未安装 Tuic 核心程序 Sing-box。") + return nil + end + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1384,11 +1413,15 @@ local function processData(szType, content, add_mode, add_from) else result.tls_allowInsecure = allowInsecure_default and "1" or "0" end - result.type = 'sing-box' - result.protocol = "tuic" elseif szType == "anytls" then - result.type = 'sing-box' - result.protocol = "anytls" + if has_singbox then + result.type = 'sing-box' + result.protocol = "anytls" + else + log("跳过 AnyTLS 节点,因未安装 AnyTLS 核心程序 Sing-box 1.12。") + return nil + end + local alias = "" if content:find("#") then local idx_sp = content:find("#") @@ -1422,9 +1455,12 @@ local function processData(szType, content, add_mode, add_from) result.address = host_port end result.tls = "0" + if (not params.security or params.security == "") and params.sni and params.sni ~= "" then + params.security = "tls" + end if params.security == "tls" or params.security == "reality" then result.tls = "1" - result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host + result.tls_serverName = params.sni result.alpn = params.alpn if params.fp and params.fp ~= "" then result.utls = "1" @@ -1536,7 +1572,9 @@ local function select_node(nodes, config, parentConfig) if config.currentNode[".name"] then for index, node in pairs(nodes) do if node[".name"] == config.currentNode[".name"] then - log('更新【' .. config.remarks .. '】匹配节点:' .. node.remarks) + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】匹配节点:' .. node.remarks) + end server = node[".name"] break end @@ -1704,6 +1742,9 @@ local function update_node(manual) for _, config in pairs(CONFIG) do if config.currentNodes and #config.currentNodes > 0 then + if config.remarks and config.currentNodes[1].log ~= false then + log('----【' .. config.remarks .. '】----') + end for kk, vv in pairs(config.currentNodes) do select_node(nodes, vv, config) end @@ -1816,7 +1857,7 @@ local execute = function() do local subscribe_list = {} local fail_list = {} - if arg[2] then + if arg[2] ~= "all" then string.gsub(arg[2], '[^' .. "," .. ']+', function(w) subscribe_list[#subscribe_list + 1] = uci:get_all(appname, w) or {} end) @@ -1826,6 +1867,8 @@ local execute = function() end) end + local manual_sub = arg[3] == "manual" + for index, value in ipairs(subscribe_list) do local cfgid = value[".name"] local remark = value.remark @@ -1893,8 +1936,7 @@ local execute = function() local raw_data = api.trim(stdout) local old_md5 = value.md5 or "" local new_md5 = luci.sys.exec("md5sum " .. tmp_file .. " 2>/dev/null | awk '{print $1}'"):gsub("\n", "") - os.remove(tmp_file) - if old_md5 == new_md5 then + if not manual_sub and old_md5 == new_md5 then log('订阅:【' .. remark .. '】没有变化,无需更新。') else parse_link(raw_data, "2", remark, cfgid) @@ -1905,6 +1947,7 @@ local execute = function() end end allowInsecure_default = true + luci.sys.call("rm -f " .. tmp_file) filter_keyword_mode_default = uci:get(appname, "@global_subscribe[0]", "filter_keyword_mode") or "0" filter_keyword_discard_list_default = uci:get(appname, "@global_subscribe[0]", "filter_discard_list") or {} filter_keyword_keep_list_default = uci:get(appname, "@global_subscribe[0]", "filter_keep_list") or {} @@ -1932,7 +1975,7 @@ if arg[1] then log(debug.traceback()) log('发生错误, 正在恢复服务') end) - log('订阅完毕...') + log('订阅完毕...\n') elseif arg[1] == "add" then local f = assert(io.open("/tmp/links.conf", 'r')) local raw = f:read('*all') diff --git a/small/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua b/small/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua index 95aad5832a..a5d7c4d21f 100644 --- a/small/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua +++ b/small/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua @@ -344,78 +344,89 @@ o.rmempty = false -- [[ fragmen Settings ]]-- if is_finded("xray") then -s = m:section(TypedSection, "global_xray_fragment", translate("Xray Fragment Settings")) -s.anonymous = true + s = m:section(TypedSection, "global_xray_fragment", translate("Xray Fragment Settings")) + s.anonymous = true -o = s:option(Flag, "fragment", translate("Fragment"), translate("TCP fragments, which can deceive the censorship system in some cases, such as bypassing SNI blacklists.")) -o.default = 0 + o = s:option(Flag, "fragment", translate("Fragment"), translate("TCP fragments, which can deceive the censorship system in some cases, such as bypassing SNI blacklists.")) + o.default = 0 -o = s:option(ListValue, "fragment_packets", translate("Fragment Packets"), translate("\"1-3\" is for segmentation at TCP layer, applying to the beginning 1 to 3 data writes by the client. \"tlshello\" is for TLS client hello packet fragmentation.")) -o.default = "tlshello" -o:value("tlshello", "tlshello") -o:value("1-1", "1-1") -o:value("1-2", "1-2") -o:value("1-3", "1-3") -o:value("1-5", "1-5") -o:depends("fragment", true) + o = s:option(ListValue, "fragment_packets", translate("Fragment Packets"), translate("\"1-3\" is for segmentation at TCP layer, applying to the beginning 1 to 3 data writes by the client. \"tlshello\" is for TLS client hello packet fragmentation.")) + o.default = "tlshello" + o:value("tlshello", "tlshello") + o:value("1-1", "1-1") + o:value("1-2", "1-2") + o:value("1-3", "1-3") + o:value("1-5", "1-5") + o:depends("fragment", true) -o = s:option(Value, "fragment_length", translate("Fragment Length"), translate("Fragmented packet length (byte)")) -o.default = "100-200" -o:depends("fragment", true) + o = s:option(Value, "fragment_length", translate("Fragment Length"), translate("Fragmented packet length (byte)")) + o.default = "100-200" + o:depends("fragment", true) -o = s:option(Value, "fragment_interval", translate("Fragment Interval"), translate("Fragmentation interval (ms)")) -o.default = "10-20" -o:depends("fragment", true) + o = s:option(Value, "fragment_interval", translate("Fragment Interval"), translate("Fragmentation interval (ms)")) + o.default = "10-20" + o:depends("fragment", true) -o = s:option(Flag, "noise", translate("Noise"), translate("UDP noise, Under some circumstances it can bypass some UDP based protocol restrictions.")) -o.default = 0 + o = s:option(Value, "fragment_maxsplit", translate("Fragment maxSplit"), translate("Fragmented maxSplit (byte)")) + o.default = "100-200" + o:depends("fragment", true) -s = m:section(TypedSection, "xray_noise_packets", translate("Xray Noise Packets")) -s.description = translate( - "" .. translate("To send noise packets, select \"Noise\" in Xray Settings.") .. "" .. - "
" .. translate("For specific usage, see:") .. "" .. - "" .. - "" .. translate("Click to the page") .. "") -s.template = "cbi/tblsection" -s.sortable = true -s.anonymous = true -s.addremove = true + o = s:option(Flag, "noise", translate("Noise"), translate("UDP noise, Under some circumstances it can bypass some UDP based protocol restrictions.")) + o.default = 0 -s.remove = function(self, section) - for k, v in pairs(self.children) do - v.rmempty = true - v.validate = nil + s = m:section(TypedSection, "xray_noise_packets", translate("Xray Noise Packets")) + s.description = translate( + "" .. translate("To send noise packets, select \"Noise\" in Xray Settings.") .. "" .. + "
" .. translate("For specific usage, see:") .. "" .. + "" .. + "" .. translate("Click to the page") .. "") + s.template = "cbi/tblsection" + s.sortable = true + s.anonymous = true + s.addremove = true + + s.remove = function(self, section) + for k, v in pairs(self.children) do + v.rmempty = true + v.validate = nil + end + TypedSection.remove(self, section) end - TypedSection.remove(self, section) -end -o = s:option(Flag, "enabled", translate("Enable")) -o.default = 1 -o.rmempty = false + o = s:option(Flag, "enabled", translate("Enable")) + o.default = 1 + o.rmempty = false -o = s:option(ListValue, "type", translate("Type")) -o.default = "base64" -o:value("rand", "rand") -o:value("str", "str") -o:value("hex", "hex") -o:value("base64", "base64") + o = s:option(ListValue, "type", translate("Type")) + o.default = "base64" + o:value("rand", "rand") + o:value("str", "str") + o:value("hex", "hex") + o:value("base64", "base64") -o = s:option(Value, "domainStrategy", translate("Domain Strategy")) -o.default = "UseIP" -o:value("AsIs", "AsIs") -o:value("UseIP", "UseIP") -o:value("UseIPv4", "UseIPv4") -o:value("ForceIP", "ForceIP") -o:value("ForceIPv4", "ForceIPv4") -o.rmempty = false + o = s:option(Value, "domainStrategy", translate("Domain Strategy")) + o.default = "UseIP" + o:value("AsIs", "AsIs") + o:value("UseIP", "UseIP") + o:value("UseIPv4", "UseIPv4") + o:value("ForceIP", "ForceIP") + o:value("ForceIPv4", "ForceIPv4") + o.rmempty = false -o = s:option(Value, "packet", translate("Packet")) -o.datatype = "minlength(1)" -o.rmempty = false + o = s:option(Value, "packet", translate("Packet")) + o.datatype = "minlength(1)" + o.rmempty = false -o = s:option(Value, "delay", translate("Delay (ms)")) -o.datatype = "or(uinteger,portrange)" -o.rmempty = false + o = s:option(Value, "delay", translate("Delay (ms)")) + o.datatype = "or(uinteger,portrange)" + o.rmempty = false + + o = s:option(Value, "applyto", translate("ApplyTo (IP type)")) + o.default = "IP" + o:value("IP", "IP") + o:value("IPV4", "IPv4") + o:value("IPV6", "IPv6") + o.rmempty = false end return m diff --git a/small/luci-app-ssr-plus/po/templates/ssr-plus.pot b/small/luci-app-ssr-plus/po/templates/ssr-plus.pot index 7ad8e5a91a..55f7c2a168 100644 --- a/small/luci-app-ssr-plus/po/templates/ssr-plus.pot +++ b/small/luci-app-ssr-plus/po/templates/ssr-plus.pot @@ -64,7 +64,7 @@ msgstr "" msgid "8 Threads" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:375 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:379 msgid "" msgstr "" @@ -173,6 +173,10 @@ msgstr "" msgid "Apply" msgstr "" +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:424 +msgid "ApplyTo (IP type)" +msgstr "" + #: applications/luci-app-ssr-plus/luasrc/view/shadowsocksr/backup_restore.htm:133 msgid "Are you sure you want to restore the client to default settings?" msgstr "" @@ -313,7 +317,7 @@ msgstr "" msgid "Click here to view or manage the DNS list file" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:378 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:382 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:833 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1138 msgid "Click to the page" @@ -477,7 +481,7 @@ msgid "" "fastest_addr (default: load_balance)." msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:416 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:420 msgid "Delay (ms)" msgstr "" @@ -542,7 +546,7 @@ msgstr "" msgid "DoT upstream (Need use wolfssl version)" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:403 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:407 msgid "Domain Strategy" msgstr "" @@ -568,7 +572,7 @@ msgid "Edit ShadowSocksR Server" msgstr "" #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:263 -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:392 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:396 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua:82 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua:101 msgid "Enable" @@ -741,7 +745,7 @@ msgid "" "Chinese CDN IP addresses" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:376 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:380 msgid "For specific usage, see:" msgstr "" @@ -771,10 +775,18 @@ msgstr "" msgid "Fragment Packets" msgstr "" +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +msgid "Fragment maxSplit" +msgstr "" + #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:366 msgid "Fragmentation interval (ms)" msgstr "" +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +msgid "Fragmented maxSplit (byte)" +msgstr "" + #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:362 msgid "Fragmented packet length (byte)" msgstr "" @@ -1223,7 +1235,7 @@ msgstr "" msgid "No specify upload file." msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:374 msgid "Noise" msgstr "" @@ -1323,7 +1335,7 @@ msgstr "" msgid "Oversea Mode DNS-2 (114.114.115.115)" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:412 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:416 msgid "Packet" msgstr "" @@ -1857,7 +1869,7 @@ msgstr "" msgid "Tips: Dnsproxy DNS Parse List Path:" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:375 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:379 msgid "To send noise packets, select \"Noise\" in Xray Settings." msgstr "" @@ -1878,7 +1890,7 @@ msgstr "" msgid "Trojan" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:396 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:400 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:185 msgid "Type" msgstr "" @@ -1887,7 +1899,7 @@ msgstr "" msgid "UDP" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:374 msgid "" "UDP noise, Under some circumstances it can bypass some UDP based protocol " "restrictions." @@ -2160,7 +2172,7 @@ msgstr "" msgid "Xray Fragment Settings" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:373 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:377 msgid "Xray Noise Packets" msgstr "" diff --git a/small/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po b/small/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po index c96ef4af3f..ee2ff59964 100644 --- a/small/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po +++ b/small/luci-app-ssr-plus/po/zh_Hans/ssr-plus.po @@ -66,7 +66,7 @@ msgstr "" msgid "8 Threads" msgstr "8 线程" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:375 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:379 msgid "" msgstr "" @@ -175,6 +175,10 @@ msgstr "Apple 域名解析优化" msgid "Apply" msgstr "应用" +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:424 +msgid "ApplyTo (IP type)" +msgstr "ApplyTo(IP 类型)" + #: applications/luci-app-ssr-plus/luasrc/view/shadowsocksr/backup_restore.htm:133 msgid "Are you sure you want to restore the client to default settings?" msgstr "是否真的要恢复客户端默认配置?" @@ -315,7 +319,7 @@ msgstr "清空日志" msgid "Click here to view or manage the DNS list file" msgstr "点击此处查看或管理 DNS 列表文件" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:378 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:382 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:833 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1138 msgid "Click to the page" @@ -487,7 +491,7 @@ msgstr "" "定义上游逻辑模式,可选择值:负载均衡、并行查询、最快响应(默认值:负载均" "衡)。" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:416 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:420 msgid "Delay (ms)" msgstr "延迟(ms)" @@ -552,7 +556,7 @@ msgstr "是否要恢复客户端默认配置?" msgid "DoT upstream (Need use wolfssl version)" msgstr "DoT 上游(需使用 wolfssl 版本)" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:403 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:407 msgid "Domain Strategy" msgstr "域名解析策略" @@ -578,7 +582,7 @@ msgid "Edit ShadowSocksR Server" msgstr "编辑服务器配置" #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:263 -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:392 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:396 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua:82 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua:101 msgid "Enable" @@ -751,7 +755,7 @@ msgid "" "Chinese CDN IP addresses" msgstr "配备中国大陆 CDN 的 Apple 域名,始终应答中国大陆 CDN 地址" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:376 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:380 msgid "For specific usage, see:" msgstr "具体使用方法,请参见:" @@ -781,10 +785,18 @@ msgstr "分片包长" msgid "Fragment Packets" msgstr "分片方式" +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +msgid "Fragment maxSplit" +msgstr "分片数据包拆分" + #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:366 msgid "Fragmentation interval (ms)" msgstr "分片间隔(ms)" +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +msgid "Fragmented maxSplit (byte)" +msgstr "分片数据包的拆分数量 (byte)" + #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:362 msgid "Fragmented packet length (byte)" msgstr "分片包长 (byte)" @@ -1236,7 +1248,7 @@ msgstr "你已经是最新数据,无需更新!" msgid "No specify upload file." msgstr "没有上传证书。" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:374 msgid "Noise" msgstr "噪声" @@ -1336,7 +1348,7 @@ msgstr "" msgid "Oversea Mode DNS-2 (114.114.115.115)" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:412 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:416 msgid "Packet" msgstr "数据包" @@ -1873,7 +1885,7 @@ msgstr "连接超时时间(单位:秒)" msgid "Tips: Dnsproxy DNS Parse List Path:" msgstr "提示:Dnsproxy 的 DNS 解析列表路径:" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:375 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:379 msgid "To send noise packets, select \"Noise\" in Xray Settings." msgstr "在 Xray 设置中勾选 “噪声” 以发送噪声包。" @@ -1894,7 +1906,7 @@ msgstr "传输协议" msgid "Trojan" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:396 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:400 #: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:185 msgid "Type" msgstr "类型" @@ -1903,7 +1915,7 @@ msgstr "类型" msgid "UDP" msgstr "" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:370 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:374 msgid "" "UDP noise, Under some circumstances it can bypass some UDP based protocol " "restrictions." @@ -2178,7 +2190,7 @@ msgstr "XHTTP 路径" msgid "Xray Fragment Settings" msgstr "Xray 分片设置" -#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:373 +#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:377 msgid "Xray Noise Packets" msgstr "Xray 噪声数据包" diff --git a/small/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua b/small/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua index d5bc9804be..f919f72773 100755 --- a/small/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua +++ b/small/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua @@ -338,13 +338,15 @@ if xray_fragment.fragment ~= "0" or (xray_fragment.noise ~= "0" and xray_noise.e fragment = (xray_fragment.fragment == "1") and { packets = (xray_fragment.fragment_packets ~= "") and xray_fragment.fragment_packets or nil, length = (xray_fragment.fragment_length ~= "") and xray_fragment.fragment_length or nil, - interval = (xray_fragment.fragment_interval ~= "") and xray_fragment.fragment_interval or nil + interval = (xray_fragment.fragment_interval ~= "") and xray_fragment.fragment_interval or nil, + maxSplit = (xray_fragment.fragment_maxsplit ~= "") and xray_fragment.fragment_maxsplit or nil } or nil, noises = (xray_fragment.noise == "1" and xray_noise.enabled == "1") and { { type = xray_noise.type, packet = xray_noise.packet, - delay = xray_noise.delay:find("-") and xray_noise.delay or tonumber(xray_noise.delay) + delay = xray_noise.delay:find("-") and xray_noise.delay or tonumber(xray_noise.delay), + applyTo = xray_noise.applyto } } or nil }, diff --git a/small/nikki/files/nikki.conf b/small/nikki/files/nikki.conf index 116ef3010c..75ba51a2f7 100644 --- a/small/nikki/files/nikki.conf +++ b/small/nikki/files/nikki.conf @@ -28,7 +28,7 @@ config proxy 'proxy' option 'proxy_tcp_dport' '0-65535' option 'proxy_udp_dport' '0-65535' option 'tun_timeout' '30' - option 'tun_inverval' '1' + option 'tun_interval' '1' config subscription 'subscription' option 'name' 'default' diff --git a/v2rayng/README.md b/v2rayng/README.md index 4bd6f8ecf4..af99cf4546 100644 --- a/v2rayng/README.md +++ b/v2rayng/README.md @@ -3,7 +3,7 @@ A V2Ray client for Android, support [Xray core](https://github.com/XTLS/Xray-core) and [v2fly core](https://github.com/v2fly/v2ray-core) [![API](https://img.shields.io/badge/API-21%2B-yellow.svg?style=flat)](https://developer.android.com/about/versions/lollipop) -[![Kotlin Version](https://img.shields.io/badge/Kotlin-2.1.21-blue.svg)](https://kotlinlang.org) +[![Kotlin Version](https://img.shields.io/badge/Kotlin-2.2.0-blue.svg)](https://kotlinlang.org) [![GitHub commit activity](https://img.shields.io/github/commit-activity/m/2dust/v2rayNG)](https://github.com/2dust/v2rayNG/commits/master) [![CodeFactor](https://www.codefactor.io/repository/github/2dust/v2rayng/badge)](https://www.codefactor.io/repository/github/2dust/v2rayng) [![GitHub Releases](https://img.shields.io/github/downloads/2dust/v2rayNG/latest/total?logo=github)](https://github.com/2dust/v2rayNG/releases) diff --git a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt index f7adb61ab0..3b57311446 100644 --- a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt +++ b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt @@ -63,6 +63,8 @@ object AppConfig { const val PREF_CHECK_UPDATE_PRE_RELEASE = "pref_check_update_pre_release" const val PREF_GEO_FILES_SOURCES = "pref_geo_files_sources" const val PREF_USE_HEV_TUNNEL = "pref_use_hev_tunnel" + const val PREF_HEV_TUNNEL_LOGLEVEL = "pref_hev_tunnel_loglevel" + const val PREF_HEV_TUNNEL_RW_TIMEOUT = "pref_hev_tunnel_rw_timeout" /** Cache keys. */ const val CACHE_SUBSCRIPTION_ID = "cache_subscription_id" @@ -166,6 +168,9 @@ object AppConfig { const val VPN = "VPN" const val VPN_MTU = 1500 + /** hev-sock5-tunnel read-write-timeout value */ + const val HEVTUN_RW_TIMEOUT = "300000" + // Google API rule constants const val GOOGLEAPIS_CN_DOMAIN = "domain:googleapis.cn" const val GOOGLEAPIS_COM_DOMAIN = "googleapis.com" diff --git a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt index 66370b8a3e..2e76435757 100644 --- a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt +++ b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt @@ -72,12 +72,11 @@ class TProxyService( appendLine(" address: ${AppConfig.LOOPBACK}") appendLine(" udp: 'udp'") - MmkvManager.decodeSettingsString(AppConfig.PREF_LOGLEVEL)?.let { logPref -> - if (logPref != "none") { - val logLevel = if (logPref == "warning") "warn" else logPref - appendLine("misc:") - appendLine(" log-level: $logLevel") - } + appendLine("misc:") + appendLine(" read-write-timeout: ${MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT) ?: AppConfig.HEVTUN_RW_TIMEOUT}") + val hevTunLogLevel = MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_LOGLEVEL) ?: "none" + if (hevTunLogLevel != "none") { + appendLine(" log-level: $hevTunLogLevel") } } } diff --git a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt index f0317b6f00..f465c7292c 100644 --- a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt +++ b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt @@ -66,6 +66,10 @@ class SettingsActivity : BaseActivity() { private val delayTestUrl by lazy { findPreference(AppConfig.PREF_DELAY_TEST_URL) } private val mode by lazy { findPreference(AppConfig.PREF_MODE) } + private val hevTunLogLevel by lazy { findPreference(AppConfig.PREF_HEV_TUNNEL_LOGLEVEL) } + private val hevTunRwTimeout by lazy { findPreference(AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT) } + private val useHevTun by lazy { findPreference(AppConfig.PREF_USE_HEV_TUNNEL) } + override fun onCreatePreferences(bundle: Bundle?, s: String?) { addPreferencesFromResource(R.xml.pref_settings) @@ -172,6 +176,16 @@ class SettingsActivity : BaseActivity() { mode?.dialogLayoutResource = R.layout.preference_with_help_link //loglevel.summary = "LogLevel" + useHevTun?.setOnPreferenceChangeListener { _, newValue -> + updateHevTunSettings(newValue as Boolean) + true + } + + hevTunRwTimeout?.setOnPreferenceChangeListener { _, any -> + val nval = any as String + hevTunRwTimeout?.summary = if (TextUtils.isEmpty(nval)) AppConfig.HEVTUN_RW_TIMEOUT else nval + true + } } override fun onStart() { @@ -205,6 +219,9 @@ class SettingsActivity : BaseActivity() { dnsHosts?.summary = MmkvManager.decodeSettingsString(AppConfig.PREF_DNS_HOSTS) delayTestUrl?.summary = MmkvManager.decodeSettingsString(AppConfig.PREF_DELAY_TEST_URL, AppConfig.DELAY_TEST_URL) + updateHevTunSettings(MmkvManager.decodeSettingsBool(AppConfig.PREF_USE_HEV_TUNNEL, false)) + hevTunRwTimeout?.summary = MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT, AppConfig.HEVTUN_RW_TIMEOUT) + initSharedPreference() } @@ -220,7 +237,8 @@ class SettingsActivity : BaseActivity() { socksPort, remoteDns, domesticDns, - delayTestUrl + delayTestUrl, + hevTunRwTimeout ).forEach { key -> key?.text = key?.summary.toString() } @@ -260,7 +278,8 @@ class SettingsActivity : BaseActivity() { AppConfig.PREF_LOGLEVEL, AppConfig.PREF_OUTBOUND_DOMAIN_RESOLVE_METHOD, AppConfig.PREF_INTELLIGENT_SELECTION_METHOD, - AppConfig.PREF_MODE + AppConfig.PREF_MODE, + AppConfig.PREF_HEV_TUNNEL_LOGLEVEL ).forEach { key -> if (MmkvManager.decodeSettingsString(key) != null) { findPreference(key)?.value = MmkvManager.decodeSettingsString(key) @@ -366,6 +385,11 @@ class SettingsActivity : BaseActivity() { private fun updateFragmentInterval(value: String?) { fragmentInterval?.summary = value.toString() } + + private fun updateHevTunSettings(enabled: Boolean) { + hevTunLogLevel?.isEnabled = enabled + hevTunRwTimeout?.isEnabled = enabled + } } fun onModeHelpClicked(view: View) { diff --git a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/viewmodel/SettingsViewModel.kt b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/viewmodel/SettingsViewModel.kt index 0001ad0564..fee9a80f20 100644 --- a/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/viewmodel/SettingsViewModel.kt +++ b/v2rayng/V2rayNG/app/src/main/java/com/v2ray/ang/viewmodel/SettingsViewModel.kt @@ -59,6 +59,8 @@ class SettingsViewModel(application: Application) : AndroidViewModel(application AppConfig.PREF_FRAGMENT_LENGTH, AppConfig.PREF_FRAGMENT_INTERVAL, AppConfig.PREF_MUX_XUDP_QUIC, + AppConfig.PREF_HEV_TUNNEL_LOGLEVEL, + AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT -> { MmkvManager.encodeSettings(key, sharedPreferences.getString(key, "")) } diff --git a/v2rayng/V2rayNG/app/src/main/res/values-ar/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-ar/strings.xml index 278ee7387b..181b6f4541 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-ar/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-ar/strings.xml @@ -249,6 +249,8 @@ إعدادات وضع واجهة المستخدم ليلاً Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) Logcat نسخ diff --git a/v2rayng/V2rayNG/app/src/main/res/values-bn/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-bn/strings.xml index c717b5f75e..58567af1b2 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-bn/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-bn/strings.xml @@ -250,6 +250,8 @@ ইউআই মোড সেটিংস Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) লগক্যাট কপি করুন diff --git a/v2rayng/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml index 830dac26ca..e7b8416f06 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml @@ -250,6 +250,8 @@ سامووا هالت رابت منتوری فعال کردن ویژیی نۊ TUN مجالی ک فعال بۊ، TUN ، hev-socks5-tunnel ن و کار اگره؛ ٱر چینووݩ نبۊ و جاس badvpn-tun2socks و کار گرؽڌه ابۊ. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) داسووا لف گیری diff --git a/v2rayng/V2rayNG/app/src/main/res/values-fa/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-fa/strings.xml index f0c78546a9..944979eeb7 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-fa/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-fa/strings.xml @@ -247,6 +247,8 @@ تنظیمات حالت رابط کاربری فعالسازی قابلیت TUN جدید در صورت فعال بودن، TUN از hev-socks5-tunnel استفاده می‌کند؛ در غیر این صورت از badvpn-tun2socks. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) گزارشات کپی diff --git a/v2rayng/V2rayNG/app/src/main/res/values-ru/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-ru/strings.xml index 264d9738d3..7e3f11b0ac 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-ru/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-ru/strings.xml @@ -249,6 +249,8 @@ Тема интерфейса Использовать новую версию TUN Если включено, TUN будет использовать hev-socks5-tunnel; иначе будет использоваться badvpn-tun2socks. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) Журнал Копировать diff --git a/v2rayng/V2rayNG/app/src/main/res/values-vi/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-vi/strings.xml index 62d9515fd6..15991f9485 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-vi/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-vi/strings.xml @@ -250,6 +250,8 @@ Cài đặt chế độ UI Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) Logcat Sao chép diff --git a/v2rayng/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml index 5a4e51218d..9ea47e2407 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml @@ -247,6 +247,8 @@ 界面颜色设置 启用新的 TUN 功能 选择启用后 TUN 将使用 hev-socks5-tunnel 否则使用 badvpn-tun2socks + HevTun 日志级别 + HevTun 读写超时 (ms, 默认 300000) Logcat 复制 diff --git a/v2rayng/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml index 72cf283aa0..a7510e483a 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml @@ -248,6 +248,8 @@ 介面顯示模式 啟用新 TUN 功能 選擇啟用後,TUN 將使用 hev-socks5-tunnel,否則使用 badvpn-tun2socks。 + HevTun 日誌級別 + HevTun 讀寫逾時 (ms, 預設 300000) Logcat 複製 diff --git a/v2rayng/V2rayNG/app/src/main/res/values/arrays.xml b/v2rayng/V2rayNG/app/src/main/res/values/arrays.xml index 63ca4c6d75..7d49c8249d 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values/arrays.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values/arrays.xml @@ -118,6 +118,13 @@ Proxy only + + none + error + warn + debug + + xtls-rprx-vision diff --git a/v2rayng/V2rayNG/app/src/main/res/values/strings.xml b/v2rayng/V2rayNG/app/src/main/res/values/strings.xml index 4a93fa9557..df3735904c 100644 --- a/v2rayng/V2rayNG/app/src/main/res/values/strings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/values/strings.xml @@ -251,6 +251,8 @@ UI mode settings Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. + Hev Tun Log Level + Hev Tun Read/Write Timeout (ms, default 300000) Logcat Copy diff --git a/v2rayng/V2rayNG/app/src/main/res/xml/pref_settings.xml b/v2rayng/V2rayNG/app/src/main/res/xml/pref_settings.xml index c51c828122..99f35aee22 100644 --- a/v2rayng/V2rayNG/app/src/main/res/xml/pref_settings.xml +++ b/v2rayng/V2rayNG/app/src/main/res/xml/pref_settings.xml @@ -71,6 +71,25 @@ android:key="pref_vpn_interface_address_config_index" android:summary="%s" android:title="@string/title_pref_vpn_interface_address" /> + + + + + + @@ -256,11 +275,6 @@ android:summary="%s" android:title="@string/title_mode" /> - - \ No newline at end of file diff --git a/v2rayng/V2rayNG/gradle/libs.versions.toml b/v2rayng/V2rayNG/gradle/libs.versions.toml index 75d217fd0b..aec0224b59 100644 --- a/v2rayng/V2rayNG/gradle/libs.versions.toml +++ b/v2rayng/V2rayNG/gradle/libs.versions.toml @@ -2,7 +2,7 @@ agp = "8.12.0" desugarJdkLibs = "2.1.5" gradleLicensePlugin = "0.9.8" -kotlin = "2.1.21" +kotlin = "2.2.0" coreKtx = "1.16.0" junit = "4.13.2" junitVersion = "1.2.1" @@ -11,7 +11,7 @@ appcompat = "1.7.1" material = "1.12.0" activity = "1.10.1" constraintlayout = "2.2.1" -mmkvStatic = "1.3.12" +mmkvStatic = "1.3.14" gson = "2.12.1" quickieFoss = "1.14.0" kotlinxCoroutinesAndroid = "1.10.2" diff --git a/v2rayng/V2rayNG/gradle/wrapper/gradle-wrapper.properties b/v2rayng/V2rayNG/gradle/wrapper/gradle-wrapper.properties index b2eeb9db50..116f5b742c 100644 --- a/v2rayng/V2rayNG/gradle/wrapper/gradle-wrapper.properties +++ b/v2rayng/V2rayNG/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Nov 14 12:42:51 BDT 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/xray-core/app/proxyman/inbound/worker.go b/xray-core/app/proxyman/inbound/worker.go index d490777c76..0e3483e1cd 100644 --- a/xray-core/app/proxyman/inbound/worker.go +++ b/xray-core/app/proxyman/inbound/worker.go @@ -91,6 +91,7 @@ func (w *tcpWorker) callback(conn stat.Connection) { } ctx = session.ContextWithInbound(ctx, &session.Inbound{ Source: net.DestinationFromAddr(conn.RemoteAddr()), + Local: net.DestinationFromAddr(conn.LocalAddr()), Gateway: net.TCPDestination(w.address, w.port), Tag: w.tag, Conn: conn, @@ -321,8 +322,10 @@ func (w *udpWorker) callback(b *buf.Buffer, source net.Destination, originalDest outbounds[0].Target = originalDest } ctx = session.ContextWithOutbounds(ctx, outbounds) + ctx = session.ContextWithInbound(ctx, &session.Inbound{ Source: source, + Local: net.DestinationFromAddr(w.hub.Addr()), Gateway: net.UDPDestination(w.address, w.port), Tag: w.tag, }) @@ -472,6 +475,7 @@ func (w *dsWorker) callback(conn stat.Connection) { } ctx = session.ContextWithInbound(ctx, &session.Inbound{ Source: net.DestinationFromAddr(conn.RemoteAddr()), + Local: net.DestinationFromAddr(conn.LocalAddr()), Gateway: net.UnixDestination(w.address), Tag: w.tag, Conn: conn, diff --git a/xray-core/app/router/command/command.pb.go b/xray-core/app/router/command/command.pb.go index 6e388901e4..65bf3078b8 100644 --- a/xray-core/app/router/command/command.pb.go +++ b/xray-core/app/router/command/command.pb.go @@ -42,6 +42,8 @@ type RoutingContext struct { Attributes map[string]string `protobuf:"bytes,10,rep,name=Attributes,proto3" json:"Attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` OutboundGroupTags []string `protobuf:"bytes,11,rep,name=OutboundGroupTags,proto3" json:"OutboundGroupTags,omitempty"` OutboundTag string `protobuf:"bytes,12,opt,name=OutboundTag,proto3" json:"OutboundTag,omitempty"` + LocalIPs [][]byte `protobuf:"bytes,13,rep,name=LocalIPs,proto3" json:"LocalIPs,omitempty"` + LocalPort uint32 `protobuf:"varint,14,opt,name=LocalPort,proto3" json:"LocalPort,omitempty"` } func (x *RoutingContext) Reset() { @@ -158,6 +160,20 @@ func (x *RoutingContext) GetOutboundTag() string { return "" } +func (x *RoutingContext) GetLocalIPs() [][]byte { + if x != nil { + return x.LocalIPs + } + return nil +} + +func (x *RoutingContext) GetLocalPort() uint32 { + if x != nil { + return x.LocalPort + } + return 0 +} + // SubscribeRoutingStatsRequest subscribes to routing statistics channel if // opened by xray-core. // * FieldSelectors selects a subset of fields in routing statistics to return. @@ -827,7 +843,7 @@ var file_app_router_command_command_proto_rawDesc = []byte{ 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x04, 0x0a, 0x0e, 0x52, 0x6f, 0x75, + 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x04, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x32, 0x0a, 0x07, 0x4e, @@ -857,123 +873,127 @@ var file_app_router_command_command_proto_rawDesc = []byte{ 0x03, 0x28, 0x09, 0x52, 0x11, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x46, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, - 0xb1, 0x01, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, - 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, - 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x27, 0x0a, 0x13, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, - 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x26, 0x0a, 0x0c, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x12, 0x41, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x49, 0x50, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x49, 0x50, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, + 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, + 0x72, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x46, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x10, 0x54, 0x65, + 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, + 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x6e, 0x63, - 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x69, 0x6e, - 0x63, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x22, 0x2a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x5b, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x72, 0x61, 0x79, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, - 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x22, 0x59, 0x0a, 0x1d, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x22, 0x20, 0x0a, 0x1e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x65, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x11, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, - 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0xbf, 0x05, 0x0a, 0x0e, 0x52, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x72, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, + 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x27, 0x0a, + 0x13, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x26, 0x0a, 0x0c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xa9, + 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x41, + 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, - 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, - 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x6c, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x2a, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x5b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x36, + 0x65, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x22, 0x59, 0x0a, 0x1d, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, + 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x20, + 0x0a, 0x1e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6e, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, + 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, + 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x54, + 0x61, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x32, 0xbf, 0x05, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x5e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x78, - 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, - 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x67, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x2a, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x78, 0x72, - 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x67, 0x0a, 0x1b, 0x63, 0x6f, - 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, - 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x17, 0x58, 0x72, 0x61, 0x79, - 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, + 0x30, 0x01, 0x12, 0x61, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, + 0x29, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x72, 0x61, + 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x78, 0x72, 0x61, 0x79, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, + 0x0a, 0x16, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x37, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x07, 0x41, + 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0a, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x78, 0x72, 0x61, 0x79, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x42, 0x67, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, + 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x17, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/xray-core/app/router/command/command.proto b/xray-core/app/router/command/command.proto index 756f8226cd..2a764b31fa 100644 --- a/xray-core/app/router/command/command.proto +++ b/xray-core/app/router/command/command.proto @@ -25,6 +25,8 @@ message RoutingContext { map Attributes = 10; repeated string OutboundGroupTags = 11; string OutboundTag = 12; + repeated bytes LocalIPs = 13; + uint32 LocalPort = 14; } // SubscribeRoutingStatsRequest subscribes to routing statistics channel if diff --git a/xray-core/app/router/command/config.go b/xray-core/app/router/command/config.go index 8c2e134385..b5d677a622 100644 --- a/xray-core/app/router/command/config.go +++ b/xray-core/app/router/command/config.go @@ -28,6 +28,14 @@ func (c routingContext) GetTargetPort() net.Port { return net.Port(c.RoutingContext.GetTargetPort()) } +func (c routingContext) GetLocalIPs() []net.IP { + return mapBytesToIPs(c.RoutingContext.GetLocalIPs()) +} + +func (c routingContext) GetLocalPort() net.Port { + return net.Port(c.RoutingContext.GetLocalPort()) +} + func (c routingContext) GetRuleTag() string { return "" } @@ -54,8 +62,10 @@ var fieldMap = map[string]func(*RoutingContext, routing.Route){ "network": func(s *RoutingContext, r routing.Route) { s.Network = r.GetNetwork() }, "ip_source": func(s *RoutingContext, r routing.Route) { s.SourceIPs = mapIPsToBytes(r.GetSourceIPs()) }, "ip_target": func(s *RoutingContext, r routing.Route) { s.TargetIPs = mapIPsToBytes(r.GetTargetIPs()) }, + "ip_local": func(s *RoutingContext, r routing.Route) { s.LocalIPs = mapIPsToBytes(r.GetLocalIPs()) }, "port_source": func(s *RoutingContext, r routing.Route) { s.SourcePort = uint32(r.GetSourcePort()) }, "port_target": func(s *RoutingContext, r routing.Route) { s.TargetPort = uint32(r.GetTargetPort()) }, + "port_local": func(s *RoutingContext, r routing.Route) { s.LocalPort = uint32(r.GetLocalPort()) }, "domain": func(s *RoutingContext, r routing.Route) { s.TargetDomain = r.GetTargetDomain() }, "protocol": func(s *RoutingContext, r routing.Route) { s.Protocol = r.GetProtocol() }, "user": func(s *RoutingContext, r routing.Route) { s.User = r.GetUser() }, diff --git a/xray-core/app/router/condition.go b/xray-core/app/router/condition.go index 35e2424dc5..ea09a56051 100644 --- a/xray-core/app/router/condition.go +++ b/xray-core/app/router/condition.go @@ -113,10 +113,10 @@ func (m *DomainMatcher) Apply(ctx routing.Context) bool { type MultiGeoIPMatcher struct { matchers []*GeoIPMatcher - onSource bool + asType string // local, source, target } -func NewMultiGeoIPMatcher(geoips []*GeoIP, onSource bool) (*MultiGeoIPMatcher, error) { +func NewMultiGeoIPMatcher(geoips []*GeoIP, asType string) (*MultiGeoIPMatcher, error) { var matchers []*GeoIPMatcher for _, geoip := range geoips { matcher, err := GlobalGeoIPContainer.Add(geoip) @@ -128,7 +128,7 @@ func NewMultiGeoIPMatcher(geoips []*GeoIP, onSource bool) (*MultiGeoIPMatcher, e matcher := &MultiGeoIPMatcher{ matchers: matchers, - onSource: onSource, + asType: asType, } return matcher, nil @@ -137,11 +137,18 @@ func NewMultiGeoIPMatcher(geoips []*GeoIP, onSource bool) (*MultiGeoIPMatcher, e // Apply implements Condition. func (m *MultiGeoIPMatcher) Apply(ctx routing.Context) bool { var ips []net.IP - if m.onSource { + + switch m.asType { + case "local": + ips = ctx.GetLocalIPs() + case "source": ips = ctx.GetSourceIPs() - } else { + case "target": ips = ctx.GetTargetIPs() + default: + panic("unreachable, asType should be local or source or target") } + for _, ip := range ips { for _, matcher := range m.matchers { if matcher.Match(ip) { @@ -153,25 +160,31 @@ func (m *MultiGeoIPMatcher) Apply(ctx routing.Context) bool { } type PortMatcher struct { - port net.MemoryPortList - onSource bool + port net.MemoryPortList + asType string // local, source, target } -// NewPortMatcher create a new port matcher that can match source or destination port -func NewPortMatcher(list *net.PortList, onSource bool) *PortMatcher { +// NewPortMatcher create a new port matcher that can match source or local or destination port +func NewPortMatcher(list *net.PortList, asType string) *PortMatcher { return &PortMatcher{ - port: net.PortListFromProto(list), - onSource: onSource, + port: net.PortListFromProto(list), + asType: asType, } } // Apply implements Condition. func (v *PortMatcher) Apply(ctx routing.Context) bool { - if v.onSource { + switch v.asType { + case "local": + return v.port.Contains(ctx.GetLocalPort()) + case "source": return v.port.Contains(ctx.GetSourcePort()) - } else { + case "target": return v.port.Contains(ctx.GetTargetPort()) + default: + panic("unreachable, asType should be local or source or target") } + } type NetworkMatcher struct { diff --git a/xray-core/app/router/condition_test.go b/xray-core/app/router/condition_test.go index 97d05db96b..a5e54770a8 100644 --- a/xray-core/app/router/condition_test.go +++ b/xray-core/app/router/condition_test.go @@ -495,7 +495,7 @@ func BenchmarkMultiGeoIPMatcher(b *testing.B) { }) } - matcher, err := NewMultiGeoIPMatcher(geoips, false) + matcher, err := NewMultiGeoIPMatcher(geoips, "target") common.Must(err) ctx := withOutbound(&session.Outbound{Target: net.TCPDestination(net.ParseAddress("8.8.8.8"), 80)}) diff --git a/xray-core/app/router/config.go b/xray-core/app/router/config.go index f1740610cc..3c7e493e77 100644 --- a/xray-core/app/router/config.go +++ b/xray-core/app/router/config.go @@ -61,11 +61,15 @@ func (rr *RoutingRule) BuildCondition() (Condition, error) { } if rr.PortList != nil { - conds.Add(NewPortMatcher(rr.PortList, false)) + conds.Add(NewPortMatcher(rr.PortList, "target")) } if rr.SourcePortList != nil { - conds.Add(NewPortMatcher(rr.SourcePortList, true)) + conds.Add(NewPortMatcher(rr.SourcePortList, "source")) + } + + if rr.LocalPortList != nil { + conds.Add(NewPortMatcher(rr.LocalPortList, "local")) } if len(rr.Networks) > 0 { @@ -73,7 +77,7 @@ func (rr *RoutingRule) BuildCondition() (Condition, error) { } if len(rr.Geoip) > 0 { - cond, err := NewMultiGeoIPMatcher(rr.Geoip, false) + cond, err := NewMultiGeoIPMatcher(rr.Geoip, "target") if err != nil { return nil, err } @@ -81,13 +85,22 @@ func (rr *RoutingRule) BuildCondition() (Condition, error) { } if len(rr.SourceGeoip) > 0 { - cond, err := NewMultiGeoIPMatcher(rr.SourceGeoip, true) + cond, err := NewMultiGeoIPMatcher(rr.SourceGeoip, "source") if err != nil { return nil, err } conds.Add(cond) } + if len(rr.LocalGeoip) > 0 { + cond, err := NewMultiGeoIPMatcher(rr.LocalGeoip, "local") + if err != nil { + return nil, err + } + conds.Add(cond) + errors.LogWarning(context.Background(), "Due to some limitations, in UDP connections, localIP is always equal to listen interface IP, so \"localIP\" rule condition does not work properly on UDP inbound connections that listen on all interfaces") + } + if len(rr.Protocol) > 0 { conds.Add(NewProtocolMatcher(rr.Protocol)) } diff --git a/xray-core/app/router/config.pb.go b/xray-core/app/router/config.pb.go index ca6cc38fcc..f029f22d1f 100644 --- a/xray-core/app/router/config.pb.go +++ b/xray-core/app/router/config.pb.go @@ -470,7 +470,7 @@ type RoutingRule struct { // *RoutingRule_Tag // *RoutingRule_BalancingTag TargetTag isRoutingRule_TargetTag `protobuf_oneof:"target_tag"` - RuleTag string `protobuf:"bytes,18,opt,name=rule_tag,json=ruleTag,proto3" json:"rule_tag,omitempty"` + RuleTag string `protobuf:"bytes,20,opt,name=rule_tag,json=ruleTag,proto3" json:"rule_tag,omitempty"` // List of domains for target domain matching. Domain []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"` // List of GeoIPs for target IP address matching. If this entry exists, the @@ -492,6 +492,8 @@ type RoutingRule struct { Protocol []string `protobuf:"bytes,9,rep,name=protocol,proto3" json:"protocol,omitempty"` Attributes map[string]string `protobuf:"bytes,15,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` DomainMatcher string `protobuf:"bytes,17,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` + LocalGeoip []*GeoIP `protobuf:"bytes,18,rep,name=local_geoip,json=localGeoip,proto3" json:"local_geoip,omitempty"` + LocalPortList *net.PortList `protobuf:"bytes,19,opt,name=local_port_list,json=localPortList,proto3" json:"local_port_list,omitempty"` } func (x *RoutingRule) Reset() { @@ -629,6 +631,20 @@ func (x *RoutingRule) GetDomainMatcher() string { return "" } +func (x *RoutingRule) GetLocalGeoip() []*GeoIP { + if x != nil { + return x.LocalGeoip + } + return nil +} + +func (x *RoutingRule) GetLocalPortList() *net.PortList { + if x != nil { + return x.LocalPortList + } + return nil +} + type isRoutingRule_TargetTag interface { isRoutingRule_TargetTag() } @@ -1069,13 +1085,13 @@ var file_app_router_config_proto_rawDesc = []byte{ 0x6f, 0x53, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x53, 0x69, - 0x74, 0x65, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xce, 0x05, 0x0a, 0x0b, 0x52, 0x6f, + 0x74, 0x65, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xca, 0x06, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x67, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x12, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, @@ -1109,67 +1125,75 @@ var file_app_router_config_proto_rawDesc = []byte{ 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x3d, 0x0a, - 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0xdc, 0x01, 0x0a, 0x0d, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2b, - 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x4d, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x67, 0x22, 0x54, 0x0a, 0x0e, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0xc0, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x65, 0x61, 0x73, - 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x63, - 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x72, 0x61, - 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x05, 0x63, 0x6f, 0x73, - 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x6d, 0x61, 0x78, 0x52, 0x54, 0x54, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, - 0x78, 0x52, 0x54, 0x54, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, - 0x63, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, - 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x30, - 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, - 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, - 0x12, 0x45, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x73, 0x49, - 0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x49, 0x70, 0x10, 0x01, 0x12, 0x10, - 0x0a, 0x0c, 0x49, 0x70, 0x49, 0x66, 0x4e, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, - 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x70, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x03, - 0x42, 0x4f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, - 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0xaa, - 0x02, 0x0f, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x37, 0x0a, + 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x12, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x41, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, + 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0xdc, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, + 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x4d, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x10, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, + 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x54, 0x61, 0x67, 0x22, 0x54, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x17, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x61, + 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x03, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x52, + 0x54, 0x54, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x52, 0x54, 0x54, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x9b, + 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x75, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x0e, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x73, 0x49, 0x73, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x49, 0x70, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x70, + 0x49, 0x66, 0x4e, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, + 0x49, 0x70, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x03, 0x42, 0x4f, 0x0a, 0x13, + 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, + 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0xaa, 0x02, 0x0f, 0x58, 0x72, + 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1220,16 +1244,18 @@ var file_app_router_config_proto_depIdxs = []int32{ 4, // 10: xray.app.router.RoutingRule.source_geoip:type_name -> xray.app.router.GeoIP 15, // 11: xray.app.router.RoutingRule.source_port_list:type_name -> xray.common.net.PortList 14, // 12: xray.app.router.RoutingRule.attributes:type_name -> xray.app.router.RoutingRule.AttributesEntry - 17, // 13: xray.app.router.BalancingRule.strategy_settings:type_name -> xray.common.serial.TypedMessage - 10, // 14: xray.app.router.StrategyLeastLoadConfig.costs:type_name -> xray.app.router.StrategyWeight - 1, // 15: xray.app.router.Config.domain_strategy:type_name -> xray.app.router.Config.DomainStrategy - 8, // 16: xray.app.router.Config.rule:type_name -> xray.app.router.RoutingRule - 9, // 17: xray.app.router.Config.balancing_rule:type_name -> xray.app.router.BalancingRule - 18, // [18:18] is the sub-list for method output_type - 18, // [18:18] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 4, // 13: xray.app.router.RoutingRule.local_geoip:type_name -> xray.app.router.GeoIP + 15, // 14: xray.app.router.RoutingRule.local_port_list:type_name -> xray.common.net.PortList + 17, // 15: xray.app.router.BalancingRule.strategy_settings:type_name -> xray.common.serial.TypedMessage + 10, // 16: xray.app.router.StrategyLeastLoadConfig.costs:type_name -> xray.app.router.StrategyWeight + 1, // 17: xray.app.router.Config.domain_strategy:type_name -> xray.app.router.Config.DomainStrategy + 8, // 18: xray.app.router.Config.rule:type_name -> xray.app.router.RoutingRule + 9, // 19: xray.app.router.Config.balancing_rule:type_name -> xray.app.router.BalancingRule + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_app_router_config_proto_init() } diff --git a/xray-core/app/router/config.proto b/xray-core/app/router/config.proto index 505f0712d4..3539dce766 100644 --- a/xray-core/app/router/config.proto +++ b/xray-core/app/router/config.proto @@ -79,7 +79,7 @@ message RoutingRule { // Tag of routing balancer. string balancing_tag = 12; } - string rule_tag = 18; + string rule_tag = 20; // List of domains for target domain matching. repeated Domain domain = 2; @@ -110,6 +110,9 @@ message RoutingRule { map attributes = 15; string domain_matcher = 17; + + repeated GeoIP local_geoip = 18; + xray.common.net.PortList local_port_list = 19; } message BalancingRule { diff --git a/xray-core/common/session/session.go b/xray-core/common/session/session.go index 4de9737459..d341cc63d7 100644 --- a/xray-core/common/session/session.go +++ b/xray-core/common/session/session.go @@ -36,6 +36,8 @@ func ExportIDToError(ctx context.Context) errors.ExportOption { type Inbound struct { // Source address of the inbound connection. Source net.Destination + // Local address of the inbound connection. + Local net.Destination // Gateway address. Gateway net.Destination // Tag of the inbound proxy that handles the connection. diff --git a/xray-core/features/routing/context.go b/xray-core/features/routing/context.go index e52e247001..77ec0d50c9 100644 --- a/xray-core/features/routing/context.go +++ b/xray-core/features/routing/context.go @@ -23,6 +23,12 @@ type Context interface { // GetTargetPort returns the target port of the connection. GetTargetPort() net.Port + // GetLocalIPs returns the local IPs bound to the connection. + GetLocalIPs() []net.IP + + // GetLocalPort returns the local port of the connection. + GetLocalPort() net.Port + // GetTargetDomain returns the target domain of the connection, if exists. GetTargetDomain() string diff --git a/xray-core/features/routing/session/context.go b/xray-core/features/routing/session/context.go index f87066a011..54ba907c48 100644 --- a/xray-core/features/routing/session/context.go +++ b/xray-core/features/routing/session/context.go @@ -28,12 +28,13 @@ func (ctx *Context) GetSourceIPs() []net.IP { if ctx.Inbound == nil || !ctx.Inbound.Source.IsValid() { return nil } - dest := ctx.Inbound.Source - if dest.Address.Family().IsDomain() { - return nil + + if ctx.Inbound.Source.Address.Family().IsIP() { + return []net.IP{ctx.Inbound.Source.Address.IP()} } - return []net.IP{dest.Address.IP()} + return nil + } // GetSourcePort implements routing.Context. @@ -65,6 +66,27 @@ func (ctx *Context) GetTargetPort() net.Port { return ctx.Outbound.Target.Port } +// GetLocalIPs implements routing.Context. +func (ctx *Context) GetLocalIPs() []net.IP { + if ctx.Inbound == nil || !ctx.Inbound.Local.IsValid() { + return nil + } + + if ctx.Inbound.Local.Address.Family().IsIP() { + return []net.IP{ctx.Inbound.Local.Address.IP()} + } + + return nil +} + +// GetLocalPort implements routing.Context. +func (ctx *Context) GetLocalPort() net.Port { + if ctx.Inbound == nil || !ctx.Inbound.Local.IsValid() { + return 0 + } + return ctx.Inbound.Local.Port +} + // GetTargetDomain implements routing.Context. func (ctx *Context) GetTargetDomain() string { if ctx.Outbound == nil || !ctx.Outbound.Target.IsValid() { diff --git a/xray-core/go.mod b/xray-core/go.mod index 44ac0ed571..6408d162b7 100644 --- a/xray-core/go.mod +++ b/xray-core/go.mod @@ -21,13 +21,13 @@ require ( github.com/vishvananda/netlink v1.3.1 github.com/xtls/reality v0.0.0-20250725142056-5b52a03d4fb7 go4.org/netipx v0.0.0-20231129151722-fdeea329fbba - golang.org/x/crypto v0.40.0 - golang.org/x/net v0.42.0 + golang.org/x/crypto v0.41.0 + golang.org/x/net v0.43.0 golang.org/x/sync v0.16.0 - golang.org/x/sys v0.34.0 + golang.org/x/sys v0.35.0 golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 google.golang.org/grpc v1.74.2 - google.golang.org/protobuf v1.36.6 + google.golang.org/protobuf v1.36.7 gvisor.dev/gvisor v0.0.0-20250428193742-2d800c3129d5 h12.io/socks v1.0.3 lukechampine.com/blake3 v1.4.1 @@ -47,10 +47,10 @@ require ( github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect github.com/vishvananda/netns v0.0.5 // indirect go.uber.org/mock v0.5.0 // indirect - golang.org/x/mod v0.25.0 // indirect - golang.org/x/text v0.27.0 // indirect + golang.org/x/mod v0.26.0 // indirect + golang.org/x/text v0.28.0 // indirect golang.org/x/time v0.7.0 // indirect - golang.org/x/tools v0.34.0 // indirect + golang.org/x/tools v0.35.0 // indirect golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/xray-core/go.sum b/xray-core/go.sum index e48a40f5c9..c0d8f92c33 100644 --- a/xray-core/go.sum +++ b/xray-core/go.sum @@ -96,16 +96,16 @@ go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBs go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= @@ -117,21 +117,21 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -143,8 +143,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4= google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM= -google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= +google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/xray-core/infra/conf/freedom.go b/xray-core/infra/conf/freedom.go index 15f1bcff69..39b1a431d8 100644 --- a/xray-core/infra/conf/freedom.go +++ b/xray-core/infra/conf/freedom.go @@ -27,12 +27,14 @@ type Fragment struct { Packets string `json:"packets"` Length *Int32Range `json:"length"` Interval *Int32Range `json:"interval"` + MaxSplit *Int32Range `json:"maxSplit"` } type Noise struct { - Type string `json:"type"` - Packet string `json:"packet"` - Delay *Int32Range `json:"delay"` + Type string `json:"type"` + Packet string `json:"packet"` + Delay *Int32Range `json:"delay"` + ApplyTo string `json:"applyTo"` } // Build implements Buildable @@ -108,6 +110,13 @@ func (c *FreedomConfig) Build() (proto.Message, error) { config.Fragment.IntervalMin = uint64(c.Fragment.Interval.From) config.Fragment.IntervalMax = uint64(c.Fragment.Interval.To) } + + { + if c.Fragment.MaxSplit != nil { + config.Fragment.MaxSplitMin = uint64(c.Fragment.MaxSplit.From) + config.Fragment.MaxSplitMax = uint64(c.Fragment.MaxSplit.To) + } + } } if c.Noise != nil { @@ -193,5 +202,15 @@ func ParseNoise(noise *Noise) (*freedom.Noise, error) { NConfig.DelayMin = uint64(noise.Delay.From) NConfig.DelayMax = uint64(noise.Delay.To) } + switch strings.ToLower(noise.ApplyTo) { + case "", "ip", "all": + NConfig.ApplyTo = "ip" + case "ipv4": + NConfig.ApplyTo = "ipv4" + case "ipv6": + NConfig.ApplyTo = "ipv6" + default: + return nil, errors.New("Invalid applyTo, only ip/ipv4/ipv6 are supported") + } return NConfig, nil } diff --git a/xray-core/infra/conf/router.go b/xray-core/infra/conf/router.go index 2065f96ba0..2ae2fc0dcf 100644 --- a/xray-core/infra/conf/router.go +++ b/xray-core/infra/conf/router.go @@ -536,12 +536,15 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) { IP *StringList `json:"ip"` Port *PortList `json:"port"` Network *NetworkList `json:"network"` - SourceIP *StringList `json:"source"` + SourceIP *StringList `json:"sourceIP"` + Source *StringList `json:"source"` SourcePort *PortList `json:"sourcePort"` User *StringList `json:"user"` InboundTag *StringList `json:"inboundTag"` Protocols *StringList `json:"protocol"` Attributes map[string]string `json:"attrs"` + LocalIP *StringList `json:"localIP"` + LocalPort *PortList `json:"localPort"` } rawFieldRule := new(RawFieldRule) err := json.Unmarshal(msg, rawFieldRule) @@ -604,6 +607,10 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) { rule.Networks = rawFieldRule.Network.Build() } + if rawFieldRule.SourceIP == nil { + rawFieldRule.SourceIP = rawFieldRule.Source + } + if rawFieldRule.SourceIP != nil { geoipList, err := ToCidrList(*rawFieldRule.SourceIP) if err != nil { @@ -616,6 +623,18 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) { rule.SourcePortList = rawFieldRule.SourcePort.Build() } + if rawFieldRule.LocalIP != nil { + geoipList, err := ToCidrList(*rawFieldRule.LocalIP) + if err != nil { + return nil, err + } + rule.LocalGeoip = geoipList + } + + if rawFieldRule.LocalPort != nil { + rule.LocalPortList = rawFieldRule.LocalPort.Build() + } + if rawFieldRule.User != nil { for _, s := range *rawFieldRule.User { rule.UserEmail = append(rule.UserEmail, s) diff --git a/xray-core/proxy/freedom/config.pb.go b/xray-core/proxy/freedom/config.pb.go index 83bb15d6d2..96855aecaa 100644 --- a/xray-core/proxy/freedom/config.pb.go +++ b/xray-core/proxy/freedom/config.pb.go @@ -150,6 +150,8 @@ type Fragment struct { LengthMax uint64 `protobuf:"varint,4,opt,name=length_max,json=lengthMax,proto3" json:"length_max,omitempty"` IntervalMin uint64 `protobuf:"varint,5,opt,name=interval_min,json=intervalMin,proto3" json:"interval_min,omitempty"` IntervalMax uint64 `protobuf:"varint,6,opt,name=interval_max,json=intervalMax,proto3" json:"interval_max,omitempty"` + MaxSplitMin uint64 `protobuf:"varint,7,opt,name=max_split_min,json=maxSplitMin,proto3" json:"max_split_min,omitempty"` + MaxSplitMax uint64 `protobuf:"varint,8,opt,name=max_split_max,json=maxSplitMax,proto3" json:"max_split_max,omitempty"` } func (x *Fragment) Reset() { @@ -224,6 +226,20 @@ func (x *Fragment) GetIntervalMax() uint64 { return 0 } +func (x *Fragment) GetMaxSplitMin() uint64 { + if x != nil { + return x.MaxSplitMin + } + return 0 +} + +func (x *Fragment) GetMaxSplitMax() uint64 { + if x != nil { + return x.MaxSplitMax + } + return 0 +} + type Noise struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -234,6 +250,7 @@ type Noise struct { DelayMin uint64 `protobuf:"varint,3,opt,name=delay_min,json=delayMin,proto3" json:"delay_min,omitempty"` DelayMax uint64 `protobuf:"varint,4,opt,name=delay_max,json=delayMax,proto3" json:"delay_max,omitempty"` Packet []byte `protobuf:"bytes,5,opt,name=packet,proto3" json:"packet,omitempty"` + ApplyTo string `protobuf:"bytes,6,opt,name=apply_to,json=applyTo,proto3" json:"apply_to,omitempty"` } func (x *Noise) Reset() { @@ -301,6 +318,13 @@ func (x *Noise) GetPacket() []byte { return nil } +func (x *Noise) GetApplyTo() string { + if x != nil { + return x.ApplyTo + } + return "" +} + type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -399,7 +423,7 @@ var file_proxy_freedom_config_proto_rawDesc = []byte{ 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xd0, 0x01, 0x0a, 0x08, 0x46, 0x72, 0x61, + 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x98, 0x02, 0x0a, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, @@ -412,57 +436,63 @@ var file_proxy_freedom_config_proto_rawDesc = []byte{ 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x61, 0x78, 0x22, 0x97, 0x01, 0x0a, 0x05, - 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, - 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x4d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6d, - 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x4d, 0x61, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x6e, - 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x97, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x72, 0x61, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x12, 0x5a, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x13, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x38, 0x0a, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, - 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x12, 0x31, 0x0a, 0x06, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x72, - 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x52, 0x06, 0x6e, 0x6f, 0x69, - 0x73, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x53, 0x5f, 0x49, 0x53, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, - 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x53, 0x45, 0x5f, 0x49, - 0x50, 0x34, 0x36, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, - 0x34, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x10, - 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x10, 0x07, - 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x08, 0x12, - 0x0e, 0x0a, 0x0a, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x36, 0x10, 0x09, 0x12, - 0x0e, 0x0a, 0x0a, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x34, 0x10, 0x0a, 0x42, - 0x58, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, - 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x72, 0x65, - 0x65, 0x64, 0x6f, 0x6d, 0xaa, 0x02, 0x12, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x2e, 0x46, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x6d, + 0x61, 0x78, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x69, 0x6e, 0x12, + 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x6c, 0x69, 0x74, + 0x4d, 0x61, 0x78, 0x22, 0xb2, 0x01, 0x0a, 0x05, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x61, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x22, 0x97, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, + 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, + 0x6d, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x5a, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x13, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x2e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x52, 0x06, + 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x53, 0x5f, + 0x49, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x53, + 0x45, 0x5f, 0x49, 0x50, 0x34, 0x36, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x53, 0x45, 0x5f, + 0x49, 0x50, 0x36, 0x34, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, + 0x49, 0x50, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, + 0x34, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x36, + 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x36, + 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x34, + 0x10, 0x0a, 0x42, 0x58, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x50, 0x01, 0x5a, 0x27, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, + 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, + 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0xaa, 0x02, 0x12, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x46, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/xray-core/proxy/freedom/config.proto b/xray-core/proxy/freedom/config.proto index 5d05ab9ee7..3a59e44d58 100644 --- a/xray-core/proxy/freedom/config.proto +++ b/xray-core/proxy/freedom/config.proto @@ -19,6 +19,8 @@ message Fragment { uint64 length_max = 4; uint64 interval_min = 5; uint64 interval_max = 6; + uint64 max_split_min = 7; + uint64 max_split_max = 8; } message Noise { uint64 length_min = 1; @@ -26,6 +28,7 @@ message Noise { uint64 delay_min = 3; uint64 delay_max = 4; bytes packet = 5; + string apply_to = 6; } message Config { diff --git a/xray-core/proxy/freedom/freedom.go b/xray-core/proxy/freedom/freedom.go index 1f9d5ae5db..99b24fef77 100644 --- a/xray-core/proxy/freedom/freedom.go +++ b/xray-core/proxy/freedom/freedom.go @@ -194,7 +194,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte if destination.Network == net.Network_TCP { if h.config.Fragment != nil { errors.LogDebug(ctx, "FRAGMENT", h.config.Fragment.PacketsFrom, h.config.Fragment.PacketsTo, h.config.Fragment.LengthMin, h.config.Fragment.LengthMax, - h.config.Fragment.IntervalMin, h.config.Fragment.IntervalMax) + h.config.Fragment.IntervalMin, h.config.Fragment.IntervalMax, h.config.Fragment.MaxSplitMin, h.config.Fragment.MaxSplitMax) writer = buf.NewWriter(&FragmentWriter{ fragment: h.config.Fragment, writer: conn, @@ -211,6 +211,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte noises: h.config.Noises, firstWrite: true, UDPOverride: UDPOverride, + remoteAddr: net.DestinationFromAddr(conn.RemoteAddr()).Address, } } } @@ -289,14 +290,13 @@ func NewPacketReader(conn net.Conn, UDPOverride net.Destination, DialDest net.De if UDPOverride.Address != nil || UDPOverride.Port != 0 { isOverridden = true } - changedAddress, _, _ := net.SplitHostPort(conn.RemoteAddr().String()) return &PacketReader{ PacketConnWrapper: c, Counter: counter, IsOverridden: isOverridden, InitUnchangedAddr: DialDest.Address, - InitChangedAddr: net.ParseAddress(changedAddress), + InitChangedAddr: net.DestinationFromAddr(conn.RemoteAddr()).Address, } } return &buf.PacketReader{Reader: conn} @@ -354,8 +354,7 @@ func NewPacketWriter(conn net.Conn, h *Handler, ctx context.Context, UDPOverride // check this behavior and add it to map resolvedUDPAddr := utils.NewTypedSyncMap[string, net.Address]() if DialDest.Address.Family().IsDomain() { - RemoteAddress, _, _ := net.SplitHostPort(conn.RemoteAddr().String()) - resolvedUDPAddr.Store(DialDest.Address.String(), net.ParseAddress(RemoteAddress)) + resolvedUDPAddr.Store(DialDest.Address.Domain(), net.DestinationFromAddr(conn.RemoteAddr()).Address) } return &PacketWriter{ PacketConnWrapper: c, @@ -456,6 +455,7 @@ type NoisePacketWriter struct { noises []*Noise firstWrite bool UDPOverride net.Destination + remoteAddr net.Address } // MultiBuffer writer with Noise before first packet @@ -468,8 +468,24 @@ func (w *NoisePacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { } var noise []byte var err error + if w.remoteAddr.Family().IsDomain() { + panic("impossible, remoteAddr is always IP") + } for _, n := range w.noises { - //User input string or base64 encoded string + switch n.ApplyTo { + case "ipv4": + if w.remoteAddr.Family().IsIPv6() { + continue + } + case "ipv6": + if w.remoteAddr.Family().IsIPv4() { + continue + } + case "ip": + default: + panic("unreachable, applyTo is ip/ipv4/ipv6") + } + //User input string or base64 encoded string or hex string if n.Packet != nil { noise = n.Packet } else { @@ -509,23 +525,29 @@ func (f *FragmentWriter) Write(b []byte) (int, error) { return f.writer.Write(b) } data := b[5:recordLen] - buf := make([]byte, 1024) + buff := make([]byte, 2048) var hello []byte + maxSplit := crypto.RandBetween(int64(f.fragment.MaxSplitMin), int64(f.fragment.MaxSplitMax)) + var splitNum int64 for from := 0; ; { to := from + int(crypto.RandBetween(int64(f.fragment.LengthMin), int64(f.fragment.LengthMax))) - if to > len(data) { + splitNum++ + if to > len(data) || (maxSplit > 0 && splitNum >= maxSplit) { to = len(data) } - copy(buf[:3], b) - copy(buf[5:], data[from:to]) l := to - from + if 5+l > len(buff) { + buff = make([]byte, 5+l) + } + copy(buff[:3], b) + copy(buff[5:], data[from:to]) from = to - buf[3] = byte(l >> 8) - buf[4] = byte(l) + buff[3] = byte(l >> 8) + buff[4] = byte(l) if f.fragment.IntervalMax == 0 { // combine fragmented tlshello if interval is 0 - hello = append(hello, buf[:5+l]...) + hello = append(hello, buff[:5+l]...) } else { - _, err := f.writer.Write(buf[:5+l]) + _, err := f.writer.Write(buff[:5+l]) time.Sleep(time.Duration(crypto.RandBetween(int64(f.fragment.IntervalMin), int64(f.fragment.IntervalMax))) * time.Millisecond) if err != nil { return 0, err @@ -552,17 +574,20 @@ func (f *FragmentWriter) Write(b []byte) (int, error) { if f.fragment.PacketsFrom != 0 && (f.count < f.fragment.PacketsFrom || f.count > f.fragment.PacketsTo) { return f.writer.Write(b) } + maxSplit := crypto.RandBetween(int64(f.fragment.MaxSplitMin), int64(f.fragment.MaxSplitMax)) + var splitNum int64 for from := 0; ; { to := from + int(crypto.RandBetween(int64(f.fragment.LengthMin), int64(f.fragment.LengthMax))) - if to > len(b) { + splitNum++ + if to > len(b) || (maxSplit > 0 && splitNum >= maxSplit) { to = len(b) } n, err := f.writer.Write(b[from:to]) from += n - time.Sleep(time.Duration(crypto.RandBetween(int64(f.fragment.IntervalMin), int64(f.fragment.IntervalMax))) * time.Millisecond) if err != nil { return from, err } + time.Sleep(time.Duration(crypto.RandBetween(int64(f.fragment.IntervalMin), int64(f.fragment.IntervalMax))) * time.Millisecond) if from >= len(b) { return from, nil } diff --git a/yt-dlp/yt_dlp/extractor/motherless.py b/yt-dlp/yt_dlp/extractor/motherless.py index 86551950b7..e236ec3db8 100644 --- a/yt-dlp/yt_dlp/extractor/motherless.py +++ b/yt-dlp/yt_dlp/extractor/motherless.py @@ -51,23 +51,7 @@ class MotherlessIE(InfoExtractor): 'skip': '404', }, { 'url': 'http://motherless.com/g/cosplay/633979F', - 'md5': '0b2a43f447a49c3e649c93ad1fafa4a0', - 'info_dict': { - 'id': '633979F', - 'ext': 'mp4', - 'title': 'Turtlette', - 'categories': ['superheroine heroine superher'], - 'upload_date': '20140827', - 'uploader_id': 'shade0230', - 'thumbnail': r're:https?://.*\.jpg', - 'age_limit': 18, - 'like_count': int, - 'comment_count': int, - 'view_count': int, - }, - 'params': { - 'nocheckcertificate': True, - }, + 'expected_exception': 'ExtractorError', }, { 'url': 'http://motherless.com/8B4BBC1', 'info_dict': { @@ -113,8 +97,10 @@ class MotherlessIE(InfoExtractor): webpage = self._download_webpage(url, video_id) if any(p in webpage for p in ( - '404 - MOTHERLESS.COM<', - ">The page you're looking for cannot be found.<")): + '<title>404 - MOTHERLESS.COM<', + ">The page you're looking for cannot be found.<", + '<div class="error-page', + )): raise ExtractorError(f'Video {video_id} does not exist', expected=True) if '>The content you are trying to view is for friends only.' in webpage: @@ -183,6 +169,9 @@ class MotherlessPaginatedIE(InfoExtractor): def _correct_path(self, url, item_id): raise NotImplementedError('This method must be implemented by subclasses') + def _correct_title(self, title, /): + return title.partition(' - Videos')[0] if title else None + def _extract_entries(self, webpage, base): for mobj in re.finditer(r'href="[^"]*(?P<href>/[A-F0-9]+)"\s+title="(?P<title>[^"]+)', webpage): @@ -205,7 +194,7 @@ class MotherlessPaginatedIE(InfoExtractor): return self.playlist_result( OnDemandPagedList(get_page, self._PAGE_SIZE), item_id, - remove_end(self._html_extract_title(webpage), ' | MOTHERLESS.COM ™')) + self._correct_title(self._html_extract_title(webpage))) class MotherlessGroupIE(MotherlessPaginatedIE): @@ -214,7 +203,7 @@ class MotherlessGroupIE(MotherlessPaginatedIE): 'url': 'http://motherless.com/gv/movie_scenes', 'info_dict': { 'id': 'movie_scenes', - 'title': 'Movie Scenes - Videos - Hot and sexy scenes from "regular" movies... Beautiful actresses fully', + 'title': 'Movie Scenes', }, 'playlist_mincount': 540, }, { @@ -230,7 +219,7 @@ class MotherlessGroupIE(MotherlessPaginatedIE): 'id': 'beautiful_cock', 'title': 'Beautiful Cock', }, - 'playlist_mincount': 2040, + 'playlist_mincount': 371, }] def _correct_path(self, url, item_id): @@ -245,14 +234,14 @@ class MotherlessGalleryIE(MotherlessPaginatedIE): 'id': '338999F', 'title': 'Random', }, - 'playlist_mincount': 171, + 'playlist_mincount': 100, }, { 'url': 'https://motherless.com/GVABD6213', 'info_dict': { 'id': 'ABD6213', 'title': 'Cuties', }, - 'playlist_mincount': 2, + 'playlist_mincount': 1, }, { 'url': 'https://motherless.com/GVBCF7622', 'info_dict': { @@ -266,9 +255,12 @@ class MotherlessGalleryIE(MotherlessPaginatedIE): 'id': '035DE2F', 'title': 'General', }, - 'playlist_mincount': 420, + 'playlist_mincount': 234, }] + def _correct_title(self, title, /): + return remove_end(title, ' | MOTHERLESS.COM ™') + def _correct_path(self, url, item_id): return urllib.parse.urljoin(url, f'/GV{item_id}') @@ -279,14 +271,14 @@ class MotherlessUploaderIE(MotherlessPaginatedIE): 'url': 'https://motherless.com/u/Mrgo4hrs2023', 'info_dict': { 'id': 'Mrgo4hrs2023', - 'title': "Mrgo4hrs2023's Uploads - Videos", + 'title': "Mrgo4hrs2023's Uploads", }, 'playlist_mincount': 32, }, { 'url': 'https://motherless.com/u/Happy_couple?t=v', 'info_dict': { 'id': 'Happy_couple', - 'title': "Happy_couple's Uploads - Videos", + 'title': "Happy_couple's Uploads", }, 'playlist_mincount': 8, }] diff --git a/yt-dlp/yt_dlp/extractor/yandexdisk.py b/yt-dlp/yt_dlp/extractor/yandexdisk.py index 3214816701..654858fcca 100644 --- a/yt-dlp/yt_dlp/extractor/yandexdisk.py +++ b/yt-dlp/yt_dlp/extractor/yandexdisk.py @@ -16,7 +16,7 @@ class YandexDiskIE(InfoExtractor): _VALID_URL = r'''(?x)https?:// (?P<domain> yadi\.sk| - disk\.yandex\. + disk\.(?:360\.)?yandex\. (?: az| by| @@ -51,6 +51,9 @@ class YandexDiskIE(InfoExtractor): }, { 'url': 'https://yadi.sk/public?hash=5DZ296JK9GWCLp02f6jrObjnctjRxMs8L6%2B%2FuhNqk38%3D', 'only_matching': True, + }, { + 'url': 'https://disk.360.yandex.ru/i/TM2xsIVsgjY4uw', + 'only_matching': True, }] def _real_extract(self, url):