commit 04618447dc18d5204a738adfc966cfc56486b5c6 Author: lzq <2495532633@qq.com> Date: Tue Dec 2 20:01:04 2025 +0800 1 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..36f80cf --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 1000 + + diff --git a/.env b/.env new file mode 100644 index 0000000..86b793c --- /dev/null +++ b/.env @@ -0,0 +1,12 @@ +# 应用名称 +VITE_APP_NAME=再昇云 + +# 当前应用基础地址 +VITE_APP_BASE_URL=/ + +# 服务器基础地址 +VITE_HTTP_SERVER_BASE_URL=/api +VITE_HTTP_PROXY_TARGET=http://127.0.0.1:10086 +VITE_WS_SERVER_BASE_URL=/api/fdx +VITE_WS_PROXY_TARGET=ws://127.0.0.1:10086 + diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..4e87e58 --- /dev/null +++ b/.env.development @@ -0,0 +1,3 @@ +# 后台服务地址 +VITE_HTTP_PROXY_TARGET=http://localhost:10086 +VITE_WS_PROXY_TARGET=ws://localhost:10086 diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..f55e03d --- /dev/null +++ b/.env.production @@ -0,0 +1,9 @@ +# 应用名称 +VITE_APP_NAME=再昇云 + +# 当前应用基础地址 +VITE_APP_BASE_URL=/ + +# 服务器基础地址 +VITE_HTTP_SERVER_BASE_URL=/api +VITE_WS_SERVER_BASE_URL=/api/fdx diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..f0b8840 --- /dev/null +++ b/.env.test @@ -0,0 +1,9 @@ +# 应用名称 +VITE_APP_NAME=(测试环境)再昇云 + +# 当前应用基础地址 +VITE_APP_BASE_URL=/test + +# 服务器基础地址 +VITE_HTTP_SERVER_BASE_URL=/test/api +VITE_WS_SERVER_BASE_URL=/test/api/fdx diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..36e3cc0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +dist +.idea +.DS_Store +node_modules +.vscode diff --git a/index.html b/index.html new file mode 100644 index 0000000..705c68f --- /dev/null +++ b/index.html @@ -0,0 +1,37 @@ + + + + + + + + + + + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..174b7a4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6083 @@ +{ + "name": "njzscloud-framework-web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "njzscloud-framework-web", + "version": "0.0.0", + "dependencies": { + "axios": "^1.11.0", + "decimal.js": "^10.6.0", + "echarts": "^5.4.1", + "element-plus": "^2.11.8", + "luxon": "^3.7.1", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pinia": "^3.0.3", + "pinia-plugin-persistedstate": "^4.5.0", + "qs": "^6.14.0", + "vue": "^3.5.18", + "vue-router": "^4.5.1", + "vue3-print-nb": "^0.1.4" + }, + "devDependencies": { + "@types/luxon": "^3.7.1", + "@types/node": "^24.3.0", + "@vitejs/plugin-vue": "^6.0.1", + "@vitejs/plugin-vue-jsx": "^5.1.1", + "@vue/tsconfig": "^0.7.0", + "colorette": "^2.0.20", + "fflate": "^0.8.2", + "filesize": "^11.0.2", + "stylus": "^0.64.0", + "typescript": "~5.8.3", + "typescript-plugin-css-modules": "^5.2.0", + "unplugin-auto-import": "^20.1.0", + "unplugin-element-plus": "^0.11.1", + "unplugin-vue-components": "^29.0.0", + "vite": "^7.1.2", + "vite-plugin-vue-devtools": "^8.0.1", + "vue-tsc": "^3.0.5" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nuxt/kit": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-4.2.1.tgz", + "integrity": "sha512-lLt8KLHyl7IClc3RqRpRikz15eCfTRlAWL9leVzPyg5N87FfKE/7EWgWvpiL/z4Tf3dQCIqQb88TmHE0JTIDvA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "c12": "^3.3.1", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.5", + "errx": "^0.1.0", + "exsolve": "^1.0.7", + "ignore": "^7.0.5", + "jiti": "^2.6.1", + "klona": "^2.0.6", + "mlly": "^1.8.0", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.3.0", + "rc9": "^2.1.2", + "scule": "^1.3.0", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ufo": "^1.6.1", + "unctx": "^2.4.1", + "untyped": "^2.0.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@nuxt/kit/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "devOptional": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz", + "integrity": "sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/luxon": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.7.1.tgz", + "integrity": "sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/postcss-modules-local-by-default": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.2.tgz", + "integrity": "sha512-CtYCcD+L+trB3reJPny+bKWKMzPfxEyQpKIwit7kErnOexf5/faaGpkFy4I5AwbV4hp1sk7/aTg0tt0B67VkLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@types/postcss-modules-scope": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/postcss-modules-scope/-/postcss-modules-scope-3.0.4.tgz", + "integrity": "sha512-//ygSisVq9kVI0sqx3UPLzWIMCmtSVrzdljtuaAEJtGoGnpjBikZ2sXO5MpH9SnWX9HRfXxHifDAXcQjupWnIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.2.tgz", + "integrity": "sha512-iHmwV3QcVGGvSC1BG5bZ4z6iwa1SOpAPWmnjOErd4Ske+lZua5K9TtAVdx0gMBClJ28DViCbSmZitjWZsWO3LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.50" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-5.1.2.tgz", + "integrity": "sha512-3a2BOryRjG/Iih87x87YXz5c8nw27eSlHytvSKYfp8ZIsp5+FgFQoKeA7k2PnqWpjJrv6AoVTMnvmuKUXb771A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.5", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5", + "@rolldown/pluginutils": "^1.0.0-beta.50", + "@vue/babel-plugin-jsx": "^2.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.23.tgz", + "integrity": "sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.23" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.23.tgz", + "integrity": "sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.23.tgz", + "integrity": "sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.23", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-2.0.1.tgz", + "integrity": "sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-2.0.1.tgz", + "integrity": "sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@vue/babel-helper-vue-transform-on": "2.0.1", + "@vue/babel-plugin-resolve-type": "2.0.1", + "@vue/shared": "^3.5.22" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-2.0.1.tgz", + "integrity": "sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.4", + "@vue/compiler-sfc": "^3.5.22" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.25.tgz", + "integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.25", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.25.tgz", + "integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.25.tgz", + "integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.25", + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.25.tgz", + "integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-core": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.5.tgz", + "integrity": "sha512-dpCw8nl0GDBuiL9SaY0mtDxoGIEmU38w+TQiYEPOLhW03VDC0lfNMYXS/qhl4I0YlysGp04NLY4UNn6xgD0VIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.0.5", + "@vue/devtools-shared": "^8.0.5", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pathe": "^2.0.3", + "vite-hot-client": "^2.1.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-kit": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.5", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-shared": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/devtools-core/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.1.5.tgz", + "integrity": "sha512-FMcqyzWN+sYBeqRMWPGT2QY0mUasZMVIuHvmb5NT3eeqPrbHBYtCP8JWEUCDCgM+Zr62uuWY/qoeBrPrzfa78w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.23", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.25.tgz", + "integrity": "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.25.tgz", + "integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.25.tgz", + "integrity": "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/runtime-core": "3.5.25", + "@vue/shared": "3.5.25", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.25.tgz", + "integrity": "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "vue": "3.5.25" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.25.tgz", + "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "devOptional": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/alien-signals": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.1.tgz", + "integrity": "sha512-ogkIWbVrLwKtHY6oOAXaYkAxP+cTH7V5FZ5+Tm4NZFd8VDZ6uNMDrfzqctTZ42eTMCSR3ne3otpcxmqSnFfPYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", + "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/birpc": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.8.0.tgz", + "integrity": "sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c12": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.3.2.tgz", + "integrity": "sha512-QkikB2X5voO1okL3QsES0N690Sn/K9WokXqUsDQsWy5SnYb+psYQFGA10iy1bZHj3fjISKsI67Q90gruvWWM3A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^17.2.3", + "exsolve": "^1.0.8", + "giget": "^2.0.0", + "jiti": "^2.6.1", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^2.0.0", + "pkg-types": "^2.3.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "*" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/c12/node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "devOptional": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/c12/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001757", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", + "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.260", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.260.tgz", + "integrity": "sha512-ov8rBoOBhVawpzdre+Cmz4FB+y66Eqrk6Gwqd8NGxuhv99GQ8XqMAr351KEkOt7gukXWDg6gJWEMKgL2RLMPtA==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.11.8.tgz", + "integrity": "sha512-2wzSj2uubFU1f0t/gHkkE1d09mUgV18fSZX5excw3Ar6hyWcxph4E57U8dgYLDt7HwkKYv1BiqPyBdy0WqWlOA==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.18", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/errx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/errx/-/errx-0.1.0.tgz", + "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/filesize": { + "version": "11.0.13", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-11.0.13.tgz", + "integrity": "sha512-mYJ/qXKvREuO0uH8LTQJ6v7GsUvVOguqxg2VTwQUkyTPXXRRWPdjuUPVqdBrJQhvci48OHlNGRnux+Slr2Rnvw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 10.8.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "dev": true, + "license": "MIT" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.3.0.tgz", + "integrity": "sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/less": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/less/-/less-4.4.2.tgz", + "integrity": "sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less/node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/less/node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/local-pkg": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", + "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.3.0", + "quansync": "^0.2.11" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT", + "peer": true + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT", + "peer": true + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/nypm": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.2.tgz", + "integrity": "sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.2", + "pathe": "^2.0.3", + "pkg-types": "^2.3.0", + "tinyexec": "^1.0.1" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.7.1.tgz", + "integrity": "sha512-WHOqh2esDlR3eAaknPbqXrkkj0D24h8shrDPqysgCFR6ghqP/fpFfJmMPJp0gETHsvrh9YNNg6dQfo2OEtDnIQ==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4" + }, + "peerDependencies": { + "@nuxt/kit": ">=3.0.0", + "@pinia/nuxt": ">=0.10.0", + "pinia": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@pinia/nuxt": { + "optional": true + }, + "pinia": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quansync": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", + "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/sass": { + "version": "1.94.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.94.2.tgz", + "integrity": "sha512-N+7WK20/wOr7CzA2snJcUSSNTCzeCGUTFY3OgeQP3mZ1aj9NMQ0mSTXwlrnd89j33zzQJGqIN52GIOmYrfq46A==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sax": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", + "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-literal": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", + "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylus": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.64.0.tgz", + "integrity": "sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@adobe/css-tools": "~4.3.3", + "debug": "^4.3.2", + "glob": "^10.4.5", + "sax": "~1.4.1", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://opencollective.com/stylus" + } + }, + "node_modules/superjson": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.5.tgz", + "integrity": "sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "devOptional": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-plugin-css-modules": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typescript-plugin-css-modules/-/typescript-plugin-css-modules-5.2.0.tgz", + "integrity": "sha512-c5pAU5d+m3GciDr/WhkFldz1NIEGBafuP/3xhFt9BEXS2gmn/LvjkoZ11vEBIuP8LkXfPNhOt1BUhM5efFuwOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/postcss-modules-local-by-default": "^4.0.2", + "@types/postcss-modules-scope": "^3.0.4", + "dotenv": "^16.4.2", + "icss-utils": "^5.1.0", + "less": "^4.2.0", + "lodash.camelcase": "^4.3.0", + "postcss": "^8.4.35", + "postcss-load-config": "^3.1.4", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "reserved-words": "^0.1.2", + "sass": "^1.70.0", + "source-map-js": "^1.0.2", + "tsconfig-paths": "^4.2.0" + }, + "optionalDependencies": { + "stylus": "^0.62.0" + }, + "peerDependencies": { + "typescript": ">=4.0.0" + } + }, + "node_modules/typescript-plugin-css-modules/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/typescript-plugin-css-modules/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typescript-plugin-css-modules/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/typescript-plugin-css-modules/node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/typescript-plugin-css-modules/node_modules/stylus": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.62.0.tgz", + "integrity": "sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@adobe/css-tools": "~4.3.1", + "debug": "^4.3.2", + "glob": "^7.1.6", + "sax": "~1.3.0", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://opencollective.com/stylus" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unctx": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.4.1.tgz", + "integrity": "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17", + "unplugin": "^2.1.0" + } + }, + "node_modules/unctx/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unimport": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.5.0.tgz", + "integrity": "sha512-/JpWMG9s1nBSlXJAQ8EREFTFy3oy6USFd8T6AoBaw1q2GGcF4R9yp3ofg32UODZlYEO5VD0EWE1RpI9XDWyPYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.19", + "mlly": "^1.8.0", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "pkg-types": "^2.3.0", + "scule": "^1.3.0", + "strip-literal": "^3.1.0", + "tinyglobby": "^0.2.15", + "unplugin": "^2.3.10", + "unplugin-utils": "^0.3.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unimport/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "acorn": "^8.15.0", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-20.2.0.tgz", + "integrity": "sha512-vfBI/SvD9hJqYNinipVOAj5n8dS8DJXFlCKFR5iLDp2SaQwsfdnfLXgZ+34Kd3YY3YEY9omk8XQg0bwos3Q8ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "local-pkg": "^1.1.2", + "magic-string": "^0.30.19", + "picomatch": "^4.0.3", + "unimport": "^5.4.0", + "unplugin": "^2.3.10", + "unplugin-utils": "^0.3.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^4.0.0", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-auto-import/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin-element-plus": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/unplugin-element-plus/-/unplugin-element-plus-0.11.1.tgz", + "integrity": "sha512-pj6+SCBWfHrCrkaXDcDwHvT6u2XURFOwDFd8V5Nweq4xtr/91sAg/xNoih96FK3y89nqnHQ6qINilSGH2sUtmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^4.2.1", + "es-module-lexer": "^1.7.0", + "escape-string-regexp": "^5.0.0", + "magic-string": "^0.30.21", + "unplugin": "^2.3.10" + }, + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin-vue-components": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-29.2.0.tgz", + "integrity": "sha512-QxBeBdmEflgtJRgMQMc/z/JVV5lcwXN5nOy5ehX6CKDGylIu6Qn4Goy8X95S0qOxF7EdI+uNhdBd4v5i0bvzCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "debug": "^4.4.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.19", + "mlly": "^1.8.0", + "tinyglobby": "^0.2.15", + "unplugin": "^2.3.10", + "unplugin-utils": "^0.3.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2 || ^4.0.0", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/unplugin-vue-components/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/unplugin/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/untyped": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-2.0.0.tgz", + "integrity": "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "defu": "^6.1.4", + "jiti": "^2.4.2", + "knitwork": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz", + "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-dev-rpc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "birpc": "^2.4.0", + "vite-hot-client": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" + } + }, + "node_modules/vite-hot-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz", + "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansis": "^4.1.0", + "debug": "^4.4.1", + "error-stack-parser-es": "^1.0.5", + "ohash": "^2.0.11", + "open": "^10.2.0", + "perfect-debounce": "^2.0.0", + "sirv": "^3.0.1", + "unplugin-utils": "^0.3.0", + "vite-dev-rpc": "^1.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-inspect/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.5.tgz", + "integrity": "sha512-p619BlKFOqQXJ6uDWS1vUPQzuJOD6xJTfftj57JXBGoBD/yeQCowR7pnWcr/FEX4/HVkFbreI6w2uuGBmQOh6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^8.0.5", + "@vue/devtools-kit": "^8.0.5", + "@vue/devtools-shared": "^8.0.5", + "sirv": "^3.0.2", + "vite-plugin-inspect": "^11.3.3", + "vite-plugin-vue-inspector": "^5.3.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-kit": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.5", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-shared": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector/node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-inspector/node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-inspector/node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.25", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz", + "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-sfc": "3.5.25", + "@vue/runtime-dom": "3.5.25", + "@vue/server-renderer": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.3.tgz", + "integrity": "sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.1.5.tgz", + "integrity": "sha512-L/G9IUjOWhBU0yun89rv8fKqmKC+T0HfhrFjlIml71WpfBv9eb4E9Bev8FMbyueBIU9vxQqbd+oOsVcDa5amGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.23", + "@vue/language-core": "3.1.5" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/vue3-print-nb": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz", + "integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==", + "dependencies": { + "vue": "^3.0.5" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8291fda --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "njzscloud-framework-web", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "build:test": "vite build --mode test", + "preview": "vite preview" + }, + "dependencies": { + "axios": "^1.11.0", + "decimal.js": "^10.6.0", + "echarts": "^5.4.1", + "element-plus": "^2.11.8", + "luxon": "^3.7.1", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pinia": "^3.0.3", + "pinia-plugin-persistedstate": "^4.5.0", + "qs": "^6.14.0", + "vue": "^3.5.18", + "vue-router": "^4.5.1", + "vue3-print-nb": "^0.1.4" + }, + "devDependencies": { + "@types/luxon": "^3.7.1", + "@types/node": "^24.3.0", + "@vitejs/plugin-vue": "^6.0.1", + "@vitejs/plugin-vue-jsx": "^5.1.1", + "@vue/tsconfig": "^0.7.0", + "colorette": "^2.0.20", + "fflate": "^0.8.2", + "filesize": "^11.0.2", + "stylus": "^0.64.0", + "typescript": "~5.8.3", + "typescript-plugin-css-modules": "^5.2.0", + "unplugin-auto-import": "^20.1.0", + "unplugin-element-plus": "^0.11.1", + "unplugin-vue-components": "^29.0.0", + "vite": "^7.1.2", + "vite-plugin-vue-devtools": "^8.0.1", + "vue-tsc": "^3.0.5" + } +} diff --git a/plugin/file-watcher.ts b/plugin/file-watcher.ts new file mode 100644 index 0000000..719e2ab --- /dev/null +++ b/plugin/file-watcher.ts @@ -0,0 +1,26 @@ +import type { Plugin } from 'vite' +import fs from 'fs' + +export function fileWatcher(...options: VitePluginTypes.FileWatcherOptions[]): Plugin { + return { + name: 'file-watcher-plugin', + + configureServer(server) { + server.watcher + .on('all', (event, filePath, stats) => { + options.forEach(it => { + const isDir = stats!.isDirectory() + const getContent = () => { + return isDir ? '' : fs.readFileSync(filePath, 'utf-8') + } + const isAccept = it.isAccept({event, filePath, isDir}) + if (isAccept) { + it.process({ + event, filePath, isDir, getContent, + }) + } + }) + }) + }, + } +} diff --git a/plugin/html-process.ts b/plugin/html-process.ts new file mode 100644 index 0000000..a159b32 --- /dev/null +++ b/plugin/html-process.ts @@ -0,0 +1,13 @@ +import type { Plugin } from 'vite' + +export default function processHtml(title: string): Plugin { + return { + name: 'vite-plugin-html-process', + transformIndexHtml(html) { + return html.replace( + /(.*?)<\/title>/, + `<title>${title}`, + ) + }, + } +} diff --git a/plugin/iconfont-process.ts b/plugin/iconfont-process.ts new file mode 100644 index 0000000..d42aadf --- /dev/null +++ b/plugin/iconfont-process.ts @@ -0,0 +1,46 @@ +import fs from 'fs' +import path from 'node:path' + +interface IconfontJson { + font_family: string; + css_prefix_text: string; + glyphs: { + icon_id: string + font_class: string + unicode: string + name: string + }[]; +} + +const targetFile = path.resolve(__dirname, './public/iconfont/ali/iconfont.json') + +const outPath = path.resolve(__dirname, './src/components/iconfont') + +export default { + process(data: VitePluginTypes.FileWatcherProcessParam) { + + const json = JSON.parse(data.getContent()) as IconfontJson + const names = json.glyphs.map(glyph => glyph.font_class) + const dtsFile = outPath + '/iconfont.d.ts' + console.log('正在生成文件:', dtsFile) + const dts = `export {} + +declare global { + namespace IconfontTypes { + type name = ${names.map(name => `'${name}'`).join('\n | ')} + } +} +` + fs.writeFileSync(dtsFile, dts, {encoding: 'utf-8'}) + + const tsFile = outPath + '/icons.ts' + const ts = `export default reactive([${'\n ' + names.map(name => `{name: '${name}'}`).join(',\n ') + '\n'}])` + console.log('正在生成文件:', tsFile) + fs.writeFileSync(tsFile, ts, {encoding: 'utf-8'}) + + console.log('文件生成完成') + }, + isAccept(data: VitePluginTypes.FileWatcherAcceptParam) { + return data.event === 'change' && !data.isDir && data.filePath === targetFile + }, +} as VitePluginTypes.FileWatcherOptions diff --git a/plugin/types.d.ts b/plugin/types.d.ts new file mode 100644 index 0000000..5543f6e --- /dev/null +++ b/plugin/types.d.ts @@ -0,0 +1,26 @@ +export {} +declare global { + namespace VitePluginTypes { + + type FileWatcherEvent = 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir' + + interface FileWatcherProcessParam { + event: FileWatcherEvent + filePath: string + isDir: boolean + getContent: () => string + } + + interface FileWatcherAcceptParam { + event: FileWatcherEvent + filePath: string + isDir: boolean + } + + interface FileWatcherOptions { + process: (data: FileWatcherProcessParam) => void + isAccept: (data: FileWatcherAcceptParam) => boolean + } + } +} + diff --git a/plugin/zip-dist.ts b/plugin/zip-dist.ts new file mode 100644 index 0000000..ee55419 --- /dev/null +++ b/plugin/zip-dist.ts @@ -0,0 +1,97 @@ +import { + bold, + red, +} from 'colorette' +import { + type AsyncZippable, + zip, +} from 'fflate' +import { filesize } from 'filesize' +import { + readdir, + readFile, + writeFile, +} from 'node:fs/promises' +import { promisify } from 'node:util' +import { type Plugin } from 'vite' +import path, { relative } from 'node:path' +import { exec } from 'node:child_process' + +async function* traversalDir(path: string): AsyncGenerator<[ string, string, Uint8Array ]> { + yield [ 'startDir', path, new Uint8Array(1) ] + let dirents = await readdir(path, {withFileTypes: true}) + for (let dirent of dirents) { + let subDir = `${path}/${dirent.name}` + if (dirent.isDirectory()) { + yield* traversalDir(subDir) + } else { + yield [ 'file', subDir, await readFile(subDir) ] + } + } + yield [ 'endDir', path, new Uint8Array(1) ] +} + +async function doZip(path: string) { + let data: AsyncZippable = {} + for await (const e of traversalDir(path)) { + if (e[0] === 'file') { + data[relative(path, e[1])] = e[2] + } + } + return await promisify(zip)(data) +} + +function openFolderInFileManager(folderPath: string) { + return new Promise((resolve, reject) => { + // 解析为绝对路径 + const absolutePath = path.resolve(folderPath) + console.log('打开文件夹', absolutePath) + // 根据操作系统选择不同的命令 + let command + switch (process.platform) { + case 'win32': + // Windows 系统 + command = `explorer.exe "${absolutePath}"` + break + case 'darwin': + // macOS 系统 + command = `open "${absolutePath}"` + break + case 'linux': + // Linux 系统(使用 xdg-open) + command = `xdg-open "${absolutePath}"` + break + default: + reject(new Error(`不支持的操作系统: ${process.platform}`)) + return + } + exec(command, () => { + resolve(1) + }) + }) +} + +export default function zipDist(name?: string, addVersion: boolean = false): Plugin { + if (!!name && !name.endsWith('.zip')) { + name = `${name}.zip` + } else if (!name) { + let {npm_package_name = 'bundle', npm_package_version} = process.env + name = !!npm_package_version && addVersion ? + `${npm_package_name}-${npm_package_version}.zip` : `${npm_package_name}.zip` + } + + return { + name: 'vite-plugin-dist-zip', + writeBundle: { + sequential: true, + order: 'post', + handler(options, _) { + doZip(options.dir!) + .then(value => Promise.all([ writeFile(`./dist/${name}`, value), Promise.resolve(value.byteLength) ])) + .then(value => console.log(red(`\n压缩完成 ${bold(`dist/${name}`)} ${filesize(value[1])}`))) + .then(() => openFolderInFileManager(options.dir!)) + }, + }, + } +} + diff --git a/public/idux-icons/cog.svg b/public/idux-icons/cog.svg new file mode 100644 index 0000000..835dcb8 --- /dev/null +++ b/public/idux-icons/cog.svg @@ -0,0 +1,6 @@ + + + + diff --git a/public/idux-icons/menus.svg b/public/idux-icons/menus.svg new file mode 100644 index 0000000..3a1ebdb --- /dev/null +++ b/public/idux-icons/menus.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/idux-icons/msg.svg b/public/idux-icons/msg.svg new file mode 100644 index 0000000..d4dec78 --- /dev/null +++ b/public/idux-icons/msg.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/idux-icons/role.svg b/public/idux-icons/role.svg new file mode 100644 index 0000000..ce615d6 --- /dev/null +++ b/public/idux-icons/role.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/idux-icons/users.svg b/public/idux-icons/users.svg new file mode 100644 index 0000000..1e878af --- /dev/null +++ b/public/idux-icons/users.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/idux-icons/vite.svg b/public/idux-icons/vite.svg new file mode 100644 index 0000000..8f12167 --- /dev/null +++ b/public/idux-icons/vite.svg @@ -0,0 +1,15 @@ + diff --git a/public/idux-icons/删除.svg b/public/idux-icons/删除.svg new file mode 100644 index 0000000..50a23d0 --- /dev/null +++ b/public/idux-icons/删除.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..e213490 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/assets/css/index.css b/src/assets/css/index.css new file mode 100644 index 0000000..8651953 --- /dev/null +++ b/src/assets/css/index.css @@ -0,0 +1,8 @@ +:root { + --el-color-primary: #1C6EFF; + --el-font-weight-primary: 400; + --el-button-hover-bg-color: #458FFF; + --el-button-hover-border-color: #458FFF; + --el-color-primary-light-3: #458FFF; + --el-border-radius-base: 2px; +} diff --git a/src/assets/images/404.png b/src/assets/images/404.png new file mode 100644 index 0000000..f803724 Binary files /dev/null and b/src/assets/images/404.png differ diff --git a/src/assets/images/avatar.png b/src/assets/images/avatar.png new file mode 100644 index 0000000..4aa23de Binary files /dev/null and b/src/assets/images/avatar.png differ diff --git a/src/assets/images/bg3.png b/src/assets/images/bg3.png new file mode 100644 index 0000000..b879d34 Binary files /dev/null and b/src/assets/images/bg3.png differ diff --git a/src/assets/images/enterprise.svg b/src/assets/images/enterprise.svg new file mode 100644 index 0000000..bd4074e --- /dev/null +++ b/src/assets/images/enterprise.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/login_background.jpg b/src/assets/images/login_background.jpg new file mode 100644 index 0000000..e601f24 Binary files /dev/null and b/src/assets/images/login_background.jpg differ diff --git a/src/assets/images/login_background.svg b/src/assets/images/login_background.svg new file mode 100644 index 0000000..070750d --- /dev/null +++ b/src/assets/images/login_background.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/login_bg.png b/src/assets/images/login_bg.png new file mode 100644 index 0000000..dd452eb Binary files /dev/null and b/src/assets/images/login_bg.png differ diff --git a/src/assets/images/login_left.svg b/src/assets/images/login_left.svg new file mode 100644 index 0000000..55bbc9e --- /dev/null +++ b/src/assets/images/login_left.svg @@ -0,0 +1,135 @@ + + + 搭建网站 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 0000000..c39e983 Binary files /dev/null and b/src/assets/images/logo.png differ diff --git a/src/assets/images/logo1.png b/src/assets/images/logo1.png new file mode 100644 index 0000000..f9a11a3 Binary files /dev/null and b/src/assets/images/logo1.png differ diff --git a/src/assets/images/procedure.png b/src/assets/images/procedure.png new file mode 100644 index 0000000..fccf4c2 Binary files /dev/null and b/src/assets/images/procedure.png differ diff --git a/src/assets/images/temp.gif b/src/assets/images/temp.gif new file mode 100644 index 0000000..07ad0aa Binary files /dev/null and b/src/assets/images/temp.gif differ diff --git a/src/assets/images/vite.svg b/src/assets/images/vite.svg new file mode 100644 index 0000000..8f12167 --- /dev/null +++ b/src/assets/images/vite.svg @@ -0,0 +1,15 @@ + diff --git a/src/assets/images/vue.svg b/src/assets/images/vue.svg new file mode 100644 index 0000000..2dd84fc --- /dev/null +++ b/src/assets/images/vue.svg @@ -0,0 +1,5 @@ + diff --git a/src/assets/images/循环.svg b/src/assets/images/循环.svg new file mode 100644 index 0000000..2567bd3 --- /dev/null +++ b/src/assets/images/循环.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/common/app/app-api.ts b/src/common/app/app-api.ts new file mode 100644 index 0000000..eaa4f1b --- /dev/null +++ b/src/common/app/app-api.ts @@ -0,0 +1,84 @@ +import { + download, + get, + getFileUrl, +} from '@/common/utils/http-util.ts' + +interface PresignedUrl extends Record { + url?: string + bucketName?: string + objectName?: string +} + +export interface DefaultPlace { + province?: string + city?: string + provinceName?: string + cityName?: string +} + +export interface District { + id?: string + province?: string + city?: string + area?: string + town?: string + districtName?: string +} + + +export default { + defaultPlace() { + return get('/district/default_place') + }, + districtList(data: { pid?: string, name?: string }) { + return get('/district/list', data) + }, + obtainPresignedUrl(filename: string) { + return get('/oss/obtain_presigned_url', {filename}) + }, + download(filename: string, params?: any, defaultName: string = '下载的文件') { + let url = '' + if (filename.startsWith('http') || filename.startsWith('https')) { + url = filename + } + if (filename.startsWith('/')) { + url = '/oss/download' + filename + } else { + url = '/oss/download/' + filename + } + return download(url, params, defaultName) + .then(res => { + // 创建新的URL并指向File对象或者Blob对象的地址 + const blobURL = window.URL.createObjectURL(res.data.data) + // 创建a标签,用于跳转至下载链接 + const tempLink = document.createElement('a') + tempLink.style.display = 'none' + tempLink.href = blobURL + tempLink.setAttribute('download', decodeURI(res.data.filename)) + // 兼容:某些浏览器不支持HTML5的download属性 + if (typeof tempLink.download === 'undefined') { + tempLink.setAttribute('target', '_blank') + } + // 挂载a标签 + document.body.appendChild(tempLink) + tempLink.click() + document.body.removeChild(tempLink) + // 释放blob URL地址 + window.URL.revokeObjectURL(blobURL) + }) + }, + fileUrl(filename?: string) { + if (filename == null || filename.length <= 0) { + return '' + } + if (filename.startsWith('http') || filename.startsWith('https')) { + return filename + } + if (filename.startsWith('/')) { + return getFileUrl('/oss/download' + filename) + } else { + return getFileUrl('/oss/download/' + filename) + } + }, +} diff --git a/src/common/app/app-page-store.ts b/src/common/app/app-page-store.ts new file mode 100644 index 0000000..a0a97b4 --- /dev/null +++ b/src/common/app/app-page-store.ts @@ -0,0 +1,54 @@ +import { defineStore } from 'pinia' +import Evt from '@/common/utils/evt.ts' + +const pageContextCache = new Map() + + +function initCache() { + pageContextCache.clear() +} + +initCache() + +export const useAppPageStore = defineStore('AppPage', () => { + const keepAliveInclude = ref([]) + + const currentPage = ref('') + + const ctx = computed(() => { + return pageContextCache.get(currentPage.value)! + }) + + function open(ctx_: AppTypes.PageContext) { + currentPage.value = ctx_.insId + if (!pageContextCache.has(ctx_.insId)) { + pageContextCache.set(ctx_.insId, ctx_) + } + if (!keepAliveInclude.value.includes(ctx_.insId)) { + keepAliveInclude.value.push(ctx_.insId) + } + } + + function close(insId: string) { + pageContextCache.delete(insId) + if (keepAliveInclude.value.includes(insId)) { + keepAliveInclude.value = keepAliveInclude.value.splice(keepAliveInclude.value.indexOf(insId), 1) + } + } + + function $reset() { + keepAliveInclude.value = [] + currentPage.value = '' + initCache() + } + + Evt.on('logout', $reset) + + return { + ctx, + open, + close, + keepAliveInclude, + $reset, + } +}) diff --git a/src/common/app/app-setting-store.ts b/src/common/app/app-setting-store.ts new file mode 100644 index 0000000..af2dd37 --- /dev/null +++ b/src/common/app/app-setting-store.ts @@ -0,0 +1,45 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' +import Evt from '@/common/utils/evt.ts' + +export const useAppSettingStore = defineStore('AppSetting', () => { + const theme = ref('light') + const language = ref<'zh' | 'en'>('zh') + const logo = ref(null) + const collectedMenus = ref([]) + + const menus = ref([]) + const menuTree = ref([]) + const stationId = ref('') + + function $reset() { + collectedMenus.value = [] + menus.value = [] + menuTree.value = [] + stationId.value = '' + } + + Evt.on('logout', $reset) + + return { + collectedMenus, + menus, + menuTree, + theme, + logo, + language, + stationId, + $reset, + } +}, { + persist: { + pick: [ + 'theme', + 'collectedMenus', + 'menus', + 'menuTree', + 'language', + 'logo', + ], + }, +}) diff --git a/src/common/app/app-user-store.ts b/src/common/app/app-user-store.ts new file mode 100644 index 0000000..9bc2e6f --- /dev/null +++ b/src/common/app/app-user-store.ts @@ -0,0 +1,50 @@ +import { defineStore } from 'pinia' +import { + computed, + ref, +} from 'vue' +import { isEmpty } from '@/common/utils/strings.ts' +import Evt from '@/common/utils/evt.ts' + +export const useAppUserStore = defineStore('AppUser', () => { + const userId = ref(null) + const roles = ref([]) + const bizObj = ref(null) + const nickname = ref(null) + const avatar = ref(null) + const token = ref(null) + const tenantId = ref(null) + const tenantName = ref(null) + const isAuthenticated = computed(() => !isEmpty(token.value)) + + function $reset() { + userId.value = null + avatar.value = null + nickname.value = null + token.value = null + tenantId.value = null + tenantName.value = null + bizObj.value = null + roles.value = [] + } + + Evt.on('logout', $reset) + + return { + userId, + avatar, + nickname, + token, + tenantId, + tenantName, + bizObj, + isAuthenticated, + roles, + $reset, + } +}, { + persist: { + pick: [ 'userId', 'avatar', 'nickname', 'token', 'tenantId', 'tenantName', 'bizObj' ], + }, +}) + diff --git a/src/common/app/app.d.ts b/src/common/app/app.d.ts new file mode 100644 index 0000000..b5c1b76 --- /dev/null +++ b/src/common/app/app.d.ts @@ -0,0 +1,41 @@ +import { MenuCategory } from '@/common/app/constants.ts' + +export {} +declare global { + namespace AppTypes { + + interface PageContext { + insId: string + title: string + keepAlive: boolean + params: Record + routeName: string + menuId: string + } + + // 菜单 + interface Menu extends G.TreeNode { + // Id + id: string + sn: string + // 上级 Id; 层级为 1 的节点值为 0 + pid: string + // 菜单名称 + title: string + // 图标 + icon: string + // 层级; >= 1 + tier: number + // 排序 + sort: number + // 路由名称 + routeName: string + // 面包路径 + breadcrumb: string[] + + menuCategory: MenuCategory + + children?: Menu[] + } + } +} diff --git a/src/common/app/constants.ts b/src/common/app/constants.ts new file mode 100644 index 0000000..2231c47 --- /dev/null +++ b/src/common/app/constants.ts @@ -0,0 +1,15 @@ +export enum MenuCategory { + Catalog = 'Catalog', + Group = 'Group', + Page = 'Page', + SubPage = 'SubPage', + Btn = 'Btn', +} + +export const MenuCategoryDict = { + [MenuCategory.Catalog]: '目录', + [MenuCategory.Group]: '组', + [MenuCategory.Page]: '页面', + [MenuCategory.SubPage]: '子页面', + [MenuCategory.Btn]: '按钮', +} diff --git a/src/common/app/index.ts b/src/common/app/index.ts new file mode 100644 index 0000000..38faf72 --- /dev/null +++ b/src/common/app/index.ts @@ -0,0 +1,66 @@ +import LoginApi from '@/pages/login/login-api.ts' +import Colls from '@/common/utils/colls.ts' +import { useAppSettingStore } from '@/common/app/app-setting-store.ts' +import { useAppUserStore } from '@/common/app/app-user-store.ts' +import Utils from '@/common/utils' + +export const reloadUserInfo = () => { + const appSettingStore = useAppSettingStore() + const appUserStore = useAppUserStore() + return LoginApi.my() + .then(({data}) => { + const menuTree = Utils.clone(Colls.toTree(data.menus)) + appSettingStore.$patch({ + menus: data.menus, menuTree, + theme: data.setting?.theme ?? 'light', + collectedMenus: data.setting?.collectedMenus ?? [], + logo: data.setting?.logo, + language: data.setting?.language ?? 'zh', + }) + appUserStore.$patch({ + userId: data.id, + nickname: data.nickname, + avatar: data.avatar, + tenantId: data.tenantId, + tenantName: data.tenantName, + bizObj: data.bizObj, + roles: data.roles, + }) + }) +} + +export const loadUserInfo = () => { + const appSettingStore = useAppSettingStore() + const appUserStore = useAppUserStore() + return LoginApi.my() + .then(({data}) => { + const menuTree = Utils.clone(Colls.toTree(data.menus)) + appSettingStore.$patch({ + menus: data.menus, menuTree, + theme: data.setting?.theme ?? 'light', + collectedMenus: data.setting?.collectedMenus ?? [], + logo: data.setting?.logo, + language: data.setting?.language ?? 'zh', + }) + appUserStore.$patch({ + userId: data.id, + nickname: data.nickname, + avatar: data.avatar, + tenantId: data.tenantId, + tenantName: data.tenantName, + bizObj: data.bizObj, + roles: data.roles, + }) + }) +} + +export function hasPermission(resSn?: string) { + const appSettingStore = useAppSettingStore() + const res = appSettingStore.menus.find(it => it.sn === resSn) + return res != null +} + +export function isAdmin() { + const appUserStore = useAppUserStore() + return appUserStore.roles != null && appUserStore.roles.includes('ROLE_ADMIN') +} diff --git a/src/common/element/element.ts b/src/common/element/element.ts new file mode 100644 index 0000000..38e9720 --- /dev/null +++ b/src/common/element/element.ts @@ -0,0 +1,12 @@ +import type { App } from 'vue' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' + +export const elIcons = ElementPlusIconsVue + +const install = (app: App): void => { + for (const [ key, component ] of Object.entries(ElementPlusIconsVue)) { + app.component('ElIcon' + key, component) + } +} + +export default {install} diff --git a/src/common/index.ts b/src/common/index.ts new file mode 100644 index 0000000..e7e3d2f --- /dev/null +++ b/src/common/index.ts @@ -0,0 +1,19 @@ +/** + * 当前应用基础地址 + */ +export const appBaseUrl = import.meta.env.VITE_APP_BASE_URL + +/** + * 应用名称 + */ +export const appName = import.meta.env.VITE_APP_NAME + +/** + * 服务器基础地址 + */ +export const serverBaseUrl = import.meta.env.VITE_HTTP_SERVER_BASE_URL ?? '/' + +export const wsServerBaseUrl = import.meta.env.VITE_WS_SERVER_BASE_URL ?? '/' + +export const uploadBaseUrl = (import.meta.env.VITE_HTTP_SERVER_BASE_URL ?? '') + '/oss/upload' +export const closeUrl = import.meta.env.VITE_CLOSE_URL ?? '' diff --git a/src/common/router/constants.ts b/src/common/router/constants.ts new file mode 100644 index 0000000..1d857ca --- /dev/null +++ b/src/common/router/constants.ts @@ -0,0 +1,6 @@ +export enum SpecialPage { + Main = 'main', + Home = 'home', + Login = 'login', + NotFound = 'notFound' +} diff --git a/src/common/router/index.ts b/src/common/router/index.ts new file mode 100644 index 0000000..b141856 --- /dev/null +++ b/src/common/router/index.ts @@ -0,0 +1,134 @@ +import Colls from '@/common/utils/colls' +import { + createRouter, + createWebHistory, +} from 'vue-router' +import Evt from '@/common/utils/evt.ts' +import { useAppSettingStore } from '@/common/app/app-setting-store.ts' +import { useAppUserStore } from '@/common/app/app-user-store.ts' +import { MenuCategory } from '@/common/app/constants.ts' +import { appBaseUrl } from '@/common' +import strings from '@/common/utils/strings.ts' +import { + getRoute, + getRoutes, +} from '@/common/router/route-config.ts' +import { SpecialPage } from '@/common/router/constants.ts' + +function addRoutes(routNames: string[]) { + if (Colls.isEmpty(routNames)) return + + routNames = routNames.filter((it) => !strings.isEmpty(it) && !router.hasRoute(it)) + + const routes = getRoutes(routNames) + console.log(routes, 222) + for (const routeInfo of routes) { + const {parent, route} = routeInfo + if (route.name === parent) { + router.addRoute(route) + } else { + router.addRoute(parent, route) + } + } +} + +export function removeRoutes(routNames: string[]) { + if (Colls.isEmpty(routNames)) return + for (const routName of routNames) { + if (router.hasRoute(routName)) { + router.removeRoute(routName) + } + } +} + +// 创建路由实例 +const router = function () { + const mainRoute = getRoute(SpecialPage.Main)!.route + const homeRouteInfo = getRoute(SpecialPage.Home) + if (homeRouteInfo != null) { + mainRoute.redirect = '/' + SpecialPage.Home + mainRoute.children = [ homeRouteInfo.route ] + } + const loginRoute = getRoute(SpecialPage.Login)!.route + const notFoundRoute = getRoute(SpecialPage.NotFound)!.route + return createRouter({ + history: createWebHistory(appBaseUrl), + routes: [ mainRoute, loginRoute, notFoundRoute ], + }) +}() + +router.beforeEach((to, from) => { + const appUserStore = useAppUserStore() + const name = to.name + + // 已登录 + if (appUserStore.isAuthenticated) { + if (from.path === '/' && router.getRoutes().length <= 4) {// 浏览器刷新 + const succ = reloadRouter() + if (!succ + && SpecialPage.Login !== name + && SpecialPage.Home !== name + && SpecialPage.Main !== name + && SpecialPage.NotFound !== name) { + return { + replace: true, + name: SpecialPage.Home, + } + } else { + return { + replace: true, + name: 'menus', + } + } + } + return true + } + // 未登录 + if (SpecialPage.Login === name || SpecialPage.NotFound === name) { + return true + } + + return { + replace: true, + name: SpecialPage.Login, + } +}) + +router.afterEach(() => { +}) + +export function reloadRouter() { + const routes = router + .getRoutes() + .filter((it) => it.name !== SpecialPage.Main && it.name !== SpecialPage.Login && it.name !== SpecialPage.NotFound && it.name !== SpecialPage.Home) + .map((it) => it.name as string) + removeRoutes(routes) + const routNames = useAppSettingStore() + .menus.filter((it) => it.menuCategory === MenuCategory.Page || it.menuCategory === MenuCategory.SubPage) + .map((it) => it.routeName) + + routNames.push('menus') + + if (Colls.isEmpty(routNames)) { + return false + } + addRoutes(routNames) + return true +} + +Evt.on('login', (_) => { + router.replace('/') +}) + +Evt.on('logout', (_) => { + const routes = router + .getRoutes() + .filter((it) => it.name !== SpecialPage.Main && it.name !== SpecialPage.Login && it.name !== SpecialPage.NotFound && it.name !== SpecialPage.Home) + .map((it) => it.name as string) + removeRoutes(routes) + router.push({replace: true, name: SpecialPage.Login}).then((r) => { + console.log(r) + }) +}) + +export default router diff --git a/src/common/router/nav.ts b/src/common/router/nav.ts new file mode 100644 index 0000000..295cd51 --- /dev/null +++ b/src/common/router/nav.ts @@ -0,0 +1,157 @@ +import router, { reloadRouter } from '@/common/router/index.ts' +import Evt from '@/common/utils/evt.ts' +import { useAppSettingStore } from '@/common/app/app-setting-store.ts' +import { useAppPageStore } from '@/common/app/app-page-store.ts' +import { nanoid } from 'nanoid' +import { reloadUserInfo } from '@/common/app' +import { ElMessage } from 'element-plus' + +type Option = Partial> & Pick + +/** + * 打开页面并添加标签 + * + * @param option + */ +function open(option: string | Option) { + let ctx: AppTypes.PageContext + const appSettingStore = useAppSettingStore() + if (typeof option === 'string') { + const routeName = option + if (!router.hasRoute(routeName)) { + return reloadUserInfo() + .then(reloadRouter) + .then(() => { + if (!router.hasRoute(routeName)) { + ElMessage.error('页面不存在') + return Promise.reject('页面不存在') + } + const menu = appSettingStore.menus.find(it => it.routeName === routeName) + if (menu == null) { + ElMessage.error('页面不存在') + return Promise.reject('页面不存在') + } + ctx = { + insId: routeName + '_' + nanoid(), + title: menu.title, + keepAlive: true, + params: {}, + routeName, + menuId: menu.id, + } + ctx.insId = ctx.routeName + useAppPageStore().open(ctx) + return router.push({name: ctx.routeName, params: ctx.params}) + .then(err => { + if (err == null) { + Evt.emit('openPage') + return Promise.resolve(true) + } else { + return Promise.reject(err) + } + }) + .catch(err => { + return Promise.reject(err) + }) + }) + } + const menu = appSettingStore.menus.find(it => it.routeName === routeName) + if (menu == null) { + ElMessage.error('页面不存在') + return Promise.reject('页面不存在') + } + ctx = { + insId: routeName + '_' + nanoid(), + title: menu.title, + keepAlive: true, + params: {}, + routeName, + menuId: menu.id, + } + } else { + const routeName = option.routeName + if (!router.hasRoute(routeName)) { + return reloadUserInfo() + .then(reloadRouter) + .then(() => { + if (!router.hasRoute(routeName)) { + ElMessage.error('页面不存在') + return Promise.reject('页面不存在') + } + const menu = appSettingStore.menus.find(it => it.routeName === routeName) + if (menu == null) { + ElMessage.error('页面不存在') + return Promise.reject('页面不存在') + } + const option_ = option as Option + ctx = { + insId: option_.insId ?? routeName + '_' + nanoid(), + title: option_.title ?? menu.title, + routeName: routeName, + keepAlive: true, + params: option_.params ?? {}, + menuId: menu.id, + } + ctx.insId = ctx.routeName + useAppPageStore().open(ctx) + return router.push({name: ctx.routeName, params: ctx.params}) + .then(err => { + if (err == null) { + Evt.emit('openPage') + return Promise.resolve(true) + } else { + return Promise.reject(err) + } + }) + .catch(err => { + return Promise.reject(err) + }) + }) + } + const menu = appSettingStore.menus.find(it => it.routeName === routeName) + if (menu == null) { + ElMessage.error('页面不存在') + return Promise.reject('页面不存在') + } + + ctx = { + insId: option.insId ?? routeName + '_' + nanoid(), + title: option.title ?? menu.title, + routeName: routeName, + keepAlive: true, + params: option.params ?? {}, + menuId: menu.id, + } + } + ctx.insId = ctx.routeName + useAppPageStore().open(ctx) + return router.push({name: ctx.routeName, params: ctx.params}) + .then(err => { + if (err == null) { + Evt.emit('openPage') + return Promise.resolve(true) + } else { + return Promise.reject(err) + } + }) + .catch(err => { + return Promise.reject(err) + }) +} + +/** + * 关闭页面并删除标签 + * + * @param id + */ +function close(id: string) { + useAppPageStore().close(id) + Evt.emit('closePage', id) +} + +export default { + open, + close, +} + + diff --git a/src/common/router/route-config.ts b/src/common/router/route-config.ts new file mode 100644 index 0000000..297a43a --- /dev/null +++ b/src/common/router/route-config.ts @@ -0,0 +1,83 @@ +import { SpecialPage } from '@/common/router/constants.ts' +import type { RouteRecordRaw } from 'vue-router' + +// 导入 src/pages 目录下的所有 page.ts 文件 +// K:文件路径,V:PageConfig 对象 +const configPath_routeConfig_map: Record = import.meta.glob('@/pages/**/page.ts', {eager: true, import: 'default'}) + +// 处理页面配置,如:默认值填充 +const routeConfigs = Object.entries(configPath_routeConfig_map).map(([ configPath, pageConfig ]) => { + const routePath = configPath.replace(/\S*pages\/(\S*)\/page.ts/, '$1') + const { + parent = SpecialPage.Main, + path = routePath, + name = routePath.substring(routePath.lastIndexOf('/') + 1), + title = name, + keepAlive = false, + icon = '', + component, + meta, + props, + beforeEnter, + } = pageConfig + + return { + parent, + path, + name, + title, + icon, + keepAlive, + meta, + props, + component, + beforeEnter, + } as RouterTypes.RouteConfig +}) + +export const pageConfigs = routeConfigs.map(it => ({ + title: it.title!, + name: it.name!, + path: it.path!, + parent: it.parent!, + keepAlive: it.keepAlive!, +} as RouterTypes.PageConfig)) + +export function getRoutes(routeNames?: string[]): RouterTypes.RouteInfo[] { + const configs = routeNames == null ? routeConfigs : routeConfigs.filter(it => routeNames.includes(it.name!)) + return configs.map(({parent, path, name, meta, props, component, beforeEnter}) => { + return { + parent: parent!, + route: { + path, + name, + meta, + props, + component, + beforeEnter, + children: [], + } as RouteRecordRaw, + } + }) +} + +export function getRoute(routeName?: string): RouterTypes.RouteInfo | null { + const config = routeConfigs.find(it => routeName === it.name) + if (config == null) { + return null + } else { + const {parent, path, name, meta, props, component, beforeEnter} = config + return { + parent: parent!, + route: { + path, + name, + meta, + props, + component, + beforeEnter, + children: [], + } as RouteRecordRaw, + } + } +} diff --git a/src/common/router/router.d.ts b/src/common/router/router.d.ts new file mode 100644 index 0000000..ca5defc --- /dev/null +++ b/src/common/router/router.d.ts @@ -0,0 +1,82 @@ +import { RouteRecordRaw } from 'vue-router' + +declare global { + namespace RouterTypes { + interface PageConfig { + /** + * 父级路由名称(默认为:main) + */ + readonly parent: string + /** + * 路由地址(全局唯一,默认:page.ts 文件所在的目录且不以 / 开头) + */ + readonly path: string + /** + * 路由名称(全局唯一,默认:page.ts 文件所在的目录名) + */ + readonly name: string + /** + * 页面标题 + */ + readonly title: string + /** + * 是否缓存页面,默认:缓存 + */ + readonly keepAlive: boolean + /** + * 页面标签菜单图标 + */ + readonly icon: string + } + + interface RouteConfig { + /** + * 父级路由名称(默认为:main) + */ + readonly parent?: string + /** + * 路由地址(全局唯一,默认:page.ts 文件所在的目录且不以 / 开头) + */ + readonly path?: string + /** + * 路由名称(全局唯一,默认:page.ts 文件所在的目录名) + */ + readonly name?: string + /** + * 页面标题 + */ + title?: string + /** + * 是否缓存页面,默认:缓存 + */ + keepAlive?: boolean + /** + * 页面标签菜单图标 + */ + icon?: string + /** + * 页面组件 + */ + readonly component: Extract, + /** + * 路由元数据 + */ + readonly meta?: Extract, + /** + * 路由参数,默认:当 meta.routeParams 有值时将路由参数处理成组件 props + */ + readonly props?: Extract, + /** + * 路由前置导航守卫 + */ + readonly beforeEnter?: Extract, + + } + + interface RouteInfo { + parent: string + route: RouteRecordRaw + } + } +} + diff --git a/src/common/utils/colls.ts b/src/common/utils/colls.ts new file mode 100644 index 0000000..07019cc --- /dev/null +++ b/src/common/utils/colls.ts @@ -0,0 +1,216 @@ +import { isArrayLike } from '@/common/utils/objects.ts' + +/* + 集合、数组工具 + */ + + +/** + * 检查数组、键值对是否为 null 或长度为 0 + * @param value + */ +export function isEmpty(value: any) { + if (value == null) { + return true + } else if (typeof value === 'object') { + if (Array.isArray(value) || isArrayLike(value)) { + return value.length === 0 + } else if (value instanceof Map || value instanceof Set) { + return value.size === 0 + } else { + return Object.keys(value).length === 0 + } + } else { + return false + } +} + +/** + * 交集 + * + * @param setA A 集合 + * @param setB B 集合 + * @return 返回 A、B 两个集合共有的元素 + */ +export function intersection(setA?: T[] | null, setB?: T[] | null) { + if (isEmpty(setA) || isEmpty(setB)) return [] as T[] + + return setA!.filter(it => setB!.includes(it)) +} + +/** + * 相对补集 + * + * @param setA A 集合 + * @param setB B 集合 + * @return 返回属于 A 但不属于 B 的元素 + */ +export function complement(setA?: T[] | null, setB?: T[] | null) { + if (isEmpty(setA)) return [] as T[] + if (isEmpty(setB)) return setA! + + return setA!.filter(it => !setB!.includes(it)) +} + +/** + * 并集 + * + * @param setA A 集合 + * @param setB B 集合 + * @return 返回属于 A 或属于 B 的元素 + */ +export function union(setA?: T[] | null, setB?: T[] | null) { + if (isEmpty(setA)) { + if (isEmpty(setB)) return [] as T[] + else return setB + } + if (isEmpty(setB)) return setA + + return [ ...setA!, ...setB! ] +} + +/** + * 对称差 + * + * @param setA A 集合 + * @param setB B 集合 + * @return 返回非 A、B 两个集合共有的元素 + */ +export function symmetricDiff(setA: T[], setB: T[]) { + if (isEmpty(setA)) { + if (isEmpty(setB)) return [] as T[] + else return setB + } + if (isEmpty(setB)) return setA + + return [ ...setA!, ...setB! ].filter(it => { + return !(setA.includes(it) && setB.includes(it)) + }) +} + +export function distinct(arr?: T[]) { + return [ ...new Set(arr) ] +} + +/** + * 按指定大小分割数组 + * + * @param arr 原数组 + * @param size 每份大小 + */ +export function chunks(arr: T[], size: number) { + if (size <= 0) { + throw new Error('块的大小必须大于0') + } + + let temp: T[][] = [] + + for (let j = 0; j < Math.ceil(arr.length / size); j++) { + temp.push(arr.splice(j, size)) + } + + return temp +} + +/** + * 分组 + * + * @param arr 待分组数组 + * @param keyFn 键生成函数(默认为索引) + * @param valFn 值生成函数(默认为原始数组中的值) + * @return 键--值 + */ +export function keyObj(arr?: T[] | null, + keyFn?: (it: T, index: number) => string, + valFn?: (it: T, index: number) => R) { + if (isEmpty(arr)) { + return {} + } + + return arr!.reduce((previousValue, currentValue, currentIndex, _) => { + let key = keyFn == null ? currentIndex : keyFn(currentValue, currentIndex) + + if (previousValue[key] !== undefined) { + throw new Error(`有重复 KEY [${key}]`) + } + previousValue[key] = ((valFn == null ? currentValue : valFn(currentValue, currentIndex)) ?? null) as R + + return previousValue + }, {} as { [k: string | number]: R }) +} + +/** + * 分组 + * + * @param arr 待分组数组 + * @param keyFn 键生成函数(默认为索引) + * @param valFn 值生成函数(默认为原始数组中的值) + * @return 键--值数组 + */ +export function keyArr(arr?: T[] | null, + keyFn?: (it: T, index: number) => string, + valFn?: (it: T, index: number) => V) { + if (isEmpty(arr)) { + return {} + } + + return arr!.reduce((previousValue, currentValue, currentIndex, _) => { + let key = keyFn == null ? currentIndex + '' : keyFn(currentValue, currentIndex) + + if (previousValue[key] == null) { + previousValue[key] = [] + } + + previousValue[key].push(((valFn == null ? currentValue : valFn(currentValue, currentIndex)) ?? null) as V) + + return previousValue + }, {} as { [k: string]: V[] }) +} + + +/** + * 构建树形数组 + * + * @param arr 待处理数据(同一个值中的 id 和 pid 不能相同) + * @param idFn id 获取函数 + * @param pidFn pid 获取函数 + * @param rootId 根节点 Id(默认字符串 0) + */ +export function toTree(arr: N[], + idFn: (it: N) => string = it => it.id, + pidFn: (it: N) => string = it => it.pid, + rootId: string = '0') { + let pid_vals_map = keyArr(arr, pidFn) + + for (let n of arr) { + let treeNodes = pid_vals_map[idFn(n)] + if (treeNodes != null && treeNodes.length > 0) { + n.children = treeNodes + } + } + + let rootNodes: N[] + let rootNode = arr.find(it => idFn(it) == rootId) + if (rootNode == null) { + rootNodes = arr.filter(it => pidFn(it) == rootId) + } else { + rootNodes = [ rootNode ] + } + + return rootNodes +} + +export default { + isEmpty, + complement, + intersection, + symmetricDiff, + union, + distinct, + chunks, + keyObj, + keyArr, + toTree, +} + + diff --git a/src/common/utils/district-tree.ts b/src/common/utils/district-tree.ts new file mode 100644 index 0000000..7d255a2 --- /dev/null +++ b/src/common/utils/district-tree.ts @@ -0,0 +1,918 @@ +export default [ { + 'id': '110000', + 'pid': '0', + 'name': '北京市', + 'children': [ {'id': '110100', 'pid': '110000', 'name': '北京市', 'children': [ {'id': '110101', 'pid': '110100', 'name': '东城区'}, {'id': '110102', 'pid': '110100', 'name': '西城区'}, {'id': '110105', 'pid': '110100', 'name': '朝阳区'}, {'id': '110106', 'pid': '110100', 'name': '丰台区'}, {'id': '110107', 'pid': '110100', 'name': '石景山区'}, {'id': '110108', 'pid': '110100', 'name': '海淀区'}, {'id': '110109', 'pid': '110100', 'name': '门头沟区'}, {'id': '110111', 'pid': '110100', 'name': '房山区'}, {'id': '110112', 'pid': '110100', 'name': '通州区'}, {'id': '110113', 'pid': '110100', 'name': '顺义区'}, {'id': '110114', 'pid': '110100', 'name': '昌平区'}, {'id': '110115', 'pid': '110100', 'name': '大兴区'}, {'id': '110116', 'pid': '110100', 'name': '怀柔区'}, {'id': '110117', 'pid': '110100', 'name': '平谷区'}, {'id': '110118', 'pid': '110100', 'name': '密云区'}, {'id': '110119', 'pid': '110100', 'name': '延庆区'} ]} ], +}, {'id': '120000', 'pid': '0', 'name': '天津市', 'children': [ {'id': '120100', 'pid': '120000', 'name': '天津市', 'children': [ {'id': '120101', 'pid': '120100', 'name': '和平区'}, {'id': '120102', 'pid': '120100', 'name': '河东区'}, {'id': '120103', 'pid': '120100', 'name': '河西区'}, {'id': '120104', 'pid': '120100', 'name': '南开区'}, {'id': '120105', 'pid': '120100', 'name': '河北区'}, {'id': '120106', 'pid': '120100', 'name': '红桥区'}, {'id': '120110', 'pid': '120100', 'name': '东丽区'}, {'id': '120111', 'pid': '120100', 'name': '西青区'}, {'id': '120112', 'pid': '120100', 'name': '津南区'}, {'id': '120113', 'pid': '120100', 'name': '北辰区'}, {'id': '120114', 'pid': '120100', 'name': '武清区'}, {'id': '120115', 'pid': '120100', 'name': '宝坻区'}, {'id': '120116', 'pid': '120100', 'name': '滨海新区'}, {'id': '120117', 'pid': '120100', 'name': '宁河区'}, {'id': '120118', 'pid': '120100', 'name': '静海区'}, {'id': '120119', 'pid': '120100', 'name': '蓟州区'} ]} ]}, { + 'id': '130000', 'pid': '0', 'name': '河北省', 'children': [ { + 'id': '130100', + 'pid': '130000', + 'name': '石家庄市', + 'children': [ {'id': '130102', 'pid': '130100', 'name': '长安区'}, {'id': '130104', 'pid': '130100', 'name': '桥西区'}, {'id': '130105', 'pid': '130100', 'name': '新华区'}, {'id': '130107', 'pid': '130100', 'name': '井陉矿区'}, {'id': '130108', 'pid': '130100', 'name': '裕华区'}, {'id': '130109', 'pid': '130100', 'name': '藁城区'}, {'id': '130110', 'pid': '130100', 'name': '鹿泉区'}, {'id': '130111', 'pid': '130100', 'name': '栾城区'}, {'id': '130121', 'pid': '130100', 'name': '井陉县'}, {'id': '130123', 'pid': '130100', 'name': '正定县'}, {'id': '130125', 'pid': '130100', 'name': '行唐县'}, {'id': '130126', 'pid': '130100', 'name': '灵寿县'}, {'id': '130127', 'pid': '130100', 'name': '高邑县'}, {'id': '130128', 'pid': '130100', 'name': '深泽县'}, {'id': '130129', 'pid': '130100', 'name': '赞皇县'}, {'id': '130130', 'pid': '130100', 'name': '无极县'}, {'id': '130131', 'pid': '130100', 'name': '平山县'}, {'id': '130132', 'pid': '130100', 'name': '元氏县'}, { + 'id': '130133', + 'pid': '130100', + 'name': '赵县', + }, {'id': '130181', 'pid': '130100', 'name': '辛集市'}, {'id': '130183', 'pid': '130100', 'name': '晋州市'}, {'id': '130184', 'pid': '130100', 'name': '新乐市'}, {'id': '130101', 'pid': '130100', 'name': '市辖区'}, {'id': '130171', 'pid': '130100', 'name': '石家庄高新技术产业开发区'}, {'id': '130172', 'pid': '130100', 'name': '石家庄循环化工园区'} ], + }, { + 'id': '130200', + 'pid': '130000', + 'name': '唐山市', + 'children': [ {'id': '130202', 'pid': '130200', 'name': '路南区'}, {'id': '130203', 'pid': '130200', 'name': '路北区'}, {'id': '130204', 'pid': '130200', 'name': '古冶区'}, {'id': '130205', 'pid': '130200', 'name': '开平区'}, {'id': '130207', 'pid': '130200', 'name': '丰南区'}, {'id': '130208', 'pid': '130200', 'name': '丰润区'}, {'id': '130209', 'pid': '130200', 'name': '曹妃甸区'}, {'id': '130224', 'pid': '130200', 'name': '滦南县'}, {'id': '130225', 'pid': '130200', 'name': '乐亭县'}, {'id': '130227', 'pid': '130200', 'name': '迁西县'}, {'id': '130229', 'pid': '130200', 'name': '玉田县'}, {'id': '130281', 'pid': '130200', 'name': '遵化市'}, {'id': '130283', 'pid': '130200', 'name': '迁安市'}, {'id': '130284', 'pid': '130200', 'name': '滦州市'}, {'id': '130201', 'pid': '130200', 'name': '市辖区'}, {'id': '130271', 'pid': '130200', 'name': '河北唐山芦台经济开发区'}, {'id': '130272', 'pid': '130200', 'name': '唐山市汉沽管理区'}, { + 'id': '130273', + 'pid': '130200', + 'name': '唐山高新技术产业开发区', + }, {'id': '130274', 'pid': '130200', 'name': '河北唐山海港经济开发区'} ], + }, {'id': '130300', 'pid': '130000', 'name': '秦皇岛市', 'children': [ {'id': '130302', 'pid': '130300', 'name': '海港区'}, {'id': '130303', 'pid': '130300', 'name': '山海关区'}, {'id': '130304', 'pid': '130300', 'name': '北戴河区'}, {'id': '130306', 'pid': '130300', 'name': '抚宁区'}, {'id': '130321', 'pid': '130300', 'name': '青龙满族自治县'}, {'id': '130322', 'pid': '130300', 'name': '昌黎县'}, {'id': '130324', 'pid': '130300', 'name': '卢龙县'}, {'id': '130301', 'pid': '130300', 'name': '市辖区'}, {'id': '130371', 'pid': '130300', 'name': '秦皇岛市经济技术开发区'}, {'id': '130372', 'pid': '130300', 'name': '北戴河新区'} ]}, { + 'id': '130400', + 'pid': '130000', + 'name': '邯郸市', + 'children': [ {'id': '130402', 'pid': '130400', 'name': '邯山区'}, {'id': '130403', 'pid': '130400', 'name': '丛台区'}, {'id': '130404', 'pid': '130400', 'name': '复兴区'}, {'id': '130406', 'pid': '130400', 'name': '峰峰矿区'}, {'id': '130407', 'pid': '130400', 'name': '肥乡区'}, {'id': '130408', 'pid': '130400', 'name': '永年区'}, {'id': '130423', 'pid': '130400', 'name': '临漳县'}, {'id': '130424', 'pid': '130400', 'name': '成安县'}, {'id': '130425', 'pid': '130400', 'name': '大名县'}, {'id': '130426', 'pid': '130400', 'name': '涉县'}, {'id': '130427', 'pid': '130400', 'name': '磁县'}, {'id': '130430', 'pid': '130400', 'name': '邱县'}, {'id': '130431', 'pid': '130400', 'name': '鸡泽县'}, {'id': '130432', 'pid': '130400', 'name': '广平县'}, {'id': '130433', 'pid': '130400', 'name': '馆陶县'}, {'id': '130434', 'pid': '130400', 'name': '魏县'}, {'id': '130435', 'pid': '130400', 'name': '曲周县'}, {'id': '130481', 'pid': '130400', 'name': '武安市'}, { + 'id': '130401', + 'pid': '130400', + 'name': '市辖区', + }, {'id': '130471', 'pid': '130400', 'name': '邯郸经济技术开发区'}, {'id': '130473', 'pid': '130400', 'name': '邯郸冀南新区'} ], + }, { + 'id': '130500', + 'pid': '130000', + 'name': '邢台市', + 'children': [ {'id': '130502', 'pid': '130500', 'name': '襄都区'}, {'id': '130503', 'pid': '130500', 'name': '信都区'}, {'id': '130505', 'pid': '130500', 'name': '任泽区'}, {'id': '130506', 'pid': '130500', 'name': '南和区'}, {'id': '130522', 'pid': '130500', 'name': '临城县'}, {'id': '130523', 'pid': '130500', 'name': '内丘县'}, {'id': '130524', 'pid': '130500', 'name': '柏乡县'}, {'id': '130525', 'pid': '130500', 'name': '隆尧县'}, {'id': '130528', 'pid': '130500', 'name': '宁晋县'}, {'id': '130529', 'pid': '130500', 'name': '巨鹿县'}, {'id': '130530', 'pid': '130500', 'name': '新河县'}, {'id': '130531', 'pid': '130500', 'name': '广宗县'}, {'id': '130532', 'pid': '130500', 'name': '平乡县'}, {'id': '130533', 'pid': '130500', 'name': '威县'}, {'id': '130534', 'pid': '130500', 'name': '清河县'}, {'id': '130535', 'pid': '130500', 'name': '临西县'}, {'id': '130581', 'pid': '130500', 'name': '南宫市'}, {'id': '130582', 'pid': '130500', 'name': '沙河市'}, { + 'id': '130501', + 'pid': '130500', + 'name': '市辖区', + }, {'id': '130571', 'pid': '130500', 'name': '河北邢台经济开发区'} ], + }, { + 'id': '130600', + 'pid': '130000', + 'name': '保定市', + 'children': [ {'id': '130602', 'pid': '130600', 'name': '竞秀区'}, {'id': '130606', 'pid': '130600', 'name': '莲池区'}, {'id': '130607', 'pid': '130600', 'name': '满城区'}, {'id': '130608', 'pid': '130600', 'name': '清苑区'}, {'id': '130609', 'pid': '130600', 'name': '徐水区'}, {'id': '130623', 'pid': '130600', 'name': '涞水县'}, {'id': '130624', 'pid': '130600', 'name': '阜平县'}, {'id': '130626', 'pid': '130600', 'name': '定兴县'}, {'id': '130627', 'pid': '130600', 'name': '唐县'}, {'id': '130628', 'pid': '130600', 'name': '高阳县'}, {'id': '130629', 'pid': '130600', 'name': '容城县'}, {'id': '130630', 'pid': '130600', 'name': '涞源县'}, {'id': '130631', 'pid': '130600', 'name': '望都县'}, {'id': '130632', 'pid': '130600', 'name': '安新县'}, {'id': '130633', 'pid': '130600', 'name': '易县'}, {'id': '130634', 'pid': '130600', 'name': '曲阳县'}, {'id': '130635', 'pid': '130600', 'name': '蠡县'}, {'id': '130636', 'pid': '130600', 'name': '顺平县'}, { + 'id': '130637', + 'pid': '130600', + 'name': '博野县', + }, {'id': '130638', 'pid': '130600', 'name': '雄县'}, {'id': '130681', 'pid': '130600', 'name': '涿州市'}, {'id': '130682', 'pid': '130600', 'name': '定州市'}, {'id': '130683', 'pid': '130600', 'name': '安国市'}, {'id': '130684', 'pid': '130600', 'name': '高碑店市'}, {'id': '130601', 'pid': '130600', 'name': '市辖区'}, {'id': '130671', 'pid': '130600', 'name': '保定高新技术产业开发区'}, {'id': '130672', 'pid': '130600', 'name': '保定白沟新城'} ], + }, { + 'id': '130700', + 'pid': '130000', + 'name': '张家口市', + 'children': [ {'id': '130702', 'pid': '130700', 'name': '桥东区'}, {'id': '130703', 'pid': '130700', 'name': '桥西区'}, {'id': '130705', 'pid': '130700', 'name': '宣化区'}, {'id': '130706', 'pid': '130700', 'name': '下花园区'}, {'id': '130708', 'pid': '130700', 'name': '万全区'}, {'id': '130709', 'pid': '130700', 'name': '崇礼区'}, {'id': '130722', 'pid': '130700', 'name': '张北县'}, {'id': '130723', 'pid': '130700', 'name': '康保县'}, {'id': '130724', 'pid': '130700', 'name': '沽源县'}, {'id': '130725', 'pid': '130700', 'name': '尚义县'}, {'id': '130726', 'pid': '130700', 'name': '蔚县'}, {'id': '130727', 'pid': '130700', 'name': '阳原县'}, {'id': '130728', 'pid': '130700', 'name': '怀安县'}, {'id': '130730', 'pid': '130700', 'name': '怀来县'}, {'id': '130731', 'pid': '130700', 'name': '涿鹿县'}, {'id': '130732', 'pid': '130700', 'name': '赤城县'}, {'id': '130701', 'pid': '130700', 'name': '市辖区'}, {'id': '130771', 'pid': '130700', 'name': '张家口经济开发区'}, { + 'id': '130772', + 'pid': '130700', + 'name': '张家口市察北管理区', + }, {'id': '130773', 'pid': '130700', 'name': '张家口市塞北管理区'} ], + }, {'id': '130800', 'pid': '130000', 'name': '承德市', 'children': [ {'id': '130802', 'pid': '130800', 'name': '双桥区'}, {'id': '130803', 'pid': '130800', 'name': '双滦区'}, {'id': '130804', 'pid': '130800', 'name': '鹰手营子矿区'}, {'id': '130821', 'pid': '130800', 'name': '承德县'}, {'id': '130822', 'pid': '130800', 'name': '兴隆县'}, {'id': '130824', 'pid': '130800', 'name': '滦平县'}, {'id': '130825', 'pid': '130800', 'name': '隆化县'}, {'id': '130826', 'pid': '130800', 'name': '丰宁满族自治县'}, {'id': '130827', 'pid': '130800', 'name': '宽城满族自治县'}, {'id': '130828', 'pid': '130800', 'name': '围场满族蒙古族自治县'}, {'id': '130881', 'pid': '130800', 'name': '平泉市'}, {'id': '130801', 'pid': '130800', 'name': '市辖区'}, {'id': '130871', 'pid': '130800', 'name': '承德高新技术产业开发区'} ]}, { + 'id': '130900', + 'pid': '130000', + 'name': '沧州市', + 'children': [ {'id': '130902', 'pid': '130900', 'name': '新华区'}, {'id': '130903', 'pid': '130900', 'name': '运河区'}, {'id': '130921', 'pid': '130900', 'name': '沧县'}, {'id': '130922', 'pid': '130900', 'name': '青县'}, {'id': '130923', 'pid': '130900', 'name': '东光县'}, {'id': '130924', 'pid': '130900', 'name': '海兴县'}, {'id': '130925', 'pid': '130900', 'name': '盐山县'}, {'id': '130926', 'pid': '130900', 'name': '肃宁县'}, {'id': '130927', 'pid': '130900', 'name': '南皮县'}, {'id': '130928', 'pid': '130900', 'name': '吴桥县'}, {'id': '130929', 'pid': '130900', 'name': '献县'}, {'id': '130930', 'pid': '130900', 'name': '孟村回族自治县'}, {'id': '130981', 'pid': '130900', 'name': '泊头市'}, {'id': '130982', 'pid': '130900', 'name': '任丘市'}, {'id': '130983', 'pid': '130900', 'name': '黄骅市'}, {'id': '130984', 'pid': '130900', 'name': '河间市'}, {'id': '130901', 'pid': '130900', 'name': '市辖区'}, { + 'id': '130971', + 'pid': '130900', + 'name': '河北沧州经济开发区', + }, {'id': '130972', 'pid': '130900', 'name': '沧州高新技术产业开发区'}, {'id': '130973', 'pid': '130900', 'name': '沧州渤海新区'} ], + }, {'id': '131000', 'pid': '130000', 'name': '廊坊市', 'children': [ {'id': '131002', 'pid': '131000', 'name': '安次区'}, {'id': '131003', 'pid': '131000', 'name': '广阳区'}, {'id': '131022', 'pid': '131000', 'name': '固安县'}, {'id': '131023', 'pid': '131000', 'name': '永清县'}, {'id': '131024', 'pid': '131000', 'name': '香河县'}, {'id': '131025', 'pid': '131000', 'name': '大城县'}, {'id': '131026', 'pid': '131000', 'name': '文安县'}, {'id': '131028', 'pid': '131000', 'name': '大厂回族自治县'}, {'id': '131081', 'pid': '131000', 'name': '霸州市'}, {'id': '131082', 'pid': '131000', 'name': '三河市'}, {'id': '131001', 'pid': '131000', 'name': '市辖区'}, {'id': '131071', 'pid': '131000', 'name': '廊坊经济技术开发区'} ]}, { + 'id': '131100', + 'pid': '130000', + 'name': '衡水市', + 'children': [ {'id': '131102', 'pid': '131100', 'name': '桃城区'}, {'id': '131103', 'pid': '131100', 'name': '冀州区'}, {'id': '131121', 'pid': '131100', 'name': '枣强县'}, {'id': '131122', 'pid': '131100', 'name': '武邑县'}, {'id': '131123', 'pid': '131100', 'name': '武强县'}, {'id': '131124', 'pid': '131100', 'name': '饶阳县'}, {'id': '131125', 'pid': '131100', 'name': '安平县'}, {'id': '131126', 'pid': '131100', 'name': '故城县'}, {'id': '131127', 'pid': '131100', 'name': '景县'}, {'id': '131128', 'pid': '131100', 'name': '阜城县'}, {'id': '131182', 'pid': '131100', 'name': '深州市'}, {'id': '131101', 'pid': '131100', 'name': '市辖区'}, {'id': '131171', 'pid': '131100', 'name': '河北衡水高新技术产业开发区'}, {'id': '131172', 'pid': '131100', 'name': '衡水滨湖新区'} ], + } ], +}, { + 'id': '140000', + 'pid': '0', + 'name': '山西省', + 'children': [ {'id': '140100', 'pid': '140000', 'name': '太原市', 'children': [ {'id': '140105', 'pid': '140100', 'name': '小店区'}, {'id': '140106', 'pid': '140100', 'name': '迎泽区'}, {'id': '140107', 'pid': '140100', 'name': '杏花岭区'}, {'id': '140108', 'pid': '140100', 'name': '尖草坪区'}, {'id': '140109', 'pid': '140100', 'name': '万柏林区'}, {'id': '140110', 'pid': '140100', 'name': '晋源区'}, {'id': '140121', 'pid': '140100', 'name': '清徐县'}, {'id': '140122', 'pid': '140100', 'name': '阳曲县'}, {'id': '140123', 'pid': '140100', 'name': '娄烦县'}, {'id': '140181', 'pid': '140100', 'name': '古交市'}, {'id': '140101', 'pid': '140100', 'name': '市辖区'}, {'id': '140171', 'pid': '140100', 'name': '山西转型综合改革示范区'} ]}, { + 'id': '140200', + 'pid': '140000', + 'name': '大同市', + 'children': [ {'id': '140212', 'pid': '140200', 'name': '新荣区'}, {'id': '140213', 'pid': '140200', 'name': '平城区'}, {'id': '140214', 'pid': '140200', 'name': '云冈区'}, {'id': '140215', 'pid': '140200', 'name': '云州区'}, {'id': '140221', 'pid': '140200', 'name': '阳高县'}, {'id': '140222', 'pid': '140200', 'name': '天镇县'}, {'id': '140223', 'pid': '140200', 'name': '广灵县'}, {'id': '140224', 'pid': '140200', 'name': '灵丘县'}, {'id': '140225', 'pid': '140200', 'name': '浑源县'}, {'id': '140226', 'pid': '140200', 'name': '左云县'}, {'id': '140201', 'pid': '140200', 'name': '市辖区'}, {'id': '140271', 'pid': '140200', 'name': '山西大同经济开发区'} ], + }, {'id': '140300', 'pid': '140000', 'name': '阳泉市', 'children': [ {'id': '140302', 'pid': '140300', 'name': '城区'}, {'id': '140303', 'pid': '140300', 'name': '矿区'}, {'id': '140311', 'pid': '140300', 'name': '郊区'}, {'id': '140321', 'pid': '140300', 'name': '平定县'}, {'id': '140322', 'pid': '140300', 'name': '盂县'}, {'id': '140301', 'pid': '140300', 'name': '市辖区'} ]}, { + 'id': '140400', + 'pid': '140000', + 'name': '长治市', + 'children': [ {'id': '140403', 'pid': '140400', 'name': '潞州区'}, {'id': '140404', 'pid': '140400', 'name': '上党区'}, {'id': '140405', 'pid': '140400', 'name': '屯留区'}, {'id': '140406', 'pid': '140400', 'name': '潞城区'}, {'id': '140423', 'pid': '140400', 'name': '襄垣县'}, {'id': '140425', 'pid': '140400', 'name': '平顺县'}, {'id': '140426', 'pid': '140400', 'name': '黎城县'}, {'id': '140427', 'pid': '140400', 'name': '壶关县'}, {'id': '140428', 'pid': '140400', 'name': '长子县'}, {'id': '140429', 'pid': '140400', 'name': '武乡县'}, {'id': '140430', 'pid': '140400', 'name': '沁县'}, {'id': '140431', 'pid': '140400', 'name': '沁源县'}, {'id': '140401', 'pid': '140400', 'name': '市辖区'}, {'id': '140471', 'pid': '140400', 'name': '山西长治高新技术产业园区'} ], + }, {'id': '140500', 'pid': '140000', 'name': '晋城市', 'children': [ {'id': '140502', 'pid': '140500', 'name': '城区'}, {'id': '140521', 'pid': '140500', 'name': '沁水县'}, {'id': '140522', 'pid': '140500', 'name': '阳城县'}, {'id': '140524', 'pid': '140500', 'name': '陵川县'}, {'id': '140525', 'pid': '140500', 'name': '泽州县'}, {'id': '140581', 'pid': '140500', 'name': '高平市'}, {'id': '140501', 'pid': '140500', 'name': '市辖区'} ]}, {'id': '140600', 'pid': '140000', 'name': '朔州市', 'children': [ {'id': '140602', 'pid': '140600', 'name': '朔城区'}, {'id': '140603', 'pid': '140600', 'name': '平鲁区'}, {'id': '140621', 'pid': '140600', 'name': '山阴县'}, {'id': '140622', 'pid': '140600', 'name': '应县'}, {'id': '140623', 'pid': '140600', 'name': '右玉县'}, {'id': '140681', 'pid': '140600', 'name': '怀仁市'}, {'id': '140601', 'pid': '140600', 'name': '市辖区'}, {'id': '140671', 'pid': '140600', 'name': '山西朔州经济开发区'} ]}, { + 'id': '140700', + 'pid': '140000', + 'name': '晋中市', + 'children': [ {'id': '140702', 'pid': '140700', 'name': '榆次区'}, {'id': '140703', 'pid': '140700', 'name': '太谷区'}, {'id': '140721', 'pid': '140700', 'name': '榆社县'}, {'id': '140722', 'pid': '140700', 'name': '左权县'}, {'id': '140723', 'pid': '140700', 'name': '和顺县'}, {'id': '140724', 'pid': '140700', 'name': '昔阳县'}, {'id': '140725', 'pid': '140700', 'name': '寿阳县'}, {'id': '140727', 'pid': '140700', 'name': '祁县'}, {'id': '140728', 'pid': '140700', 'name': '平遥县'}, {'id': '140729', 'pid': '140700', 'name': '灵石县'}, {'id': '140781', 'pid': '140700', 'name': '介休市'}, {'id': '140701', 'pid': '140700', 'name': '市辖区'} ], + }, {'id': '140800', 'pid': '140000', 'name': '运城市', 'children': [ {'id': '140802', 'pid': '140800', 'name': '盐湖区'}, {'id': '140821', 'pid': '140800', 'name': '临猗县'}, {'id': '140822', 'pid': '140800', 'name': '万荣县'}, {'id': '140823', 'pid': '140800', 'name': '闻喜县'}, {'id': '140824', 'pid': '140800', 'name': '稷山县'}, {'id': '140825', 'pid': '140800', 'name': '新绛县'}, {'id': '140826', 'pid': '140800', 'name': '绛县'}, {'id': '140827', 'pid': '140800', 'name': '垣曲县'}, {'id': '140828', 'pid': '140800', 'name': '夏县'}, {'id': '140829', 'pid': '140800', 'name': '平陆县'}, {'id': '140830', 'pid': '140800', 'name': '芮城县'}, {'id': '140881', 'pid': '140800', 'name': '永济市'}, {'id': '140882', 'pid': '140800', 'name': '河津市'}, {'id': '140801', 'pid': '140800', 'name': '市辖区'} ]}, { + 'id': '140900', + 'pid': '140000', + 'name': '忻州市', + 'children': [ {'id': '140902', 'pid': '140900', 'name': '忻府区'}, {'id': '140921', 'pid': '140900', 'name': '定襄县'}, {'id': '140922', 'pid': '140900', 'name': '五台县'}, {'id': '140923', 'pid': '140900', 'name': '代县'}, {'id': '140924', 'pid': '140900', 'name': '繁峙县'}, {'id': '140925', 'pid': '140900', 'name': '宁武县'}, {'id': '140926', 'pid': '140900', 'name': '静乐县'}, {'id': '140927', 'pid': '140900', 'name': '神池县'}, {'id': '140928', 'pid': '140900', 'name': '五寨县'}, {'id': '140929', 'pid': '140900', 'name': '岢岚县'}, {'id': '140930', 'pid': '140900', 'name': '河曲县'}, {'id': '140931', 'pid': '140900', 'name': '保德县'}, {'id': '140932', 'pid': '140900', 'name': '偏关县'}, {'id': '140981', 'pid': '140900', 'name': '原平市'}, {'id': '140901', 'pid': '140900', 'name': '市辖区'}, {'id': '140971', 'pid': '140900', 'name': '五台山风景名胜区'} ], + }, { + 'id': '141000', + 'pid': '140000', + 'name': '临汾市', + 'children': [ {'id': '141002', 'pid': '141000', 'name': '尧都区'}, {'id': '141021', 'pid': '141000', 'name': '曲沃县'}, {'id': '141022', 'pid': '141000', 'name': '翼城县'}, {'id': '141023', 'pid': '141000', 'name': '襄汾县'}, {'id': '141024', 'pid': '141000', 'name': '洪洞县'}, {'id': '141025', 'pid': '141000', 'name': '古县'}, {'id': '141026', 'pid': '141000', 'name': '安泽县'}, {'id': '141027', 'pid': '141000', 'name': '浮山县'}, {'id': '141028', 'pid': '141000', 'name': '吉县'}, {'id': '141029', 'pid': '141000', 'name': '乡宁县'}, {'id': '141030', 'pid': '141000', 'name': '大宁县'}, {'id': '141031', 'pid': '141000', 'name': '隰县'}, {'id': '141032', 'pid': '141000', 'name': '永和县'}, {'id': '141033', 'pid': '141000', 'name': '蒲县'}, {'id': '141034', 'pid': '141000', 'name': '汾西县'}, {'id': '141081', 'pid': '141000', 'name': '侯马市'}, {'id': '141082', 'pid': '141000', 'name': '霍州市'}, {'id': '141001', 'pid': '141000', 'name': '市辖区'} ], + }, {'id': '141100', 'pid': '140000', 'name': '吕梁市', 'children': [ {'id': '141102', 'pid': '141100', 'name': '离石区'}, {'id': '141121', 'pid': '141100', 'name': '文水县'}, {'id': '141122', 'pid': '141100', 'name': '交城县'}, {'id': '141123', 'pid': '141100', 'name': '兴县'}, {'id': '141124', 'pid': '141100', 'name': '临县'}, {'id': '141125', 'pid': '141100', 'name': '柳林县'}, {'id': '141126', 'pid': '141100', 'name': '石楼县'}, {'id': '141127', 'pid': '141100', 'name': '岚县'}, {'id': '141128', 'pid': '141100', 'name': '方山县'}, {'id': '141129', 'pid': '141100', 'name': '中阳县'}, {'id': '141130', 'pid': '141100', 'name': '交口县'}, {'id': '141181', 'pid': '141100', 'name': '孝义市'}, {'id': '141182', 'pid': '141100', 'name': '汾阳市'}, {'id': '141101', 'pid': '141100', 'name': '市辖区'} ]} ], +}, { + 'id': '150000', + 'pid': '0', + 'name': '内蒙古自治区', + 'children': [ {'id': '150100', 'pid': '150000', 'name': '呼和浩特市', 'children': [ {'id': '150102', 'pid': '150100', 'name': '新城区'}, {'id': '150103', 'pid': '150100', 'name': '回民区'}, {'id': '150104', 'pid': '150100', 'name': '玉泉区'}, {'id': '150105', 'pid': '150100', 'name': '赛罕区'}, {'id': '150121', 'pid': '150100', 'name': '土默特左旗'}, {'id': '150122', 'pid': '150100', 'name': '托克托县'}, {'id': '150123', 'pid': '150100', 'name': '和林格尔县'}, {'id': '150124', 'pid': '150100', 'name': '清水河县'}, {'id': '150125', 'pid': '150100', 'name': '武川县'}, {'id': '150101', 'pid': '150100', 'name': '市辖区'}, {'id': '150172', 'pid': '150100', 'name': '呼和浩特经济技术开发区'} ]}, { + 'id': '150200', + 'pid': '150000', + 'name': '包头市', + 'children': [ {'id': '150202', 'pid': '150200', 'name': '东河区'}, {'id': '150203', 'pid': '150200', 'name': '昆都仑区'}, {'id': '150204', 'pid': '150200', 'name': '青山区'}, {'id': '150205', 'pid': '150200', 'name': '石拐区'}, {'id': '150206', 'pid': '150200', 'name': '白云鄂博矿区'}, {'id': '150207', 'pid': '150200', 'name': '九原区'}, {'id': '150221', 'pid': '150200', 'name': '土默特右旗'}, {'id': '150222', 'pid': '150200', 'name': '固阳县'}, {'id': '150223', 'pid': '150200', 'name': '达尔罕茂明安联合旗'}, {'id': '150201', 'pid': '150200', 'name': '市辖区'}, {'id': '150271', 'pid': '150200', 'name': '包头稀土高新技术产业开发区'} ], + }, {'id': '150300', 'pid': '150000', 'name': '乌海市', 'children': [ {'id': '150302', 'pid': '150300', 'name': '海勃湾区'}, {'id': '150303', 'pid': '150300', 'name': '海南区'}, {'id': '150304', 'pid': '150300', 'name': '乌达区'}, {'id': '150301', 'pid': '150300', 'name': '市辖区'} ]}, { + 'id': '150400', + 'pid': '150000', + 'name': '赤峰市', + 'children': [ {'id': '150402', 'pid': '150400', 'name': '红山区'}, {'id': '150403', 'pid': '150400', 'name': '元宝山区'}, {'id': '150404', 'pid': '150400', 'name': '松山区'}, {'id': '150421', 'pid': '150400', 'name': '阿鲁科尔沁旗'}, {'id': '150422', 'pid': '150400', 'name': '巴林左旗'}, {'id': '150423', 'pid': '150400', 'name': '巴林右旗'}, {'id': '150424', 'pid': '150400', 'name': '林西县'}, {'id': '150425', 'pid': '150400', 'name': '克什克腾旗'}, {'id': '150426', 'pid': '150400', 'name': '翁牛特旗'}, {'id': '150428', 'pid': '150400', 'name': '喀喇沁旗'}, {'id': '150429', 'pid': '150400', 'name': '宁城县'}, {'id': '150430', 'pid': '150400', 'name': '敖汉旗'}, {'id': '150401', 'pid': '150400', 'name': '市辖区'} ], + }, {'id': '150500', 'pid': '150000', 'name': '通辽市', 'children': [ {'id': '150502', 'pid': '150500', 'name': '科尔沁区'}, {'id': '150521', 'pid': '150500', 'name': '科尔沁左翼中旗'}, {'id': '150522', 'pid': '150500', 'name': '科尔沁左翼后旗'}, {'id': '150523', 'pid': '150500', 'name': '开鲁县'}, {'id': '150524', 'pid': '150500', 'name': '库伦旗'}, {'id': '150525', 'pid': '150500', 'name': '奈曼旗'}, {'id': '150526', 'pid': '150500', 'name': '扎鲁特旗'}, {'id': '150581', 'pid': '150500', 'name': '霍林郭勒市'}, {'id': '150501', 'pid': '150500', 'name': '市辖区'}, {'id': '150571', 'pid': '150500', 'name': '通辽经济技术开发区'} ]}, { + 'id': '150600', + 'pid': '150000', + 'name': '鄂尔多斯市', + 'children': [ {'id': '150602', 'pid': '150600', 'name': '东胜区'}, {'id': '150603', 'pid': '150600', 'name': '康巴什区'}, {'id': '150621', 'pid': '150600', 'name': '达拉特旗'}, {'id': '150622', 'pid': '150600', 'name': '准格尔旗'}, {'id': '150623', 'pid': '150600', 'name': '鄂托克前旗'}, {'id': '150624', 'pid': '150600', 'name': '鄂托克旗'}, {'id': '150625', 'pid': '150600', 'name': '杭锦旗'}, {'id': '150626', 'pid': '150600', 'name': '乌审旗'}, {'id': '150627', 'pid': '150600', 'name': '伊金霍洛旗'}, {'id': '150601', 'pid': '150600', 'name': '市辖区'} ], + }, {'id': '150700', 'pid': '150000', 'name': '呼伦贝尔市', 'children': [ {'id': '150702', 'pid': '150700', 'name': '海拉尔区'}, {'id': '150703', 'pid': '150700', 'name': '扎赉诺尔区'}, {'id': '150721', 'pid': '150700', 'name': '阿荣旗'}, {'id': '150722', 'pid': '150700', 'name': '莫力达瓦达斡尔族自治旗'}, {'id': '150723', 'pid': '150700', 'name': '鄂伦春自治旗'}, {'id': '150724', 'pid': '150700', 'name': '鄂温克族自治旗'}, {'id': '150725', 'pid': '150700', 'name': '陈巴尔虎旗'}, {'id': '150726', 'pid': '150700', 'name': '新巴尔虎左旗'}, {'id': '150727', 'pid': '150700', 'name': '新巴尔虎右旗'}, {'id': '150781', 'pid': '150700', 'name': '满洲里市'}, {'id': '150782', 'pid': '150700', 'name': '牙克石市'}, {'id': '150783', 'pid': '150700', 'name': '扎兰屯市'}, {'id': '150784', 'pid': '150700', 'name': '额尔古纳市'}, {'id': '150785', 'pid': '150700', 'name': '根河市'}, {'id': '150701', 'pid': '150700', 'name': '市辖区'} ]}, { + 'id': '150800', + 'pid': '150000', + 'name': '巴彦淖尔市', + 'children': [ {'id': '150802', 'pid': '150800', 'name': '临河区'}, {'id': '150821', 'pid': '150800', 'name': '五原县'}, {'id': '150822', 'pid': '150800', 'name': '磴口县'}, {'id': '150823', 'pid': '150800', 'name': '乌拉特前旗'}, {'id': '150824', 'pid': '150800', 'name': '乌拉特中旗'}, {'id': '150825', 'pid': '150800', 'name': '乌拉特后旗'}, {'id': '150826', 'pid': '150800', 'name': '杭锦后旗'}, {'id': '150801', 'pid': '150800', 'name': '市辖区'} ], + }, {'id': '150900', 'pid': '150000', 'name': '乌兰察布市', 'children': [ {'id': '150902', 'pid': '150900', 'name': '集宁区'}, {'id': '150921', 'pid': '150900', 'name': '卓资县'}, {'id': '150922', 'pid': '150900', 'name': '化德县'}, {'id': '150923', 'pid': '150900', 'name': '商都县'}, {'id': '150924', 'pid': '150900', 'name': '兴和县'}, {'id': '150925', 'pid': '150900', 'name': '凉城县'}, {'id': '150926', 'pid': '150900', 'name': '察哈尔右翼前旗'}, {'id': '150927', 'pid': '150900', 'name': '察哈尔右翼中旗'}, {'id': '150928', 'pid': '150900', 'name': '察哈尔右翼后旗'}, {'id': '150929', 'pid': '150900', 'name': '四子王旗'}, {'id': '150981', 'pid': '150900', 'name': '丰镇市'}, {'id': '150901', 'pid': '150900', 'name': '市辖区'} ]}, { + 'id': '152200', + 'pid': '150000', + 'name': '兴安盟', + 'children': [ {'id': '152201', 'pid': '152200', 'name': '乌兰浩特市'}, {'id': '152202', 'pid': '152200', 'name': '阿尔山市'}, {'id': '152221', 'pid': '152200', 'name': '科尔沁右翼前旗'}, {'id': '152222', 'pid': '152200', 'name': '科尔沁右翼中旗'}, {'id': '152223', 'pid': '152200', 'name': '扎赉特旗'}, {'id': '152224', 'pid': '152200', 'name': '突泉县'} ], + }, {'id': '152500', 'pid': '150000', 'name': '锡林郭勒盟', 'children': [ {'id': '152501', 'pid': '152500', 'name': '二连浩特市'}, {'id': '152502', 'pid': '152500', 'name': '锡林浩特市'}, {'id': '152522', 'pid': '152500', 'name': '阿巴嘎旗'}, {'id': '152523', 'pid': '152500', 'name': '苏尼特左旗'}, {'id': '152524', 'pid': '152500', 'name': '苏尼特右旗'}, {'id': '152525', 'pid': '152500', 'name': '东乌珠穆沁旗'}, {'id': '152526', 'pid': '152500', 'name': '西乌珠穆沁旗'}, {'id': '152527', 'pid': '152500', 'name': '太仆寺旗'}, {'id': '152528', 'pid': '152500', 'name': '镶黄旗'}, {'id': '152529', 'pid': '152500', 'name': '正镶白旗'}, {'id': '152530', 'pid': '152500', 'name': '正蓝旗'}, {'id': '152531', 'pid': '152500', 'name': '多伦县'}, {'id': '152571', 'pid': '152500', 'name': '乌拉盖管委会'} ]}, { + 'id': '152900', + 'pid': '150000', + 'name': '阿拉善盟', + 'children': [ {'id': '152921', 'pid': '152900', 'name': '阿拉善左旗'}, {'id': '152922', 'pid': '152900', 'name': '阿拉善右旗'}, {'id': '152923', 'pid': '152900', 'name': '额济纳旗'}, {'id': '152971', 'pid': '152900', 'name': '内蒙古阿拉善高新技术产业开发区'} ], + } ], +}, { + 'id': '210000', + 'pid': '0', + 'name': '辽宁省', + 'children': [ {'id': '210100', 'pid': '210000', 'name': '沈阳市', 'children': [ {'id': '210102', 'pid': '210100', 'name': '和平区'}, {'id': '210103', 'pid': '210100', 'name': '沈河区'}, {'id': '210104', 'pid': '210100', 'name': '大东区'}, {'id': '210105', 'pid': '210100', 'name': '皇姑区'}, {'id': '210106', 'pid': '210100', 'name': '铁西区'}, {'id': '210111', 'pid': '210100', 'name': '苏家屯区'}, {'id': '210112', 'pid': '210100', 'name': '浑南区'}, {'id': '210113', 'pid': '210100', 'name': '沈北新区'}, {'id': '210114', 'pid': '210100', 'name': '于洪区'}, {'id': '210115', 'pid': '210100', 'name': '辽中区'}, {'id': '210123', 'pid': '210100', 'name': '康平县'}, {'id': '210124', 'pid': '210100', 'name': '法库县'}, {'id': '210181', 'pid': '210100', 'name': '新民市'}, {'id': '210101', 'pid': '210100', 'name': '市辖区'} ]}, { + 'id': '210200', + 'pid': '210000', + 'name': '大连市', + 'children': [ {'id': '210202', 'pid': '210200', 'name': '中山区'}, {'id': '210203', 'pid': '210200', 'name': '西岗区'}, {'id': '210204', 'pid': '210200', 'name': '沙河口区'}, {'id': '210211', 'pid': '210200', 'name': '甘井子区'}, {'id': '210212', 'pid': '210200', 'name': '旅顺口区'}, {'id': '210213', 'pid': '210200', 'name': '金州区'}, {'id': '210214', 'pid': '210200', 'name': '普兰店区'}, {'id': '210224', 'pid': '210200', 'name': '长海县'}, {'id': '210281', 'pid': '210200', 'name': '瓦房店市'}, {'id': '210283', 'pid': '210200', 'name': '庄河市'}, {'id': '210201', 'pid': '210200', 'name': '市辖区'} ], + }, {'id': '210300', 'pid': '210000', 'name': '鞍山市', 'children': [ {'id': '210302', 'pid': '210300', 'name': '铁东区'}, {'id': '210303', 'pid': '210300', 'name': '铁西区'}, {'id': '210304', 'pid': '210300', 'name': '立山区'}, {'id': '210311', 'pid': '210300', 'name': '千山区'}, {'id': '210321', 'pid': '210300', 'name': '台安县'}, {'id': '210323', 'pid': '210300', 'name': '岫岩满族自治县'}, {'id': '210381', 'pid': '210300', 'name': '海城市'}, {'id': '210301', 'pid': '210300', 'name': '市辖区'} ]}, { + 'id': '210400', + 'pid': '210000', + 'name': '抚顺市', + 'children': [ {'id': '210402', 'pid': '210400', 'name': '新抚区'}, {'id': '210403', 'pid': '210400', 'name': '东洲区'}, {'id': '210404', 'pid': '210400', 'name': '望花区'}, {'id': '210411', 'pid': '210400', 'name': '顺城区'}, {'id': '210421', 'pid': '210400', 'name': '抚顺县'}, {'id': '210422', 'pid': '210400', 'name': '新宾满族自治县'}, {'id': '210423', 'pid': '210400', 'name': '清原满族自治县'}, {'id': '210401', 'pid': '210400', 'name': '市辖区'} ], + }, {'id': '210500', 'pid': '210000', 'name': '本溪市', 'children': [ {'id': '210502', 'pid': '210500', 'name': '平山区'}, {'id': '210503', 'pid': '210500', 'name': '溪湖区'}, {'id': '210504', 'pid': '210500', 'name': '明山区'}, {'id': '210505', 'pid': '210500', 'name': '南芬区'}, {'id': '210521', 'pid': '210500', 'name': '本溪满族自治县'}, {'id': '210522', 'pid': '210500', 'name': '桓仁满族自治县'}, {'id': '210501', 'pid': '210500', 'name': '市辖区'} ]}, {'id': '210600', 'pid': '210000', 'name': '丹东市', 'children': [ {'id': '210602', 'pid': '210600', 'name': '元宝区'}, {'id': '210603', 'pid': '210600', 'name': '振兴区'}, {'id': '210604', 'pid': '210600', 'name': '振安区'}, {'id': '210624', 'pid': '210600', 'name': '宽甸满族自治县'}, {'id': '210681', 'pid': '210600', 'name': '东港市'}, {'id': '210682', 'pid': '210600', 'name': '凤城市'}, {'id': '210601', 'pid': '210600', 'name': '市辖区'} ]}, { + 'id': '210700', + 'pid': '210000', + 'name': '锦州市', + 'children': [ {'id': '210702', 'pid': '210700', 'name': '古塔区'}, {'id': '210703', 'pid': '210700', 'name': '凌河区'}, {'id': '210711', 'pid': '210700', 'name': '太和区'}, {'id': '210726', 'pid': '210700', 'name': '黑山县'}, {'id': '210727', 'pid': '210700', 'name': '义县'}, {'id': '210781', 'pid': '210700', 'name': '凌海市'}, {'id': '210782', 'pid': '210700', 'name': '北镇市'}, {'id': '210701', 'pid': '210700', 'name': '市辖区'} ], + }, {'id': '210800', 'pid': '210000', 'name': '营口市', 'children': [ {'id': '210802', 'pid': '210800', 'name': '站前区'}, {'id': '210803', 'pid': '210800', 'name': '西市区'}, {'id': '210804', 'pid': '210800', 'name': '鲅鱼圈区'}, {'id': '210811', 'pid': '210800', 'name': '老边区'}, {'id': '210881', 'pid': '210800', 'name': '盖州市'}, {'id': '210882', 'pid': '210800', 'name': '大石桥市'}, {'id': '210801', 'pid': '210800', 'name': '市辖区'} ]}, {'id': '210900', 'pid': '210000', 'name': '阜新市', 'children': [ {'id': '210902', 'pid': '210900', 'name': '海州区'}, {'id': '210903', 'pid': '210900', 'name': '新邱区'}, {'id': '210904', 'pid': '210900', 'name': '太平区'}, {'id': '210905', 'pid': '210900', 'name': '清河门区'}, {'id': '210911', 'pid': '210900', 'name': '细河区'}, {'id': '210921', 'pid': '210900', 'name': '阜新蒙古族自治县'}, {'id': '210922', 'pid': '210900', 'name': '彰武县'}, {'id': '210901', 'pid': '210900', 'name': '市辖区'} ]}, { + 'id': '211000', + 'pid': '210000', + 'name': '辽阳市', + 'children': [ {'id': '211002', 'pid': '211000', 'name': '白塔区'}, {'id': '211003', 'pid': '211000', 'name': '文圣区'}, {'id': '211004', 'pid': '211000', 'name': '宏伟区'}, {'id': '211005', 'pid': '211000', 'name': '弓长岭区'}, {'id': '211011', 'pid': '211000', 'name': '太子河区'}, {'id': '211021', 'pid': '211000', 'name': '辽阳县'}, {'id': '211081', 'pid': '211000', 'name': '灯塔市'}, {'id': '211001', 'pid': '211000', 'name': '市辖区'} ], + }, {'id': '211100', 'pid': '210000', 'name': '盘锦市', 'children': [ {'id': '211102', 'pid': '211100', 'name': '双台子区'}, {'id': '211103', 'pid': '211100', 'name': '兴隆台区'}, {'id': '211104', 'pid': '211100', 'name': '大洼区'}, {'id': '211122', 'pid': '211100', 'name': '盘山县'}, {'id': '211101', 'pid': '211100', 'name': '市辖区'} ]}, {'id': '211200', 'pid': '210000', 'name': '铁岭市', 'children': [ {'id': '211202', 'pid': '211200', 'name': '银州区'}, {'id': '211204', 'pid': '211200', 'name': '清河区'}, {'id': '211221', 'pid': '211200', 'name': '铁岭县'}, {'id': '211223', 'pid': '211200', 'name': '西丰县'}, {'id': '211224', 'pid': '211200', 'name': '昌图县'}, {'id': '211281', 'pid': '211200', 'name': '调兵山市'}, {'id': '211282', 'pid': '211200', 'name': '开原市'}, {'id': '211201', 'pid': '211200', 'name': '市辖区'} ]}, { + 'id': '211300', + 'pid': '210000', + 'name': '朝阳市', + 'children': [ {'id': '211302', 'pid': '211300', 'name': '双塔区'}, {'id': '211303', 'pid': '211300', 'name': '龙城区'}, {'id': '211321', 'pid': '211300', 'name': '朝阳县'}, {'id': '211322', 'pid': '211300', 'name': '建平县'}, {'id': '211324', 'pid': '211300', 'name': '喀喇沁左翼蒙古族自治县'}, {'id': '211381', 'pid': '211300', 'name': '北票市'}, {'id': '211382', 'pid': '211300', 'name': '凌源市'}, {'id': '211301', 'pid': '211300', 'name': '市辖区'} ], + }, {'id': '211400', 'pid': '210000', 'name': '葫芦岛市', 'children': [ {'id': '211402', 'pid': '211400', 'name': '连山区'}, {'id': '211403', 'pid': '211400', 'name': '龙港区'}, {'id': '211404', 'pid': '211400', 'name': '南票区'}, {'id': '211421', 'pid': '211400', 'name': '绥中县'}, {'id': '211422', 'pid': '211400', 'name': '建昌县'}, {'id': '211481', 'pid': '211400', 'name': '兴城市'}, {'id': '211401', 'pid': '211400', 'name': '市辖区'} ]} ], +}, { + 'id': '220000', + 'pid': '0', + 'name': '吉林省', + 'children': [ { + 'id': '220100', + 'pid': '220000', + 'name': '长春市', + 'children': [ {'id': '220102', 'pid': '220100', 'name': '南关区'}, {'id': '220103', 'pid': '220100', 'name': '宽城区'}, {'id': '220104', 'pid': '220100', 'name': '朝阳区'}, {'id': '220105', 'pid': '220100', 'name': '二道区'}, {'id': '220106', 'pid': '220100', 'name': '绿园区'}, {'id': '220112', 'pid': '220100', 'name': '双阳区'}, {'id': '220113', 'pid': '220100', 'name': '九台区'}, {'id': '220122', 'pid': '220100', 'name': '农安县'}, {'id': '220182', 'pid': '220100', 'name': '榆树市'}, {'id': '220183', 'pid': '220100', 'name': '德惠市'}, {'id': '220184', 'pid': '220100', 'name': '公主岭市'}, {'id': '220101', 'pid': '220100', 'name': '市辖区'}, {'id': '220171', 'pid': '220100', 'name': '长春经济技术开发区'}, {'id': '220172', 'pid': '220100', 'name': '长春净月高新技术产业开发区'}, {'id': '220173', 'pid': '220100', 'name': '长春高新技术产业开发区'}, {'id': '220174', 'pid': '220100', 'name': '长春汽车经济技术开发区'} ], + }, {'id': '220200', 'pid': '220000', 'name': '吉林市', 'children': [ {'id': '220202', 'pid': '220200', 'name': '昌邑区'}, {'id': '220203', 'pid': '220200', 'name': '龙潭区'}, {'id': '220204', 'pid': '220200', 'name': '船营区'}, {'id': '220211', 'pid': '220200', 'name': '丰满区'}, {'id': '220221', 'pid': '220200', 'name': '永吉县'}, {'id': '220281', 'pid': '220200', 'name': '蛟河市'}, {'id': '220282', 'pid': '220200', 'name': '桦甸市'}, {'id': '220283', 'pid': '220200', 'name': '舒兰市'}, {'id': '220284', 'pid': '220200', 'name': '磐石市'}, {'id': '220201', 'pid': '220200', 'name': '市辖区'}, {'id': '220271', 'pid': '220200', 'name': '吉林经济开发区'}, {'id': '220272', 'pid': '220200', 'name': '吉林高新技术产业开发区'}, {'id': '220273', 'pid': '220200', 'name': '吉林中国新加坡食品区'} ]}, { + 'id': '220300', + 'pid': '220000', + 'name': '四平市', + 'children': [ {'id': '220302', 'pid': '220300', 'name': '铁西区'}, {'id': '220303', 'pid': '220300', 'name': '铁东区'}, {'id': '220322', 'pid': '220300', 'name': '梨树县'}, {'id': '220323', 'pid': '220300', 'name': '伊通满族自治县'}, {'id': '220382', 'pid': '220300', 'name': '双辽市'}, {'id': '220301', 'pid': '220300', 'name': '市辖区'} ], + }, {'id': '220400', 'pid': '220000', 'name': '辽源市', 'children': [ {'id': '220402', 'pid': '220400', 'name': '龙山区'}, {'id': '220403', 'pid': '220400', 'name': '西安区'}, {'id': '220421', 'pid': '220400', 'name': '东丰县'}, {'id': '220422', 'pid': '220400', 'name': '东辽县'}, {'id': '220401', 'pid': '220400', 'name': '市辖区'} ]}, {'id': '220500', 'pid': '220000', 'name': '通化市', 'children': [ {'id': '220502', 'pid': '220500', 'name': '东昌区'}, {'id': '220503', 'pid': '220500', 'name': '二道江区'}, {'id': '220521', 'pid': '220500', 'name': '通化县'}, {'id': '220523', 'pid': '220500', 'name': '辉南县'}, {'id': '220524', 'pid': '220500', 'name': '柳河县'}, {'id': '220581', 'pid': '220500', 'name': '梅河口市'}, {'id': '220582', 'pid': '220500', 'name': '集安市'}, {'id': '220501', 'pid': '220500', 'name': '市辖区'} ]}, { + 'id': '220600', + 'pid': '220000', + 'name': '白山市', + 'children': [ {'id': '220602', 'pid': '220600', 'name': '浑江区'}, {'id': '220605', 'pid': '220600', 'name': '江源区'}, {'id': '220621', 'pid': '220600', 'name': '抚松县'}, {'id': '220622', 'pid': '220600', 'name': '靖宇县'}, {'id': '220623', 'pid': '220600', 'name': '长白朝鲜族自治县'}, {'id': '220681', 'pid': '220600', 'name': '临江市'}, {'id': '220601', 'pid': '220600', 'name': '市辖区'} ], + }, {'id': '220700', 'pid': '220000', 'name': '松原市', 'children': [ {'id': '220702', 'pid': '220700', 'name': '宁江区'}, {'id': '220721', 'pid': '220700', 'name': '前郭尔罗斯蒙古族自治县'}, {'id': '220722', 'pid': '220700', 'name': '长岭县'}, {'id': '220723', 'pid': '220700', 'name': '乾安县'}, {'id': '220781', 'pid': '220700', 'name': '扶余市'}, {'id': '220701', 'pid': '220700', 'name': '市辖区'}, {'id': '220771', 'pid': '220700', 'name': '吉林松原经济开发区'} ]}, {'id': '220800', 'pid': '220000', 'name': '白城市', 'children': [ {'id': '220802', 'pid': '220800', 'name': '洮北区'}, {'id': '220821', 'pid': '220800', 'name': '镇赉县'}, {'id': '220822', 'pid': '220800', 'name': '通榆县'}, {'id': '220881', 'pid': '220800', 'name': '洮南市'}, {'id': '220882', 'pid': '220800', 'name': '大安市'}, {'id': '220801', 'pid': '220800', 'name': '市辖区'}, {'id': '220871', 'pid': '220800', 'name': '吉林白城经济开发区'} ]}, { + 'id': '222400', + 'pid': '220000', + 'name': '延边朝鲜族自治州', + 'children': [ {'id': '222401', 'pid': '222400', 'name': '延吉市'}, {'id': '222402', 'pid': '222400', 'name': '图们市'}, {'id': '222403', 'pid': '222400', 'name': '敦化市'}, {'id': '222404', 'pid': '222400', 'name': '珲春市'}, {'id': '222405', 'pid': '222400', 'name': '龙井市'}, {'id': '222406', 'pid': '222400', 'name': '和龙市'}, {'id': '222424', 'pid': '222400', 'name': '汪清县'}, {'id': '222426', 'pid': '222400', 'name': '安图县'} ], + } ], +}, { + 'id': '230000', + 'pid': '0', + 'name': '黑龙江省', + 'children': [ { + 'id': '230100', + 'pid': '230000', + 'name': '哈尔滨市', + 'children': [ {'id': '230102', 'pid': '230100', 'name': '道里区'}, {'id': '230103', 'pid': '230100', 'name': '南岗区'}, {'id': '230104', 'pid': '230100', 'name': '道外区'}, {'id': '230108', 'pid': '230100', 'name': '平房区'}, {'id': '230109', 'pid': '230100', 'name': '松北区'}, {'id': '230110', 'pid': '230100', 'name': '香坊区'}, {'id': '230111', 'pid': '230100', 'name': '呼兰区'}, {'id': '230112', 'pid': '230100', 'name': '阿城区'}, {'id': '230113', 'pid': '230100', 'name': '双城区'}, {'id': '230123', 'pid': '230100', 'name': '依兰县'}, {'id': '230124', 'pid': '230100', 'name': '方正县'}, {'id': '230125', 'pid': '230100', 'name': '宾县'}, {'id': '230126', 'pid': '230100', 'name': '巴彦县'}, {'id': '230127', 'pid': '230100', 'name': '木兰县'}, {'id': '230128', 'pid': '230100', 'name': '通河县'}, {'id': '230129', 'pid': '230100', 'name': '延寿县'}, {'id': '230183', 'pid': '230100', 'name': '尚志市'}, {'id': '230184', 'pid': '230100', 'name': '五常市'}, { + 'id': '230101', + 'pid': '230100', + 'name': '市辖区', + } ], + }, { + 'id': '230200', + 'pid': '230000', + 'name': '齐齐哈尔市', + 'children': [ {'id': '230202', 'pid': '230200', 'name': '龙沙区'}, {'id': '230203', 'pid': '230200', 'name': '建华区'}, {'id': '230204', 'pid': '230200', 'name': '铁锋区'}, {'id': '230205', 'pid': '230200', 'name': '昂昂溪区'}, {'id': '230206', 'pid': '230200', 'name': '富拉尔基区'}, {'id': '230207', 'pid': '230200', 'name': '碾子山区'}, {'id': '230208', 'pid': '230200', 'name': '梅里斯达斡尔族区'}, {'id': '230221', 'pid': '230200', 'name': '龙江县'}, {'id': '230223', 'pid': '230200', 'name': '依安县'}, {'id': '230224', 'pid': '230200', 'name': '泰来县'}, {'id': '230225', 'pid': '230200', 'name': '甘南县'}, {'id': '230227', 'pid': '230200', 'name': '富裕县'}, {'id': '230229', 'pid': '230200', 'name': '克山县'}, {'id': '230230', 'pid': '230200', 'name': '克东县'}, {'id': '230231', 'pid': '230200', 'name': '拜泉县'}, {'id': '230281', 'pid': '230200', 'name': '讷河市'}, {'id': '230201', 'pid': '230200', 'name': '市辖区'} ], + }, {'id': '230300', 'pid': '230000', 'name': '鸡西市', 'children': [ {'id': '230302', 'pid': '230300', 'name': '鸡冠区'}, {'id': '230303', 'pid': '230300', 'name': '恒山区'}, {'id': '230304', 'pid': '230300', 'name': '滴道区'}, {'id': '230305', 'pid': '230300', 'name': '梨树区'}, {'id': '230306', 'pid': '230300', 'name': '城子河区'}, {'id': '230307', 'pid': '230300', 'name': '麻山区'}, {'id': '230321', 'pid': '230300', 'name': '鸡东县'}, {'id': '230381', 'pid': '230300', 'name': '虎林市'}, {'id': '230382', 'pid': '230300', 'name': '密山市'}, {'id': '230301', 'pid': '230300', 'name': '市辖区'} ]}, { + 'id': '230400', + 'pid': '230000', + 'name': '鹤岗市', + 'children': [ {'id': '230402', 'pid': '230400', 'name': '向阳区'}, {'id': '230403', 'pid': '230400', 'name': '工农区'}, {'id': '230404', 'pid': '230400', 'name': '南山区'}, {'id': '230405', 'pid': '230400', 'name': '兴安区'}, {'id': '230406', 'pid': '230400', 'name': '东山区'}, {'id': '230407', 'pid': '230400', 'name': '兴山区'}, {'id': '230421', 'pid': '230400', 'name': '萝北县'}, {'id': '230422', 'pid': '230400', 'name': '绥滨县'}, {'id': '230401', 'pid': '230400', 'name': '市辖区'} ], + }, {'id': '230500', 'pid': '230000', 'name': '双鸭山市', 'children': [ {'id': '230502', 'pid': '230500', 'name': '尖山区'}, {'id': '230503', 'pid': '230500', 'name': '岭东区'}, {'id': '230505', 'pid': '230500', 'name': '四方台区'}, {'id': '230506', 'pid': '230500', 'name': '宝山区'}, {'id': '230521', 'pid': '230500', 'name': '集贤县'}, {'id': '230522', 'pid': '230500', 'name': '友谊县'}, {'id': '230523', 'pid': '230500', 'name': '宝清县'}, {'id': '230524', 'pid': '230500', 'name': '饶河县'}, {'id': '230501', 'pid': '230500', 'name': '市辖区'} ]}, { + 'id': '230600', + 'pid': '230000', + 'name': '大庆市', + 'children': [ {'id': '230602', 'pid': '230600', 'name': '萨尔图区'}, {'id': '230603', 'pid': '230600', 'name': '龙凤区'}, {'id': '230604', 'pid': '230600', 'name': '让胡路区'}, {'id': '230605', 'pid': '230600', 'name': '红岗区'}, {'id': '230606', 'pid': '230600', 'name': '大同区'}, {'id': '230621', 'pid': '230600', 'name': '肇州县'}, {'id': '230622', 'pid': '230600', 'name': '肇源县'}, {'id': '230623', 'pid': '230600', 'name': '林甸县'}, {'id': '230624', 'pid': '230600', 'name': '杜尔伯特蒙古族自治县'}, {'id': '230601', 'pid': '230600', 'name': '市辖区'}, {'id': '230671', 'pid': '230600', 'name': '大庆高新技术产业开发区'} ], + }, {'id': '230700', 'pid': '230000', 'name': '伊春市', 'children': [ {'id': '230717', 'pid': '230700', 'name': '伊美区'}, {'id': '230718', 'pid': '230700', 'name': '乌翠区'}, {'id': '230719', 'pid': '230700', 'name': '友好区'}, {'id': '230722', 'pid': '230700', 'name': '嘉荫县'}, {'id': '230723', 'pid': '230700', 'name': '汤旺县'}, {'id': '230724', 'pid': '230700', 'name': '丰林县'}, {'id': '230725', 'pid': '230700', 'name': '大箐山县'}, {'id': '230726', 'pid': '230700', 'name': '南岔县'}, {'id': '230751', 'pid': '230700', 'name': '金林区'}, {'id': '230781', 'pid': '230700', 'name': '铁力市'}, {'id': '230701', 'pid': '230700', 'name': '市辖区'} ]}, { + 'id': '230800', + 'pid': '230000', + 'name': '佳木斯市', + 'children': [ {'id': '230803', 'pid': '230800', 'name': '向阳区'}, {'id': '230804', 'pid': '230800', 'name': '前进区'}, {'id': '230805', 'pid': '230800', 'name': '东风区'}, {'id': '230811', 'pid': '230800', 'name': '郊区'}, {'id': '230822', 'pid': '230800', 'name': '桦南县'}, {'id': '230826', 'pid': '230800', 'name': '桦川县'}, {'id': '230828', 'pid': '230800', 'name': '汤原县'}, {'id': '230881', 'pid': '230800', 'name': '同江市'}, {'id': '230882', 'pid': '230800', 'name': '富锦市'}, {'id': '230883', 'pid': '230800', 'name': '抚远市'}, {'id': '230801', 'pid': '230800', 'name': '市辖区'} ], + }, {'id': '230900', 'pid': '230000', 'name': '七台河市', 'children': [ {'id': '230902', 'pid': '230900', 'name': '新兴区'}, {'id': '230903', 'pid': '230900', 'name': '桃山区'}, {'id': '230904', 'pid': '230900', 'name': '茄子河区'}, {'id': '230921', 'pid': '230900', 'name': '勃利县'}, {'id': '230901', 'pid': '230900', 'name': '市辖区'} ]}, { + 'id': '231000', + 'pid': '230000', + 'name': '牡丹江市', + 'children': [ {'id': '231002', 'pid': '231000', 'name': '东安区'}, {'id': '231003', 'pid': '231000', 'name': '阳明区'}, {'id': '231004', 'pid': '231000', 'name': '爱民区'}, {'id': '231005', 'pid': '231000', 'name': '西安区'}, {'id': '231025', 'pid': '231000', 'name': '林口县'}, {'id': '231081', 'pid': '231000', 'name': '绥芬河市'}, {'id': '231083', 'pid': '231000', 'name': '海林市'}, {'id': '231084', 'pid': '231000', 'name': '宁安市'}, {'id': '231085', 'pid': '231000', 'name': '穆棱市'}, {'id': '231086', 'pid': '231000', 'name': '东宁市'}, {'id': '231001', 'pid': '231000', 'name': '市辖区'}, {'id': '231071', 'pid': '231000', 'name': '牡丹江经济技术开发区'} ], + }, {'id': '231100', 'pid': '230000', 'name': '黑河市', 'children': [ {'id': '231102', 'pid': '231100', 'name': '爱辉区'}, {'id': '231123', 'pid': '231100', 'name': '逊克县'}, {'id': '231124', 'pid': '231100', 'name': '孙吴县'}, {'id': '231181', 'pid': '231100', 'name': '北安市'}, {'id': '231182', 'pid': '231100', 'name': '五大连池市'}, {'id': '231183', 'pid': '231100', 'name': '嫩江市'}, {'id': '231101', 'pid': '231100', 'name': '市辖区'} ]}, { + 'id': '231200', + 'pid': '230000', + 'name': '绥化市', + 'children': [ {'id': '231202', 'pid': '231200', 'name': '北林区'}, {'id': '231221', 'pid': '231200', 'name': '望奎县'}, {'id': '231222', 'pid': '231200', 'name': '兰西县'}, {'id': '231223', 'pid': '231200', 'name': '青冈县'}, {'id': '231224', 'pid': '231200', 'name': '庆安县'}, {'id': '231225', 'pid': '231200', 'name': '明水县'}, {'id': '231226', 'pid': '231200', 'name': '绥棱县'}, {'id': '231281', 'pid': '231200', 'name': '安达市'}, {'id': '231282', 'pid': '231200', 'name': '肇东市'}, {'id': '231283', 'pid': '231200', 'name': '海伦市'}, {'id': '231201', 'pid': '231200', 'name': '市辖区'} ], + }, {'id': '232700', 'pid': '230000', 'name': '大兴安岭地区', 'children': [ {'id': '232701', 'pid': '232700', 'name': '漠河市'}, {'id': '232721', 'pid': '232700', 'name': '呼玛县'}, {'id': '232722', 'pid': '232700', 'name': '塔河县'}, {'id': '232761', 'pid': '232700', 'name': '加格达奇区'}, {'id': '232762', 'pid': '232700', 'name': '松岭区'}, {'id': '232763', 'pid': '232700', 'name': '新林区'}, {'id': '232764', 'pid': '232700', 'name': '呼中区'} ]} ], +}, {'id': '310000', 'pid': '0', 'name': '上海市', 'children': [ {'id': '310100', 'pid': '310000', 'name': '上海市', 'children': [ {'id': '310101', 'pid': '310100', 'name': '黄浦区'}, {'id': '310104', 'pid': '310100', 'name': '徐汇区'}, {'id': '310105', 'pid': '310100', 'name': '长宁区'}, {'id': '310106', 'pid': '310100', 'name': '静安区'}, {'id': '310107', 'pid': '310100', 'name': '普陀区'}, {'id': '310109', 'pid': '310100', 'name': '虹口区'}, {'id': '310110', 'pid': '310100', 'name': '杨浦区'}, {'id': '310112', 'pid': '310100', 'name': '闵行区'}, {'id': '310113', 'pid': '310100', 'name': '宝山区'}, {'id': '310114', 'pid': '310100', 'name': '嘉定区'}, {'id': '310115', 'pid': '310100', 'name': '浦东新区'}, {'id': '310116', 'pid': '310100', 'name': '金山区'}, {'id': '310117', 'pid': '310100', 'name': '松江区'}, {'id': '310118', 'pid': '310100', 'name': '青浦区'}, {'id': '310120', 'pid': '310100', 'name': '奉贤区'}, {'id': '310151', 'pid': '310100', 'name': '崇明区'} ]} ]}, { + 'id': '320000', + 'pid': '0', + 'name': '江苏省', + 'children': [ {'id': '320100', 'pid': '320000', 'name': '南京市', 'children': [ {'id': '320102', 'pid': '320100', 'name': '玄武区'}, {'id': '320104', 'pid': '320100', 'name': '秦淮区'}, {'id': '320105', 'pid': '320100', 'name': '建邺区'}, {'id': '320106', 'pid': '320100', 'name': '鼓楼区'}, {'id': '320111', 'pid': '320100', 'name': '浦口区'}, {'id': '320113', 'pid': '320100', 'name': '栖霞区'}, {'id': '320114', 'pid': '320100', 'name': '雨花台区'}, {'id': '320115', 'pid': '320100', 'name': '江宁区'}, {'id': '320116', 'pid': '320100', 'name': '六合区'}, {'id': '320117', 'pid': '320100', 'name': '溧水区'}, {'id': '320118', 'pid': '320100', 'name': '高淳区'}, {'id': '320101', 'pid': '320100', 'name': '市辖区'} ]}, { + 'id': '320200', + 'pid': '320000', + 'name': '无锡市', + 'children': [ {'id': '320205', 'pid': '320200', 'name': '锡山区'}, {'id': '320206', 'pid': '320200', 'name': '惠山区'}, {'id': '320211', 'pid': '320200', 'name': '滨湖区'}, {'id': '320213', 'pid': '320200', 'name': '梁溪区'}, {'id': '320214', 'pid': '320200', 'name': '新吴区'}, {'id': '320281', 'pid': '320200', 'name': '江阴市'}, {'id': '320282', 'pid': '320200', 'name': '宜兴市'}, {'id': '320201', 'pid': '320200', 'name': '市辖区'} ], + }, {'id': '320300', 'pid': '320000', 'name': '徐州市', 'children': [ {'id': '320302', 'pid': '320300', 'name': '鼓楼区'}, {'id': '320303', 'pid': '320300', 'name': '云龙区'}, {'id': '320305', 'pid': '320300', 'name': '贾汪区'}, {'id': '320311', 'pid': '320300', 'name': '泉山区'}, {'id': '320312', 'pid': '320300', 'name': '铜山区'}, {'id': '320321', 'pid': '320300', 'name': '丰县'}, {'id': '320322', 'pid': '320300', 'name': '沛县'}, {'id': '320324', 'pid': '320300', 'name': '睢宁县'}, {'id': '320381', 'pid': '320300', 'name': '新沂市'}, {'id': '320382', 'pid': '320300', 'name': '邳州市'}, {'id': '320301', 'pid': '320300', 'name': '市辖区'}, {'id': '320371', 'pid': '320300', 'name': '徐州经济技术开发区'} ]}, { + 'id': '320400', + 'pid': '320000', + 'name': '常州市', + 'children': [ {'id': '320402', 'pid': '320400', 'name': '天宁区'}, {'id': '320404', 'pid': '320400', 'name': '钟楼区'}, {'id': '320411', 'pid': '320400', 'name': '新北区'}, {'id': '320412', 'pid': '320400', 'name': '武进区'}, {'id': '320413', 'pid': '320400', 'name': '金坛区'}, {'id': '320481', 'pid': '320400', 'name': '溧阳市'}, {'id': '320401', 'pid': '320400', 'name': '市辖区'} ], + }, {'id': '320500', 'pid': '320000', 'name': '苏州市', 'children': [ {'id': '320505', 'pid': '320500', 'name': '虎丘区'}, {'id': '320506', 'pid': '320500', 'name': '吴中区'}, {'id': '320507', 'pid': '320500', 'name': '相城区'}, {'id': '320508', 'pid': '320500', 'name': '姑苏区'}, {'id': '320509', 'pid': '320500', 'name': '吴江区'}, {'id': '320581', 'pid': '320500', 'name': '常熟市'}, {'id': '320582', 'pid': '320500', 'name': '张家港市'}, {'id': '320583', 'pid': '320500', 'name': '昆山市'}, {'id': '320585', 'pid': '320500', 'name': '太仓市'}, {'id': '320501', 'pid': '320500', 'name': '市辖区'}, {'id': '320571', 'pid': '320500', 'name': '苏州工业园区'} ]}, { + 'id': '320600', + 'pid': '320000', + 'name': '南通市', + 'children': [ {'id': '320612', 'pid': '320600', 'name': '通州区'}, {'id': '320613', 'pid': '320600', 'name': '崇川区'}, {'id': '320614', 'pid': '320600', 'name': '海门区'}, {'id': '320623', 'pid': '320600', 'name': '如东县'}, {'id': '320681', 'pid': '320600', 'name': '启东市'}, {'id': '320682', 'pid': '320600', 'name': '如皋市'}, {'id': '320685', 'pid': '320600', 'name': '海安市'}, {'id': '320601', 'pid': '320600', 'name': '市辖区'}, {'id': '320671', 'pid': '320600', 'name': '南通经济技术开发区'} ], + }, {'id': '320700', 'pid': '320000', 'name': '连云港市', 'children': [ {'id': '320703', 'pid': '320700', 'name': '连云区'}, {'id': '320706', 'pid': '320700', 'name': '海州区'}, {'id': '320707', 'pid': '320700', 'name': '赣榆区'}, {'id': '320722', 'pid': '320700', 'name': '东海县'}, {'id': '320723', 'pid': '320700', 'name': '灌云县'}, {'id': '320724', 'pid': '320700', 'name': '灌南县'}, {'id': '320701', 'pid': '320700', 'name': '市辖区'}, {'id': '320771', 'pid': '320700', 'name': '连云港经济技术开发区'}, {'id': '320772', 'pid': '320700', 'name': '连云港高新技术产业开发区'} ]}, { + 'id': '320800', + 'pid': '320000', + 'name': '淮安市', + 'children': [ {'id': '320803', 'pid': '320800', 'name': '淮安区'}, {'id': '320804', 'pid': '320800', 'name': '淮阴区'}, {'id': '320812', 'pid': '320800', 'name': '清江浦区'}, {'id': '320813', 'pid': '320800', 'name': '洪泽区'}, {'id': '320826', 'pid': '320800', 'name': '涟水县'}, {'id': '320830', 'pid': '320800', 'name': '盱眙县'}, {'id': '320831', 'pid': '320800', 'name': '金湖县'}, {'id': '320801', 'pid': '320800', 'name': '市辖区'}, {'id': '320871', 'pid': '320800', 'name': '淮安经济技术开发区'} ], + }, {'id': '320900', 'pid': '320000', 'name': '盐城市', 'children': [ {'id': '320902', 'pid': '320900', 'name': '亭湖区'}, {'id': '320903', 'pid': '320900', 'name': '盐都区'}, {'id': '320904', 'pid': '320900', 'name': '大丰区'}, {'id': '320921', 'pid': '320900', 'name': '响水县'}, {'id': '320922', 'pid': '320900', 'name': '滨海县'}, {'id': '320923', 'pid': '320900', 'name': '阜宁县'}, {'id': '320924', 'pid': '320900', 'name': '射阳县'}, {'id': '320925', 'pid': '320900', 'name': '建湖县'}, {'id': '320981', 'pid': '320900', 'name': '东台市'}, {'id': '320901', 'pid': '320900', 'name': '市辖区'}, {'id': '320971', 'pid': '320900', 'name': '盐城经济技术开发区'} ]}, { + 'id': '321000', + 'pid': '320000', + 'name': '扬州市', + 'children': [ {'id': '321002', 'pid': '321000', 'name': '广陵区'}, {'id': '321003', 'pid': '321000', 'name': '邗江区'}, {'id': '321012', 'pid': '321000', 'name': '江都区'}, {'id': '321023', 'pid': '321000', 'name': '宝应县'}, {'id': '321081', 'pid': '321000', 'name': '仪征市'}, {'id': '321084', 'pid': '321000', 'name': '高邮市'}, {'id': '321001', 'pid': '321000', 'name': '市辖区'}, {'id': '321071', 'pid': '321000', 'name': '扬州经济技术开发区'} ], + }, {'id': '321100', 'pid': '320000', 'name': '镇江市', 'children': [ {'id': '321102', 'pid': '321100', 'name': '京口区'}, {'id': '321111', 'pid': '321100', 'name': '润州区'}, {'id': '321112', 'pid': '321100', 'name': '丹徒区'}, {'id': '321181', 'pid': '321100', 'name': '丹阳市'}, {'id': '321182', 'pid': '321100', 'name': '扬中市'}, {'id': '321183', 'pid': '321100', 'name': '句容市'}, {'id': '321101', 'pid': '321100', 'name': '市辖区'}, {'id': '321171', 'pid': '321100', 'name': '镇江新区'} ]}, { + 'id': '321200', + 'pid': '320000', + 'name': '泰州市', + 'children': [ {'id': '321202', 'pid': '321200', 'name': '海陵区'}, {'id': '321203', 'pid': '321200', 'name': '高港区'}, {'id': '321204', 'pid': '321200', 'name': '姜堰区'}, {'id': '321281', 'pid': '321200', 'name': '兴化市'}, {'id': '321282', 'pid': '321200', 'name': '靖江市'}, {'id': '321283', 'pid': '321200', 'name': '泰兴市'}, {'id': '321201', 'pid': '321200', 'name': '市辖区'}, {'id': '321271', 'pid': '321200', 'name': '泰州医药高新技术产业开发区'} ], + }, {'id': '321300', 'pid': '320000', 'name': '宿迁市', 'children': [ {'id': '321302', 'pid': '321300', 'name': '宿城区'}, {'id': '321311', 'pid': '321300', 'name': '宿豫区'}, {'id': '321322', 'pid': '321300', 'name': '沭阳县'}, {'id': '321323', 'pid': '321300', 'name': '泗阳县'}, {'id': '321324', 'pid': '321300', 'name': '泗洪县'}, {'id': '321301', 'pid': '321300', 'name': '市辖区'}, {'id': '321371', 'pid': '321300', 'name': '宿迁经济技术开发区'} ]} ], +}, { + 'id': '330000', + 'pid': '0', + 'name': '浙江省', + 'children': [ {'id': '330100', 'pid': '330000', 'name': '杭州市', 'children': [ {'id': '330102', 'pid': '330100', 'name': '上城区'}, {'id': '330103', 'pid': '330100', 'name': '下城区'}, {'id': '330104', 'pid': '330100', 'name': '江干区'}, {'id': '330105', 'pid': '330100', 'name': '拱墅区'}, {'id': '330106', 'pid': '330100', 'name': '西湖区'}, {'id': '330108', 'pid': '330100', 'name': '滨江区'}, {'id': '330109', 'pid': '330100', 'name': '萧山区'}, {'id': '330110', 'pid': '330100', 'name': '余杭区'}, {'id': '330111', 'pid': '330100', 'name': '富阳区'}, {'id': '330112', 'pid': '330100', 'name': '临安区'}, {'id': '330122', 'pid': '330100', 'name': '桐庐县'}, {'id': '330127', 'pid': '330100', 'name': '淳安县'}, {'id': '330182', 'pid': '330100', 'name': '建德市'}, {'id': '330101', 'pid': '330100', 'name': '市辖区'}, {'id': '330113', 'pid': '330100', 'name': '临平区'}, {'id': '330114', 'pid': '330100', 'name': '钱塘区'} ]}, { + 'id': '330200', + 'pid': '330000', + 'name': '宁波市', + 'children': [ {'id': '330203', 'pid': '330200', 'name': '海曙区'}, {'id': '330205', 'pid': '330200', 'name': '江北区'}, {'id': '330206', 'pid': '330200', 'name': '北仑区'}, {'id': '330211', 'pid': '330200', 'name': '镇海区'}, {'id': '330212', 'pid': '330200', 'name': '鄞州区'}, {'id': '330213', 'pid': '330200', 'name': '奉化区'}, {'id': '330225', 'pid': '330200', 'name': '象山县'}, {'id': '330226', 'pid': '330200', 'name': '宁海县'}, {'id': '330281', 'pid': '330200', 'name': '余姚市'}, {'id': '330282', 'pid': '330200', 'name': '慈溪市'}, {'id': '330201', 'pid': '330200', 'name': '市辖区'} ], + }, {'id': '330300', 'pid': '330000', 'name': '温州市', 'children': [ {'id': '330302', 'pid': '330300', 'name': '鹿城区'}, {'id': '330303', 'pid': '330300', 'name': '龙湾区'}, {'id': '330304', 'pid': '330300', 'name': '瓯海区'}, {'id': '330305', 'pid': '330300', 'name': '洞头区'}, {'id': '330324', 'pid': '330300', 'name': '永嘉县'}, {'id': '330326', 'pid': '330300', 'name': '平阳县'}, {'id': '330327', 'pid': '330300', 'name': '苍南县'}, {'id': '330328', 'pid': '330300', 'name': '文成县'}, {'id': '330329', 'pid': '330300', 'name': '泰顺县'}, {'id': '330381', 'pid': '330300', 'name': '瑞安市'}, {'id': '330382', 'pid': '330300', 'name': '乐清市'}, {'id': '330383', 'pid': '330300', 'name': '龙港市'}, {'id': '330301', 'pid': '330300', 'name': '市辖区'}, {'id': '330371', 'pid': '330300', 'name': '温州经济技术开发区'} ]}, { + 'id': '330400', + 'pid': '330000', + 'name': '嘉兴市', + 'children': [ {'id': '330402', 'pid': '330400', 'name': '南湖区'}, {'id': '330411', 'pid': '330400', 'name': '秀洲区'}, {'id': '330421', 'pid': '330400', 'name': '嘉善县'}, {'id': '330424', 'pid': '330400', 'name': '海盐县'}, {'id': '330481', 'pid': '330400', 'name': '海宁市'}, {'id': '330482', 'pid': '330400', 'name': '平湖市'}, {'id': '330483', 'pid': '330400', 'name': '桐乡市'}, {'id': '330401', 'pid': '330400', 'name': '市辖区'} ], + }, {'id': '330500', 'pid': '330000', 'name': '湖州市', 'children': [ {'id': '330502', 'pid': '330500', 'name': '吴兴区'}, {'id': '330503', 'pid': '330500', 'name': '南浔区'}, {'id': '330521', 'pid': '330500', 'name': '德清县'}, {'id': '330522', 'pid': '330500', 'name': '长兴县'}, {'id': '330523', 'pid': '330500', 'name': '安吉县'}, {'id': '330501', 'pid': '330500', 'name': '市辖区'} ]}, {'id': '330600', 'pid': '330000', 'name': '绍兴市', 'children': [ {'id': '330602', 'pid': '330600', 'name': '越城区'}, {'id': '330603', 'pid': '330600', 'name': '柯桥区'}, {'id': '330604', 'pid': '330600', 'name': '上虞区'}, {'id': '330624', 'pid': '330600', 'name': '新昌县'}, {'id': '330681', 'pid': '330600', 'name': '诸暨市'}, {'id': '330683', 'pid': '330600', 'name': '嵊州市'}, {'id': '330601', 'pid': '330600', 'name': '市辖区'} ]}, { + 'id': '330700', + 'pid': '330000', + 'name': '金华市', + 'children': [ {'id': '330702', 'pid': '330700', 'name': '婺城区'}, {'id': '330703', 'pid': '330700', 'name': '金东区'}, {'id': '330723', 'pid': '330700', 'name': '武义县'}, {'id': '330726', 'pid': '330700', 'name': '浦江县'}, {'id': '330727', 'pid': '330700', 'name': '磐安县'}, {'id': '330781', 'pid': '330700', 'name': '兰溪市'}, {'id': '330782', 'pid': '330700', 'name': '义乌市'}, {'id': '330783', 'pid': '330700', 'name': '东阳市'}, {'id': '330784', 'pid': '330700', 'name': '永康市'}, {'id': '330701', 'pid': '330700', 'name': '市辖区'} ], + }, {'id': '330800', 'pid': '330000', 'name': '衢州市', 'children': [ {'id': '330802', 'pid': '330800', 'name': '柯城区'}, {'id': '330803', 'pid': '330800', 'name': '衢江区'}, {'id': '330822', 'pid': '330800', 'name': '常山县'}, {'id': '330824', 'pid': '330800', 'name': '开化县'}, {'id': '330825', 'pid': '330800', 'name': '龙游县'}, {'id': '330881', 'pid': '330800', 'name': '江山市'}, {'id': '330801', 'pid': '330800', 'name': '市辖区'} ]}, {'id': '330900', 'pid': '330000', 'name': '舟山市', 'children': [ {'id': '330902', 'pid': '330900', 'name': '定海区'}, {'id': '330903', 'pid': '330900', 'name': '普陀区'}, {'id': '330921', 'pid': '330900', 'name': '岱山县'}, {'id': '330922', 'pid': '330900', 'name': '嵊泗县'}, {'id': '330901', 'pid': '330900', 'name': '市辖区'} ]}, { + 'id': '331000', + 'pid': '330000', + 'name': '台州市', + 'children': [ {'id': '331002', 'pid': '331000', 'name': '椒江区'}, {'id': '331003', 'pid': '331000', 'name': '黄岩区'}, {'id': '331004', 'pid': '331000', 'name': '路桥区'}, {'id': '331022', 'pid': '331000', 'name': '三门县'}, {'id': '331023', 'pid': '331000', 'name': '天台县'}, {'id': '331024', 'pid': '331000', 'name': '仙居县'}, {'id': '331081', 'pid': '331000', 'name': '温岭市'}, {'id': '331082', 'pid': '331000', 'name': '临海市'}, {'id': '331083', 'pid': '331000', 'name': '玉环市'}, {'id': '331001', 'pid': '331000', 'name': '市辖区'} ], + }, {'id': '331100', 'pid': '330000', 'name': '丽水市', 'children': [ {'id': '331102', 'pid': '331100', 'name': '莲都区'}, {'id': '331121', 'pid': '331100', 'name': '青田县'}, {'id': '331122', 'pid': '331100', 'name': '缙云县'}, {'id': '331123', 'pid': '331100', 'name': '遂昌县'}, {'id': '331124', 'pid': '331100', 'name': '松阳县'}, {'id': '331125', 'pid': '331100', 'name': '云和县'}, {'id': '331126', 'pid': '331100', 'name': '庆元县'}, {'id': '331127', 'pid': '331100', 'name': '景宁畲族自治县'}, {'id': '331181', 'pid': '331100', 'name': '龙泉市'}, {'id': '331101', 'pid': '331100', 'name': '市辖区'} ]} ], +}, { + 'id': '340000', + 'pid': '0', + 'name': '安徽省', + 'children': [ {'id': '340100', 'pid': '340000', 'name': '合肥市', 'children': [ {'id': '340102', 'pid': '340100', 'name': '瑶海区'}, {'id': '340103', 'pid': '340100', 'name': '庐阳区'}, {'id': '340104', 'pid': '340100', 'name': '蜀山区'}, {'id': '340111', 'pid': '340100', 'name': '包河区'}, {'id': '340121', 'pid': '340100', 'name': '长丰县'}, {'id': '340122', 'pid': '340100', 'name': '肥东县'}, {'id': '340123', 'pid': '340100', 'name': '肥西县'}, {'id': '340124', 'pid': '340100', 'name': '庐江县'}, {'id': '340181', 'pid': '340100', 'name': '巢湖市'}, {'id': '340101', 'pid': '340100', 'name': '市辖区'}, {'id': '340171', 'pid': '340100', 'name': '合肥高新技术产业开发区'}, {'id': '340172', 'pid': '340100', 'name': '合肥经济技术开发区'}, {'id': '340173', 'pid': '340100', 'name': '合肥新站高新技术产业开发区'} ]}, { + 'id': '340200', + 'pid': '340000', + 'name': '芜湖市', + 'children': [ {'id': '340202', 'pid': '340200', 'name': '镜湖区'}, {'id': '340207', 'pid': '340200', 'name': '鸠江区'}, {'id': '340209', 'pid': '340200', 'name': '弋江区'}, {'id': '340210', 'pid': '340200', 'name': '湾沚区'}, {'id': '340212', 'pid': '340200', 'name': '繁昌区'}, {'id': '340223', 'pid': '340200', 'name': '南陵县'}, {'id': '340281', 'pid': '340200', 'name': '无为市'}, {'id': '340201', 'pid': '340200', 'name': '市辖区'}, {'id': '340271', 'pid': '340200', 'name': '芜湖经济技术开发区'}, {'id': '340272', 'pid': '340200', 'name': '安徽芜湖三山经济开发区'} ], + }, {'id': '340300', 'pid': '340000', 'name': '蚌埠市', 'children': [ {'id': '340302', 'pid': '340300', 'name': '龙子湖区'}, {'id': '340303', 'pid': '340300', 'name': '蚌山区'}, {'id': '340304', 'pid': '340300', 'name': '禹会区'}, {'id': '340311', 'pid': '340300', 'name': '淮上区'}, {'id': '340321', 'pid': '340300', 'name': '怀远县'}, {'id': '340322', 'pid': '340300', 'name': '五河县'}, {'id': '340323', 'pid': '340300', 'name': '固镇县'}, {'id': '340301', 'pid': '340300', 'name': '市辖区'}, {'id': '340371', 'pid': '340300', 'name': '蚌埠市高新技术开发区'}, {'id': '340372', 'pid': '340300', 'name': '蚌埠市经济开发区'} ]}, { + 'id': '340400', + 'pid': '340000', + 'name': '淮南市', + 'children': [ {'id': '340402', 'pid': '340400', 'name': '大通区'}, {'id': '340403', 'pid': '340400', 'name': '田家庵区'}, {'id': '340404', 'pid': '340400', 'name': '谢家集区'}, {'id': '340405', 'pid': '340400', 'name': '八公山区'}, {'id': '340406', 'pid': '340400', 'name': '潘集区'}, {'id': '340421', 'pid': '340400', 'name': '凤台县'}, {'id': '340422', 'pid': '340400', 'name': '寿县'}, {'id': '340401', 'pid': '340400', 'name': '市辖区'} ], + }, {'id': '340500', 'pid': '340000', 'name': '马鞍山市', 'children': [ {'id': '340503', 'pid': '340500', 'name': '花山区'}, {'id': '340504', 'pid': '340500', 'name': '雨山区'}, {'id': '340506', 'pid': '340500', 'name': '博望区'}, {'id': '340521', 'pid': '340500', 'name': '当涂县'}, {'id': '340522', 'pid': '340500', 'name': '含山县'}, {'id': '340523', 'pid': '340500', 'name': '和县'}, {'id': '340501', 'pid': '340500', 'name': '市辖区'} ]}, {'id': '340600', 'pid': '340000', 'name': '淮北市', 'children': [ {'id': '340602', 'pid': '340600', 'name': '杜集区'}, {'id': '340603', 'pid': '340600', 'name': '相山区'}, {'id': '340604', 'pid': '340600', 'name': '烈山区'}, {'id': '340621', 'pid': '340600', 'name': '濉溪县'}, {'id': '340601', 'pid': '340600', 'name': '市辖区'} ]}, { + 'id': '340700', + 'pid': '340000', + 'name': '铜陵市', + 'children': [ {'id': '340705', 'pid': '340700', 'name': '铜官区'}, {'id': '340706', 'pid': '340700', 'name': '义安区'}, {'id': '340711', 'pid': '340700', 'name': '郊区'}, {'id': '340722', 'pid': '340700', 'name': '枞阳县'}, {'id': '340701', 'pid': '340700', 'name': '市辖区'} ], + }, {'id': '340800', 'pid': '340000', 'name': '安庆市', 'children': [ {'id': '340802', 'pid': '340800', 'name': '迎江区'}, {'id': '340803', 'pid': '340800', 'name': '大观区'}, {'id': '340811', 'pid': '340800', 'name': '宜秀区'}, {'id': '340822', 'pid': '340800', 'name': '怀宁县'}, {'id': '340825', 'pid': '340800', 'name': '太湖县'}, {'id': '340826', 'pid': '340800', 'name': '宿松县'}, {'id': '340827', 'pid': '340800', 'name': '望江县'}, {'id': '340828', 'pid': '340800', 'name': '岳西县'}, {'id': '340881', 'pid': '340800', 'name': '桐城市'}, {'id': '340882', 'pid': '340800', 'name': '潜山市'}, {'id': '340801', 'pid': '340800', 'name': '市辖区'}, {'id': '340871', 'pid': '340800', 'name': '安徽安庆经济开发区'} ]}, { + 'id': '341000', + 'pid': '340000', + 'name': '黄山市', + 'children': [ {'id': '341002', 'pid': '341000', 'name': '屯溪区'}, {'id': '341003', 'pid': '341000', 'name': '黄山区'}, {'id': '341004', 'pid': '341000', 'name': '徽州区'}, {'id': '341021', 'pid': '341000', 'name': '歙县'}, {'id': '341022', 'pid': '341000', 'name': '休宁县'}, {'id': '341023', 'pid': '341000', 'name': '黟县'}, {'id': '341024', 'pid': '341000', 'name': '祁门县'}, {'id': '341001', 'pid': '341000', 'name': '市辖区'} ], + }, {'id': '341100', 'pid': '340000', 'name': '滁州市', 'children': [ {'id': '341102', 'pid': '341100', 'name': '琅琊区'}, {'id': '341103', 'pid': '341100', 'name': '南谯区'}, {'id': '341122', 'pid': '341100', 'name': '来安县'}, {'id': '341124', 'pid': '341100', 'name': '全椒县'}, {'id': '341125', 'pid': '341100', 'name': '定远县'}, {'id': '341126', 'pid': '341100', 'name': '凤阳县'}, {'id': '341181', 'pid': '341100', 'name': '天长市'}, {'id': '341182', 'pid': '341100', 'name': '明光市'}, {'id': '341101', 'pid': '341100', 'name': '市辖区'}, {'id': '341171', 'pid': '341100', 'name': '中新苏滁高新技术产业开发区'}, {'id': '341172', 'pid': '341100', 'name': '滁州经济技术开发区'} ]}, { + 'id': '341200', + 'pid': '340000', + 'name': '阜阳市', + 'children': [ {'id': '341202', 'pid': '341200', 'name': '颍州区'}, {'id': '341203', 'pid': '341200', 'name': '颍东区'}, {'id': '341204', 'pid': '341200', 'name': '颍泉区'}, {'id': '341221', 'pid': '341200', 'name': '临泉县'}, {'id': '341222', 'pid': '341200', 'name': '太和县'}, {'id': '341225', 'pid': '341200', 'name': '阜南县'}, {'id': '341226', 'pid': '341200', 'name': '颍上县'}, {'id': '341282', 'pid': '341200', 'name': '界首市'}, {'id': '341201', 'pid': '341200', 'name': '市辖区'}, {'id': '341271', 'pid': '341200', 'name': '阜阳合肥现代产业园区'}, {'id': '341272', 'pid': '341200', 'name': '阜阳经济技术开发区'} ], + }, {'id': '341300', 'pid': '340000', 'name': '宿州市', 'children': [ {'id': '341302', 'pid': '341300', 'name': '埇桥区'}, {'id': '341321', 'pid': '341300', 'name': '砀山县'}, {'id': '341322', 'pid': '341300', 'name': '萧县'}, {'id': '341323', 'pid': '341300', 'name': '灵璧县'}, {'id': '341324', 'pid': '341300', 'name': '泗县'}, {'id': '341301', 'pid': '341300', 'name': '市辖区'}, {'id': '341371', 'pid': '341300', 'name': '宿州马鞍山现代产业园区'}, {'id': '341372', 'pid': '341300', 'name': '宿州经济技术开发区'} ]}, { + 'id': '341500', + 'pid': '340000', + 'name': '六安市', + 'children': [ {'id': '341502', 'pid': '341500', 'name': '金安区'}, {'id': '341503', 'pid': '341500', 'name': '裕安区'}, {'id': '341504', 'pid': '341500', 'name': '叶集区'}, {'id': '341522', 'pid': '341500', 'name': '霍邱县'}, {'id': '341523', 'pid': '341500', 'name': '舒城县'}, {'id': '341524', 'pid': '341500', 'name': '金寨县'}, {'id': '341525', 'pid': '341500', 'name': '霍山县'}, {'id': '341501', 'pid': '341500', 'name': '市辖区'} ], + }, {'id': '341600', 'pid': '340000', 'name': '亳州市', 'children': [ {'id': '341602', 'pid': '341600', 'name': '谯城区'}, {'id': '341621', 'pid': '341600', 'name': '涡阳县'}, {'id': '341622', 'pid': '341600', 'name': '蒙城县'}, {'id': '341623', 'pid': '341600', 'name': '利辛县'}, {'id': '341601', 'pid': '341600', 'name': '市辖区'} ]}, {'id': '341700', 'pid': '340000', 'name': '池州市', 'children': [ {'id': '341702', 'pid': '341700', 'name': '贵池区'}, {'id': '341721', 'pid': '341700', 'name': '东至县'}, {'id': '341722', 'pid': '341700', 'name': '石台县'}, {'id': '341723', 'pid': '341700', 'name': '青阳县'}, {'id': '341701', 'pid': '341700', 'name': '市辖区'} ]}, { + 'id': '341800', + 'pid': '340000', + 'name': '宣城市', + 'children': [ {'id': '341802', 'pid': '341800', 'name': '宣州区'}, {'id': '341821', 'pid': '341800', 'name': '郎溪县'}, {'id': '341823', 'pid': '341800', 'name': '泾县'}, {'id': '341824', 'pid': '341800', 'name': '绩溪县'}, {'id': '341825', 'pid': '341800', 'name': '旌德县'}, {'id': '341881', 'pid': '341800', 'name': '宁国市'}, {'id': '341882', 'pid': '341800', 'name': '广德市'}, {'id': '341801', 'pid': '341800', 'name': '市辖区'}, {'id': '341871', 'pid': '341800', 'name': '宣城市经济开发区'} ], + } ], +}, { + 'id': '350000', + 'pid': '0', + 'name': '福建省', + 'children': [ {'id': '350100', 'pid': '350000', 'name': '福州市', 'children': [ {'id': '350102', 'pid': '350100', 'name': '鼓楼区'}, {'id': '350103', 'pid': '350100', 'name': '台江区'}, {'id': '350104', 'pid': '350100', 'name': '仓山区'}, {'id': '350105', 'pid': '350100', 'name': '马尾区'}, {'id': '350111', 'pid': '350100', 'name': '晋安区'}, {'id': '350112', 'pid': '350100', 'name': '长乐区'}, {'id': '350121', 'pid': '350100', 'name': '闽侯县'}, {'id': '350122', 'pid': '350100', 'name': '连江县'}, {'id': '350123', 'pid': '350100', 'name': '罗源县'}, {'id': '350124', 'pid': '350100', 'name': '闽清县'}, {'id': '350125', 'pid': '350100', 'name': '永泰县'}, {'id': '350128', 'pid': '350100', 'name': '平潭县'}, {'id': '350181', 'pid': '350100', 'name': '福清市'}, {'id': '350101', 'pid': '350100', 'name': '市辖区'} ]}, { + 'id': '350200', + 'pid': '350000', + 'name': '厦门市', + 'children': [ {'id': '350203', 'pid': '350200', 'name': '思明区'}, {'id': '350205', 'pid': '350200', 'name': '海沧区'}, {'id': '350206', 'pid': '350200', 'name': '湖里区'}, {'id': '350211', 'pid': '350200', 'name': '集美区'}, {'id': '350212', 'pid': '350200', 'name': '同安区'}, {'id': '350213', 'pid': '350200', 'name': '翔安区'}, {'id': '350201', 'pid': '350200', 'name': '市辖区'} ], + }, {'id': '350300', 'pid': '350000', 'name': '莆田市', 'children': [ {'id': '350302', 'pid': '350300', 'name': '城厢区'}, {'id': '350303', 'pid': '350300', 'name': '涵江区'}, {'id': '350304', 'pid': '350300', 'name': '荔城区'}, {'id': '350305', 'pid': '350300', 'name': '秀屿区'}, {'id': '350322', 'pid': '350300', 'name': '仙游县'}, {'id': '350301', 'pid': '350300', 'name': '市辖区'} ]}, { + 'id': '350400', + 'pid': '350000', + 'name': '三明市', + 'children': [ {'id': '350402', 'pid': '350400', 'name': '梅列区'}, {'id': '350403', 'pid': '350400', 'name': '三元区'}, {'id': '350421', 'pid': '350400', 'name': '明溪县'}, {'id': '350423', 'pid': '350400', 'name': '清流县'}, {'id': '350424', 'pid': '350400', 'name': '宁化县'}, {'id': '350425', 'pid': '350400', 'name': '大田县'}, {'id': '350426', 'pid': '350400', 'name': '尤溪县'}, {'id': '350427', 'pid': '350400', 'name': '沙县'}, {'id': '350428', 'pid': '350400', 'name': '将乐县'}, {'id': '350429', 'pid': '350400', 'name': '泰宁县'}, {'id': '350430', 'pid': '350400', 'name': '建宁县'}, {'id': '350481', 'pid': '350400', 'name': '永安市'}, {'id': '350401', 'pid': '350400', 'name': '市辖区'}, {'id': '350404', 'pid': '350400', 'name': '三元区'}, {'id': '350405', 'pid': '350400', 'name': '沙县区'} ], + }, {'id': '350500', 'pid': '350000', 'name': '泉州市', 'children': [ {'id': '350502', 'pid': '350500', 'name': '鲤城区'}, {'id': '350503', 'pid': '350500', 'name': '丰泽区'}, {'id': '350504', 'pid': '350500', 'name': '洛江区'}, {'id': '350505', 'pid': '350500', 'name': '泉港区'}, {'id': '350521', 'pid': '350500', 'name': '惠安县'}, {'id': '350524', 'pid': '350500', 'name': '安溪县'}, {'id': '350525', 'pid': '350500', 'name': '永春县'}, {'id': '350526', 'pid': '350500', 'name': '德化县'}, {'id': '350527', 'pid': '350500', 'name': '金门县'}, {'id': '350581', 'pid': '350500', 'name': '石狮市'}, {'id': '350582', 'pid': '350500', 'name': '晋江市'}, {'id': '350583', 'pid': '350500', 'name': '南安市'}, {'id': '350501', 'pid': '350500', 'name': '市辖区'} ]}, { + 'id': '350600', + 'pid': '350000', + 'name': '漳州市', + 'children': [ {'id': '350602', 'pid': '350600', 'name': '芗城区'}, {'id': '350603', 'pid': '350600', 'name': '龙文区'}, {'id': '350622', 'pid': '350600', 'name': '云霄县'}, {'id': '350623', 'pid': '350600', 'name': '漳浦县'}, {'id': '350624', 'pid': '350600', 'name': '诏安县'}, {'id': '350625', 'pid': '350600', 'name': '长泰县'}, {'id': '350626', 'pid': '350600', 'name': '东山县'}, {'id': '350627', 'pid': '350600', 'name': '南靖县'}, {'id': '350628', 'pid': '350600', 'name': '平和县'}, {'id': '350629', 'pid': '350600', 'name': '华安县'}, {'id': '350681', 'pid': '350600', 'name': '龙海市'}, {'id': '350601', 'pid': '350600', 'name': '市辖区'}, {'id': '350604', 'pid': '350600', 'name': '龙海区'}, {'id': '350605', 'pid': '350600', 'name': '长泰区'} ], + }, {'id': '350700', 'pid': '350000', 'name': '南平市', 'children': [ {'id': '350702', 'pid': '350700', 'name': '延平区'}, {'id': '350703', 'pid': '350700', 'name': '建阳区'}, {'id': '350721', 'pid': '350700', 'name': '顺昌县'}, {'id': '350722', 'pid': '350700', 'name': '浦城县'}, {'id': '350723', 'pid': '350700', 'name': '光泽县'}, {'id': '350724', 'pid': '350700', 'name': '松溪县'}, {'id': '350725', 'pid': '350700', 'name': '政和县'}, {'id': '350781', 'pid': '350700', 'name': '邵武市'}, {'id': '350782', 'pid': '350700', 'name': '武夷山市'}, {'id': '350783', 'pid': '350700', 'name': '建瓯市'}, {'id': '350701', 'pid': '350700', 'name': '市辖区'} ]}, { + 'id': '350800', + 'pid': '350000', + 'name': '龙岩市', + 'children': [ {'id': '350802', 'pid': '350800', 'name': '新罗区'}, {'id': '350803', 'pid': '350800', 'name': '永定区'}, {'id': '350821', 'pid': '350800', 'name': '长汀县'}, {'id': '350823', 'pid': '350800', 'name': '上杭县'}, {'id': '350824', 'pid': '350800', 'name': '武平县'}, {'id': '350825', 'pid': '350800', 'name': '连城县'}, {'id': '350881', 'pid': '350800', 'name': '漳平市'}, {'id': '350801', 'pid': '350800', 'name': '市辖区'} ], + }, {'id': '350900', 'pid': '350000', 'name': '宁德市', 'children': [ {'id': '350902', 'pid': '350900', 'name': '蕉城区'}, {'id': '350921', 'pid': '350900', 'name': '霞浦县'}, {'id': '350922', 'pid': '350900', 'name': '古田县'}, {'id': '350923', 'pid': '350900', 'name': '屏南县'}, {'id': '350924', 'pid': '350900', 'name': '寿宁县'}, {'id': '350925', 'pid': '350900', 'name': '周宁县'}, {'id': '350926', 'pid': '350900', 'name': '柘荣县'}, {'id': '350981', 'pid': '350900', 'name': '福安市'}, {'id': '350982', 'pid': '350900', 'name': '福鼎市'}, {'id': '350901', 'pid': '350900', 'name': '市辖区'} ]} ], +}, { + 'id': '360000', + 'pid': '0', + 'name': '江西省', + 'children': [ {'id': '360100', 'pid': '360000', 'name': '南昌市', 'children': [ {'id': '360102', 'pid': '360100', 'name': '东湖区'}, {'id': '360103', 'pid': '360100', 'name': '西湖区'}, {'id': '360104', 'pid': '360100', 'name': '青云谱区'}, {'id': '360111', 'pid': '360100', 'name': '青山湖区'}, {'id': '360112', 'pid': '360100', 'name': '新建区'}, {'id': '360113', 'pid': '360100', 'name': '红谷滩区'}, {'id': '360121', 'pid': '360100', 'name': '南昌县'}, {'id': '360123', 'pid': '360100', 'name': '安义县'}, {'id': '360124', 'pid': '360100', 'name': '进贤县'}, {'id': '360101', 'pid': '360100', 'name': '市辖区'} ]}, {'id': '360200', 'pid': '360000', 'name': '景德镇市', 'children': [ {'id': '360202', 'pid': '360200', 'name': '昌江区'}, {'id': '360203', 'pid': '360200', 'name': '珠山区'}, {'id': '360222', 'pid': '360200', 'name': '浮梁县'}, {'id': '360281', 'pid': '360200', 'name': '乐平市'}, {'id': '360201', 'pid': '360200', 'name': '市辖区'} ]}, { + 'id': '360300', + 'pid': '360000', + 'name': '萍乡市', + 'children': [ {'id': '360302', 'pid': '360300', 'name': '安源区'}, {'id': '360313', 'pid': '360300', 'name': '湘东区'}, {'id': '360321', 'pid': '360300', 'name': '莲花县'}, {'id': '360322', 'pid': '360300', 'name': '上栗县'}, {'id': '360323', 'pid': '360300', 'name': '芦溪县'}, {'id': '360301', 'pid': '360300', 'name': '市辖区'} ], + }, {'id': '360400', 'pid': '360000', 'name': '九江市', 'children': [ {'id': '360402', 'pid': '360400', 'name': '濂溪区'}, {'id': '360403', 'pid': '360400', 'name': '浔阳区'}, {'id': '360404', 'pid': '360400', 'name': '柴桑区'}, {'id': '360423', 'pid': '360400', 'name': '武宁县'}, {'id': '360424', 'pid': '360400', 'name': '修水县'}, {'id': '360425', 'pid': '360400', 'name': '永修县'}, {'id': '360426', 'pid': '360400', 'name': '德安县'}, {'id': '360428', 'pid': '360400', 'name': '都昌县'}, {'id': '360429', 'pid': '360400', 'name': '湖口县'}, {'id': '360430', 'pid': '360400', 'name': '彭泽县'}, {'id': '360481', 'pid': '360400', 'name': '瑞昌市'}, {'id': '360482', 'pid': '360400', 'name': '共青城市'}, {'id': '360483', 'pid': '360400', 'name': '庐山市'}, {'id': '360401', 'pid': '360400', 'name': '市辖区'} ]}, { + 'id': '360500', + 'pid': '360000', + 'name': '新余市', + 'children': [ {'id': '360502', 'pid': '360500', 'name': '渝水区'}, {'id': '360521', 'pid': '360500', 'name': '分宜县'}, {'id': '360501', 'pid': '360500', 'name': '市辖区'} ], + }, {'id': '360600', 'pid': '360000', 'name': '鹰潭市', 'children': [ {'id': '360602', 'pid': '360600', 'name': '月湖区'}, {'id': '360603', 'pid': '360600', 'name': '余江区'}, {'id': '360681', 'pid': '360600', 'name': '贵溪市'}, {'id': '360601', 'pid': '360600', 'name': '市辖区'} ]}, { + 'id': '360700', + 'pid': '360000', + 'name': '赣州市', + 'children': [ {'id': '360702', 'pid': '360700', 'name': '章贡区'}, {'id': '360703', 'pid': '360700', 'name': '南康区'}, {'id': '360704', 'pid': '360700', 'name': '赣县区'}, {'id': '360722', 'pid': '360700', 'name': '信丰县'}, {'id': '360723', 'pid': '360700', 'name': '大余县'}, {'id': '360724', 'pid': '360700', 'name': '上犹县'}, {'id': '360725', 'pid': '360700', 'name': '崇义县'}, {'id': '360726', 'pid': '360700', 'name': '安远县'}, {'id': '360728', 'pid': '360700', 'name': '定南县'}, {'id': '360729', 'pid': '360700', 'name': '全南县'}, {'id': '360730', 'pid': '360700', 'name': '宁都县'}, {'id': '360731', 'pid': '360700', 'name': '于都县'}, {'id': '360732', 'pid': '360700', 'name': '兴国县'}, {'id': '360733', 'pid': '360700', 'name': '会昌县'}, {'id': '360734', 'pid': '360700', 'name': '寻乌县'}, {'id': '360735', 'pid': '360700', 'name': '石城县'}, {'id': '360781', 'pid': '360700', 'name': '瑞金市'}, {'id': '360783', 'pid': '360700', 'name': '龙南市'}, { + 'id': '360701', + 'pid': '360700', + 'name': '市辖区', + } ], + }, {'id': '360800', 'pid': '360000', 'name': '吉安市', 'children': [ {'id': '360802', 'pid': '360800', 'name': '吉州区'}, {'id': '360803', 'pid': '360800', 'name': '青原区'}, {'id': '360821', 'pid': '360800', 'name': '吉安县'}, {'id': '360822', 'pid': '360800', 'name': '吉水县'}, {'id': '360823', 'pid': '360800', 'name': '峡江县'}, {'id': '360824', 'pid': '360800', 'name': '新干县'}, {'id': '360825', 'pid': '360800', 'name': '永丰县'}, {'id': '360826', 'pid': '360800', 'name': '泰和县'}, {'id': '360827', 'pid': '360800', 'name': '遂川县'}, {'id': '360828', 'pid': '360800', 'name': '万安县'}, {'id': '360829', 'pid': '360800', 'name': '安福县'}, {'id': '360830', 'pid': '360800', 'name': '永新县'}, {'id': '360881', 'pid': '360800', 'name': '井冈山市'}, {'id': '360801', 'pid': '360800', 'name': '市辖区'} ]}, { + 'id': '360900', + 'pid': '360000', + 'name': '宜春市', + 'children': [ {'id': '360902', 'pid': '360900', 'name': '袁州区'}, {'id': '360921', 'pid': '360900', 'name': '奉新县'}, {'id': '360922', 'pid': '360900', 'name': '万载县'}, {'id': '360923', 'pid': '360900', 'name': '上高县'}, {'id': '360924', 'pid': '360900', 'name': '宜丰县'}, {'id': '360925', 'pid': '360900', 'name': '靖安县'}, {'id': '360926', 'pid': '360900', 'name': '铜鼓县'}, {'id': '360981', 'pid': '360900', 'name': '丰城市'}, {'id': '360982', 'pid': '360900', 'name': '樟树市'}, {'id': '360983', 'pid': '360900', 'name': '高安市'}, {'id': '360901', 'pid': '360900', 'name': '市辖区'} ], + }, {'id': '361000', 'pid': '360000', 'name': '抚州市', 'children': [ {'id': '361002', 'pid': '361000', 'name': '临川区'}, {'id': '361003', 'pid': '361000', 'name': '东乡区'}, {'id': '361021', 'pid': '361000', 'name': '南城县'}, {'id': '361022', 'pid': '361000', 'name': '黎川县'}, {'id': '361023', 'pid': '361000', 'name': '南丰县'}, {'id': '361024', 'pid': '361000', 'name': '崇仁县'}, {'id': '361025', 'pid': '361000', 'name': '乐安县'}, {'id': '361026', 'pid': '361000', 'name': '宜黄县'}, {'id': '361027', 'pid': '361000', 'name': '金溪县'}, {'id': '361028', 'pid': '361000', 'name': '资溪县'}, {'id': '361030', 'pid': '361000', 'name': '广昌县'}, {'id': '361001', 'pid': '361000', 'name': '市辖区'} ]}, { + 'id': '361100', + 'pid': '360000', + 'name': '上饶市', + 'children': [ {'id': '361102', 'pid': '361100', 'name': '信州区'}, {'id': '361103', 'pid': '361100', 'name': '广丰区'}, {'id': '361104', 'pid': '361100', 'name': '广信区'}, {'id': '361123', 'pid': '361100', 'name': '玉山县'}, {'id': '361124', 'pid': '361100', 'name': '铅山县'}, {'id': '361125', 'pid': '361100', 'name': '横峰县'}, {'id': '361126', 'pid': '361100', 'name': '弋阳县'}, {'id': '361127', 'pid': '361100', 'name': '余干县'}, {'id': '361128', 'pid': '361100', 'name': '鄱阳县'}, {'id': '361129', 'pid': '361100', 'name': '万年县'}, {'id': '361130', 'pid': '361100', 'name': '婺源县'}, {'id': '361181', 'pid': '361100', 'name': '德兴市'}, {'id': '361101', 'pid': '361100', 'name': '市辖区'} ], + } ], +}, { + 'id': '370000', + 'pid': '0', + 'name': '山东省', + 'children': [ {'id': '370100', 'pid': '370000', 'name': '济南市', 'children': [ {'id': '370102', 'pid': '370100', 'name': '历下区'}, {'id': '370103', 'pid': '370100', 'name': '市中区'}, {'id': '370104', 'pid': '370100', 'name': '槐荫区'}, {'id': '370105', 'pid': '370100', 'name': '天桥区'}, {'id': '370112', 'pid': '370100', 'name': '历城区'}, {'id': '370113', 'pid': '370100', 'name': '长清区'}, {'id': '370114', 'pid': '370100', 'name': '章丘区'}, {'id': '370115', 'pid': '370100', 'name': '济阳区'}, {'id': '370116', 'pid': '370100', 'name': '莱芜区'}, {'id': '370117', 'pid': '370100', 'name': '钢城区'}, {'id': '370124', 'pid': '370100', 'name': '平阴县'}, {'id': '370126', 'pid': '370100', 'name': '商河县'}, {'id': '370101', 'pid': '370100', 'name': '市辖区'}, {'id': '370171', 'pid': '370100', 'name': '济南高新技术产业开发区'} ]}, { + 'id': '370200', + 'pid': '370000', + 'name': '青岛市', + 'children': [ {'id': '370202', 'pid': '370200', 'name': '市南区'}, {'id': '370203', 'pid': '370200', 'name': '市北区'}, {'id': '370211', 'pid': '370200', 'name': '黄岛区'}, {'id': '370212', 'pid': '370200', 'name': '崂山区'}, {'id': '370213', 'pid': '370200', 'name': '李沧区'}, {'id': '370214', 'pid': '370200', 'name': '城阳区'}, {'id': '370215', 'pid': '370200', 'name': '即墨区'}, {'id': '370281', 'pid': '370200', 'name': '胶州市'}, {'id': '370283', 'pid': '370200', 'name': '平度市'}, {'id': '370285', 'pid': '370200', 'name': '莱西市'}, {'id': '370201', 'pid': '370200', 'name': '市辖区'}, {'id': '370271', 'pid': '370200', 'name': '青岛高新技术产业开发区'} ], + }, {'id': '370300', 'pid': '370000', 'name': '淄博市', 'children': [ {'id': '370302', 'pid': '370300', 'name': '淄川区'}, {'id': '370303', 'pid': '370300', 'name': '张店区'}, {'id': '370304', 'pid': '370300', 'name': '博山区'}, {'id': '370305', 'pid': '370300', 'name': '临淄区'}, {'id': '370306', 'pid': '370300', 'name': '周村区'}, {'id': '370321', 'pid': '370300', 'name': '桓台县'}, {'id': '370322', 'pid': '370300', 'name': '高青县'}, {'id': '370323', 'pid': '370300', 'name': '沂源县'}, {'id': '370301', 'pid': '370300', 'name': '市辖区'} ]}, { + 'id': '370400', + 'pid': '370000', + 'name': '枣庄市', + 'children': [ {'id': '370402', 'pid': '370400', 'name': '市中区'}, {'id': '370403', 'pid': '370400', 'name': '薛城区'}, {'id': '370404', 'pid': '370400', 'name': '峄城区'}, {'id': '370405', 'pid': '370400', 'name': '台儿庄区'}, {'id': '370406', 'pid': '370400', 'name': '山亭区'}, {'id': '370481', 'pid': '370400', 'name': '滕州市'}, {'id': '370401', 'pid': '370400', 'name': '市辖区'} ], + }, {'id': '370500', 'pid': '370000', 'name': '东营市', 'children': [ {'id': '370502', 'pid': '370500', 'name': '东营区'}, {'id': '370503', 'pid': '370500', 'name': '河口区'}, {'id': '370505', 'pid': '370500', 'name': '垦利区'}, {'id': '370522', 'pid': '370500', 'name': '利津县'}, {'id': '370523', 'pid': '370500', 'name': '广饶县'}, {'id': '370501', 'pid': '370500', 'name': '市辖区'}, {'id': '370571', 'pid': '370500', 'name': '东营经济技术开发区'}, {'id': '370572', 'pid': '370500', 'name': '东营港经济开发区'} ]}, { + 'id': '370600', + 'pid': '370000', + 'name': '烟台市', + 'children': [ {'id': '370602', 'pid': '370600', 'name': '芝罘区'}, {'id': '370611', 'pid': '370600', 'name': '福山区'}, {'id': '370612', 'pid': '370600', 'name': '牟平区'}, {'id': '370613', 'pid': '370600', 'name': '莱山区'}, {'id': '370614', 'pid': '370600', 'name': '蓬莱区'}, {'id': '370681', 'pid': '370600', 'name': '龙口市'}, {'id': '370682', 'pid': '370600', 'name': '莱阳市'}, {'id': '370683', 'pid': '370600', 'name': '莱州市'}, {'id': '370685', 'pid': '370600', 'name': '招远市'}, {'id': '370686', 'pid': '370600', 'name': '栖霞市'}, {'id': '370687', 'pid': '370600', 'name': '海阳市'}, {'id': '370601', 'pid': '370600', 'name': '市辖区'}, {'id': '370671', 'pid': '370600', 'name': '烟台高新技术产业开发区'}, {'id': '370672', 'pid': '370600', 'name': '烟台经济技术开发区'} ], + }, {'id': '370700', 'pid': '370000', 'name': '潍坊市', 'children': [ {'id': '370702', 'pid': '370700', 'name': '潍城区'}, {'id': '370703', 'pid': '370700', 'name': '寒亭区'}, {'id': '370704', 'pid': '370700', 'name': '坊子区'}, {'id': '370705', 'pid': '370700', 'name': '奎文区'}, {'id': '370724', 'pid': '370700', 'name': '临朐县'}, {'id': '370725', 'pid': '370700', 'name': '昌乐县'}, {'id': '370781', 'pid': '370700', 'name': '青州市'}, {'id': '370782', 'pid': '370700', 'name': '诸城市'}, {'id': '370783', 'pid': '370700', 'name': '寿光市'}, {'id': '370784', 'pid': '370700', 'name': '安丘市'}, {'id': '370785', 'pid': '370700', 'name': '高密市'}, {'id': '370786', 'pid': '370700', 'name': '昌邑市'}, {'id': '370701', 'pid': '370700', 'name': '市辖区'}, {'id': '370772', 'pid': '370700', 'name': '潍坊滨海经济技术开发区'} ]}, { + 'id': '370800', + 'pid': '370000', + 'name': '济宁市', + 'children': [ {'id': '370811', 'pid': '370800', 'name': '任城区'}, {'id': '370812', 'pid': '370800', 'name': '兖州区'}, {'id': '370826', 'pid': '370800', 'name': '微山县'}, {'id': '370827', 'pid': '370800', 'name': '鱼台县'}, {'id': '370828', 'pid': '370800', 'name': '金乡县'}, {'id': '370829', 'pid': '370800', 'name': '嘉祥县'}, {'id': '370830', 'pid': '370800', 'name': '汶上县'}, {'id': '370831', 'pid': '370800', 'name': '泗水县'}, {'id': '370832', 'pid': '370800', 'name': '梁山县'}, {'id': '370881', 'pid': '370800', 'name': '曲阜市'}, {'id': '370883', 'pid': '370800', 'name': '邹城市'}, {'id': '370801', 'pid': '370800', 'name': '市辖区'}, {'id': '370871', 'pid': '370800', 'name': '济宁高新技术产业开发区'} ], + }, {'id': '370900', 'pid': '370000', 'name': '泰安市', 'children': [ {'id': '370902', 'pid': '370900', 'name': '泰山区'}, {'id': '370911', 'pid': '370900', 'name': '岱岳区'}, {'id': '370921', 'pid': '370900', 'name': '宁阳县'}, {'id': '370923', 'pid': '370900', 'name': '东平县'}, {'id': '370982', 'pid': '370900', 'name': '新泰市'}, {'id': '370983', 'pid': '370900', 'name': '肥城市'}, {'id': '370901', 'pid': '370900', 'name': '市辖区'} ]}, {'id': '371000', 'pid': '370000', 'name': '威海市', 'children': [ {'id': '371002', 'pid': '371000', 'name': '环翠区'}, {'id': '371003', 'pid': '371000', 'name': '文登区'}, {'id': '371082', 'pid': '371000', 'name': '荣成市'}, {'id': '371083', 'pid': '371000', 'name': '乳山市'}, {'id': '371001', 'pid': '371000', 'name': '市辖区'}, {'id': '371071', 'pid': '371000', 'name': '威海火炬高技术产业开发区'}, {'id': '371072', 'pid': '371000', 'name': '威海经济技术开发区'}, {'id': '371073', 'pid': '371000', 'name': '威海临港经济技术开发区'} ]}, { + 'id': '371100', + 'pid': '370000', + 'name': '日照市', + 'children': [ {'id': '371102', 'pid': '371100', 'name': '东港区'}, {'id': '371103', 'pid': '371100', 'name': '岚山区'}, {'id': '371121', 'pid': '371100', 'name': '五莲县'}, {'id': '371122', 'pid': '371100', 'name': '莒县'}, {'id': '371101', 'pid': '371100', 'name': '市辖区'}, {'id': '371171', 'pid': '371100', 'name': '日照经济技术开发区'} ], + }, {'id': '371300', 'pid': '370000', 'name': '临沂市', 'children': [ {'id': '371302', 'pid': '371300', 'name': '兰山区'}, {'id': '371311', 'pid': '371300', 'name': '罗庄区'}, {'id': '371312', 'pid': '371300', 'name': '河东区'}, {'id': '371321', 'pid': '371300', 'name': '沂南县'}, {'id': '371322', 'pid': '371300', 'name': '郯城县'}, {'id': '371323', 'pid': '371300', 'name': '沂水县'}, {'id': '371324', 'pid': '371300', 'name': '兰陵县'}, {'id': '371325', 'pid': '371300', 'name': '费县'}, {'id': '371326', 'pid': '371300', 'name': '平邑县'}, {'id': '371327', 'pid': '371300', 'name': '莒南县'}, {'id': '371328', 'pid': '371300', 'name': '蒙阴县'}, {'id': '371329', 'pid': '371300', 'name': '临沭县'}, {'id': '371301', 'pid': '371300', 'name': '市辖区'}, {'id': '371371', 'pid': '371300', 'name': '临沂高新技术产业开发区'} ]}, { + 'id': '371400', + 'pid': '370000', + 'name': '德州市', + 'children': [ {'id': '371402', 'pid': '371400', 'name': '德城区'}, {'id': '371403', 'pid': '371400', 'name': '陵城区'}, {'id': '371422', 'pid': '371400', 'name': '宁津县'}, {'id': '371423', 'pid': '371400', 'name': '庆云县'}, {'id': '371424', 'pid': '371400', 'name': '临邑县'}, {'id': '371425', 'pid': '371400', 'name': '齐河县'}, {'id': '371426', 'pid': '371400', 'name': '平原县'}, {'id': '371427', 'pid': '371400', 'name': '夏津县'}, {'id': '371428', 'pid': '371400', 'name': '武城县'}, {'id': '371481', 'pid': '371400', 'name': '乐陵市'}, {'id': '371482', 'pid': '371400', 'name': '禹城市'}, {'id': '371401', 'pid': '371400', 'name': '市辖区'}, {'id': '371471', 'pid': '371400', 'name': '德州经济技术开发区'}, {'id': '371472', 'pid': '371400', 'name': '德州运河经济开发区'} ], + }, {'id': '371500', 'pid': '370000', 'name': '聊城市', 'children': [ {'id': '371502', 'pid': '371500', 'name': '东昌府区'}, {'id': '371503', 'pid': '371500', 'name': '茌平区'}, {'id': '371521', 'pid': '371500', 'name': '阳谷县'}, {'id': '371522', 'pid': '371500', 'name': '莘县'}, {'id': '371524', 'pid': '371500', 'name': '东阿县'}, {'id': '371525', 'pid': '371500', 'name': '冠县'}, {'id': '371526', 'pid': '371500', 'name': '高唐县'}, {'id': '371581', 'pid': '371500', 'name': '临清市'}, {'id': '371501', 'pid': '371500', 'name': '市辖区'} ]}, { + 'id': '371600', + 'pid': '370000', + 'name': '滨州市', + 'children': [ {'id': '371602', 'pid': '371600', 'name': '滨城区'}, {'id': '371603', 'pid': '371600', 'name': '沾化区'}, {'id': '371621', 'pid': '371600', 'name': '惠民县'}, {'id': '371622', 'pid': '371600', 'name': '阳信县'}, {'id': '371623', 'pid': '371600', 'name': '无棣县'}, {'id': '371625', 'pid': '371600', 'name': '博兴县'}, {'id': '371681', 'pid': '371600', 'name': '邹平市'}, {'id': '371601', 'pid': '371600', 'name': '市辖区'} ], + }, {'id': '371700', 'pid': '370000', 'name': '菏泽市', 'children': [ {'id': '371702', 'pid': '371700', 'name': '牡丹区'}, {'id': '371703', 'pid': '371700', 'name': '定陶区'}, {'id': '371721', 'pid': '371700', 'name': '曹县'}, {'id': '371722', 'pid': '371700', 'name': '单县'}, {'id': '371723', 'pid': '371700', 'name': '成武县'}, {'id': '371724', 'pid': '371700', 'name': '巨野县'}, {'id': '371725', 'pid': '371700', 'name': '郓城县'}, {'id': '371726', 'pid': '371700', 'name': '鄄城县'}, {'id': '371728', 'pid': '371700', 'name': '东明县'}, {'id': '371701', 'pid': '371700', 'name': '市辖区'}, {'id': '371771', 'pid': '371700', 'name': '菏泽经济技术开发区'}, {'id': '371772', 'pid': '371700', 'name': '菏泽高新技术开发区'} ]} ], +}, { + 'id': '410000', + 'pid': '0', + 'name': '河南省', + 'children': [ {'id': '410100', 'pid': '410000', 'name': '郑州市', 'children': [ {'id': '410102', 'pid': '410100', 'name': '中原区'}, {'id': '410103', 'pid': '410100', 'name': '二七区'}, {'id': '410104', 'pid': '410100', 'name': '管城回族区'}, {'id': '410105', 'pid': '410100', 'name': '金水区'}, {'id': '410106', 'pid': '410100', 'name': '上街区'}, {'id': '410108', 'pid': '410100', 'name': '惠济区'}, {'id': '410122', 'pid': '410100', 'name': '中牟县'}, {'id': '410181', 'pid': '410100', 'name': '巩义市'}, {'id': '410182', 'pid': '410100', 'name': '荥阳市'}, {'id': '410183', 'pid': '410100', 'name': '新密市'}, {'id': '410184', 'pid': '410100', 'name': '新郑市'}, {'id': '410185', 'pid': '410100', 'name': '登封市'}, {'id': '410101', 'pid': '410100', 'name': '市辖区'}, {'id': '410171', 'pid': '410100', 'name': '郑州经济技术开发区'}, {'id': '410172', 'pid': '410100', 'name': '郑州高新技术产业开发区'}, {'id': '410173', 'pid': '410100', 'name': '郑州航空港经济综合实验区'} ]}, { + 'id': '410200', + 'pid': '410000', + 'name': '开封市', + 'children': [ {'id': '410202', 'pid': '410200', 'name': '龙亭区'}, {'id': '410203', 'pid': '410200', 'name': '顺河回族区'}, {'id': '410204', 'pid': '410200', 'name': '鼓楼区'}, {'id': '410205', 'pid': '410200', 'name': '禹王台区'}, {'id': '410212', 'pid': '410200', 'name': '祥符区'}, {'id': '410221', 'pid': '410200', 'name': '杞县'}, {'id': '410222', 'pid': '410200', 'name': '通许县'}, {'id': '410223', 'pid': '410200', 'name': '尉氏县'}, {'id': '410225', 'pid': '410200', 'name': '兰考县'}, {'id': '410201', 'pid': '410200', 'name': '市辖区'} ], + }, { + 'id': '410300', + 'pid': '410000', + 'name': '洛阳市', + 'children': [ {'id': '410302', 'pid': '410300', 'name': '老城区'}, {'id': '410303', 'pid': '410300', 'name': '西工区'}, {'id': '410304', 'pid': '410300', 'name': '瀍河回族区'}, {'id': '410305', 'pid': '410300', 'name': '涧西区'}, {'id': '410306', 'pid': '410300', 'name': '吉利区'}, {'id': '410311', 'pid': '410300', 'name': '洛龙区'}, {'id': '410322', 'pid': '410300', 'name': '孟津县'}, {'id': '410323', 'pid': '410300', 'name': '新安县'}, {'id': '410324', 'pid': '410300', 'name': '栾川县'}, {'id': '410325', 'pid': '410300', 'name': '嵩县'}, {'id': '410326', 'pid': '410300', 'name': '汝阳县'}, {'id': '410327', 'pid': '410300', 'name': '宜阳县'}, {'id': '410328', 'pid': '410300', 'name': '洛宁县'}, {'id': '410329', 'pid': '410300', 'name': '伊川县'}, {'id': '410381', 'pid': '410300', 'name': '偃师市'}, {'id': '410301', 'pid': '410300', 'name': '市辖区'}, {'id': '410307', 'pid': '410300', 'name': '偃师区'}, {'id': '410308', 'pid': '410300', 'name': '孟津区'}, { + 'id': '410371', + 'pid': '410300', + 'name': '洛阳高新技术产业开发区', + } ], + }, {'id': '410400', 'pid': '410000', 'name': '平顶山市', 'children': [ {'id': '410402', 'pid': '410400', 'name': '新华区'}, {'id': '410403', 'pid': '410400', 'name': '卫东区'}, {'id': '410404', 'pid': '410400', 'name': '石龙区'}, {'id': '410411', 'pid': '410400', 'name': '湛河区'}, {'id': '410421', 'pid': '410400', 'name': '宝丰县'}, {'id': '410422', 'pid': '410400', 'name': '叶县'}, {'id': '410423', 'pid': '410400', 'name': '鲁山县'}, {'id': '410425', 'pid': '410400', 'name': '郏县'}, {'id': '410481', 'pid': '410400', 'name': '舞钢市'}, {'id': '410482', 'pid': '410400', 'name': '汝州市'}, {'id': '410401', 'pid': '410400', 'name': '市辖区'}, {'id': '410471', 'pid': '410400', 'name': '平顶山高新技术产业开发区'}, {'id': '410472', 'pid': '410400', 'name': '平顶山市城乡一体化示范区'} ]}, { + 'id': '410500', + 'pid': '410000', + 'name': '安阳市', + 'children': [ {'id': '410502', 'pid': '410500', 'name': '文峰区'}, {'id': '410503', 'pid': '410500', 'name': '北关区'}, {'id': '410505', 'pid': '410500', 'name': '殷都区'}, {'id': '410506', 'pid': '410500', 'name': '龙安区'}, {'id': '410522', 'pid': '410500', 'name': '安阳县'}, {'id': '410523', 'pid': '410500', 'name': '汤阴县'}, {'id': '410526', 'pid': '410500', 'name': '滑县'}, {'id': '410527', 'pid': '410500', 'name': '内黄县'}, {'id': '410581', 'pid': '410500', 'name': '林州市'}, {'id': '410501', 'pid': '410500', 'name': '市辖区'}, {'id': '410571', 'pid': '410500', 'name': '安阳高新技术产业开发区'} ], + }, {'id': '410600', 'pid': '410000', 'name': '鹤壁市', 'children': [ {'id': '410602', 'pid': '410600', 'name': '鹤山区'}, {'id': '410603', 'pid': '410600', 'name': '山城区'}, {'id': '410611', 'pid': '410600', 'name': '淇滨区'}, {'id': '410621', 'pid': '410600', 'name': '浚县'}, {'id': '410622', 'pid': '410600', 'name': '淇县'}, {'id': '410601', 'pid': '410600', 'name': '市辖区'}, {'id': '410671', 'pid': '410600', 'name': '鹤壁经济技术开发区'} ]}, { + 'id': '410700', + 'pid': '410000', + 'name': '新乡市', + 'children': [ {'id': '410702', 'pid': '410700', 'name': '红旗区'}, {'id': '410703', 'pid': '410700', 'name': '卫滨区'}, {'id': '410704', 'pid': '410700', 'name': '凤泉区'}, {'id': '410711', 'pid': '410700', 'name': '牧野区'}, {'id': '410721', 'pid': '410700', 'name': '新乡县'}, {'id': '410724', 'pid': '410700', 'name': '获嘉县'}, {'id': '410725', 'pid': '410700', 'name': '原阳县'}, {'id': '410726', 'pid': '410700', 'name': '延津县'}, {'id': '410727', 'pid': '410700', 'name': '封丘县'}, {'id': '410781', 'pid': '410700', 'name': '卫辉市'}, {'id': '410782', 'pid': '410700', 'name': '辉县市'}, {'id': '410783', 'pid': '410700', 'name': '长垣市'}, {'id': '410701', 'pid': '410700', 'name': '市辖区'}, {'id': '410771', 'pid': '410700', 'name': '新乡高新技术产业开发区'}, {'id': '410772', 'pid': '410700', 'name': '新乡经济技术开发区'}, {'id': '410773', 'pid': '410700', 'name': '新乡市平原城乡一体化示范区'} ], + }, {'id': '410800', 'pid': '410000', 'name': '焦作市', 'children': [ {'id': '410802', 'pid': '410800', 'name': '解放区'}, {'id': '410803', 'pid': '410800', 'name': '中站区'}, {'id': '410804', 'pid': '410800', 'name': '马村区'}, {'id': '410811', 'pid': '410800', 'name': '山阳区'}, {'id': '410821', 'pid': '410800', 'name': '修武县'}, {'id': '410822', 'pid': '410800', 'name': '博爱县'}, {'id': '410823', 'pid': '410800', 'name': '武陟县'}, {'id': '410825', 'pid': '410800', 'name': '温县'}, {'id': '410882', 'pid': '410800', 'name': '沁阳市'}, {'id': '410883', 'pid': '410800', 'name': '孟州市'}, {'id': '410801', 'pid': '410800', 'name': '市辖区'}, {'id': '410871', 'pid': '410800', 'name': '焦作城乡一体化示范区'} ]}, { + 'id': '410900', + 'pid': '410000', + 'name': '濮阳市', + 'children': [ {'id': '410902', 'pid': '410900', 'name': '华龙区'}, {'id': '410922', 'pid': '410900', 'name': '清丰县'}, {'id': '410923', 'pid': '410900', 'name': '南乐县'}, {'id': '410926', 'pid': '410900', 'name': '范县'}, {'id': '410927', 'pid': '410900', 'name': '台前县'}, {'id': '410928', 'pid': '410900', 'name': '濮阳县'}, {'id': '410901', 'pid': '410900', 'name': '市辖区'}, {'id': '410971', 'pid': '410900', 'name': '河南濮阳工业园区'}, {'id': '410972', 'pid': '410900', 'name': '濮阳经济技术开发区'} ], + }, {'id': '411000', 'pid': '410000', 'name': '许昌市', 'children': [ {'id': '411002', 'pid': '411000', 'name': '魏都区'}, {'id': '411003', 'pid': '411000', 'name': '建安区'}, {'id': '411024', 'pid': '411000', 'name': '鄢陵县'}, {'id': '411025', 'pid': '411000', 'name': '襄城县'}, {'id': '411081', 'pid': '411000', 'name': '禹州市'}, {'id': '411082', 'pid': '411000', 'name': '长葛市'}, {'id': '411001', 'pid': '411000', 'name': '市辖区'}, {'id': '411071', 'pid': '411000', 'name': '许昌经济技术开发区'} ]}, {'id': '411100', 'pid': '410000', 'name': '漯河市', 'children': [ {'id': '411102', 'pid': '411100', 'name': '源汇区'}, {'id': '411103', 'pid': '411100', 'name': '郾城区'}, {'id': '411104', 'pid': '411100', 'name': '召陵区'}, {'id': '411121', 'pid': '411100', 'name': '舞阳县'}, {'id': '411122', 'pid': '411100', 'name': '临颍县'}, {'id': '411101', 'pid': '411100', 'name': '市辖区'}, {'id': '411171', 'pid': '411100', 'name': '漯河经济技术开发区'} ]}, { + 'id': '411200', + 'pid': '410000', + 'name': '三门峡市', + 'children': [ {'id': '411202', 'pid': '411200', 'name': '湖滨区'}, {'id': '411203', 'pid': '411200', 'name': '陕州区'}, {'id': '411221', 'pid': '411200', 'name': '渑池县'}, {'id': '411224', 'pid': '411200', 'name': '卢氏县'}, {'id': '411281', 'pid': '411200', 'name': '义马市'}, {'id': '411282', 'pid': '411200', 'name': '灵宝市'}, {'id': '411201', 'pid': '411200', 'name': '市辖区'}, {'id': '411271', 'pid': '411200', 'name': '河南三门峡经济开发区'} ], + }, {'id': '411300', 'pid': '410000', 'name': '南阳市', 'children': [ {'id': '411302', 'pid': '411300', 'name': '宛城区'}, {'id': '411303', 'pid': '411300', 'name': '卧龙区'}, {'id': '411321', 'pid': '411300', 'name': '南召县'}, {'id': '411322', 'pid': '411300', 'name': '方城县'}, {'id': '411323', 'pid': '411300', 'name': '西峡县'}, {'id': '411324', 'pid': '411300', 'name': '镇平县'}, {'id': '411325', 'pid': '411300', 'name': '内乡县'}, {'id': '411326', 'pid': '411300', 'name': '淅川县'}, {'id': '411327', 'pid': '411300', 'name': '社旗县'}, {'id': '411328', 'pid': '411300', 'name': '唐河县'}, {'id': '411329', 'pid': '411300', 'name': '新野县'}, {'id': '411330', 'pid': '411300', 'name': '桐柏县'}, {'id': '411381', 'pid': '411300', 'name': '邓州市'}, {'id': '411301', 'pid': '411300', 'name': '市辖区'}, {'id': '411371', 'pid': '411300', 'name': '南阳高新技术产业开发区'}, {'id': '411372', 'pid': '411300', 'name': '南阳市城乡一体化示范区'} ]}, { + 'id': '411400', + 'pid': '410000', + 'name': '商丘市', + 'children': [ {'id': '411402', 'pid': '411400', 'name': '梁园区'}, {'id': '411403', 'pid': '411400', 'name': '睢阳区'}, {'id': '411421', 'pid': '411400', 'name': '民权县'}, {'id': '411422', 'pid': '411400', 'name': '睢县'}, {'id': '411423', 'pid': '411400', 'name': '宁陵县'}, {'id': '411424', 'pid': '411400', 'name': '柘城县'}, {'id': '411425', 'pid': '411400', 'name': '虞城县'}, {'id': '411426', 'pid': '411400', 'name': '夏邑县'}, {'id': '411481', 'pid': '411400', 'name': '永城市'}, {'id': '411401', 'pid': '411400', 'name': '市辖区'}, {'id': '411471', 'pid': '411400', 'name': '豫东综合物流产业聚集区'}, {'id': '411472', 'pid': '411400', 'name': '河南商丘经济开发区'} ], + }, {'id': '411500', 'pid': '410000', 'name': '信阳市', 'children': [ {'id': '411502', 'pid': '411500', 'name': '浉河区'}, {'id': '411503', 'pid': '411500', 'name': '平桥区'}, {'id': '411521', 'pid': '411500', 'name': '罗山县'}, {'id': '411522', 'pid': '411500', 'name': '光山县'}, {'id': '411523', 'pid': '411500', 'name': '新县'}, {'id': '411524', 'pid': '411500', 'name': '商城县'}, {'id': '411525', 'pid': '411500', 'name': '固始县'}, {'id': '411526', 'pid': '411500', 'name': '潢川县'}, {'id': '411527', 'pid': '411500', 'name': '淮滨县'}, {'id': '411528', 'pid': '411500', 'name': '息县'}, {'id': '411501', 'pid': '411500', 'name': '市辖区'}, {'id': '411571', 'pid': '411500', 'name': '信阳高新技术产业开发区'} ]}, { + 'id': '411600', + 'pid': '410000', + 'name': '周口市', + 'children': [ {'id': '411602', 'pid': '411600', 'name': '川汇区'}, {'id': '411603', 'pid': '411600', 'name': '淮阳区'}, {'id': '411621', 'pid': '411600', 'name': '扶沟县'}, {'id': '411622', 'pid': '411600', 'name': '西华县'}, {'id': '411623', 'pid': '411600', 'name': '商水县'}, {'id': '411624', 'pid': '411600', 'name': '沈丘县'}, {'id': '411625', 'pid': '411600', 'name': '郸城县'}, {'id': '411627', 'pid': '411600', 'name': '太康县'}, {'id': '411628', 'pid': '411600', 'name': '鹿邑县'}, {'id': '411681', 'pid': '411600', 'name': '项城市'}, {'id': '411601', 'pid': '411600', 'name': '市辖区'}, {'id': '411671', 'pid': '411600', 'name': '河南周口经济开发区'} ], + }, {'id': '411700', 'pid': '410000', 'name': '驻马店市', 'children': [ {'id': '411702', 'pid': '411700', 'name': '驿城区'}, {'id': '411721', 'pid': '411700', 'name': '西平县'}, {'id': '411722', 'pid': '411700', 'name': '上蔡县'}, {'id': '411723', 'pid': '411700', 'name': '平舆县'}, {'id': '411724', 'pid': '411700', 'name': '正阳县'}, {'id': '411725', 'pid': '411700', 'name': '确山县'}, {'id': '411726', 'pid': '411700', 'name': '泌阳县'}, {'id': '411727', 'pid': '411700', 'name': '汝南县'}, {'id': '411728', 'pid': '411700', 'name': '遂平县'}, {'id': '411729', 'pid': '411700', 'name': '新蔡县'}, {'id': '411701', 'pid': '411700', 'name': '市辖区'}, {'id': '411771', 'pid': '411700', 'name': '河南驻马店经济开发区'} ]}, {'id': '419000', 'pid': '410000', 'name': '河南省-省直辖县级行政区划', 'children': [ {'id': '419001', 'pid': '419000', 'name': '济源市'} ]} ], +}, { + 'id': '420000', + 'pid': '0', + 'name': '湖北省', + 'children': [ {'id': '420100', 'pid': '420000', 'name': '武汉市', 'children': [ {'id': '420102', 'pid': '420100', 'name': '江岸区'}, {'id': '420103', 'pid': '420100', 'name': '江汉区'}, {'id': '420104', 'pid': '420100', 'name': '硚口区'}, {'id': '420105', 'pid': '420100', 'name': '汉阳区'}, {'id': '420106', 'pid': '420100', 'name': '武昌区'}, {'id': '420107', 'pid': '420100', 'name': '青山区'}, {'id': '420111', 'pid': '420100', 'name': '洪山区'}, {'id': '420112', 'pid': '420100', 'name': '东西湖区'}, {'id': '420113', 'pid': '420100', 'name': '汉南区'}, {'id': '420114', 'pid': '420100', 'name': '蔡甸区'}, {'id': '420115', 'pid': '420100', 'name': '江夏区'}, {'id': '420116', 'pid': '420100', 'name': '黄陂区'}, {'id': '420117', 'pid': '420100', 'name': '新洲区'}, {'id': '420101', 'pid': '420100', 'name': '市辖区'} ]}, { + 'id': '420200', + 'pid': '420000', + 'name': '黄石市', + 'children': [ {'id': '420202', 'pid': '420200', 'name': '黄石港区'}, {'id': '420203', 'pid': '420200', 'name': '西塞山区'}, {'id': '420204', 'pid': '420200', 'name': '下陆区'}, {'id': '420205', 'pid': '420200', 'name': '铁山区'}, {'id': '420222', 'pid': '420200', 'name': '阳新县'}, {'id': '420281', 'pid': '420200', 'name': '大冶市'}, {'id': '420201', 'pid': '420200', 'name': '市辖区'} ], + }, {'id': '420300', 'pid': '420000', 'name': '十堰市', 'children': [ {'id': '420302', 'pid': '420300', 'name': '茅箭区'}, {'id': '420303', 'pid': '420300', 'name': '张湾区'}, {'id': '420304', 'pid': '420300', 'name': '郧阳区'}, {'id': '420322', 'pid': '420300', 'name': '郧西县'}, {'id': '420323', 'pid': '420300', 'name': '竹山县'}, {'id': '420324', 'pid': '420300', 'name': '竹溪县'}, {'id': '420325', 'pid': '420300', 'name': '房县'}, {'id': '420381', 'pid': '420300', 'name': '丹江口市'}, {'id': '420301', 'pid': '420300', 'name': '市辖区'} ]}, { + 'id': '420500', + 'pid': '420000', + 'name': '宜昌市', + 'children': [ {'id': '420502', 'pid': '420500', 'name': '西陵区'}, {'id': '420503', 'pid': '420500', 'name': '伍家岗区'}, {'id': '420504', 'pid': '420500', 'name': '点军区'}, {'id': '420505', 'pid': '420500', 'name': '猇亭区'}, {'id': '420506', 'pid': '420500', 'name': '夷陵区'}, {'id': '420525', 'pid': '420500', 'name': '远安县'}, {'id': '420526', 'pid': '420500', 'name': '兴山县'}, {'id': '420527', 'pid': '420500', 'name': '秭归县'}, {'id': '420528', 'pid': '420500', 'name': '长阳土家族自治县'}, {'id': '420529', 'pid': '420500', 'name': '五峰土家族自治县'}, {'id': '420581', 'pid': '420500', 'name': '宜都市'}, {'id': '420582', 'pid': '420500', 'name': '当阳市'}, {'id': '420583', 'pid': '420500', 'name': '枝江市'}, {'id': '420501', 'pid': '420500', 'name': '市辖区'} ], + }, {'id': '420600', 'pid': '420000', 'name': '襄阳市', 'children': [ {'id': '420602', 'pid': '420600', 'name': '襄城区'}, {'id': '420606', 'pid': '420600', 'name': '樊城区'}, {'id': '420607', 'pid': '420600', 'name': '襄州区'}, {'id': '420624', 'pid': '420600', 'name': '南漳县'}, {'id': '420625', 'pid': '420600', 'name': '谷城县'}, {'id': '420626', 'pid': '420600', 'name': '保康县'}, {'id': '420682', 'pid': '420600', 'name': '老河口市'}, {'id': '420683', 'pid': '420600', 'name': '枣阳市'}, {'id': '420684', 'pid': '420600', 'name': '宜城市'}, {'id': '420601', 'pid': '420600', 'name': '市辖区'} ]}, {'id': '420700', 'pid': '420000', 'name': '鄂州市', 'children': [ {'id': '420702', 'pid': '420700', 'name': '梁子湖区'}, {'id': '420703', 'pid': '420700', 'name': '华容区'}, {'id': '420704', 'pid': '420700', 'name': '鄂城区'}, {'id': '420701', 'pid': '420700', 'name': '市辖区'} ]}, { + 'id': '420800', + 'pid': '420000', + 'name': '荆门市', + 'children': [ {'id': '420802', 'pid': '420800', 'name': '东宝区'}, {'id': '420804', 'pid': '420800', 'name': '掇刀区'}, {'id': '420822', 'pid': '420800', 'name': '沙洋县'}, {'id': '420881', 'pid': '420800', 'name': '钟祥市'}, {'id': '420882', 'pid': '420800', 'name': '京山市'}, {'id': '420801', 'pid': '420800', 'name': '市辖区'} ], + }, {'id': '420900', 'pid': '420000', 'name': '孝感市', 'children': [ {'id': '420902', 'pid': '420900', 'name': '孝南区'}, {'id': '420921', 'pid': '420900', 'name': '孝昌县'}, {'id': '420922', 'pid': '420900', 'name': '大悟县'}, {'id': '420923', 'pid': '420900', 'name': '云梦县'}, {'id': '420981', 'pid': '420900', 'name': '应城市'}, {'id': '420982', 'pid': '420900', 'name': '安陆市'}, {'id': '420984', 'pid': '420900', 'name': '汉川市'}, {'id': '420901', 'pid': '420900', 'name': '市辖区'} ]}, { + 'id': '421000', + 'pid': '420000', + 'name': '荆州市', + 'children': [ {'id': '421002', 'pid': '421000', 'name': '沙市区'}, {'id': '421003', 'pid': '421000', 'name': '荆州区'}, {'id': '421022', 'pid': '421000', 'name': '公安县'}, {'id': '421024', 'pid': '421000', 'name': '江陵县'}, {'id': '421081', 'pid': '421000', 'name': '石首市'}, {'id': '421083', 'pid': '421000', 'name': '洪湖市'}, {'id': '421087', 'pid': '421000', 'name': '松滋市'}, {'id': '421088', 'pid': '421000', 'name': '监利市'}, {'id': '421001', 'pid': '421000', 'name': '市辖区'}, {'id': '421071', 'pid': '421000', 'name': '荆州经济技术开发区'} ], + }, {'id': '421100', 'pid': '420000', 'name': '黄冈市', 'children': [ {'id': '421102', 'pid': '421100', 'name': '黄州区'}, {'id': '421121', 'pid': '421100', 'name': '团风县'}, {'id': '421122', 'pid': '421100', 'name': '红安县'}, {'id': '421123', 'pid': '421100', 'name': '罗田县'}, {'id': '421124', 'pid': '421100', 'name': '英山县'}, {'id': '421125', 'pid': '421100', 'name': '浠水县'}, {'id': '421126', 'pid': '421100', 'name': '蕲春县'}, {'id': '421127', 'pid': '421100', 'name': '黄梅县'}, {'id': '421181', 'pid': '421100', 'name': '麻城市'}, {'id': '421182', 'pid': '421100', 'name': '武穴市'}, {'id': '421101', 'pid': '421100', 'name': '市辖区'}, {'id': '421171', 'pid': '421100', 'name': '龙感湖管理区'} ]}, { + 'id': '421200', + 'pid': '420000', + 'name': '咸宁市', + 'children': [ {'id': '421202', 'pid': '421200', 'name': '咸安区'}, {'id': '421221', 'pid': '421200', 'name': '嘉鱼县'}, {'id': '421222', 'pid': '421200', 'name': '通城县'}, {'id': '421223', 'pid': '421200', 'name': '崇阳县'}, {'id': '421224', 'pid': '421200', 'name': '通山县'}, {'id': '421281', 'pid': '421200', 'name': '赤壁市'}, {'id': '421201', 'pid': '421200', 'name': '市辖区'} ], + }, {'id': '421300', 'pid': '420000', 'name': '随州市', 'children': [ {'id': '421303', 'pid': '421300', 'name': '曾都区'}, {'id': '421321', 'pid': '421300', 'name': '随县'}, {'id': '421381', 'pid': '421300', 'name': '广水市'}, {'id': '421301', 'pid': '421300', 'name': '市辖区'} ]}, {'id': '422800', 'pid': '420000', 'name': '恩施土家族苗族自治州', 'children': [ {'id': '422801', 'pid': '422800', 'name': '恩施市'}, {'id': '422802', 'pid': '422800', 'name': '利川市'}, {'id': '422822', 'pid': '422800', 'name': '建始县'}, {'id': '422823', 'pid': '422800', 'name': '巴东县'}, {'id': '422825', 'pid': '422800', 'name': '宣恩县'}, {'id': '422826', 'pid': '422800', 'name': '咸丰县'}, {'id': '422827', 'pid': '422800', 'name': '来凤县'}, {'id': '422828', 'pid': '422800', 'name': '鹤峰县'} ]}, { + 'id': '429000', + 'pid': '420000', + 'name': '湖北省-自治区直辖县级行政区划', + 'children': [ {'id': '429004', 'pid': '429000', 'name': '仙桃市'}, {'id': '429005', 'pid': '429000', 'name': '潜江市'}, {'id': '429006', 'pid': '429000', 'name': '天门市'}, {'id': '429021', 'pid': '429000', 'name': '神农架林区'} ], + } ], +}, { + 'id': '430000', + 'pid': '0', + 'name': '湖南省', + 'children': [ {'id': '430100', 'pid': '430000', 'name': '长沙市', 'children': [ {'id': '430102', 'pid': '430100', 'name': '芙蓉区'}, {'id': '430103', 'pid': '430100', 'name': '天心区'}, {'id': '430104', 'pid': '430100', 'name': '岳麓区'}, {'id': '430105', 'pid': '430100', 'name': '开福区'}, {'id': '430111', 'pid': '430100', 'name': '雨花区'}, {'id': '430112', 'pid': '430100', 'name': '望城区'}, {'id': '430121', 'pid': '430100', 'name': '长沙县'}, {'id': '430181', 'pid': '430100', 'name': '浏阳市'}, {'id': '430182', 'pid': '430100', 'name': '宁乡市'}, {'id': '430101', 'pid': '430100', 'name': '市辖区'} ]}, { + 'id': '430200', + 'pid': '430000', + 'name': '株洲市', + 'children': [ {'id': '430202', 'pid': '430200', 'name': '荷塘区'}, {'id': '430203', 'pid': '430200', 'name': '芦淞区'}, {'id': '430204', 'pid': '430200', 'name': '石峰区'}, {'id': '430211', 'pid': '430200', 'name': '天元区'}, {'id': '430212', 'pid': '430200', 'name': '渌口区'}, {'id': '430223', 'pid': '430200', 'name': '攸县'}, {'id': '430224', 'pid': '430200', 'name': '茶陵县'}, {'id': '430225', 'pid': '430200', 'name': '炎陵县'}, {'id': '430281', 'pid': '430200', 'name': '醴陵市'}, {'id': '430201', 'pid': '430200', 'name': '市辖区'}, {'id': '430271', 'pid': '430200', 'name': '云龙示范区'} ], + }, {'id': '430300', 'pid': '430000', 'name': '湘潭市', 'children': [ {'id': '430302', 'pid': '430300', 'name': '雨湖区'}, {'id': '430304', 'pid': '430300', 'name': '岳塘区'}, {'id': '430321', 'pid': '430300', 'name': '湘潭县'}, {'id': '430381', 'pid': '430300', 'name': '湘乡市'}, {'id': '430382', 'pid': '430300', 'name': '韶山市'}, {'id': '430301', 'pid': '430300', 'name': '市辖区'}, {'id': '430371', 'pid': '430300', 'name': '湖南湘潭高新技术产业园区'}, {'id': '430372', 'pid': '430300', 'name': '湘潭昭山示范区'}, {'id': '430373', 'pid': '430300', 'name': '湘潭九华示范区'} ]}, { + 'id': '430400', + 'pid': '430000', + 'name': '衡阳市', + 'children': [ {'id': '430405', 'pid': '430400', 'name': '珠晖区'}, {'id': '430406', 'pid': '430400', 'name': '雁峰区'}, {'id': '430407', 'pid': '430400', 'name': '石鼓区'}, {'id': '430408', 'pid': '430400', 'name': '蒸湘区'}, {'id': '430412', 'pid': '430400', 'name': '南岳区'}, {'id': '430421', 'pid': '430400', 'name': '衡阳县'}, {'id': '430422', 'pid': '430400', 'name': '衡南县'}, {'id': '430423', 'pid': '430400', 'name': '衡山县'}, {'id': '430424', 'pid': '430400', 'name': '衡东县'}, {'id': '430426', 'pid': '430400', 'name': '祁东县'}, {'id': '430481', 'pid': '430400', 'name': '耒阳市'}, {'id': '430482', 'pid': '430400', 'name': '常宁市'}, {'id': '430401', 'pid': '430400', 'name': '市辖区'}, {'id': '430471', 'pid': '430400', 'name': '衡阳综合保税区'}, {'id': '430472', 'pid': '430400', 'name': '湖南衡阳高新技术产业园区'}, {'id': '430473', 'pid': '430400', 'name': '湖南衡阳松木经济开发区'} ], + }, {'id': '430500', 'pid': '430000', 'name': '邵阳市', 'children': [ {'id': '430502', 'pid': '430500', 'name': '双清区'}, {'id': '430503', 'pid': '430500', 'name': '大祥区'}, {'id': '430511', 'pid': '430500', 'name': '北塔区'}, {'id': '430522', 'pid': '430500', 'name': '新邵县'}, {'id': '430523', 'pid': '430500', 'name': '邵阳县'}, {'id': '430524', 'pid': '430500', 'name': '隆回县'}, {'id': '430525', 'pid': '430500', 'name': '洞口县'}, {'id': '430527', 'pid': '430500', 'name': '绥宁县'}, {'id': '430528', 'pid': '430500', 'name': '新宁县'}, {'id': '430529', 'pid': '430500', 'name': '城步苗族自治县'}, {'id': '430581', 'pid': '430500', 'name': '武冈市'}, {'id': '430582', 'pid': '430500', 'name': '邵东市'}, {'id': '430501', 'pid': '430500', 'name': '市辖区'} ]}, { + 'id': '430600', + 'pid': '430000', + 'name': '岳阳市', + 'children': [ {'id': '430602', 'pid': '430600', 'name': '岳阳楼区'}, {'id': '430603', 'pid': '430600', 'name': '云溪区'}, {'id': '430611', 'pid': '430600', 'name': '君山区'}, {'id': '430621', 'pid': '430600', 'name': '岳阳县'}, {'id': '430623', 'pid': '430600', 'name': '华容县'}, {'id': '430624', 'pid': '430600', 'name': '湘阴县'}, {'id': '430626', 'pid': '430600', 'name': '平江县'}, {'id': '430681', 'pid': '430600', 'name': '汨罗市'}, {'id': '430682', 'pid': '430600', 'name': '临湘市'}, {'id': '430601', 'pid': '430600', 'name': '市辖区'}, {'id': '430671', 'pid': '430600', 'name': '岳阳市屈原管理区'} ], + }, {'id': '430700', 'pid': '430000', 'name': '常德市', 'children': [ {'id': '430702', 'pid': '430700', 'name': '武陵区'}, {'id': '430703', 'pid': '430700', 'name': '鼎城区'}, {'id': '430721', 'pid': '430700', 'name': '安乡县'}, {'id': '430722', 'pid': '430700', 'name': '汉寿县'}, {'id': '430723', 'pid': '430700', 'name': '澧县'}, {'id': '430724', 'pid': '430700', 'name': '临澧县'}, {'id': '430725', 'pid': '430700', 'name': '桃源县'}, {'id': '430726', 'pid': '430700', 'name': '石门县'}, {'id': '430781', 'pid': '430700', 'name': '津市市'}, {'id': '430701', 'pid': '430700', 'name': '市辖区'}, {'id': '430771', 'pid': '430700', 'name': '常德市西洞庭管理区'} ]}, { + 'id': '430800', + 'pid': '430000', + 'name': '张家界市', + 'children': [ {'id': '430802', 'pid': '430800', 'name': '永定区'}, {'id': '430811', 'pid': '430800', 'name': '武陵源区'}, {'id': '430821', 'pid': '430800', 'name': '慈利县'}, {'id': '430822', 'pid': '430800', 'name': '桑植县'}, {'id': '430801', 'pid': '430800', 'name': '市辖区'} ], + }, {'id': '430900', 'pid': '430000', 'name': '益阳市', 'children': [ {'id': '430902', 'pid': '430900', 'name': '资阳区'}, {'id': '430903', 'pid': '430900', 'name': '赫山区'}, {'id': '430921', 'pid': '430900', 'name': '南县'}, {'id': '430922', 'pid': '430900', 'name': '桃江县'}, {'id': '430923', 'pid': '430900', 'name': '安化县'}, {'id': '430981', 'pid': '430900', 'name': '沅江市'}, {'id': '430901', 'pid': '430900', 'name': '市辖区'}, {'id': '430971', 'pid': '430900', 'name': '益阳市大通湖管理区'}, {'id': '430972', 'pid': '430900', 'name': '湖南益阳高新技术产业园区'} ]}, { + 'id': '431000', + 'pid': '430000', + 'name': '郴州市', + 'children': [ {'id': '431002', 'pid': '431000', 'name': '北湖区'}, {'id': '431003', 'pid': '431000', 'name': '苏仙区'}, {'id': '431021', 'pid': '431000', 'name': '桂阳县'}, {'id': '431022', 'pid': '431000', 'name': '宜章县'}, {'id': '431023', 'pid': '431000', 'name': '永兴县'}, {'id': '431024', 'pid': '431000', 'name': '嘉禾县'}, {'id': '431025', 'pid': '431000', 'name': '临武县'}, {'id': '431026', 'pid': '431000', 'name': '汝城县'}, {'id': '431027', 'pid': '431000', 'name': '桂东县'}, {'id': '431028', 'pid': '431000', 'name': '安仁县'}, {'id': '431081', 'pid': '431000', 'name': '资兴市'}, {'id': '431001', 'pid': '431000', 'name': '市辖区'} ], + }, {'id': '431100', 'pid': '430000', 'name': '永州市', 'children': [ {'id': '431102', 'pid': '431100', 'name': '零陵区'}, {'id': '431103', 'pid': '431100', 'name': '冷水滩区'}, {'id': '431121', 'pid': '431100', 'name': '祁阳县'}, {'id': '431122', 'pid': '431100', 'name': '东安县'}, {'id': '431123', 'pid': '431100', 'name': '双牌县'}, {'id': '431124', 'pid': '431100', 'name': '道县'}, {'id': '431125', 'pid': '431100', 'name': '江永县'}, {'id': '431126', 'pid': '431100', 'name': '宁远县'}, {'id': '431127', 'pid': '431100', 'name': '蓝山县'}, {'id': '431128', 'pid': '431100', 'name': '新田县'}, {'id': '431129', 'pid': '431100', 'name': '江华瑶族自治县'}, {'id': '431101', 'pid': '431100', 'name': '市辖区'}, {'id': '431171', 'pid': '431100', 'name': '永州经济技术开发区'}, {'id': '431173', 'pid': '431100', 'name': '永州市回龙圩管理区'}, {'id': '431181', 'pid': '431100', 'name': '祁阳市'} ]}, { + 'id': '431200', + 'pid': '430000', + 'name': '怀化市', + 'children': [ {'id': '431202', 'pid': '431200', 'name': '鹤城区'}, {'id': '431221', 'pid': '431200', 'name': '中方县'}, {'id': '431222', 'pid': '431200', 'name': '沅陵县'}, {'id': '431223', 'pid': '431200', 'name': '辰溪县'}, {'id': '431224', 'pid': '431200', 'name': '溆浦县'}, {'id': '431225', 'pid': '431200', 'name': '会同县'}, {'id': '431226', 'pid': '431200', 'name': '麻阳苗族自治县'}, {'id': '431227', 'pid': '431200', 'name': '新晃侗族自治县'}, {'id': '431228', 'pid': '431200', 'name': '芷江侗族自治县'}, {'id': '431229', 'pid': '431200', 'name': '靖州苗族侗族自治县'}, {'id': '431230', 'pid': '431200', 'name': '通道侗族自治县'}, {'id': '431281', 'pid': '431200', 'name': '洪江市'}, {'id': '431201', 'pid': '431200', 'name': '市辖区'}, {'id': '431271', 'pid': '431200', 'name': '怀化市洪江管理区'} ], + }, {'id': '431300', 'pid': '430000', 'name': '娄底市', 'children': [ {'id': '431302', 'pid': '431300', 'name': '娄星区'}, {'id': '431321', 'pid': '431300', 'name': '双峰县'}, {'id': '431322', 'pid': '431300', 'name': '新化县'}, {'id': '431381', 'pid': '431300', 'name': '冷水江市'}, {'id': '431382', 'pid': '431300', 'name': '涟源市'}, {'id': '431301', 'pid': '431300', 'name': '市辖区'} ]}, {'id': '433100', 'pid': '430000', 'name': '湘西土家族苗族自治州', 'children': [ {'id': '433101', 'pid': '433100', 'name': '吉首市'}, {'id': '433122', 'pid': '433100', 'name': '泸溪县'}, {'id': '433123', 'pid': '433100', 'name': '凤凰县'}, {'id': '433124', 'pid': '433100', 'name': '花垣县'}, {'id': '433125', 'pid': '433100', 'name': '保靖县'}, {'id': '433126', 'pid': '433100', 'name': '古丈县'}, {'id': '433127', 'pid': '433100', 'name': '永顺县'}, {'id': '433130', 'pid': '433100', 'name': '龙山县'} ]} ], +}, { + 'id': '440000', + 'pid': '0', + 'name': '广东省', + 'children': [ {'id': '440100', 'pid': '440000', 'name': '广州市', 'children': [ {'id': '440103', 'pid': '440100', 'name': '荔湾区'}, {'id': '440104', 'pid': '440100', 'name': '越秀区'}, {'id': '440105', 'pid': '440100', 'name': '海珠区'}, {'id': '440106', 'pid': '440100', 'name': '天河区'}, {'id': '440111', 'pid': '440100', 'name': '白云区'}, {'id': '440112', 'pid': '440100', 'name': '黄埔区'}, {'id': '440113', 'pid': '440100', 'name': '番禺区'}, {'id': '440114', 'pid': '440100', 'name': '花都区'}, {'id': '440115', 'pid': '440100', 'name': '南沙区'}, {'id': '440117', 'pid': '440100', 'name': '从化区'}, {'id': '440118', 'pid': '440100', 'name': '增城区'}, {'id': '440101', 'pid': '440100', 'name': '市辖区'} ]}, { + 'id': '440200', + 'pid': '440000', + 'name': '韶关市', + 'children': [ {'id': '440203', 'pid': '440200', 'name': '武江区'}, {'id': '440204', 'pid': '440200', 'name': '浈江区'}, {'id': '440205', 'pid': '440200', 'name': '曲江区'}, {'id': '440222', 'pid': '440200', 'name': '始兴县'}, {'id': '440224', 'pid': '440200', 'name': '仁化县'}, {'id': '440229', 'pid': '440200', 'name': '翁源县'}, {'id': '440232', 'pid': '440200', 'name': '乳源瑶族自治县'}, {'id': '440233', 'pid': '440200', 'name': '新丰县'}, {'id': '440281', 'pid': '440200', 'name': '乐昌市'}, {'id': '440282', 'pid': '440200', 'name': '南雄市'}, {'id': '440201', 'pid': '440200', 'name': '市辖区'} ], + }, {'id': '440300', 'pid': '440000', 'name': '深圳市', 'children': [ {'id': '440303', 'pid': '440300', 'name': '罗湖区'}, {'id': '440304', 'pid': '440300', 'name': '福田区'}, {'id': '440305', 'pid': '440300', 'name': '南山区'}, {'id': '440306', 'pid': '440300', 'name': '宝安区'}, {'id': '440307', 'pid': '440300', 'name': '龙岗区'}, {'id': '440308', 'pid': '440300', 'name': '盐田区'}, {'id': '440309', 'pid': '440300', 'name': '龙华区'}, {'id': '440310', 'pid': '440300', 'name': '坪山区'}, {'id': '440311', 'pid': '440300', 'name': '光明区'}, {'id': '440301', 'pid': '440300', 'name': '市辖区'} ]}, {'id': '440400', 'pid': '440000', 'name': '珠海市', 'children': [ {'id': '440402', 'pid': '440400', 'name': '香洲区'}, {'id': '440403', 'pid': '440400', 'name': '斗门区'}, {'id': '440404', 'pid': '440400', 'name': '金湾区'}, {'id': '440401', 'pid': '440400', 'name': '市辖区'} ]}, { + 'id': '440500', + 'pid': '440000', + 'name': '汕头市', + 'children': [ {'id': '440507', 'pid': '440500', 'name': '龙湖区'}, {'id': '440511', 'pid': '440500', 'name': '金平区'}, {'id': '440512', 'pid': '440500', 'name': '濠江区'}, {'id': '440513', 'pid': '440500', 'name': '潮阳区'}, {'id': '440514', 'pid': '440500', 'name': '潮南区'}, {'id': '440515', 'pid': '440500', 'name': '澄海区'}, {'id': '440523', 'pid': '440500', 'name': '南澳县'}, {'id': '440501', 'pid': '440500', 'name': '市辖区'} ], + }, {'id': '440600', 'pid': '440000', 'name': '佛山市', 'children': [ {'id': '440604', 'pid': '440600', 'name': '禅城区'}, {'id': '440605', 'pid': '440600', 'name': '南海区'}, {'id': '440606', 'pid': '440600', 'name': '顺德区'}, {'id': '440607', 'pid': '440600', 'name': '三水区'}, {'id': '440608', 'pid': '440600', 'name': '高明区'}, {'id': '440601', 'pid': '440600', 'name': '市辖区'} ]}, {'id': '440700', 'pid': '440000', 'name': '江门市', 'children': [ {'id': '440703', 'pid': '440700', 'name': '蓬江区'}, {'id': '440704', 'pid': '440700', 'name': '江海区'}, {'id': '440705', 'pid': '440700', 'name': '新会区'}, {'id': '440781', 'pid': '440700', 'name': '台山市'}, {'id': '440783', 'pid': '440700', 'name': '开平市'}, {'id': '440784', 'pid': '440700', 'name': '鹤山市'}, {'id': '440785', 'pid': '440700', 'name': '恩平市'}, {'id': '440701', 'pid': '440700', 'name': '市辖区'} ]}, { + 'id': '440800', + 'pid': '440000', + 'name': '湛江市', + 'children': [ {'id': '440802', 'pid': '440800', 'name': '赤坎区'}, {'id': '440803', 'pid': '440800', 'name': '霞山区'}, {'id': '440804', 'pid': '440800', 'name': '坡头区'}, {'id': '440811', 'pid': '440800', 'name': '麻章区'}, {'id': '440823', 'pid': '440800', 'name': '遂溪县'}, {'id': '440825', 'pid': '440800', 'name': '徐闻县'}, {'id': '440881', 'pid': '440800', 'name': '廉江市'}, {'id': '440882', 'pid': '440800', 'name': '雷州市'}, {'id': '440883', 'pid': '440800', 'name': '吴川市'}, {'id': '440801', 'pid': '440800', 'name': '市辖区'} ], + }, {'id': '440900', 'pid': '440000', 'name': '茂名市', 'children': [ {'id': '440902', 'pid': '440900', 'name': '茂南区'}, {'id': '440904', 'pid': '440900', 'name': '电白区'}, {'id': '440981', 'pid': '440900', 'name': '高州市'}, {'id': '440982', 'pid': '440900', 'name': '化州市'}, {'id': '440983', 'pid': '440900', 'name': '信宜市'}, {'id': '440901', 'pid': '440900', 'name': '市辖区'} ]}, {'id': '441200', 'pid': '440000', 'name': '肇庆市', 'children': [ {'id': '441202', 'pid': '441200', 'name': '端州区'}, {'id': '441203', 'pid': '441200', 'name': '鼎湖区'}, {'id': '441204', 'pid': '441200', 'name': '高要区'}, {'id': '441223', 'pid': '441200', 'name': '广宁县'}, {'id': '441224', 'pid': '441200', 'name': '怀集县'}, {'id': '441225', 'pid': '441200', 'name': '封开县'}, {'id': '441226', 'pid': '441200', 'name': '德庆县'}, {'id': '441284', 'pid': '441200', 'name': '四会市'}, {'id': '441201', 'pid': '441200', 'name': '市辖区'} ]}, { + 'id': '441300', + 'pid': '440000', + 'name': '惠州市', + 'children': [ {'id': '441302', 'pid': '441300', 'name': '惠城区'}, {'id': '441303', 'pid': '441300', 'name': '惠阳区'}, {'id': '441322', 'pid': '441300', 'name': '博罗县'}, {'id': '441323', 'pid': '441300', 'name': '惠东县'}, {'id': '441324', 'pid': '441300', 'name': '龙门县'}, {'id': '441301', 'pid': '441300', 'name': '市辖区'} ], + }, {'id': '441400', 'pid': '440000', 'name': '梅州市', 'children': [ {'id': '441402', 'pid': '441400', 'name': '梅江区'}, {'id': '441403', 'pid': '441400', 'name': '梅县区'}, {'id': '441422', 'pid': '441400', 'name': '大埔县'}, {'id': '441423', 'pid': '441400', 'name': '丰顺县'}, {'id': '441424', 'pid': '441400', 'name': '五华县'}, {'id': '441426', 'pid': '441400', 'name': '平远县'}, {'id': '441427', 'pid': '441400', 'name': '蕉岭县'}, {'id': '441481', 'pid': '441400', 'name': '兴宁市'}, {'id': '441401', 'pid': '441400', 'name': '市辖区'} ]}, {'id': '441500', 'pid': '440000', 'name': '汕尾市', 'children': [ {'id': '441502', 'pid': '441500', 'name': '城区'}, {'id': '441521', 'pid': '441500', 'name': '海丰县'}, {'id': '441523', 'pid': '441500', 'name': '陆河县'}, {'id': '441581', 'pid': '441500', 'name': '陆丰市'}, {'id': '441501', 'pid': '441500', 'name': '市辖区'} ]}, { + 'id': '441600', + 'pid': '440000', + 'name': '河源市', + 'children': [ {'id': '441602', 'pid': '441600', 'name': '源城区'}, {'id': '441621', 'pid': '441600', 'name': '紫金县'}, {'id': '441622', 'pid': '441600', 'name': '龙川县'}, {'id': '441623', 'pid': '441600', 'name': '连平县'}, {'id': '441624', 'pid': '441600', 'name': '和平县'}, {'id': '441625', 'pid': '441600', 'name': '东源县'}, {'id': '441601', 'pid': '441600', 'name': '市辖区'} ], + }, {'id': '441700', 'pid': '440000', 'name': '阳江市', 'children': [ {'id': '441702', 'pid': '441700', 'name': '江城区'}, {'id': '441704', 'pid': '441700', 'name': '阳东区'}, {'id': '441721', 'pid': '441700', 'name': '阳西县'}, {'id': '441781', 'pid': '441700', 'name': '阳春市'}, {'id': '441701', 'pid': '441700', 'name': '市辖区'} ]}, {'id': '441800', 'pid': '440000', 'name': '清远市', 'children': [ {'id': '441802', 'pid': '441800', 'name': '清城区'}, {'id': '441803', 'pid': '441800', 'name': '清新区'}, {'id': '441821', 'pid': '441800', 'name': '佛冈县'}, {'id': '441823', 'pid': '441800', 'name': '阳山县'}, {'id': '441825', 'pid': '441800', 'name': '连山壮族瑶族自治县'}, {'id': '441826', 'pid': '441800', 'name': '连南瑶族自治县'}, {'id': '441881', 'pid': '441800', 'name': '英德市'}, {'id': '441882', 'pid': '441800', 'name': '连州市'}, {'id': '441801', 'pid': '441800', 'name': '市辖区'} ]}, {'id': '441900', 'pid': '440000', 'name': '东莞市', 'children': []}, { + 'id': '442000', + 'pid': '440000', + 'name': '中山市', + 'children': [], + }, {'id': '445100', 'pid': '440000', 'name': '潮州市', 'children': [ {'id': '445102', 'pid': '445100', 'name': '湘桥区'}, {'id': '445103', 'pid': '445100', 'name': '潮安区'}, {'id': '445122', 'pid': '445100', 'name': '饶平县'}, {'id': '445101', 'pid': '445100', 'name': '市辖区'} ]}, {'id': '445200', 'pid': '440000', 'name': '揭阳市', 'children': [ {'id': '445202', 'pid': '445200', 'name': '榕城区'}, {'id': '445203', 'pid': '445200', 'name': '揭东区'}, {'id': '445222', 'pid': '445200', 'name': '揭西县'}, {'id': '445224', 'pid': '445200', 'name': '惠来县'}, {'id': '445281', 'pid': '445200', 'name': '普宁市'}, {'id': '445201', 'pid': '445200', 'name': '市辖区'} ]}, { + 'id': '445300', + 'pid': '440000', + 'name': '云浮市', + 'children': [ {'id': '445302', 'pid': '445300', 'name': '云城区'}, {'id': '445303', 'pid': '445300', 'name': '云安区'}, {'id': '445321', 'pid': '445300', 'name': '新兴县'}, {'id': '445322', 'pid': '445300', 'name': '郁南县'}, {'id': '445381', 'pid': '445300', 'name': '罗定市'}, {'id': '445301', 'pid': '445300', 'name': '市辖区'} ], + } ], +}, { + 'id': '450000', + 'pid': '0', + 'name': '广西壮族自治区', + 'children': [ {'id': '450100', 'pid': '450000', 'name': '南宁市', 'children': [ {'id': '450102', 'pid': '450100', 'name': '兴宁区'}, {'id': '450103', 'pid': '450100', 'name': '青秀区'}, {'id': '450105', 'pid': '450100', 'name': '江南区'}, {'id': '450107', 'pid': '450100', 'name': '西乡塘区'}, {'id': '450108', 'pid': '450100', 'name': '良庆区'}, {'id': '450109', 'pid': '450100', 'name': '邕宁区'}, {'id': '450110', 'pid': '450100', 'name': '武鸣区'}, {'id': '450123', 'pid': '450100', 'name': '隆安县'}, {'id': '450124', 'pid': '450100', 'name': '马山县'}, {'id': '450125', 'pid': '450100', 'name': '上林县'}, {'id': '450126', 'pid': '450100', 'name': '宾阳县'}, {'id': '450127', 'pid': '450100', 'name': '横县'}, {'id': '450101', 'pid': '450100', 'name': '市辖区'}, {'id': '450181', 'pid': '450100', 'name': '横州市'} ]}, { + 'id': '450200', + 'pid': '450000', + 'name': '柳州市', + 'children': [ {'id': '450202', 'pid': '450200', 'name': '城中区'}, {'id': '450203', 'pid': '450200', 'name': '鱼峰区'}, {'id': '450204', 'pid': '450200', 'name': '柳南区'}, {'id': '450205', 'pid': '450200', 'name': '柳北区'}, {'id': '450206', 'pid': '450200', 'name': '柳江区'}, {'id': '450222', 'pid': '450200', 'name': '柳城县'}, {'id': '450223', 'pid': '450200', 'name': '鹿寨县'}, {'id': '450224', 'pid': '450200', 'name': '融安县'}, {'id': '450225', 'pid': '450200', 'name': '融水苗族自治县'}, {'id': '450226', 'pid': '450200', 'name': '三江侗族自治县'}, {'id': '450201', 'pid': '450200', 'name': '市辖区'} ], + }, { + 'id': '450300', + 'pid': '450000', + 'name': '桂林市', + 'children': [ {'id': '450302', 'pid': '450300', 'name': '秀峰区'}, {'id': '450303', 'pid': '450300', 'name': '叠彩区'}, {'id': '450304', 'pid': '450300', 'name': '象山区'}, {'id': '450305', 'pid': '450300', 'name': '七星区'}, {'id': '450311', 'pid': '450300', 'name': '雁山区'}, {'id': '450312', 'pid': '450300', 'name': '临桂区'}, {'id': '450321', 'pid': '450300', 'name': '阳朔县'}, {'id': '450323', 'pid': '450300', 'name': '灵川县'}, {'id': '450324', 'pid': '450300', 'name': '全州县'}, {'id': '450325', 'pid': '450300', 'name': '兴安县'}, {'id': '450326', 'pid': '450300', 'name': '永福县'}, {'id': '450327', 'pid': '450300', 'name': '灌阳县'}, {'id': '450328', 'pid': '450300', 'name': '龙胜各族自治县'}, {'id': '450329', 'pid': '450300', 'name': '资源县'}, {'id': '450330', 'pid': '450300', 'name': '平乐县'}, {'id': '450332', 'pid': '450300', 'name': '恭城瑶族自治县'}, {'id': '450381', 'pid': '450300', 'name': '荔浦市'}, {'id': '450301', 'pid': '450300', 'name': '市辖区'} ], + }, {'id': '450400', 'pid': '450000', 'name': '梧州市', 'children': [ {'id': '450403', 'pid': '450400', 'name': '万秀区'}, {'id': '450405', 'pid': '450400', 'name': '长洲区'}, {'id': '450406', 'pid': '450400', 'name': '龙圩区'}, {'id': '450421', 'pid': '450400', 'name': '苍梧县'}, {'id': '450422', 'pid': '450400', 'name': '藤县'}, {'id': '450423', 'pid': '450400', 'name': '蒙山县'}, {'id': '450481', 'pid': '450400', 'name': '岑溪市'}, {'id': '450401', 'pid': '450400', 'name': '市辖区'} ]}, {'id': '450500', 'pid': '450000', 'name': '北海市', 'children': [ {'id': '450502', 'pid': '450500', 'name': '海城区'}, {'id': '450503', 'pid': '450500', 'name': '银海区'}, {'id': '450512', 'pid': '450500', 'name': '铁山港区'}, {'id': '450521', 'pid': '450500', 'name': '合浦县'}, {'id': '450501', 'pid': '450500', 'name': '市辖区'} ]}, { + 'id': '450600', + 'pid': '450000', + 'name': '防城港市', + 'children': [ {'id': '450602', 'pid': '450600', 'name': '港口区'}, {'id': '450603', 'pid': '450600', 'name': '防城区'}, {'id': '450621', 'pid': '450600', 'name': '上思县'}, {'id': '450681', 'pid': '450600', 'name': '东兴市'}, {'id': '450601', 'pid': '450600', 'name': '市辖区'} ], + }, {'id': '450700', 'pid': '450000', 'name': '钦州市', 'children': [ {'id': '450702', 'pid': '450700', 'name': '钦南区'}, {'id': '450703', 'pid': '450700', 'name': '钦北区'}, {'id': '450721', 'pid': '450700', 'name': '灵山县'}, {'id': '450722', 'pid': '450700', 'name': '浦北县'}, {'id': '450701', 'pid': '450700', 'name': '市辖区'} ]}, {'id': '450800', 'pid': '450000', 'name': '贵港市', 'children': [ {'id': '450802', 'pid': '450800', 'name': '港北区'}, {'id': '450803', 'pid': '450800', 'name': '港南区'}, {'id': '450804', 'pid': '450800', 'name': '覃塘区'}, {'id': '450821', 'pid': '450800', 'name': '平南县'}, {'id': '450881', 'pid': '450800', 'name': '桂平市'}, {'id': '450801', 'pid': '450800', 'name': '市辖区'} ]}, { + 'id': '450900', + 'pid': '450000', + 'name': '玉林市', + 'children': [ {'id': '450902', 'pid': '450900', 'name': '玉州区'}, {'id': '450903', 'pid': '450900', 'name': '福绵区'}, {'id': '450921', 'pid': '450900', 'name': '容县'}, {'id': '450922', 'pid': '450900', 'name': '陆川县'}, {'id': '450923', 'pid': '450900', 'name': '博白县'}, {'id': '450924', 'pid': '450900', 'name': '兴业县'}, {'id': '450981', 'pid': '450900', 'name': '北流市'}, {'id': '450901', 'pid': '450900', 'name': '市辖区'} ], + }, {'id': '451000', 'pid': '450000', 'name': '百色市', 'children': [ {'id': '451002', 'pid': '451000', 'name': '右江区'}, {'id': '451003', 'pid': '451000', 'name': '田阳区'}, {'id': '451022', 'pid': '451000', 'name': '田东县'}, {'id': '451024', 'pid': '451000', 'name': '德保县'}, {'id': '451026', 'pid': '451000', 'name': '那坡县'}, {'id': '451027', 'pid': '451000', 'name': '凌云县'}, {'id': '451028', 'pid': '451000', 'name': '乐业县'}, {'id': '451029', 'pid': '451000', 'name': '田林县'}, {'id': '451030', 'pid': '451000', 'name': '西林县'}, {'id': '451031', 'pid': '451000', 'name': '隆林各族自治县'}, {'id': '451081', 'pid': '451000', 'name': '靖西市'}, {'id': '451082', 'pid': '451000', 'name': '平果市'}, {'id': '451001', 'pid': '451000', 'name': '市辖区'} ]}, { + 'id': '451100', + 'pid': '450000', + 'name': '贺州市', + 'children': [ {'id': '451102', 'pid': '451100', 'name': '八步区'}, {'id': '451103', 'pid': '451100', 'name': '平桂区'}, {'id': '451121', 'pid': '451100', 'name': '昭平县'}, {'id': '451122', 'pid': '451100', 'name': '钟山县'}, {'id': '451123', 'pid': '451100', 'name': '富川瑶族自治县'}, {'id': '451101', 'pid': '451100', 'name': '市辖区'} ], + }, {'id': '451200', 'pid': '450000', 'name': '河池市', 'children': [ {'id': '451202', 'pid': '451200', 'name': '金城江区'}, {'id': '451203', 'pid': '451200', 'name': '宜州区'}, {'id': '451221', 'pid': '451200', 'name': '南丹县'}, {'id': '451222', 'pid': '451200', 'name': '天峨县'}, {'id': '451223', 'pid': '451200', 'name': '凤山县'}, {'id': '451224', 'pid': '451200', 'name': '东兰县'}, {'id': '451225', 'pid': '451200', 'name': '罗城仫佬族自治县'}, {'id': '451226', 'pid': '451200', 'name': '环江毛南族自治县'}, {'id': '451227', 'pid': '451200', 'name': '巴马瑶族自治县'}, {'id': '451228', 'pid': '451200', 'name': '都安瑶族自治县'}, {'id': '451229', 'pid': '451200', 'name': '大化瑶族自治县'}, {'id': '451201', 'pid': '451200', 'name': '市辖区'} ]}, { + 'id': '451300', + 'pid': '450000', + 'name': '来宾市', + 'children': [ {'id': '451302', 'pid': '451300', 'name': '兴宾区'}, {'id': '451321', 'pid': '451300', 'name': '忻城县'}, {'id': '451322', 'pid': '451300', 'name': '象州县'}, {'id': '451323', 'pid': '451300', 'name': '武宣县'}, {'id': '451324', 'pid': '451300', 'name': '金秀瑶族自治县'}, {'id': '451381', 'pid': '451300', 'name': '合山市'}, {'id': '451301', 'pid': '451300', 'name': '市辖区'} ], + }, {'id': '451400', 'pid': '450000', 'name': '崇左市', 'children': [ {'id': '451402', 'pid': '451400', 'name': '江州区'}, {'id': '451421', 'pid': '451400', 'name': '扶绥县'}, {'id': '451422', 'pid': '451400', 'name': '宁明县'}, {'id': '451423', 'pid': '451400', 'name': '龙州县'}, {'id': '451424', 'pid': '451400', 'name': '大新县'}, {'id': '451425', 'pid': '451400', 'name': '天等县'}, {'id': '451481', 'pid': '451400', 'name': '凭祥市'}, {'id': '451401', 'pid': '451400', 'name': '市辖区'} ]} ], +}, { + 'id': '460000', + 'pid': '0', + 'name': '海南省', + 'children': [ {'id': '460100', 'pid': '460000', 'name': '海口市', 'children': [ {'id': '460105', 'pid': '460100', 'name': '秀英区'}, {'id': '460106', 'pid': '460100', 'name': '龙华区'}, {'id': '460107', 'pid': '460100', 'name': '琼山区'}, {'id': '460108', 'pid': '460100', 'name': '美兰区'}, {'id': '460101', 'pid': '460100', 'name': '市辖区'} ]}, {'id': '460200', 'pid': '460000', 'name': '三亚市', 'children': [ {'id': '460202', 'pid': '460200', 'name': '海棠区'}, {'id': '460203', 'pid': '460200', 'name': '吉阳区'}, {'id': '460204', 'pid': '460200', 'name': '天涯区'}, {'id': '460205', 'pid': '460200', 'name': '崖州区'}, {'id': '460201', 'pid': '460200', 'name': '市辖区'} ]}, {'id': '460300', 'pid': '460000', 'name': '三沙市', 'children': [ {'id': '460321', 'pid': '460300', 'name': '西沙群岛'}, {'id': '460322', 'pid': '460300', 'name': '南沙群岛'}, {'id': '460323', 'pid': '460300', 'name': '中沙群岛的岛礁及其海域'} ]}, { + 'id': '460400', + 'pid': '460000', + 'name': '儋州市', + 'children': [], + }, {'id': '469000', 'pid': '460000', 'name': '海南省-自治区直辖县级行政区划', 'children': [ {'id': '469001', 'pid': '469000', 'name': '五指山市'}, {'id': '469002', 'pid': '469000', 'name': '琼海市'}, {'id': '469005', 'pid': '469000', 'name': '文昌市'}, {'id': '469006', 'pid': '469000', 'name': '万宁市'}, {'id': '469007', 'pid': '469000', 'name': '东方市'}, {'id': '469021', 'pid': '469000', 'name': '定安县'}, {'id': '469022', 'pid': '469000', 'name': '屯昌县'}, {'id': '469023', 'pid': '469000', 'name': '澄迈县'}, {'id': '469024', 'pid': '469000', 'name': '临高县'}, {'id': '469025', 'pid': '469000', 'name': '白沙黎族自治县'}, {'id': '469026', 'pid': '469000', 'name': '昌江黎族自治县'}, {'id': '469027', 'pid': '469000', 'name': '乐东黎族自治县'}, {'id': '469028', 'pid': '469000', 'name': '陵水黎族自治县'}, {'id': '469029', 'pid': '469000', 'name': '保亭黎族苗族自治县'}, {'id': '469030', 'pid': '469000', 'name': '琼中黎族苗族自治县'} ]} ], +}, { + 'id': '500000', 'pid': '0', 'name': '重庆市', 'children': [ { + 'id': '500100', + 'pid': '500000', + 'name': '重庆市', + 'children': [ {'id': '500101', 'pid': '500100', 'name': '万州区'}, {'id': '500102', 'pid': '500100', 'name': '涪陵区'}, {'id': '500103', 'pid': '500100', 'name': '渝中区'}, {'id': '500104', 'pid': '500100', 'name': '大渡口区'}, {'id': '500105', 'pid': '500100', 'name': '江北区'}, {'id': '500106', 'pid': '500100', 'name': '沙坪坝区'}, {'id': '500107', 'pid': '500100', 'name': '九龙坡区'}, {'id': '500108', 'pid': '500100', 'name': '南岸区'}, {'id': '500109', 'pid': '500100', 'name': '北碚区'}, {'id': '500110', 'pid': '500100', 'name': '綦江区'}, {'id': '500111', 'pid': '500100', 'name': '大足区'}, {'id': '500112', 'pid': '500100', 'name': '渝北区'}, {'id': '500113', 'pid': '500100', 'name': '巴南区'}, {'id': '500114', 'pid': '500100', 'name': '黔江区'}, {'id': '500115', 'pid': '500100', 'name': '长寿区'}, {'id': '500116', 'pid': '500100', 'name': '江津区'}, {'id': '500117', 'pid': '500100', 'name': '合川区'}, {'id': '500118', 'pid': '500100', 'name': '永川区'}, { + 'id': '500119', + 'pid': '500100', + 'name': '南川区', + }, {'id': '500120', 'pid': '500100', 'name': '璧山区'}, {'id': '500151', 'pid': '500100', 'name': '铜梁区'}, {'id': '500152', 'pid': '500100', 'name': '潼南区'}, {'id': '500153', 'pid': '500100', 'name': '荣昌区'}, {'id': '500154', 'pid': '500100', 'name': '开州区'}, {'id': '500155', 'pid': '500100', 'name': '梁平区'}, {'id': '500156', 'pid': '500100', 'name': '武隆区'} ], + } ], +}, { + 'id': '510000', + 'pid': '0', + 'name': '四川省', + 'children': [ { + 'id': '510100', + 'pid': '510000', + 'name': '成都市', + 'children': [ {'id': '510104', 'pid': '510100', 'name': '锦江区'}, {'id': '510105', 'pid': '510100', 'name': '青羊区'}, {'id': '510106', 'pid': '510100', 'name': '金牛区'}, {'id': '510107', 'pid': '510100', 'name': '武侯区'}, {'id': '510108', 'pid': '510100', 'name': '成华区'}, {'id': '510112', 'pid': '510100', 'name': '龙泉驿区'}, {'id': '510113', 'pid': '510100', 'name': '青白江区'}, {'id': '510114', 'pid': '510100', 'name': '新都区'}, {'id': '510115', 'pid': '510100', 'name': '温江区'}, {'id': '510116', 'pid': '510100', 'name': '双流区'}, {'id': '510117', 'pid': '510100', 'name': '郫都区'}, {'id': '510118', 'pid': '510100', 'name': '新津区'}, {'id': '510121', 'pid': '510100', 'name': '金堂县'}, {'id': '510129', 'pid': '510100', 'name': '大邑县'}, {'id': '510131', 'pid': '510100', 'name': '蒲江县'}, {'id': '510181', 'pid': '510100', 'name': '都江堰市'}, {'id': '510182', 'pid': '510100', 'name': '彭州市'}, {'id': '510183', 'pid': '510100', 'name': '邛崃市'}, { + 'id': '510184', + 'pid': '510100', + 'name': '崇州市', + }, {'id': '510185', 'pid': '510100', 'name': '简阳市'}, {'id': '510101', 'pid': '510100', 'name': '市辖区'} ], + }, {'id': '510300', 'pid': '510000', 'name': '自贡市', 'children': [ {'id': '510302', 'pid': '510300', 'name': '自流井区'}, {'id': '510303', 'pid': '510300', 'name': '贡井区'}, {'id': '510304', 'pid': '510300', 'name': '大安区'}, {'id': '510311', 'pid': '510300', 'name': '沿滩区'}, {'id': '510321', 'pid': '510300', 'name': '荣县'}, {'id': '510322', 'pid': '510300', 'name': '富顺县'}, {'id': '510301', 'pid': '510300', 'name': '市辖区'} ]}, {'id': '510400', 'pid': '510000', 'name': '攀枝花市', 'children': [ {'id': '510402', 'pid': '510400', 'name': '东区'}, {'id': '510403', 'pid': '510400', 'name': '西区'}, {'id': '510411', 'pid': '510400', 'name': '仁和区'}, {'id': '510421', 'pid': '510400', 'name': '米易县'}, {'id': '510422', 'pid': '510400', 'name': '盐边县'}, {'id': '510401', 'pid': '510400', 'name': '市辖区'} ]}, { + 'id': '510500', + 'pid': '510000', + 'name': '泸州市', + 'children': [ {'id': '510502', 'pid': '510500', 'name': '江阳区'}, {'id': '510503', 'pid': '510500', 'name': '纳溪区'}, {'id': '510504', 'pid': '510500', 'name': '龙马潭区'}, {'id': '510521', 'pid': '510500', 'name': '泸县'}, {'id': '510522', 'pid': '510500', 'name': '合江县'}, {'id': '510524', 'pid': '510500', 'name': '叙永县'}, {'id': '510525', 'pid': '510500', 'name': '古蔺县'}, {'id': '510501', 'pid': '510500', 'name': '市辖区'} ], + }, {'id': '510600', 'pid': '510000', 'name': '德阳市', 'children': [ {'id': '510603', 'pid': '510600', 'name': '旌阳区'}, {'id': '510604', 'pid': '510600', 'name': '罗江区'}, {'id': '510623', 'pid': '510600', 'name': '中江县'}, {'id': '510681', 'pid': '510600', 'name': '广汉市'}, {'id': '510682', 'pid': '510600', 'name': '什邡市'}, {'id': '510683', 'pid': '510600', 'name': '绵竹市'}, {'id': '510601', 'pid': '510600', 'name': '市辖区'} ]}, { + 'id': '510700', + 'pid': '510000', + 'name': '绵阳市', + 'children': [ {'id': '510703', 'pid': '510700', 'name': '涪城区'}, {'id': '510704', 'pid': '510700', 'name': '游仙区'}, {'id': '510705', 'pid': '510700', 'name': '安州区'}, {'id': '510722', 'pid': '510700', 'name': '三台县'}, {'id': '510723', 'pid': '510700', 'name': '盐亭县'}, {'id': '510725', 'pid': '510700', 'name': '梓潼县'}, {'id': '510726', 'pid': '510700', 'name': '北川羌族自治县'}, {'id': '510727', 'pid': '510700', 'name': '平武县'}, {'id': '510781', 'pid': '510700', 'name': '江油市'}, {'id': '510701', 'pid': '510700', 'name': '市辖区'} ], + }, {'id': '510800', 'pid': '510000', 'name': '广元市', 'children': [ {'id': '510802', 'pid': '510800', 'name': '利州区'}, {'id': '510811', 'pid': '510800', 'name': '昭化区'}, {'id': '510812', 'pid': '510800', 'name': '朝天区'}, {'id': '510821', 'pid': '510800', 'name': '旺苍县'}, {'id': '510822', 'pid': '510800', 'name': '青川县'}, {'id': '510823', 'pid': '510800', 'name': '剑阁县'}, {'id': '510824', 'pid': '510800', 'name': '苍溪县'}, {'id': '510801', 'pid': '510800', 'name': '市辖区'} ]}, {'id': '510900', 'pid': '510000', 'name': '遂宁市', 'children': [ {'id': '510903', 'pid': '510900', 'name': '船山区'}, {'id': '510904', 'pid': '510900', 'name': '安居区'}, {'id': '510921', 'pid': '510900', 'name': '蓬溪县'}, {'id': '510923', 'pid': '510900', 'name': '大英县'}, {'id': '510981', 'pid': '510900', 'name': '射洪市'}, {'id': '510901', 'pid': '510900', 'name': '市辖区'} ]}, { + 'id': '511000', + 'pid': '510000', + 'name': '内江市', + 'children': [ {'id': '511002', 'pid': '511000', 'name': '市中区'}, {'id': '511011', 'pid': '511000', 'name': '东兴区'}, {'id': '511024', 'pid': '511000', 'name': '威远县'}, {'id': '511025', 'pid': '511000', 'name': '资中县'}, {'id': '511083', 'pid': '511000', 'name': '隆昌市'}, {'id': '511001', 'pid': '511000', 'name': '市辖区'}, {'id': '511071', 'pid': '511000', 'name': '内江经济开发区'} ], + }, {'id': '511100', 'pid': '510000', 'name': '乐山市', 'children': [ {'id': '511102', 'pid': '511100', 'name': '市中区'}, {'id': '511111', 'pid': '511100', 'name': '沙湾区'}, {'id': '511112', 'pid': '511100', 'name': '五通桥区'}, {'id': '511113', 'pid': '511100', 'name': '金口河区'}, {'id': '511123', 'pid': '511100', 'name': '犍为县'}, {'id': '511124', 'pid': '511100', 'name': '井研县'}, {'id': '511126', 'pid': '511100', 'name': '夹江县'}, {'id': '511129', 'pid': '511100', 'name': '沐川县'}, {'id': '511132', 'pid': '511100', 'name': '峨边彝族自治县'}, {'id': '511133', 'pid': '511100', 'name': '马边彝族自治县'}, {'id': '511181', 'pid': '511100', 'name': '峨眉山市'}, {'id': '511101', 'pid': '511100', 'name': '市辖区'} ]}, { + 'id': '511300', + 'pid': '510000', + 'name': '南充市', + 'children': [ {'id': '511302', 'pid': '511300', 'name': '顺庆区'}, {'id': '511303', 'pid': '511300', 'name': '高坪区'}, {'id': '511304', 'pid': '511300', 'name': '嘉陵区'}, {'id': '511321', 'pid': '511300', 'name': '南部县'}, {'id': '511322', 'pid': '511300', 'name': '营山县'}, {'id': '511323', 'pid': '511300', 'name': '蓬安县'}, {'id': '511324', 'pid': '511300', 'name': '仪陇县'}, {'id': '511325', 'pid': '511300', 'name': '西充县'}, {'id': '511381', 'pid': '511300', 'name': '阆中市'}, {'id': '511301', 'pid': '511300', 'name': '市辖区'} ], + }, {'id': '511400', 'pid': '510000', 'name': '眉山市', 'children': [ {'id': '511402', 'pid': '511400', 'name': '东坡区'}, {'id': '511403', 'pid': '511400', 'name': '彭山区'}, {'id': '511421', 'pid': '511400', 'name': '仁寿县'}, {'id': '511423', 'pid': '511400', 'name': '洪雅县'}, {'id': '511424', 'pid': '511400', 'name': '丹棱县'}, {'id': '511425', 'pid': '511400', 'name': '青神县'}, {'id': '511401', 'pid': '511400', 'name': '市辖区'} ]}, { + 'id': '511500', + 'pid': '510000', + 'name': '宜宾市', + 'children': [ {'id': '511502', 'pid': '511500', 'name': '翠屏区'}, {'id': '511503', 'pid': '511500', 'name': '南溪区'}, {'id': '511504', 'pid': '511500', 'name': '叙州区'}, {'id': '511523', 'pid': '511500', 'name': '江安县'}, {'id': '511524', 'pid': '511500', 'name': '长宁县'}, {'id': '511525', 'pid': '511500', 'name': '高县'}, {'id': '511526', 'pid': '511500', 'name': '珙县'}, {'id': '511527', 'pid': '511500', 'name': '筠连县'}, {'id': '511528', 'pid': '511500', 'name': '兴文县'}, {'id': '511529', 'pid': '511500', 'name': '屏山县'}, {'id': '511501', 'pid': '511500', 'name': '市辖区'} ], + }, {'id': '511600', 'pid': '510000', 'name': '广安市', 'children': [ {'id': '511602', 'pid': '511600', 'name': '广安区'}, {'id': '511603', 'pid': '511600', 'name': '前锋区'}, {'id': '511621', 'pid': '511600', 'name': '岳池县'}, {'id': '511622', 'pid': '511600', 'name': '武胜县'}, {'id': '511623', 'pid': '511600', 'name': '邻水县'}, {'id': '511681', 'pid': '511600', 'name': '华蓥市'}, {'id': '511601', 'pid': '511600', 'name': '市辖区'} ]}, { + 'id': '511700', + 'pid': '510000', + 'name': '达州市', + 'children': [ {'id': '511702', 'pid': '511700', 'name': '通川区'}, {'id': '511703', 'pid': '511700', 'name': '达川区'}, {'id': '511722', 'pid': '511700', 'name': '宣汉县'}, {'id': '511723', 'pid': '511700', 'name': '开江县'}, {'id': '511724', 'pid': '511700', 'name': '大竹县'}, {'id': '511725', 'pid': '511700', 'name': '渠县'}, {'id': '511781', 'pid': '511700', 'name': '万源市'}, {'id': '511701', 'pid': '511700', 'name': '市辖区'}, {'id': '511771', 'pid': '511700', 'name': '达州经济开发区'} ], + }, {'id': '511800', 'pid': '510000', 'name': '雅安市', 'children': [ {'id': '511802', 'pid': '511800', 'name': '雨城区'}, {'id': '511803', 'pid': '511800', 'name': '名山区'}, {'id': '511822', 'pid': '511800', 'name': '荥经县'}, {'id': '511823', 'pid': '511800', 'name': '汉源县'}, {'id': '511824', 'pid': '511800', 'name': '石棉县'}, {'id': '511825', 'pid': '511800', 'name': '天全县'}, {'id': '511826', 'pid': '511800', 'name': '芦山县'}, {'id': '511827', 'pid': '511800', 'name': '宝兴县'}, {'id': '511801', 'pid': '511800', 'name': '市辖区'} ]}, { + 'id': '511900', + 'pid': '510000', + 'name': '巴中市', + 'children': [ {'id': '511902', 'pid': '511900', 'name': '巴州区'}, {'id': '511903', 'pid': '511900', 'name': '恩阳区'}, {'id': '511921', 'pid': '511900', 'name': '通江县'}, {'id': '511922', 'pid': '511900', 'name': '南江县'}, {'id': '511923', 'pid': '511900', 'name': '平昌县'}, {'id': '511901', 'pid': '511900', 'name': '市辖区'}, {'id': '511971', 'pid': '511900', 'name': '巴中经济开发区'} ], + }, {'id': '512000', 'pid': '510000', 'name': '资阳市', 'children': [ {'id': '512002', 'pid': '512000', 'name': '雁江区'}, {'id': '512021', 'pid': '512000', 'name': '安岳县'}, {'id': '512022', 'pid': '512000', 'name': '乐至县'}, {'id': '512001', 'pid': '512000', 'name': '市辖区'} ]}, { + 'id': '513200', + 'pid': '510000', + 'name': '阿坝藏族羌族自治州', + 'children': [ {'id': '513201', 'pid': '513200', 'name': '马尔康市'}, {'id': '513221', 'pid': '513200', 'name': '汶川县'}, {'id': '513222', 'pid': '513200', 'name': '理县'}, {'id': '513223', 'pid': '513200', 'name': '茂县'}, {'id': '513224', 'pid': '513200', 'name': '松潘县'}, {'id': '513225', 'pid': '513200', 'name': '九寨沟县'}, {'id': '513226', 'pid': '513200', 'name': '金川县'}, {'id': '513227', 'pid': '513200', 'name': '小金县'}, {'id': '513228', 'pid': '513200', 'name': '黑水县'}, {'id': '513230', 'pid': '513200', 'name': '壤塘县'}, {'id': '513231', 'pid': '513200', 'name': '阿坝县'}, {'id': '513232', 'pid': '513200', 'name': '若尔盖县'}, {'id': '513233', 'pid': '513200', 'name': '红原县'} ], + }, { + 'id': '513300', + 'pid': '510000', + 'name': '甘孜藏族自治州', + 'children': [ {'id': '513301', 'pid': '513300', 'name': '康定市'}, {'id': '513322', 'pid': '513300', 'name': '泸定县'}, {'id': '513323', 'pid': '513300', 'name': '丹巴县'}, {'id': '513324', 'pid': '513300', 'name': '九龙县'}, {'id': '513325', 'pid': '513300', 'name': '雅江县'}, {'id': '513326', 'pid': '513300', 'name': '道孚县'}, {'id': '513327', 'pid': '513300', 'name': '炉霍县'}, {'id': '513328', 'pid': '513300', 'name': '甘孜县'}, {'id': '513329', 'pid': '513300', 'name': '新龙县'}, {'id': '513330', 'pid': '513300', 'name': '德格县'}, {'id': '513331', 'pid': '513300', 'name': '白玉县'}, {'id': '513332', 'pid': '513300', 'name': '石渠县'}, {'id': '513333', 'pid': '513300', 'name': '色达县'}, {'id': '513334', 'pid': '513300', 'name': '理塘县'}, {'id': '513335', 'pid': '513300', 'name': '巴塘县'}, {'id': '513336', 'pid': '513300', 'name': '乡城县'}, {'id': '513337', 'pid': '513300', 'name': '稻城县'}, {'id': '513338', 'pid': '513300', 'name': '得荣县'} ], + }, { + 'id': '513400', + 'pid': '510000', + 'name': '凉山彝族自治州', + 'children': [ {'id': '513401', 'pid': '513400', 'name': '西昌市'}, {'id': '513422', 'pid': '513400', 'name': '木里藏族自治县'}, {'id': '513423', 'pid': '513400', 'name': '盐源县'}, {'id': '513424', 'pid': '513400', 'name': '德昌县'}, {'id': '513425', 'pid': '513400', 'name': '会理县'}, {'id': '513426', 'pid': '513400', 'name': '会东县'}, {'id': '513427', 'pid': '513400', 'name': '宁南县'}, {'id': '513428', 'pid': '513400', 'name': '普格县'}, {'id': '513429', 'pid': '513400', 'name': '布拖县'}, {'id': '513430', 'pid': '513400', 'name': '金阳县'}, {'id': '513431', 'pid': '513400', 'name': '昭觉县'}, {'id': '513432', 'pid': '513400', 'name': '喜德县'}, {'id': '513433', 'pid': '513400', 'name': '冕宁县'}, {'id': '513434', 'pid': '513400', 'name': '越西县'}, {'id': '513435', 'pid': '513400', 'name': '甘洛县'}, {'id': '513436', 'pid': '513400', 'name': '美姑县'}, {'id': '513437', 'pid': '513400', 'name': '雷波县'}, {'id': '513402', 'pid': '513400', 'name': '会理市'} ], + } ], +}, { + 'id': '520000', + 'pid': '0', + 'name': '贵州省', + 'children': [ {'id': '520100', 'pid': '520000', 'name': '贵阳市', 'children': [ {'id': '520102', 'pid': '520100', 'name': '南明区'}, {'id': '520103', 'pid': '520100', 'name': '云岩区'}, {'id': '520111', 'pid': '520100', 'name': '花溪区'}, {'id': '520112', 'pid': '520100', 'name': '乌当区'}, {'id': '520113', 'pid': '520100', 'name': '白云区'}, {'id': '520115', 'pid': '520100', 'name': '观山湖区'}, {'id': '520121', 'pid': '520100', 'name': '开阳县'}, {'id': '520122', 'pid': '520100', 'name': '息烽县'}, {'id': '520123', 'pid': '520100', 'name': '修文县'}, {'id': '520181', 'pid': '520100', 'name': '清镇市'}, {'id': '520101', 'pid': '520100', 'name': '市辖区'} ]}, {'id': '520200', 'pid': '520000', 'name': '六盘水市', 'children': [ {'id': '520201', 'pid': '520200', 'name': '钟山区'}, {'id': '520203', 'pid': '520200', 'name': '六枝特区'}, {'id': '520204', 'pid': '520200', 'name': '水城区'}, {'id': '520281', 'pid': '520200', 'name': '盘州市'} ]}, { + 'id': '520300', + 'pid': '520000', + 'name': '遵义市', + 'children': [ {'id': '520302', 'pid': '520300', 'name': '红花岗区'}, {'id': '520303', 'pid': '520300', 'name': '汇川区'}, {'id': '520304', 'pid': '520300', 'name': '播州区'}, {'id': '520322', 'pid': '520300', 'name': '桐梓县'}, {'id': '520323', 'pid': '520300', 'name': '绥阳县'}, {'id': '520324', 'pid': '520300', 'name': '正安县'}, {'id': '520325', 'pid': '520300', 'name': '道真仡佬族苗族自治县'}, {'id': '520326', 'pid': '520300', 'name': '务川仡佬族苗族自治县'}, {'id': '520327', 'pid': '520300', 'name': '凤冈县'}, {'id': '520328', 'pid': '520300', 'name': '湄潭县'}, {'id': '520329', 'pid': '520300', 'name': '余庆县'}, {'id': '520330', 'pid': '520300', 'name': '习水县'}, {'id': '520381', 'pid': '520300', 'name': '赤水市'}, {'id': '520382', 'pid': '520300', 'name': '仁怀市'}, {'id': '520301', 'pid': '520300', 'name': '市辖区'} ], + }, {'id': '520400', 'pid': '520000', 'name': '安顺市', 'children': [ {'id': '520402', 'pid': '520400', 'name': '西秀区'}, {'id': '520403', 'pid': '520400', 'name': '平坝区'}, {'id': '520422', 'pid': '520400', 'name': '普定县'}, {'id': '520423', 'pid': '520400', 'name': '镇宁布依族苗族自治县'}, {'id': '520424', 'pid': '520400', 'name': '关岭布依族苗族自治县'}, {'id': '520425', 'pid': '520400', 'name': '紫云苗族布依族自治县'}, {'id': '520401', 'pid': '520400', 'name': '市辖区'} ]}, { + 'id': '520500', + 'pid': '520000', + 'name': '毕节市', + 'children': [ {'id': '520502', 'pid': '520500', 'name': '七星关区'}, {'id': '520521', 'pid': '520500', 'name': '大方县'}, {'id': '520522', 'pid': '520500', 'name': '黔西县'}, {'id': '520523', 'pid': '520500', 'name': '金沙县'}, {'id': '520524', 'pid': '520500', 'name': '织金县'}, {'id': '520525', 'pid': '520500', 'name': '纳雍县'}, {'id': '520526', 'pid': '520500', 'name': '威宁彝族回族苗族自治县'}, {'id': '520527', 'pid': '520500', 'name': '赫章县'}, {'id': '520501', 'pid': '520500', 'name': '市辖区'}, {'id': '520581', 'pid': '520500', 'name': '黔西市'} ], + }, {'id': '520600', 'pid': '520000', 'name': '铜仁市', 'children': [ {'id': '520602', 'pid': '520600', 'name': '碧江区'}, {'id': '520603', 'pid': '520600', 'name': '万山区'}, {'id': '520621', 'pid': '520600', 'name': '江口县'}, {'id': '520622', 'pid': '520600', 'name': '玉屏侗族自治县'}, {'id': '520623', 'pid': '520600', 'name': '石阡县'}, {'id': '520624', 'pid': '520600', 'name': '思南县'}, {'id': '520625', 'pid': '520600', 'name': '印江土家族苗族自治县'}, {'id': '520626', 'pid': '520600', 'name': '德江县'}, {'id': '520627', 'pid': '520600', 'name': '沿河土家族自治县'}, {'id': '520628', 'pid': '520600', 'name': '松桃苗族自治县'}, {'id': '520601', 'pid': '520600', 'name': '市辖区'} ]}, { + 'id': '522300', + 'pid': '520000', + 'name': '黔西南布依族苗族自治州', + 'children': [ {'id': '522301', 'pid': '522300', 'name': '兴义市'}, {'id': '522302', 'pid': '522300', 'name': '兴仁市'}, {'id': '522323', 'pid': '522300', 'name': '普安县'}, {'id': '522324', 'pid': '522300', 'name': '晴隆县'}, {'id': '522325', 'pid': '522300', 'name': '贞丰县'}, {'id': '522326', 'pid': '522300', 'name': '望谟县'}, {'id': '522327', 'pid': '522300', 'name': '册亨县'}, {'id': '522328', 'pid': '522300', 'name': '安龙县'} ], + }, {'id': '522600', 'pid': '520000', 'name': '黔东南苗族侗族自治州', 'children': [ {'id': '522601', 'pid': '522600', 'name': '凯里市'}, {'id': '522622', 'pid': '522600', 'name': '黄平县'}, {'id': '522623', 'pid': '522600', 'name': '施秉县'}, {'id': '522624', 'pid': '522600', 'name': '三穗县'}, {'id': '522625', 'pid': '522600', 'name': '镇远县'}, {'id': '522626', 'pid': '522600', 'name': '岑巩县'}, {'id': '522627', 'pid': '522600', 'name': '天柱县'}, {'id': '522628', 'pid': '522600', 'name': '锦屏县'}, {'id': '522629', 'pid': '522600', 'name': '剑河县'}, {'id': '522630', 'pid': '522600', 'name': '台江县'}, {'id': '522631', 'pid': '522600', 'name': '黎平县'}, {'id': '522632', 'pid': '522600', 'name': '榕江县'}, {'id': '522633', 'pid': '522600', 'name': '从江县'}, {'id': '522634', 'pid': '522600', 'name': '雷山县'}, {'id': '522635', 'pid': '522600', 'name': '麻江县'}, {'id': '522636', 'pid': '522600', 'name': '丹寨县'} ]}, { + 'id': '522700', + 'pid': '520000', + 'name': '黔南布依族苗族自治州', + 'children': [ {'id': '522701', 'pid': '522700', 'name': '都匀市'}, {'id': '522702', 'pid': '522700', 'name': '福泉市'}, {'id': '522722', 'pid': '522700', 'name': '荔波县'}, {'id': '522723', 'pid': '522700', 'name': '贵定县'}, {'id': '522725', 'pid': '522700', 'name': '瓮安县'}, {'id': '522726', 'pid': '522700', 'name': '独山县'}, {'id': '522727', 'pid': '522700', 'name': '平塘县'}, {'id': '522728', 'pid': '522700', 'name': '罗甸县'}, {'id': '522729', 'pid': '522700', 'name': '长顺县'}, {'id': '522730', 'pid': '522700', 'name': '龙里县'}, {'id': '522731', 'pid': '522700', 'name': '惠水县'}, {'id': '522732', 'pid': '522700', 'name': '三都水族自治县'} ], + } ], +}, { + 'id': '530000', + 'pid': '0', + 'name': '云南省', + 'children': [ {'id': '530100', 'pid': '530000', 'name': '昆明市', 'children': [ {'id': '530102', 'pid': '530100', 'name': '五华区'}, {'id': '530103', 'pid': '530100', 'name': '盘龙区'}, {'id': '530111', 'pid': '530100', 'name': '官渡区'}, {'id': '530112', 'pid': '530100', 'name': '西山区'}, {'id': '530113', 'pid': '530100', 'name': '东川区'}, {'id': '530114', 'pid': '530100', 'name': '呈贡区'}, {'id': '530115', 'pid': '530100', 'name': '晋宁区'}, {'id': '530124', 'pid': '530100', 'name': '富民县'}, {'id': '530125', 'pid': '530100', 'name': '宜良县'}, {'id': '530126', 'pid': '530100', 'name': '石林彝族自治县'}, {'id': '530127', 'pid': '530100', 'name': '嵩明县'}, {'id': '530128', 'pid': '530100', 'name': '禄劝彝族苗族自治县'}, {'id': '530129', 'pid': '530100', 'name': '寻甸回族彝族自治县'}, {'id': '530181', 'pid': '530100', 'name': '安宁市'}, {'id': '530101', 'pid': '530100', 'name': '市辖区'} ]}, { + 'id': '530300', + 'pid': '530000', + 'name': '曲靖市', + 'children': [ {'id': '530302', 'pid': '530300', 'name': '麒麟区'}, {'id': '530303', 'pid': '530300', 'name': '沾益区'}, {'id': '530304', 'pid': '530300', 'name': '马龙区'}, {'id': '530322', 'pid': '530300', 'name': '陆良县'}, {'id': '530323', 'pid': '530300', 'name': '师宗县'}, {'id': '530324', 'pid': '530300', 'name': '罗平县'}, {'id': '530325', 'pid': '530300', 'name': '富源县'}, {'id': '530326', 'pid': '530300', 'name': '会泽县'}, {'id': '530381', 'pid': '530300', 'name': '宣威市'}, {'id': '530301', 'pid': '530300', 'name': '市辖区'} ], + }, {'id': '530400', 'pid': '530000', 'name': '玉溪市', 'children': [ {'id': '530402', 'pid': '530400', 'name': '红塔区'}, {'id': '530403', 'pid': '530400', 'name': '江川区'}, {'id': '530423', 'pid': '530400', 'name': '通海县'}, {'id': '530424', 'pid': '530400', 'name': '华宁县'}, {'id': '530425', 'pid': '530400', 'name': '易门县'}, {'id': '530426', 'pid': '530400', 'name': '峨山彝族自治县'}, {'id': '530427', 'pid': '530400', 'name': '新平彝族傣族自治县'}, {'id': '530428', 'pid': '530400', 'name': '元江哈尼族彝族傣族自治县'}, {'id': '530481', 'pid': '530400', 'name': '澄江市'}, {'id': '530401', 'pid': '530400', 'name': '市辖区'} ]}, { + 'id': '530500', + 'pid': '530000', + 'name': '保山市', + 'children': [ {'id': '530502', 'pid': '530500', 'name': '隆阳区'}, {'id': '530521', 'pid': '530500', 'name': '施甸县'}, {'id': '530523', 'pid': '530500', 'name': '龙陵县'}, {'id': '530524', 'pid': '530500', 'name': '昌宁县'}, {'id': '530581', 'pid': '530500', 'name': '腾冲市'}, {'id': '530501', 'pid': '530500', 'name': '市辖区'} ], + }, {'id': '530600', 'pid': '530000', 'name': '昭通市', 'children': [ {'id': '530602', 'pid': '530600', 'name': '昭阳区'}, {'id': '530621', 'pid': '530600', 'name': '鲁甸县'}, {'id': '530622', 'pid': '530600', 'name': '巧家县'}, {'id': '530623', 'pid': '530600', 'name': '盐津县'}, {'id': '530624', 'pid': '530600', 'name': '大关县'}, {'id': '530625', 'pid': '530600', 'name': '永善县'}, {'id': '530626', 'pid': '530600', 'name': '绥江县'}, {'id': '530627', 'pid': '530600', 'name': '镇雄县'}, {'id': '530628', 'pid': '530600', 'name': '彝良县'}, {'id': '530629', 'pid': '530600', 'name': '威信县'}, {'id': '530681', 'pid': '530600', 'name': '水富市'}, {'id': '530601', 'pid': '530600', 'name': '市辖区'} ]}, { + 'id': '530700', + 'pid': '530000', + 'name': '丽江市', + 'children': [ {'id': '530702', 'pid': '530700', 'name': '古城区'}, {'id': '530721', 'pid': '530700', 'name': '玉龙纳西族自治县'}, {'id': '530722', 'pid': '530700', 'name': '永胜县'}, {'id': '530723', 'pid': '530700', 'name': '华坪县'}, {'id': '530724', 'pid': '530700', 'name': '宁蒗彝族自治县'}, {'id': '530701', 'pid': '530700', 'name': '市辖区'} ], + }, {'id': '530800', 'pid': '530000', 'name': '普洱市', 'children': [ {'id': '530802', 'pid': '530800', 'name': '思茅区'}, {'id': '530821', 'pid': '530800', 'name': '宁洱哈尼族彝族自治县'}, {'id': '530822', 'pid': '530800', 'name': '墨江哈尼族自治县'}, {'id': '530823', 'pid': '530800', 'name': '景东彝族自治县'}, {'id': '530824', 'pid': '530800', 'name': '景谷傣族彝族自治县'}, {'id': '530825', 'pid': '530800', 'name': '镇沅彝族哈尼族拉祜族自治县'}, {'id': '530826', 'pid': '530800', 'name': '江城哈尼族彝族自治县'}, {'id': '530827', 'pid': '530800', 'name': '孟连傣族拉祜族佤族自治县'}, {'id': '530828', 'pid': '530800', 'name': '澜沧拉祜族自治县'}, {'id': '530829', 'pid': '530800', 'name': '西盟佤族自治县'}, {'id': '530801', 'pid': '530800', 'name': '市辖区'} ]}, { + 'id': '530900', + 'pid': '530000', + 'name': '临沧市', + 'children': [ {'id': '530902', 'pid': '530900', 'name': '临翔区'}, {'id': '530921', 'pid': '530900', 'name': '凤庆县'}, {'id': '530922', 'pid': '530900', 'name': '云县'}, {'id': '530923', 'pid': '530900', 'name': '永德县'}, {'id': '530924', 'pid': '530900', 'name': '镇康县'}, {'id': '530925', 'pid': '530900', 'name': '双江拉祜族佤族布朗族傣族自治县'}, {'id': '530926', 'pid': '530900', 'name': '耿马傣族佤族自治县'}, {'id': '530927', 'pid': '530900', 'name': '沧源佤族自治县'}, {'id': '530901', 'pid': '530900', 'name': '市辖区'} ], + }, {'id': '532300', 'pid': '530000', 'name': '楚雄彝族自治州', 'children': [ {'id': '532301', 'pid': '532300', 'name': '楚雄市'}, {'id': '532322', 'pid': '532300', 'name': '双柏县'}, {'id': '532323', 'pid': '532300', 'name': '牟定县'}, {'id': '532324', 'pid': '532300', 'name': '南华县'}, {'id': '532325', 'pid': '532300', 'name': '姚安县'}, {'id': '532326', 'pid': '532300', 'name': '大姚县'}, {'id': '532327', 'pid': '532300', 'name': '永仁县'}, {'id': '532328', 'pid': '532300', 'name': '元谋县'}, {'id': '532329', 'pid': '532300', 'name': '武定县'}, {'id': '532331', 'pid': '532300', 'name': '禄丰县'}, {'id': '532302', 'pid': '532300', 'name': '禄丰市'} ]}, { + 'id': '532500', + 'pid': '530000', + 'name': '红河哈尼族彝族自治州', + 'children': [ {'id': '532501', 'pid': '532500', 'name': '个旧市'}, {'id': '532502', 'pid': '532500', 'name': '开远市'}, {'id': '532503', 'pid': '532500', 'name': '蒙自市'}, {'id': '532504', 'pid': '532500', 'name': '弥勒市'}, {'id': '532523', 'pid': '532500', 'name': '屏边苗族自治县'}, {'id': '532524', 'pid': '532500', 'name': '建水县'}, {'id': '532525', 'pid': '532500', 'name': '石屏县'}, {'id': '532527', 'pid': '532500', 'name': '泸西县'}, {'id': '532528', 'pid': '532500', 'name': '元阳县'}, {'id': '532529', 'pid': '532500', 'name': '红河县'}, {'id': '532530', 'pid': '532500', 'name': '金平苗族瑶族傣族自治县'}, {'id': '532531', 'pid': '532500', 'name': '绿春县'}, {'id': '532532', 'pid': '532500', 'name': '河口瑶族自治县'} ], + }, {'id': '532600', 'pid': '530000', 'name': '文山壮族苗族自治州', 'children': [ {'id': '532601', 'pid': '532600', 'name': '文山市'}, {'id': '532622', 'pid': '532600', 'name': '砚山县'}, {'id': '532623', 'pid': '532600', 'name': '西畴县'}, {'id': '532624', 'pid': '532600', 'name': '麻栗坡县'}, {'id': '532625', 'pid': '532600', 'name': '马关县'}, {'id': '532626', 'pid': '532600', 'name': '丘北县'}, {'id': '532627', 'pid': '532600', 'name': '广南县'}, {'id': '532628', 'pid': '532600', 'name': '富宁县'} ]}, {'id': '532800', 'pid': '530000', 'name': '西双版纳傣族自治州', 'children': [ {'id': '532801', 'pid': '532800', 'name': '景洪市'}, {'id': '532822', 'pid': '532800', 'name': '勐海县'}, {'id': '532823', 'pid': '532800', 'name': '勐腊县'} ]}, { + 'id': '532900', + 'pid': '530000', + 'name': '大理白族自治州', + 'children': [ {'id': '532901', 'pid': '532900', 'name': '大理市'}, {'id': '532922', 'pid': '532900', 'name': '漾濞彝族自治县'}, {'id': '532923', 'pid': '532900', 'name': '祥云县'}, {'id': '532924', 'pid': '532900', 'name': '宾川县'}, {'id': '532925', 'pid': '532900', 'name': '弥渡县'}, {'id': '532926', 'pid': '532900', 'name': '南涧彝族自治县'}, {'id': '532927', 'pid': '532900', 'name': '巍山彝族回族自治县'}, {'id': '532928', 'pid': '532900', 'name': '永平县'}, {'id': '532929', 'pid': '532900', 'name': '云龙县'}, {'id': '532930', 'pid': '532900', 'name': '洱源县'}, {'id': '532931', 'pid': '532900', 'name': '剑川县'}, {'id': '532932', 'pid': '532900', 'name': '鹤庆县'} ], + }, {'id': '533100', 'pid': '530000', 'name': '德宏傣族景颇族自治州', 'children': [ {'id': '533102', 'pid': '533100', 'name': '瑞丽市'}, {'id': '533103', 'pid': '533100', 'name': '芒市'}, {'id': '533122', 'pid': '533100', 'name': '梁河县'}, {'id': '533123', 'pid': '533100', 'name': '盈江县'}, {'id': '533124', 'pid': '533100', 'name': '陇川县'} ]}, {'id': '533300', 'pid': '530000', 'name': '怒江傈僳族自治州', 'children': [ {'id': '533301', 'pid': '533300', 'name': '泸水市'}, {'id': '533323', 'pid': '533300', 'name': '福贡县'}, {'id': '533324', 'pid': '533300', 'name': '贡山独龙族怒族自治县'}, {'id': '533325', 'pid': '533300', 'name': '兰坪白族普米族自治县'} ]}, {'id': '533400', 'pid': '530000', 'name': '迪庆藏族自治州', 'children': [ {'id': '533401', 'pid': '533400', 'name': '香格里拉市'}, {'id': '533422', 'pid': '533400', 'name': '德钦县'}, {'id': '533423', 'pid': '533400', 'name': '维西傈僳族自治县'} ]} ], +}, { + 'id': '540000', + 'pid': '0', + 'name': '西藏自治区', + 'children': [ {'id': '540100', 'pid': '540000', 'name': '拉萨市', 'children': [ {'id': '540102', 'pid': '540100', 'name': '城关区'}, {'id': '540103', 'pid': '540100', 'name': '堆龙德庆区'}, {'id': '540104', 'pid': '540100', 'name': '达孜区'}, {'id': '540121', 'pid': '540100', 'name': '林周县'}, {'id': '540122', 'pid': '540100', 'name': '当雄县'}, {'id': '540123', 'pid': '540100', 'name': '尼木县'}, {'id': '540124', 'pid': '540100', 'name': '曲水县'}, {'id': '540127', 'pid': '540100', 'name': '墨竹工卡县'}, {'id': '540101', 'pid': '540100', 'name': '市辖区'}, {'id': '540171', 'pid': '540100', 'name': '格尔木藏青工业园区'}, {'id': '540172', 'pid': '540100', 'name': '拉萨经济技术开发区'}, {'id': '540173', 'pid': '540100', 'name': '西藏文化旅游创意园区'}, {'id': '540174', 'pid': '540100', 'name': '达孜工业园区'} ]}, { + 'id': '540200', + 'pid': '540000', + 'name': '日喀则市', + 'children': [ {'id': '540202', 'pid': '540200', 'name': '桑珠孜区'}, {'id': '540221', 'pid': '540200', 'name': '南木林县'}, {'id': '540222', 'pid': '540200', 'name': '江孜县'}, {'id': '540223', 'pid': '540200', 'name': '定日县'}, {'id': '540224', 'pid': '540200', 'name': '萨迦县'}, {'id': '540225', 'pid': '540200', 'name': '拉孜县'}, {'id': '540226', 'pid': '540200', 'name': '昂仁县'}, {'id': '540227', 'pid': '540200', 'name': '谢通门县'}, {'id': '540228', 'pid': '540200', 'name': '白朗县'}, {'id': '540229', 'pid': '540200', 'name': '仁布县'}, {'id': '540230', 'pid': '540200', 'name': '康马县'}, {'id': '540231', 'pid': '540200', 'name': '定结县'}, {'id': '540232', 'pid': '540200', 'name': '仲巴县'}, {'id': '540233', 'pid': '540200', 'name': '亚东县'}, {'id': '540234', 'pid': '540200', 'name': '吉隆县'}, {'id': '540235', 'pid': '540200', 'name': '聂拉木县'}, {'id': '540236', 'pid': '540200', 'name': '萨嘎县'}, {'id': '540237', 'pid': '540200', 'name': '岗巴县'} ], + }, {'id': '540300', 'pid': '540000', 'name': '昌都市', 'children': [ {'id': '540302', 'pid': '540300', 'name': '卡若区'}, {'id': '540321', 'pid': '540300', 'name': '江达县'}, {'id': '540322', 'pid': '540300', 'name': '贡觉县'}, {'id': '540323', 'pid': '540300', 'name': '类乌齐县'}, {'id': '540324', 'pid': '540300', 'name': '丁青县'}, {'id': '540325', 'pid': '540300', 'name': '察雅县'}, {'id': '540326', 'pid': '540300', 'name': '八宿县'}, {'id': '540327', 'pid': '540300', 'name': '左贡县'}, {'id': '540328', 'pid': '540300', 'name': '芒康县'}, {'id': '540329', 'pid': '540300', 'name': '洛隆县'}, {'id': '540330', 'pid': '540300', 'name': '边坝县'} ]}, { + 'id': '540400', + 'pid': '540000', + 'name': '林芝市', + 'children': [ {'id': '540402', 'pid': '540400', 'name': '巴宜区'}, {'id': '540421', 'pid': '540400', 'name': '工布江达县'}, {'id': '540422', 'pid': '540400', 'name': '米林县'}, {'id': '540423', 'pid': '540400', 'name': '墨脱县'}, {'id': '540424', 'pid': '540400', 'name': '波密县'}, {'id': '540425', 'pid': '540400', 'name': '察隅县'}, {'id': '540426', 'pid': '540400', 'name': '朗县'} ], + }, {'id': '540500', 'pid': '540000', 'name': '山南市', 'children': [ {'id': '540502', 'pid': '540500', 'name': '乃东区'}, {'id': '540521', 'pid': '540500', 'name': '扎囊县'}, {'id': '540522', 'pid': '540500', 'name': '贡嘎县'}, {'id': '540523', 'pid': '540500', 'name': '桑日县'}, {'id': '540524', 'pid': '540500', 'name': '琼结县'}, {'id': '540525', 'pid': '540500', 'name': '曲松县'}, {'id': '540526', 'pid': '540500', 'name': '措美县'}, {'id': '540527', 'pid': '540500', 'name': '洛扎县'}, {'id': '540528', 'pid': '540500', 'name': '加查县'}, {'id': '540529', 'pid': '540500', 'name': '隆子县'}, {'id': '540530', 'pid': '540500', 'name': '错那县'}, {'id': '540531', 'pid': '540500', 'name': '浪卡子县'}, {'id': '540501', 'pid': '540500', 'name': '市辖区'} ]}, { + 'id': '540600', + 'pid': '540000', + 'name': '那曲市', + 'children': [ {'id': '540602', 'pid': '540600', 'name': '色尼区'}, {'id': '540621', 'pid': '540600', 'name': '嘉黎县'}, {'id': '540622', 'pid': '540600', 'name': '比如县'}, {'id': '540623', 'pid': '540600', 'name': '聂荣县'}, {'id': '540624', 'pid': '540600', 'name': '安多县'}, {'id': '540625', 'pid': '540600', 'name': '申扎县'}, {'id': '540626', 'pid': '540600', 'name': '索县'}, {'id': '540627', 'pid': '540600', 'name': '班戈县'}, {'id': '540628', 'pid': '540600', 'name': '巴青县'}, {'id': '540629', 'pid': '540600', 'name': '尼玛县'}, {'id': '540630', 'pid': '540600', 'name': '双湖县'} ], + }, {'id': '542500', 'pid': '540000', 'name': '阿里地区', 'children': [ {'id': '542521', 'pid': '542500', 'name': '普兰县'}, {'id': '542522', 'pid': '542500', 'name': '札达县'}, {'id': '542523', 'pid': '542500', 'name': '噶尔县'}, {'id': '542524', 'pid': '542500', 'name': '日土县'}, {'id': '542525', 'pid': '542500', 'name': '革吉县'}, {'id': '542526', 'pid': '542500', 'name': '改则县'}, {'id': '542527', 'pid': '542500', 'name': '措勤县'} ]} ], +}, { + 'id': '610000', + 'pid': '0', + 'name': '陕西省', + 'children': [ {'id': '610100', 'pid': '610000', 'name': '西安市', 'children': [ {'id': '610102', 'pid': '610100', 'name': '新城区'}, {'id': '610103', 'pid': '610100', 'name': '碑林区'}, {'id': '610104', 'pid': '610100', 'name': '莲湖区'}, {'id': '610111', 'pid': '610100', 'name': '灞桥区'}, {'id': '610112', 'pid': '610100', 'name': '未央区'}, {'id': '610113', 'pid': '610100', 'name': '雁塔区'}, {'id': '610114', 'pid': '610100', 'name': '阎良区'}, {'id': '610115', 'pid': '610100', 'name': '临潼区'}, {'id': '610116', 'pid': '610100', 'name': '长安区'}, {'id': '610117', 'pid': '610100', 'name': '高陵区'}, {'id': '610118', 'pid': '610100', 'name': '鄠邑区'}, {'id': '610122', 'pid': '610100', 'name': '蓝田县'}, {'id': '610124', 'pid': '610100', 'name': '周至县'}, {'id': '610101', 'pid': '610100', 'name': '市辖区'} ]}, { + 'id': '610200', + 'pid': '610000', + 'name': '铜川市', + 'children': [ {'id': '610202', 'pid': '610200', 'name': '王益区'}, {'id': '610203', 'pid': '610200', 'name': '印台区'}, {'id': '610204', 'pid': '610200', 'name': '耀州区'}, {'id': '610222', 'pid': '610200', 'name': '宜君县'}, {'id': '610201', 'pid': '610200', 'name': '市辖区'} ], + }, {'id': '610300', 'pid': '610000', 'name': '宝鸡市', 'children': [ {'id': '610302', 'pid': '610300', 'name': '渭滨区'}, {'id': '610303', 'pid': '610300', 'name': '金台区'}, {'id': '610304', 'pid': '610300', 'name': '陈仓区'}, {'id': '610322', 'pid': '610300', 'name': '凤翔县'}, {'id': '610323', 'pid': '610300', 'name': '岐山县'}, {'id': '610324', 'pid': '610300', 'name': '扶风县'}, {'id': '610326', 'pid': '610300', 'name': '眉县'}, {'id': '610327', 'pid': '610300', 'name': '陇县'}, {'id': '610328', 'pid': '610300', 'name': '千阳县'}, {'id': '610329', 'pid': '610300', 'name': '麟游县'}, {'id': '610330', 'pid': '610300', 'name': '凤县'}, {'id': '610331', 'pid': '610300', 'name': '太白县'}, {'id': '610301', 'pid': '610300', 'name': '市辖区'}, {'id': '610305', 'pid': '610300', 'name': '凤翔区'} ]}, { + 'id': '610400', + 'pid': '610000', + 'name': '咸阳市', + 'children': [ {'id': '610402', 'pid': '610400', 'name': '秦都区'}, {'id': '610403', 'pid': '610400', 'name': '杨陵区'}, {'id': '610404', 'pid': '610400', 'name': '渭城区'}, {'id': '610422', 'pid': '610400', 'name': '三原县'}, {'id': '610423', 'pid': '610400', 'name': '泾阳县'}, {'id': '610424', 'pid': '610400', 'name': '乾县'}, {'id': '610425', 'pid': '610400', 'name': '礼泉县'}, {'id': '610426', 'pid': '610400', 'name': '永寿县'}, {'id': '610428', 'pid': '610400', 'name': '长武县'}, {'id': '610429', 'pid': '610400', 'name': '旬邑县'}, {'id': '610430', 'pid': '610400', 'name': '淳化县'}, {'id': '610431', 'pid': '610400', 'name': '武功县'}, {'id': '610481', 'pid': '610400', 'name': '兴平市'}, {'id': '610482', 'pid': '610400', 'name': '彬州市'}, {'id': '610401', 'pid': '610400', 'name': '市辖区'} ], + }, {'id': '610500', 'pid': '610000', 'name': '渭南市', 'children': [ {'id': '610502', 'pid': '610500', 'name': '临渭区'}, {'id': '610503', 'pid': '610500', 'name': '华州区'}, {'id': '610522', 'pid': '610500', 'name': '潼关县'}, {'id': '610523', 'pid': '610500', 'name': '大荔县'}, {'id': '610524', 'pid': '610500', 'name': '合阳县'}, {'id': '610525', 'pid': '610500', 'name': '澄城县'}, {'id': '610526', 'pid': '610500', 'name': '蒲城县'}, {'id': '610527', 'pid': '610500', 'name': '白水县'}, {'id': '610528', 'pid': '610500', 'name': '富平县'}, {'id': '610581', 'pid': '610500', 'name': '韩城市'}, {'id': '610582', 'pid': '610500', 'name': '华阴市'}, {'id': '610501', 'pid': '610500', 'name': '市辖区'} ]}, { + 'id': '610600', + 'pid': '610000', + 'name': '延安市', + 'children': [ {'id': '610602', 'pid': '610600', 'name': '宝塔区'}, {'id': '610603', 'pid': '610600', 'name': '安塞区'}, {'id': '610621', 'pid': '610600', 'name': '延长县'}, {'id': '610622', 'pid': '610600', 'name': '延川县'}, {'id': '610625', 'pid': '610600', 'name': '志丹县'}, {'id': '610626', 'pid': '610600', 'name': '吴起县'}, {'id': '610627', 'pid': '610600', 'name': '甘泉县'}, {'id': '610628', 'pid': '610600', 'name': '富县'}, {'id': '610629', 'pid': '610600', 'name': '洛川县'}, {'id': '610630', 'pid': '610600', 'name': '宜川县'}, {'id': '610631', 'pid': '610600', 'name': '黄龙县'}, {'id': '610632', 'pid': '610600', 'name': '黄陵县'}, {'id': '610681', 'pid': '610600', 'name': '子长市'}, {'id': '610601', 'pid': '610600', 'name': '市辖区'} ], + }, {'id': '610700', 'pid': '610000', 'name': '汉中市', 'children': [ {'id': '610702', 'pid': '610700', 'name': '汉台区'}, {'id': '610703', 'pid': '610700', 'name': '南郑区'}, {'id': '610722', 'pid': '610700', 'name': '城固县'}, {'id': '610723', 'pid': '610700', 'name': '洋县'}, {'id': '610724', 'pid': '610700', 'name': '西乡县'}, {'id': '610725', 'pid': '610700', 'name': '勉县'}, {'id': '610726', 'pid': '610700', 'name': '宁强县'}, {'id': '610727', 'pid': '610700', 'name': '略阳县'}, {'id': '610728', 'pid': '610700', 'name': '镇巴县'}, {'id': '610729', 'pid': '610700', 'name': '留坝县'}, {'id': '610730', 'pid': '610700', 'name': '佛坪县'}, {'id': '610701', 'pid': '610700', 'name': '市辖区'} ]}, { + 'id': '610800', + 'pid': '610000', + 'name': '榆林市', + 'children': [ {'id': '610802', 'pid': '610800', 'name': '榆阳区'}, {'id': '610803', 'pid': '610800', 'name': '横山区'}, {'id': '610822', 'pid': '610800', 'name': '府谷县'}, {'id': '610824', 'pid': '610800', 'name': '靖边县'}, {'id': '610825', 'pid': '610800', 'name': '定边县'}, {'id': '610826', 'pid': '610800', 'name': '绥德县'}, {'id': '610827', 'pid': '610800', 'name': '米脂县'}, {'id': '610828', 'pid': '610800', 'name': '佳县'}, {'id': '610829', 'pid': '610800', 'name': '吴堡县'}, {'id': '610830', 'pid': '610800', 'name': '清涧县'}, {'id': '610831', 'pid': '610800', 'name': '子洲县'}, {'id': '610881', 'pid': '610800', 'name': '神木市'}, {'id': '610801', 'pid': '610800', 'name': '市辖区'} ], + }, {'id': '610900', 'pid': '610000', 'name': '安康市', 'children': [ {'id': '610902', 'pid': '610900', 'name': '汉滨区'}, {'id': '610921', 'pid': '610900', 'name': '汉阴县'}, {'id': '610922', 'pid': '610900', 'name': '石泉县'}, {'id': '610923', 'pid': '610900', 'name': '宁陕县'}, {'id': '610924', 'pid': '610900', 'name': '紫阳县'}, {'id': '610925', 'pid': '610900', 'name': '岚皋县'}, {'id': '610926', 'pid': '610900', 'name': '平利县'}, {'id': '610927', 'pid': '610900', 'name': '镇坪县'}, {'id': '610928', 'pid': '610900', 'name': '旬阳县'}, {'id': '610929', 'pid': '610900', 'name': '白河县'}, {'id': '610901', 'pid': '610900', 'name': '市辖区'}, {'id': '610981', 'pid': '610900', 'name': '旬阳市'} ]}, { + 'id': '611000', + 'pid': '610000', + 'name': '商洛市', + 'children': [ {'id': '611002', 'pid': '611000', 'name': '商州区'}, {'id': '611021', 'pid': '611000', 'name': '洛南县'}, {'id': '611022', 'pid': '611000', 'name': '丹凤县'}, {'id': '611023', 'pid': '611000', 'name': '商南县'}, {'id': '611024', 'pid': '611000', 'name': '山阳县'}, {'id': '611025', 'pid': '611000', 'name': '镇安县'}, {'id': '611026', 'pid': '611000', 'name': '柞水县'}, {'id': '611001', 'pid': '611000', 'name': '市辖区'} ], + } ], +}, { + 'id': '620000', + 'pid': '0', + 'name': '甘肃省', + 'children': [ {'id': '620100', 'pid': '620000', 'name': '兰州市', 'children': [ {'id': '620102', 'pid': '620100', 'name': '城关区'}, {'id': '620103', 'pid': '620100', 'name': '七里河区'}, {'id': '620104', 'pid': '620100', 'name': '西固区'}, {'id': '620105', 'pid': '620100', 'name': '安宁区'}, {'id': '620111', 'pid': '620100', 'name': '红古区'}, {'id': '620121', 'pid': '620100', 'name': '永登县'}, {'id': '620122', 'pid': '620100', 'name': '皋兰县'}, {'id': '620123', 'pid': '620100', 'name': '榆中县'}, {'id': '620101', 'pid': '620100', 'name': '市辖区'}, {'id': '620171', 'pid': '620100', 'name': '兰州新区'} ]}, {'id': '620200', 'pid': '620000', 'name': '嘉峪关市', 'children': [ {'id': '620201', 'pid': '620200', 'name': '市辖区'} ]}, {'id': '620300', 'pid': '620000', 'name': '金昌市', 'children': [ {'id': '620302', 'pid': '620300', 'name': '金川区'}, {'id': '620321', 'pid': '620300', 'name': '永昌县'}, {'id': '620301', 'pid': '620300', 'name': '市辖区'} ]}, { + 'id': '620400', + 'pid': '620000', + 'name': '白银市', + 'children': [ {'id': '620402', 'pid': '620400', 'name': '白银区'}, {'id': '620403', 'pid': '620400', 'name': '平川区'}, {'id': '620421', 'pid': '620400', 'name': '靖远县'}, {'id': '620422', 'pid': '620400', 'name': '会宁县'}, {'id': '620423', 'pid': '620400', 'name': '景泰县'}, {'id': '620401', 'pid': '620400', 'name': '市辖区'} ], + }, {'id': '620500', 'pid': '620000', 'name': '天水市', 'children': [ {'id': '620502', 'pid': '620500', 'name': '秦州区'}, {'id': '620503', 'pid': '620500', 'name': '麦积区'}, {'id': '620521', 'pid': '620500', 'name': '清水县'}, {'id': '620522', 'pid': '620500', 'name': '秦安县'}, {'id': '620523', 'pid': '620500', 'name': '甘谷县'}, {'id': '620524', 'pid': '620500', 'name': '武山县'}, {'id': '620525', 'pid': '620500', 'name': '张家川回族自治县'}, {'id': '620501', 'pid': '620500', 'name': '市辖区'} ]}, {'id': '620600', 'pid': '620000', 'name': '武威市', 'children': [ {'id': '620602', 'pid': '620600', 'name': '凉州区'}, {'id': '620621', 'pid': '620600', 'name': '民勤县'}, {'id': '620622', 'pid': '620600', 'name': '古浪县'}, {'id': '620623', 'pid': '620600', 'name': '天祝藏族自治县'}, {'id': '620601', 'pid': '620600', 'name': '市辖区'} ]}, { + 'id': '620700', + 'pid': '620000', + 'name': '张掖市', + 'children': [ {'id': '620702', 'pid': '620700', 'name': '甘州区'}, {'id': '620721', 'pid': '620700', 'name': '肃南裕固族自治县'}, {'id': '620722', 'pid': '620700', 'name': '民乐县'}, {'id': '620723', 'pid': '620700', 'name': '临泽县'}, {'id': '620724', 'pid': '620700', 'name': '高台县'}, {'id': '620725', 'pid': '620700', 'name': '山丹县'}, {'id': '620701', 'pid': '620700', 'name': '市辖区'} ], + }, {'id': '620800', 'pid': '620000', 'name': '平凉市', 'children': [ {'id': '620802', 'pid': '620800', 'name': '崆峒区'}, {'id': '620821', 'pid': '620800', 'name': '泾川县'}, {'id': '620822', 'pid': '620800', 'name': '灵台县'}, {'id': '620823', 'pid': '620800', 'name': '崇信县'}, {'id': '620825', 'pid': '620800', 'name': '庄浪县'}, {'id': '620826', 'pid': '620800', 'name': '静宁县'}, {'id': '620881', 'pid': '620800', 'name': '华亭市'}, {'id': '620801', 'pid': '620800', 'name': '市辖区'} ]}, { + 'id': '620900', + 'pid': '620000', + 'name': '酒泉市', + 'children': [ {'id': '620902', 'pid': '620900', 'name': '肃州区'}, {'id': '620921', 'pid': '620900', 'name': '金塔县'}, {'id': '620922', 'pid': '620900', 'name': '瓜州县'}, {'id': '620923', 'pid': '620900', 'name': '肃北蒙古族自治县'}, {'id': '620924', 'pid': '620900', 'name': '阿克塞哈萨克族自治县'}, {'id': '620981', 'pid': '620900', 'name': '玉门市'}, {'id': '620982', 'pid': '620900', 'name': '敦煌市'}, {'id': '620901', 'pid': '620900', 'name': '市辖区'} ], + }, {'id': '621000', 'pid': '620000', 'name': '庆阳市', 'children': [ {'id': '621002', 'pid': '621000', 'name': '西峰区'}, {'id': '621021', 'pid': '621000', 'name': '庆城县'}, {'id': '621022', 'pid': '621000', 'name': '环县'}, {'id': '621023', 'pid': '621000', 'name': '华池县'}, {'id': '621024', 'pid': '621000', 'name': '合水县'}, {'id': '621025', 'pid': '621000', 'name': '正宁县'}, {'id': '621026', 'pid': '621000', 'name': '宁县'}, {'id': '621027', 'pid': '621000', 'name': '镇原县'}, {'id': '621001', 'pid': '621000', 'name': '市辖区'} ]}, { + 'id': '621100', + 'pid': '620000', + 'name': '定西市', + 'children': [ {'id': '621102', 'pid': '621100', 'name': '安定区'}, {'id': '621121', 'pid': '621100', 'name': '通渭县'}, {'id': '621122', 'pid': '621100', 'name': '陇西县'}, {'id': '621123', 'pid': '621100', 'name': '渭源县'}, {'id': '621124', 'pid': '621100', 'name': '临洮县'}, {'id': '621125', 'pid': '621100', 'name': '漳县'}, {'id': '621126', 'pid': '621100', 'name': '岷县'}, {'id': '621101', 'pid': '621100', 'name': '市辖区'} ], + }, {'id': '621200', 'pid': '620000', 'name': '陇南市', 'children': [ {'id': '621202', 'pid': '621200', 'name': '武都区'}, {'id': '621221', 'pid': '621200', 'name': '成县'}, {'id': '621222', 'pid': '621200', 'name': '文县'}, {'id': '621223', 'pid': '621200', 'name': '宕昌县'}, {'id': '621224', 'pid': '621200', 'name': '康县'}, {'id': '621225', 'pid': '621200', 'name': '西和县'}, {'id': '621226', 'pid': '621200', 'name': '礼县'}, {'id': '621227', 'pid': '621200', 'name': '徽县'}, {'id': '621228', 'pid': '621200', 'name': '两当县'}, {'id': '621201', 'pid': '621200', 'name': '市辖区'} ]}, { + 'id': '622900', + 'pid': '620000', + 'name': '临夏回族自治州', + 'children': [ {'id': '622901', 'pid': '622900', 'name': '临夏市'}, {'id': '622921', 'pid': '622900', 'name': '临夏县'}, {'id': '622922', 'pid': '622900', 'name': '康乐县'}, {'id': '622923', 'pid': '622900', 'name': '永靖县'}, {'id': '622924', 'pid': '622900', 'name': '广河县'}, {'id': '622925', 'pid': '622900', 'name': '和政县'}, {'id': '622926', 'pid': '622900', 'name': '东乡族自治县'}, {'id': '622927', 'pid': '622900', 'name': '积石山保安族东乡族撒拉族自治县'} ], + }, {'id': '623000', 'pid': '620000', 'name': '甘南藏族自治州', 'children': [ {'id': '623001', 'pid': '623000', 'name': '合作市'}, {'id': '623021', 'pid': '623000', 'name': '临潭县'}, {'id': '623022', 'pid': '623000', 'name': '卓尼县'}, {'id': '623023', 'pid': '623000', 'name': '舟曲县'}, {'id': '623024', 'pid': '623000', 'name': '迭部县'}, {'id': '623025', 'pid': '623000', 'name': '玛曲县'}, {'id': '623026', 'pid': '623000', 'name': '碌曲县'}, {'id': '623027', 'pid': '623000', 'name': '夏河县'} ]} ], +}, { + 'id': '630000', + 'pid': '0', + 'name': '青海省', + 'children': [ {'id': '630100', 'pid': '630000', 'name': '西宁市', 'children': [ {'id': '630102', 'pid': '630100', 'name': '城东区'}, {'id': '630103', 'pid': '630100', 'name': '城中区'}, {'id': '630104', 'pid': '630100', 'name': '城西区'}, {'id': '630105', 'pid': '630100', 'name': '城北区'}, {'id': '630106', 'pid': '630100', 'name': '湟中区'}, {'id': '630121', 'pid': '630100', 'name': '大通回族土族自治县'}, {'id': '630123', 'pid': '630100', 'name': '湟源县'}, {'id': '630101', 'pid': '630100', 'name': '市辖区'} ]}, {'id': '630200', 'pid': '630000', 'name': '海东市', 'children': [ {'id': '630202', 'pid': '630200', 'name': '乐都区'}, {'id': '630203', 'pid': '630200', 'name': '平安区'}, {'id': '630222', 'pid': '630200', 'name': '民和回族土族自治县'}, {'id': '630223', 'pid': '630200', 'name': '互助土族自治县'}, {'id': '630224', 'pid': '630200', 'name': '化隆回族自治县'}, {'id': '630225', 'pid': '630200', 'name': '循化撒拉族自治县'} ]}, { + 'id': '632200', + 'pid': '630000', + 'name': '海北藏族自治州', + 'children': [ {'id': '632221', 'pid': '632200', 'name': '门源回族自治县'}, {'id': '632222', 'pid': '632200', 'name': '祁连县'}, {'id': '632223', 'pid': '632200', 'name': '海晏县'}, {'id': '632224', 'pid': '632200', 'name': '刚察县'} ], + }, {'id': '632300', 'pid': '630000', 'name': '黄南藏族自治州', 'children': [ {'id': '632301', 'pid': '632300', 'name': '同仁市'}, {'id': '632322', 'pid': '632300', 'name': '尖扎县'}, {'id': '632323', 'pid': '632300', 'name': '泽库县'}, {'id': '632324', 'pid': '632300', 'name': '河南蒙古族自治县'} ]}, {'id': '632500', 'pid': '630000', 'name': '海南藏族自治州', 'children': [ {'id': '632521', 'pid': '632500', 'name': '共和县'}, {'id': '632522', 'pid': '632500', 'name': '同德县'}, {'id': '632523', 'pid': '632500', 'name': '贵德县'}, {'id': '632524', 'pid': '632500', 'name': '兴海县'}, {'id': '632525', 'pid': '632500', 'name': '贵南县'} ]}, { + 'id': '632600', + 'pid': '630000', + 'name': '果洛藏族自治州', + 'children': [ {'id': '632621', 'pid': '632600', 'name': '玛沁县'}, {'id': '632622', 'pid': '632600', 'name': '班玛县'}, {'id': '632623', 'pid': '632600', 'name': '甘德县'}, {'id': '632624', 'pid': '632600', 'name': '达日县'}, {'id': '632625', 'pid': '632600', 'name': '久治县'}, {'id': '632626', 'pid': '632600', 'name': '玛多县'} ], + }, {'id': '632700', 'pid': '630000', 'name': '玉树藏族自治州', 'children': [ {'id': '632701', 'pid': '632700', 'name': '玉树市'}, {'id': '632722', 'pid': '632700', 'name': '杂多县'}, {'id': '632723', 'pid': '632700', 'name': '称多县'}, {'id': '632724', 'pid': '632700', 'name': '治多县'}, {'id': '632725', 'pid': '632700', 'name': '囊谦县'}, {'id': '632726', 'pid': '632700', 'name': '曲麻莱县'} ]}, {'id': '632800', 'pid': '630000', 'name': '海西蒙古族藏族自治州', 'children': [ {'id': '632801', 'pid': '632800', 'name': '格尔木市'}, {'id': '632802', 'pid': '632800', 'name': '德令哈市'}, {'id': '632803', 'pid': '632800', 'name': '茫崖市'}, {'id': '632821', 'pid': '632800', 'name': '乌兰县'}, {'id': '632822', 'pid': '632800', 'name': '都兰县'}, {'id': '632823', 'pid': '632800', 'name': '天峻县'}, {'id': '632857', 'pid': '632800', 'name': '大柴旦行政委员会'} ]} ], +}, { + 'id': '640000', + 'pid': '0', + 'name': '宁夏回族自治区', + 'children': [ {'id': '640100', 'pid': '640000', 'name': '银川市', 'children': [ {'id': '640104', 'pid': '640100', 'name': '兴庆区'}, {'id': '640105', 'pid': '640100', 'name': '西夏区'}, {'id': '640106', 'pid': '640100', 'name': '金凤区'}, {'id': '640121', 'pid': '640100', 'name': '永宁县'}, {'id': '640122', 'pid': '640100', 'name': '贺兰县'}, {'id': '640181', 'pid': '640100', 'name': '灵武市'}, {'id': '640101', 'pid': '640100', 'name': '市辖区'} ]}, {'id': '640200', 'pid': '640000', 'name': '石嘴山市', 'children': [ {'id': '640202', 'pid': '640200', 'name': '大武口区'}, {'id': '640205', 'pid': '640200', 'name': '惠农区'}, {'id': '640221', 'pid': '640200', 'name': '平罗县'}, {'id': '640201', 'pid': '640200', 'name': '市辖区'} ]}, { + 'id': '640300', + 'pid': '640000', + 'name': '吴忠市', + 'children': [ {'id': '640302', 'pid': '640300', 'name': '利通区'}, {'id': '640303', 'pid': '640300', 'name': '红寺堡区'}, {'id': '640323', 'pid': '640300', 'name': '盐池县'}, {'id': '640324', 'pid': '640300', 'name': '同心县'}, {'id': '640381', 'pid': '640300', 'name': '青铜峡市'}, {'id': '640301', 'pid': '640300', 'name': '市辖区'} ], + }, {'id': '640400', 'pid': '640000', 'name': '固原市', 'children': [ {'id': '640402', 'pid': '640400', 'name': '原州区'}, {'id': '640422', 'pid': '640400', 'name': '西吉县'}, {'id': '640423', 'pid': '640400', 'name': '隆德县'}, {'id': '640424', 'pid': '640400', 'name': '泾源县'}, {'id': '640425', 'pid': '640400', 'name': '彭阳县'}, {'id': '640401', 'pid': '640400', 'name': '市辖区'} ]}, {'id': '640500', 'pid': '640000', 'name': '中卫市', 'children': [ {'id': '640502', 'pid': '640500', 'name': '沙坡头区'}, {'id': '640521', 'pid': '640500', 'name': '中宁县'}, {'id': '640522', 'pid': '640500', 'name': '海原县'}, {'id': '640501', 'pid': '640500', 'name': '市辖区'} ]} ], +}, { + 'id': '650000', + 'pid': '0', + 'name': '新疆维吾尔自治区', + 'children': [ {'id': '650100', 'pid': '650000', 'name': '乌鲁木齐市', 'children': [ {'id': '650102', 'pid': '650100', 'name': '天山区'}, {'id': '650103', 'pid': '650100', 'name': '沙依巴克区'}, {'id': '650104', 'pid': '650100', 'name': '新市区'}, {'id': '650105', 'pid': '650100', 'name': '水磨沟区'}, {'id': '650106', 'pid': '650100', 'name': '头屯河区'}, {'id': '650107', 'pid': '650100', 'name': '达坂城区'}, {'id': '650109', 'pid': '650100', 'name': '米东区'}, {'id': '650121', 'pid': '650100', 'name': '乌鲁木齐县'}, {'id': '650101', 'pid': '650100', 'name': '市辖区'} ]}, {'id': '650200', 'pid': '650000', 'name': '克拉玛依市', 'children': [ {'id': '650202', 'pid': '650200', 'name': '独山子区'}, {'id': '650203', 'pid': '650200', 'name': '克拉玛依区'}, {'id': '650204', 'pid': '650200', 'name': '白碱滩区'}, {'id': '650205', 'pid': '650200', 'name': '乌尔禾区'}, {'id': '650201', 'pid': '650200', 'name': '市辖区'} ]}, { + 'id': '650400', + 'pid': '650000', + 'name': '吐鲁番市', + 'children': [ {'id': '650402', 'pid': '650400', 'name': '高昌区'}, {'id': '650421', 'pid': '650400', 'name': '鄯善县'}, {'id': '650422', 'pid': '650400', 'name': '托克逊县'} ], + }, {'id': '650500', 'pid': '650000', 'name': '哈密市', 'children': [ {'id': '650502', 'pid': '650500', 'name': '伊州区'}, {'id': '650521', 'pid': '650500', 'name': '巴里坤哈萨克自治县'}, {'id': '650522', 'pid': '650500', 'name': '伊吾县'} ]}, {'id': '652300', 'pid': '650000', 'name': '昌吉回族自治州', 'children': [ {'id': '652301', 'pid': '652300', 'name': '昌吉市'}, {'id': '652302', 'pid': '652300', 'name': '阜康市'}, {'id': '652323', 'pid': '652300', 'name': '呼图壁县'}, {'id': '652324', 'pid': '652300', 'name': '玛纳斯县'}, {'id': '652325', 'pid': '652300', 'name': '奇台县'}, {'id': '652327', 'pid': '652300', 'name': '吉木萨尔县'}, {'id': '652328', 'pid': '652300', 'name': '木垒哈萨克自治县'} ]}, { + 'id': '652700', + 'pid': '650000', + 'name': '博尔塔拉蒙古自治州', + 'children': [ {'id': '652701', 'pid': '652700', 'name': '博乐市'}, {'id': '652702', 'pid': '652700', 'name': '阿拉山口市'}, {'id': '652722', 'pid': '652700', 'name': '精河县'}, {'id': '652723', 'pid': '652700', 'name': '温泉县'} ], + }, {'id': '652800', 'pid': '650000', 'name': '巴音郭楞蒙古自治州', 'children': [ {'id': '652801', 'pid': '652800', 'name': '库尔勒市'}, {'id': '652822', 'pid': '652800', 'name': '轮台县'}, {'id': '652823', 'pid': '652800', 'name': '尉犁县'}, {'id': '652824', 'pid': '652800', 'name': '若羌县'}, {'id': '652825', 'pid': '652800', 'name': '且末县'}, {'id': '652826', 'pid': '652800', 'name': '焉耆回族自治县'}, {'id': '652827', 'pid': '652800', 'name': '和静县'}, {'id': '652828', 'pid': '652800', 'name': '和硕县'}, {'id': '652829', 'pid': '652800', 'name': '博湖县'}, {'id': '652871', 'pid': '652800', 'name': '库尔勒经济技术开发区'} ]}, { + 'id': '652900', + 'pid': '650000', + 'name': '阿克苏地区', + 'children': [ {'id': '652901', 'pid': '652900', 'name': '阿克苏市'}, {'id': '652902', 'pid': '652900', 'name': '库车市'}, {'id': '652922', 'pid': '652900', 'name': '温宿县'}, {'id': '652924', 'pid': '652900', 'name': '沙雅县'}, {'id': '652925', 'pid': '652900', 'name': '新和县'}, {'id': '652926', 'pid': '652900', 'name': '拜城县'}, {'id': '652927', 'pid': '652900', 'name': '乌什县'}, {'id': '652928', 'pid': '652900', 'name': '阿瓦提县'}, {'id': '652929', 'pid': '652900', 'name': '柯坪县'} ], + }, {'id': '653000', 'pid': '650000', 'name': '克孜勒苏柯尔克孜自治州', 'children': [ {'id': '653001', 'pid': '653000', 'name': '阿图什市'}, {'id': '653022', 'pid': '653000', 'name': '阿克陶县'}, {'id': '653023', 'pid': '653000', 'name': '阿合奇县'}, {'id': '653024', 'pid': '653000', 'name': '乌恰县'} ]}, { + 'id': '653100', + 'pid': '650000', + 'name': '喀什地区', + 'children': [ {'id': '653101', 'pid': '653100', 'name': '喀什市'}, {'id': '653121', 'pid': '653100', 'name': '疏附县'}, {'id': '653122', 'pid': '653100', 'name': '疏勒县'}, {'id': '653123', 'pid': '653100', 'name': '英吉沙县'}, {'id': '653124', 'pid': '653100', 'name': '泽普县'}, {'id': '653125', 'pid': '653100', 'name': '莎车县'}, {'id': '653126', 'pid': '653100', 'name': '叶城县'}, {'id': '653127', 'pid': '653100', 'name': '麦盖提县'}, {'id': '653128', 'pid': '653100', 'name': '岳普湖县'}, {'id': '653129', 'pid': '653100', 'name': '伽师县'}, {'id': '653130', 'pid': '653100', 'name': '巴楚县'}, {'id': '653131', 'pid': '653100', 'name': '塔什库尔干塔吉克自治县'} ], + }, {'id': '653200', 'pid': '650000', 'name': '和田地区', 'children': [ {'id': '653201', 'pid': '653200', 'name': '和田市'}, {'id': '653221', 'pid': '653200', 'name': '和田县'}, {'id': '653222', 'pid': '653200', 'name': '墨玉县'}, {'id': '653223', 'pid': '653200', 'name': '皮山县'}, {'id': '653224', 'pid': '653200', 'name': '洛浦县'}, {'id': '653225', 'pid': '653200', 'name': '策勒县'}, {'id': '653226', 'pid': '653200', 'name': '于田县'}, {'id': '653227', 'pid': '653200', 'name': '民丰县'} ]}, { + 'id': '654000', + 'pid': '650000', + 'name': '伊犁哈萨克自治州', + 'children': [ {'id': '654002', 'pid': '654000', 'name': '伊宁市'}, {'id': '654003', 'pid': '654000', 'name': '奎屯市'}, {'id': '654004', 'pid': '654000', 'name': '霍尔果斯市'}, {'id': '654021', 'pid': '654000', 'name': '伊宁县'}, {'id': '654022', 'pid': '654000', 'name': '察布查尔锡伯自治县'}, {'id': '654023', 'pid': '654000', 'name': '霍城县'}, {'id': '654024', 'pid': '654000', 'name': '巩留县'}, {'id': '654025', 'pid': '654000', 'name': '新源县'}, {'id': '654026', 'pid': '654000', 'name': '昭苏县'}, {'id': '654027', 'pid': '654000', 'name': '特克斯县'}, {'id': '654028', 'pid': '654000', 'name': '尼勒克县'} ], + }, {'id': '654200', 'pid': '650000', 'name': '塔城地区', 'children': [ {'id': '654201', 'pid': '654200', 'name': '塔城市'}, {'id': '654202', 'pid': '654200', 'name': '乌苏市'}, {'id': '654221', 'pid': '654200', 'name': '额敏县'}, {'id': '654223', 'pid': '654200', 'name': '沙湾县'}, {'id': '654224', 'pid': '654200', 'name': '托里县'}, {'id': '654225', 'pid': '654200', 'name': '裕民县'}, {'id': '654226', 'pid': '654200', 'name': '和布克赛尔蒙古自治县'}, {'id': '654203', 'pid': '654200', 'name': '沙湾市'} ]}, {'id': '654300', 'pid': '650000', 'name': '阿勒泰地区', 'children': [ {'id': '654301', 'pid': '654300', 'name': '阿勒泰市'}, {'id': '654321', 'pid': '654300', 'name': '布尔津县'}, {'id': '654322', 'pid': '654300', 'name': '富蕴县'}, {'id': '654323', 'pid': '654300', 'name': '福海县'}, {'id': '654324', 'pid': '654300', 'name': '哈巴河县'}, {'id': '654325', 'pid': '654300', 'name': '青河县'}, {'id': '654326', 'pid': '654300', 'name': '吉木乃县'} ]}, { + 'id': '659000', + 'pid': '650000', + 'name': '新疆维吾尔自治区-自治区直辖县级行政区划', + 'children': [ {'id': '659001', 'pid': '659000', 'name': '石河子市'}, {'id': '659002', 'pid': '659000', 'name': '阿拉尔市'}, {'id': '659003', 'pid': '659000', 'name': '图木舒克市'}, {'id': '659004', 'pid': '659000', 'name': '五家渠市'}, {'id': '659005', 'pid': '659000', 'name': '北屯市'}, {'id': '659006', 'pid': '659000', 'name': '铁门关市'}, {'id': '659007', 'pid': '659000', 'name': '双河市'}, {'id': '659008', 'pid': '659000', 'name': '可克达拉市'}, {'id': '659009', 'pid': '659000', 'name': '昆玉市'}, {'id': '659010', 'pid': '659000', 'name': '胡杨河市'}, {'id': '659011', 'pid': '659000', 'name': '新星市'} ], + } ], +}, {'id': '710000', 'pid': '0', 'name': '台湾省', 'children': [ {'id': '710100', 'pid': '710000', 'name': '台湾省', 'children': []} ]}, {'id': '810000', 'pid': '0', 'name': '香港特别行政区', 'children': [ {'id': '810100', 'pid': '810000', 'name': '香港特别行政区', 'children': []} ]}, {'id': '820000', 'pid': '0', 'name': '澳门特别行政区', 'children': [ {'id': '820100', 'pid': '820000', 'name': '澳门特别行政区', 'children': []} ]} ] diff --git a/src/common/utils/district.ts b/src/common/utils/district.ts new file mode 100644 index 0000000..5beae16 --- /dev/null +++ b/src/common/utils/district.ts @@ -0,0 +1,869 @@ +export default [ {'id': '110000', 'pid': '0', 'name': '北京市'}, {'id': '110100', 'pid': '110000', 'name': '北京市'}, {'id': '120000', 'pid': '0', 'name': '天津市'}, {'id': '120100', 'pid': '120000', 'name': '天津市'}, {'id': '130000', 'pid': '0', 'name': '河北省'}, {'id': '140000', 'pid': '0', 'name': '山西省'}, {'id': '150000', 'pid': '0', 'name': '内蒙古自治区'}, {'id': '210000', 'pid': '0', 'name': '辽宁省'}, {'id': '220000', 'pid': '0', 'name': '吉林省'}, {'id': '230000', 'pid': '0', 'name': '黑龙江省'}, {'id': '310000', 'pid': '0', 'name': '上海市'}, {'id': '310100', 'pid': '310000', 'name': '上海市'}, {'id': '320000', 'pid': '0', 'name': '江苏省'}, {'id': '330000', 'pid': '0', 'name': '浙江省'}, {'id': '340000', 'pid': '0', 'name': '安徽省'}, {'id': '350000', 'pid': '0', 'name': '福建省'}, {'id': '360000', 'pid': '0', 'name': '江西省'}, {'id': '370000', 'pid': '0', 'name': '山东省'}, {'id': '410000', 'pid': '0', 'name': '河南省'}, { + 'id': '420000', + 'pid': '0', + 'name': '湖北省', +}, {'id': '430000', 'pid': '0', 'name': '湖南省'}, {'id': '440000', 'pid': '0', 'name': '广东省'}, {'id': '450000', 'pid': '0', 'name': '广西壮族自治区'}, {'id': '460000', 'pid': '0', 'name': '海南省'}, {'id': '500000', 'pid': '0', 'name': '重庆市'}, {'id': '500100', 'pid': '500000', 'name': '重庆市'}, {'id': '510000', 'pid': '0', 'name': '四川省'}, {'id': '520000', 'pid': '0', 'name': '贵州省'}, {'id': '530000', 'pid': '0', 'name': '云南省'}, {'id': '540000', 'pid': '0', 'name': '西藏自治区'}, {'id': '610000', 'pid': '0', 'name': '陕西省'}, {'id': '620000', 'pid': '0', 'name': '甘肃省'}, {'id': '630000', 'pid': '0', 'name': '青海省'}, {'id': '640000', 'pid': '0', 'name': '宁夏回族自治区'}, {'id': '650000', 'pid': '0', 'name': '新疆维吾尔自治区'}, {'id': '710000', 'pid': '0', 'name': '台湾省'}, {'id': '710100', 'pid': '710000', 'name': '台湾省'}, {'id': '810000', 'pid': '0', 'name': '香港特别行政区'}, {'id': '810100', 'pid': '810000', 'name': '香港特别行政区'}, { + 'id': '820000', + 'pid': '0', + 'name': '澳门特别行政区', +}, {'id': '820100', 'pid': '820000', 'name': '澳门特别行政区'}, {'id': '130100', 'pid': '130000', 'name': '石家庄市'}, {'id': '130200', 'pid': '130000', 'name': '唐山市'}, {'id': '130300', 'pid': '130000', 'name': '秦皇岛市'}, {'id': '130400', 'pid': '130000', 'name': '邯郸市'}, {'id': '130500', 'pid': '130000', 'name': '邢台市'}, {'id': '130600', 'pid': '130000', 'name': '保定市'}, {'id': '130700', 'pid': '130000', 'name': '张家口市'}, {'id': '130800', 'pid': '130000', 'name': '承德市'}, {'id': '130900', 'pid': '130000', 'name': '沧州市'}, {'id': '131000', 'pid': '130000', 'name': '廊坊市'}, {'id': '131100', 'pid': '130000', 'name': '衡水市'}, {'id': '140100', 'pid': '140000', 'name': '太原市'}, {'id': '140200', 'pid': '140000', 'name': '大同市'}, {'id': '140300', 'pid': '140000', 'name': '阳泉市'}, {'id': '140400', 'pid': '140000', 'name': '长治市'}, {'id': '140500', 'pid': '140000', 'name': '晋城市'}, {'id': '140600', 'pid': '140000', 'name': '朔州市'}, { + 'id': '140700', + 'pid': '140000', + 'name': '晋中市', +}, {'id': '140800', 'pid': '140000', 'name': '运城市'}, {'id': '140900', 'pid': '140000', 'name': '忻州市'}, {'id': '141000', 'pid': '140000', 'name': '临汾市'}, {'id': '141100', 'pid': '140000', 'name': '吕梁市'}, {'id': '150100', 'pid': '150000', 'name': '呼和浩特市'}, {'id': '150200', 'pid': '150000', 'name': '包头市'}, {'id': '150300', 'pid': '150000', 'name': '乌海市'}, {'id': '150400', 'pid': '150000', 'name': '赤峰市'}, {'id': '150500', 'pid': '150000', 'name': '通辽市'}, {'id': '150600', 'pid': '150000', 'name': '鄂尔多斯市'}, {'id': '150700', 'pid': '150000', 'name': '呼伦贝尔市'}, {'id': '150800', 'pid': '150000', 'name': '巴彦淖尔市'}, {'id': '150900', 'pid': '150000', 'name': '乌兰察布市'}, {'id': '152200', 'pid': '150000', 'name': '兴安盟'}, {'id': '152500', 'pid': '150000', 'name': '锡林郭勒盟'}, {'id': '152900', 'pid': '150000', 'name': '阿拉善盟'}, {'id': '210100', 'pid': '210000', 'name': '沈阳市'}, {'id': '210200', 'pid': '210000', 'name': '大连市'}, { + 'id': '210300', + 'pid': '210000', + 'name': '鞍山市', +}, {'id': '210400', 'pid': '210000', 'name': '抚顺市'}, {'id': '210500', 'pid': '210000', 'name': '本溪市'}, {'id': '210600', 'pid': '210000', 'name': '丹东市'}, {'id': '210700', 'pid': '210000', 'name': '锦州市'}, {'id': '210800', 'pid': '210000', 'name': '营口市'}, {'id': '210900', 'pid': '210000', 'name': '阜新市'}, {'id': '211000', 'pid': '210000', 'name': '辽阳市'}, {'id': '211100', 'pid': '210000', 'name': '盘锦市'}, {'id': '211200', 'pid': '210000', 'name': '铁岭市'}, {'id': '211300', 'pid': '210000', 'name': '朝阳市'}, {'id': '211400', 'pid': '210000', 'name': '葫芦岛市'}, {'id': '220100', 'pid': '220000', 'name': '长春市'}, {'id': '220200', 'pid': '220000', 'name': '吉林市'}, {'id': '220300', 'pid': '220000', 'name': '四平市'}, {'id': '220400', 'pid': '220000', 'name': '辽源市'}, {'id': '220500', 'pid': '220000', 'name': '通化市'}, {'id': '220600', 'pid': '220000', 'name': '白山市'}, {'id': '220700', 'pid': '220000', 'name': '松原市'}, { + 'id': '220800', + 'pid': '220000', + 'name': '白城市', +}, {'id': '222400', 'pid': '220000', 'name': '延边朝鲜族自治州'}, {'id': '230100', 'pid': '230000', 'name': '哈尔滨市'}, {'id': '230200', 'pid': '230000', 'name': '齐齐哈尔市'}, {'id': '230300', 'pid': '230000', 'name': '鸡西市'}, {'id': '230400', 'pid': '230000', 'name': '鹤岗市'}, {'id': '230500', 'pid': '230000', 'name': '双鸭山市'}, {'id': '230600', 'pid': '230000', 'name': '大庆市'}, {'id': '230700', 'pid': '230000', 'name': '伊春市'}, {'id': '230800', 'pid': '230000', 'name': '佳木斯市'}, {'id': '230900', 'pid': '230000', 'name': '七台河市'}, {'id': '231000', 'pid': '230000', 'name': '牡丹江市'}, {'id': '231100', 'pid': '230000', 'name': '黑河市'}, {'id': '231200', 'pid': '230000', 'name': '绥化市'}, {'id': '232700', 'pid': '230000', 'name': '大兴安岭地区'}, {'id': '320100', 'pid': '320000', 'name': '南京市'}, {'id': '320200', 'pid': '320000', 'name': '无锡市'}, {'id': '320300', 'pid': '320000', 'name': '徐州市'}, { + 'id': '320400', + 'pid': '320000', + 'name': '常州市', +}, {'id': '320500', 'pid': '320000', 'name': '苏州市'}, {'id': '320600', 'pid': '320000', 'name': '南通市'}, {'id': '320700', 'pid': '320000', 'name': '连云港市'}, {'id': '320800', 'pid': '320000', 'name': '淮安市'}, {'id': '320900', 'pid': '320000', 'name': '盐城市'}, {'id': '321000', 'pid': '320000', 'name': '扬州市'}, {'id': '321100', 'pid': '320000', 'name': '镇江市'}, {'id': '321200', 'pid': '320000', 'name': '泰州市'}, {'id': '321300', 'pid': '320000', 'name': '宿迁市'}, {'id': '330100', 'pid': '330000', 'name': '杭州市'}, {'id': '330200', 'pid': '330000', 'name': '宁波市'}, {'id': '330300', 'pid': '330000', 'name': '温州市'}, {'id': '330400', 'pid': '330000', 'name': '嘉兴市'}, {'id': '330500', 'pid': '330000', 'name': '湖州市'}, {'id': '330600', 'pid': '330000', 'name': '绍兴市'}, {'id': '330700', 'pid': '330000', 'name': '金华市'}, {'id': '330800', 'pid': '330000', 'name': '衢州市'}, {'id': '330900', 'pid': '330000', 'name': '舟山市'}, { + 'id': '331000', + 'pid': '330000', + 'name': '台州市', +}, {'id': '331100', 'pid': '330000', 'name': '丽水市'}, {'id': '340100', 'pid': '340000', 'name': '合肥市'}, {'id': '340200', 'pid': '340000', 'name': '芜湖市'}, {'id': '340300', 'pid': '340000', 'name': '蚌埠市'}, {'id': '340400', 'pid': '340000', 'name': '淮南市'}, {'id': '340500', 'pid': '340000', 'name': '马鞍山市'}, {'id': '340600', 'pid': '340000', 'name': '淮北市'}, {'id': '340700', 'pid': '340000', 'name': '铜陵市'}, {'id': '340800', 'pid': '340000', 'name': '安庆市'}, {'id': '341000', 'pid': '340000', 'name': '黄山市'}, {'id': '341100', 'pid': '340000', 'name': '滁州市'}, {'id': '341200', 'pid': '340000', 'name': '阜阳市'}, {'id': '341300', 'pid': '340000', 'name': '宿州市'}, {'id': '341500', 'pid': '340000', 'name': '六安市'}, {'id': '341600', 'pid': '340000', 'name': '亳州市'}, {'id': '341700', 'pid': '340000', 'name': '池州市'}, {'id': '341800', 'pid': '340000', 'name': '宣城市'}, {'id': '350100', 'pid': '350000', 'name': '福州市'}, { + 'id': '350200', + 'pid': '350000', + 'name': '厦门市', +}, {'id': '350300', 'pid': '350000', 'name': '莆田市'}, {'id': '350400', 'pid': '350000', 'name': '三明市'}, {'id': '350500', 'pid': '350000', 'name': '泉州市'}, {'id': '350600', 'pid': '350000', 'name': '漳州市'}, {'id': '350700', 'pid': '350000', 'name': '南平市'}, {'id': '350800', 'pid': '350000', 'name': '龙岩市'}, {'id': '350900', 'pid': '350000', 'name': '宁德市'}, {'id': '360100', 'pid': '360000', 'name': '南昌市'}, {'id': '360200', 'pid': '360000', 'name': '景德镇市'}, {'id': '360300', 'pid': '360000', 'name': '萍乡市'}, {'id': '360400', 'pid': '360000', 'name': '九江市'}, {'id': '360500', 'pid': '360000', 'name': '新余市'}, {'id': '360600', 'pid': '360000', 'name': '鹰潭市'}, {'id': '360700', 'pid': '360000', 'name': '赣州市'}, {'id': '360800', 'pid': '360000', 'name': '吉安市'}, {'id': '360900', 'pid': '360000', 'name': '宜春市'}, {'id': '361000', 'pid': '360000', 'name': '抚州市'}, {'id': '361100', 'pid': '360000', 'name': '上饶市'}, { + 'id': '370100', + 'pid': '370000', + 'name': '济南市', +}, {'id': '370200', 'pid': '370000', 'name': '青岛市'}, {'id': '370300', 'pid': '370000', 'name': '淄博市'}, {'id': '370400', 'pid': '370000', 'name': '枣庄市'}, {'id': '370500', 'pid': '370000', 'name': '东营市'}, {'id': '370600', 'pid': '370000', 'name': '烟台市'}, {'id': '370700', 'pid': '370000', 'name': '潍坊市'}, {'id': '370800', 'pid': '370000', 'name': '济宁市'}, {'id': '370900', 'pid': '370000', 'name': '泰安市'}, {'id': '371000', 'pid': '370000', 'name': '威海市'}, {'id': '371100', 'pid': '370000', 'name': '日照市'}, {'id': '371300', 'pid': '370000', 'name': '临沂市'}, {'id': '371400', 'pid': '370000', 'name': '德州市'}, {'id': '371500', 'pid': '370000', 'name': '聊城市'}, {'id': '371600', 'pid': '370000', 'name': '滨州市'}, {'id': '371700', 'pid': '370000', 'name': '菏泽市'}, {'id': '410100', 'pid': '410000', 'name': '郑州市'}, {'id': '410200', 'pid': '410000', 'name': '开封市'}, {'id': '410300', 'pid': '410000', 'name': '洛阳市'}, { + 'id': '410400', + 'pid': '410000', + 'name': '平顶山市', +}, {'id': '410500', 'pid': '410000', 'name': '安阳市'}, {'id': '410600', 'pid': '410000', 'name': '鹤壁市'}, {'id': '410700', 'pid': '410000', 'name': '新乡市'}, {'id': '410800', 'pid': '410000', 'name': '焦作市'}, {'id': '410900', 'pid': '410000', 'name': '濮阳市'}, {'id': '411000', 'pid': '410000', 'name': '许昌市'}, {'id': '411100', 'pid': '410000', 'name': '漯河市'}, {'id': '411200', 'pid': '410000', 'name': '三门峡市'}, {'id': '411300', 'pid': '410000', 'name': '南阳市'}, {'id': '411400', 'pid': '410000', 'name': '商丘市'}, {'id': '411500', 'pid': '410000', 'name': '信阳市'}, {'id': '411600', 'pid': '410000', 'name': '周口市'}, {'id': '411700', 'pid': '410000', 'name': '驻马店市'}, {'id': '420100', 'pid': '420000', 'name': '武汉市'}, {'id': '420200', 'pid': '420000', 'name': '黄石市'}, {'id': '420300', 'pid': '420000', 'name': '十堰市'}, {'id': '420500', 'pid': '420000', 'name': '宜昌市'}, {'id': '420600', 'pid': '420000', 'name': '襄阳市'}, { + 'id': '420700', + 'pid': '420000', + 'name': '鄂州市', +}, {'id': '420800', 'pid': '420000', 'name': '荆门市'}, {'id': '420900', 'pid': '420000', 'name': '孝感市'}, {'id': '421000', 'pid': '420000', 'name': '荆州市'}, {'id': '421100', 'pid': '420000', 'name': '黄冈市'}, {'id': '421200', 'pid': '420000', 'name': '咸宁市'}, {'id': '421300', 'pid': '420000', 'name': '随州市'}, {'id': '422800', 'pid': '420000', 'name': '恩施土家族苗族自治州'}, {'id': '430100', 'pid': '430000', 'name': '长沙市'}, {'id': '430200', 'pid': '430000', 'name': '株洲市'}, {'id': '430300', 'pid': '430000', 'name': '湘潭市'}, {'id': '430400', 'pid': '430000', 'name': '衡阳市'}, {'id': '430500', 'pid': '430000', 'name': '邵阳市'}, {'id': '430600', 'pid': '430000', 'name': '岳阳市'}, {'id': '430700', 'pid': '430000', 'name': '常德市'}, {'id': '430800', 'pid': '430000', 'name': '张家界市'}, {'id': '430900', 'pid': '430000', 'name': '益阳市'}, {'id': '431000', 'pid': '430000', 'name': '郴州市'}, {'id': '431100', 'pid': '430000', 'name': '永州市'}, { + 'id': '431200', + 'pid': '430000', + 'name': '怀化市', +}, {'id': '431300', 'pid': '430000', 'name': '娄底市'}, {'id': '433100', 'pid': '430000', 'name': '湘西土家族苗族自治州'}, {'id': '440100', 'pid': '440000', 'name': '广州市'}, {'id': '440200', 'pid': '440000', 'name': '韶关市'}, {'id': '440300', 'pid': '440000', 'name': '深圳市'}, {'id': '440400', 'pid': '440000', 'name': '珠海市'}, {'id': '440500', 'pid': '440000', 'name': '汕头市'}, {'id': '440600', 'pid': '440000', 'name': '佛山市'}, {'id': '440700', 'pid': '440000', 'name': '江门市'}, {'id': '440800', 'pid': '440000', 'name': '湛江市'}, {'id': '440900', 'pid': '440000', 'name': '茂名市'}, {'id': '441200', 'pid': '440000', 'name': '肇庆市'}, {'id': '441300', 'pid': '440000', 'name': '惠州市'}, {'id': '441400', 'pid': '440000', 'name': '梅州市'}, {'id': '441500', 'pid': '440000', 'name': '汕尾市'}, {'id': '441600', 'pid': '440000', 'name': '河源市'}, {'id': '441700', 'pid': '440000', 'name': '阳江市'}, {'id': '441800', 'pid': '440000', 'name': '清远市'}, { + 'id': '441900', + 'pid': '440000', + 'name': '东莞市', +}, {'id': '442000', 'pid': '440000', 'name': '中山市'}, {'id': '445100', 'pid': '440000', 'name': '潮州市'}, {'id': '445200', 'pid': '440000', 'name': '揭阳市'}, {'id': '445300', 'pid': '440000', 'name': '云浮市'}, {'id': '450100', 'pid': '450000', 'name': '南宁市'}, {'id': '450200', 'pid': '450000', 'name': '柳州市'}, {'id': '450300', 'pid': '450000', 'name': '桂林市'}, {'id': '450400', 'pid': '450000', 'name': '梧州市'}, {'id': '450500', 'pid': '450000', 'name': '北海市'}, {'id': '450600', 'pid': '450000', 'name': '防城港市'}, {'id': '450700', 'pid': '450000', 'name': '钦州市'}, {'id': '450800', 'pid': '450000', 'name': '贵港市'}, {'id': '450900', 'pid': '450000', 'name': '玉林市'}, {'id': '451000', 'pid': '450000', 'name': '百色市'}, {'id': '451100', 'pid': '450000', 'name': '贺州市'}, {'id': '451200', 'pid': '450000', 'name': '河池市'}, {'id': '451300', 'pid': '450000', 'name': '来宾市'}, {'id': '451400', 'pid': '450000', 'name': '崇左市'}, { + 'id': '460100', + 'pid': '460000', + 'name': '海口市', +}, {'id': '460200', 'pid': '460000', 'name': '三亚市'}, {'id': '460300', 'pid': '460000', 'name': '三沙市'}, {'id': '460400', 'pid': '460000', 'name': '儋州市'}, {'id': '510100', 'pid': '510000', 'name': '成都市'}, {'id': '510300', 'pid': '510000', 'name': '自贡市'}, {'id': '510400', 'pid': '510000', 'name': '攀枝花市'}, {'id': '510500', 'pid': '510000', 'name': '泸州市'}, {'id': '510600', 'pid': '510000', 'name': '德阳市'}, {'id': '510700', 'pid': '510000', 'name': '绵阳市'}, {'id': '510800', 'pid': '510000', 'name': '广元市'}, {'id': '510900', 'pid': '510000', 'name': '遂宁市'}, {'id': '511000', 'pid': '510000', 'name': '内江市'}, {'id': '511100', 'pid': '510000', 'name': '乐山市'}, {'id': '511300', 'pid': '510000', 'name': '南充市'}, {'id': '511400', 'pid': '510000', 'name': '眉山市'}, {'id': '511500', 'pid': '510000', 'name': '宜宾市'}, {'id': '511600', 'pid': '510000', 'name': '广安市'}, {'id': '511700', 'pid': '510000', 'name': '达州市'}, { + 'id': '511800', + 'pid': '510000', + 'name': '雅安市', +}, {'id': '511900', 'pid': '510000', 'name': '巴中市'}, {'id': '512000', 'pid': '510000', 'name': '资阳市'}, {'id': '513200', 'pid': '510000', 'name': '阿坝藏族羌族自治州'}, {'id': '513300', 'pid': '510000', 'name': '甘孜藏族自治州'}, {'id': '513400', 'pid': '510000', 'name': '凉山彝族自治州'}, {'id': '520100', 'pid': '520000', 'name': '贵阳市'}, {'id': '520200', 'pid': '520000', 'name': '六盘水市'}, {'id': '520300', 'pid': '520000', 'name': '遵义市'}, {'id': '520400', 'pid': '520000', 'name': '安顺市'}, {'id': '520500', 'pid': '520000', 'name': '毕节市'}, {'id': '520600', 'pid': '520000', 'name': '铜仁市'}, {'id': '522300', 'pid': '520000', 'name': '黔西南布依族苗族自治州'}, {'id': '522600', 'pid': '520000', 'name': '黔东南苗族侗族自治州'}, {'id': '522700', 'pid': '520000', 'name': '黔南布依族苗族自治州'}, {'id': '530100', 'pid': '530000', 'name': '昆明市'}, {'id': '530300', 'pid': '530000', 'name': '曲靖市'}, {'id': '530400', 'pid': '530000', 'name': '玉溪市'}, { + 'id': '530500', + 'pid': '530000', + 'name': '保山市', +}, {'id': '530600', 'pid': '530000', 'name': '昭通市'}, {'id': '530700', 'pid': '530000', 'name': '丽江市'}, {'id': '530800', 'pid': '530000', 'name': '普洱市'}, {'id': '530900', 'pid': '530000', 'name': '临沧市'}, {'id': '532300', 'pid': '530000', 'name': '楚雄彝族自治州'}, {'id': '532500', 'pid': '530000', 'name': '红河哈尼族彝族自治州'}, {'id': '532600', 'pid': '530000', 'name': '文山壮族苗族自治州'}, {'id': '532800', 'pid': '530000', 'name': '西双版纳傣族自治州'}, {'id': '532900', 'pid': '530000', 'name': '大理白族自治州'}, {'id': '533100', 'pid': '530000', 'name': '德宏傣族景颇族自治州'}, {'id': '533300', 'pid': '530000', 'name': '怒江傈僳族自治州'}, {'id': '533400', 'pid': '530000', 'name': '迪庆藏族自治州'}, {'id': '540100', 'pid': '540000', 'name': '拉萨市'}, {'id': '540200', 'pid': '540000', 'name': '日喀则市'}, {'id': '540300', 'pid': '540000', 'name': '昌都市'}, {'id': '540400', 'pid': '540000', 'name': '林芝市'}, { + 'id': '540500', + 'pid': '540000', + 'name': '山南市', +}, {'id': '540600', 'pid': '540000', 'name': '那曲市'}, {'id': '542500', 'pid': '540000', 'name': '阿里地区'}, {'id': '610100', 'pid': '610000', 'name': '西安市'}, {'id': '610200', 'pid': '610000', 'name': '铜川市'}, {'id': '610300', 'pid': '610000', 'name': '宝鸡市'}, {'id': '610400', 'pid': '610000', 'name': '咸阳市'}, {'id': '610500', 'pid': '610000', 'name': '渭南市'}, {'id': '610600', 'pid': '610000', 'name': '延安市'}, {'id': '610700', 'pid': '610000', 'name': '汉中市'}, {'id': '610800', 'pid': '610000', 'name': '榆林市'}, {'id': '610900', 'pid': '610000', 'name': '安康市'}, {'id': '611000', 'pid': '610000', 'name': '商洛市'}, {'id': '620100', 'pid': '620000', 'name': '兰州市'}, {'id': '620200', 'pid': '620000', 'name': '嘉峪关市'}, {'id': '620300', 'pid': '620000', 'name': '金昌市'}, {'id': '620400', 'pid': '620000', 'name': '白银市'}, {'id': '620500', 'pid': '620000', 'name': '天水市'}, {'id': '620600', 'pid': '620000', 'name': '武威市'}, { + 'id': '620700', + 'pid': '620000', + 'name': '张掖市', +}, {'id': '620800', 'pid': '620000', 'name': '平凉市'}, {'id': '620900', 'pid': '620000', 'name': '酒泉市'}, {'id': '621000', 'pid': '620000', 'name': '庆阳市'}, {'id': '621100', 'pid': '620000', 'name': '定西市'}, {'id': '621200', 'pid': '620000', 'name': '陇南市'}, {'id': '622900', 'pid': '620000', 'name': '临夏回族自治州'}, {'id': '623000', 'pid': '620000', 'name': '甘南藏族自治州'}, {'id': '630100', 'pid': '630000', 'name': '西宁市'}, {'id': '630200', 'pid': '630000', 'name': '海东市'}, {'id': '632200', 'pid': '630000', 'name': '海北藏族自治州'}, {'id': '632300', 'pid': '630000', 'name': '黄南藏族自治州'}, {'id': '632500', 'pid': '630000', 'name': '海南藏族自治州'}, {'id': '632600', 'pid': '630000', 'name': '果洛藏族自治州'}, {'id': '632700', 'pid': '630000', 'name': '玉树藏族自治州'}, {'id': '632800', 'pid': '630000', 'name': '海西蒙古族藏族自治州'}, {'id': '640100', 'pid': '640000', 'name': '银川市'}, {'id': '640200', 'pid': '640000', 'name': '石嘴山市'}, { + 'id': '640300', + 'pid': '640000', + 'name': '吴忠市', +}, {'id': '640400', 'pid': '640000', 'name': '固原市'}, {'id': '640500', 'pid': '640000', 'name': '中卫市'}, {'id': '650100', 'pid': '650000', 'name': '乌鲁木齐市'}, {'id': '650200', 'pid': '650000', 'name': '克拉玛依市'}, {'id': '650400', 'pid': '650000', 'name': '吐鲁番市'}, {'id': '650500', 'pid': '650000', 'name': '哈密市'}, {'id': '652300', 'pid': '650000', 'name': '昌吉回族自治州'}, {'id': '652700', 'pid': '650000', 'name': '博尔塔拉蒙古自治州'}, {'id': '652800', 'pid': '650000', 'name': '巴音郭楞蒙古自治州'}, {'id': '652900', 'pid': '650000', 'name': '阿克苏地区'}, {'id': '653000', 'pid': '650000', 'name': '克孜勒苏柯尔克孜自治州'}, {'id': '653100', 'pid': '650000', 'name': '喀什地区'}, {'id': '653200', 'pid': '650000', 'name': '和田地区'}, {'id': '654000', 'pid': '650000', 'name': '伊犁哈萨克自治州'}, {'id': '654200', 'pid': '650000', 'name': '塔城地区'}, {'id': '654300', 'pid': '650000', 'name': '阿勒泰地区'}, { + 'id': '429000', + 'pid': '420000', + 'name': '湖北省-自治区直辖县级行政区划', +}, {'id': '469000', 'pid': '460000', 'name': '海南省-自治区直辖县级行政区划'}, {'id': '659000', 'pid': '650000', 'name': '新疆维吾尔自治区-自治区直辖县级行政区划'}, {'id': '419000', 'pid': '410000', 'name': '河南省-省直辖县级行政区划'}, {'id': '110101', 'pid': '11undefined00', 'name': '东城区'}, {'id': '110102', 'pid': '11undefined00', 'name': '西城区'}, {'id': '110105', 'pid': '11undefined00', 'name': '朝阳区'}, {'id': '110106', 'pid': '11undefined00', 'name': '丰台区'}, {'id': '110107', 'pid': '11undefined00', 'name': '石景山区'}, {'id': '110108', 'pid': '11undefined00', 'name': '海淀区'}, {'id': '110109', 'pid': '11undefined00', 'name': '门头沟区'}, {'id': '110111', 'pid': '11undefined00', 'name': '房山区'}, {'id': '110112', 'pid': '11undefined00', 'name': '通州区'}, {'id': '110113', 'pid': '11undefined00', 'name': '顺义区'}, {'id': '110114', 'pid': '11undefined00', 'name': '昌平区'}, {'id': '110115', 'pid': '11undefined00', 'name': '大兴区'}, { + 'id': '110116', + 'pid': '11undefined00', + 'name': '怀柔区', +}, {'id': '110117', 'pid': '11undefined00', 'name': '平谷区'}, {'id': '110118', 'pid': '11undefined00', 'name': '密云区'}, {'id': '110119', 'pid': '11undefined00', 'name': '延庆区'}, {'id': '120101', 'pid': '12undefined00', 'name': '和平区'}, {'id': '120102', 'pid': '12undefined00', 'name': '河东区'}, {'id': '120103', 'pid': '12undefined00', 'name': '河西区'}, {'id': '120104', 'pid': '12undefined00', 'name': '南开区'}, {'id': '120105', 'pid': '12undefined00', 'name': '河北区'}, {'id': '120106', 'pid': '12undefined00', 'name': '红桥区'}, {'id': '120110', 'pid': '12undefined00', 'name': '东丽区'}, {'id': '120111', 'pid': '12undefined00', 'name': '西青区'}, {'id': '120112', 'pid': '12undefined00', 'name': '津南区'}, {'id': '120113', 'pid': '12undefined00', 'name': '北辰区'}, {'id': '120114', 'pid': '12undefined00', 'name': '武清区'}, {'id': '120115', 'pid': '12undefined00', 'name': '宝坻区'}, {'id': '120116', 'pid': '12undefined00', 'name': '滨海新区'}, { + 'id': '120117', + 'pid': '12undefined00', + 'name': '宁河区', +}, {'id': '120118', 'pid': '12undefined00', 'name': '静海区'}, {'id': '120119', 'pid': '12undefined00', 'name': '蓟州区'}, {'id': '130102', 'pid': '13undefined00', 'name': '长安区'}, {'id': '130104', 'pid': '13undefined00', 'name': '桥西区'}, {'id': '130105', 'pid': '13undefined00', 'name': '新华区'}, {'id': '130107', 'pid': '13undefined00', 'name': '井陉矿区'}, {'id': '130108', 'pid': '13undefined00', 'name': '裕华区'}, {'id': '130109', 'pid': '13undefined00', 'name': '藁城区'}, {'id': '130110', 'pid': '13undefined00', 'name': '鹿泉区'}, {'id': '130111', 'pid': '13undefined00', 'name': '栾城区'}, {'id': '130121', 'pid': '13undefined00', 'name': '井陉县'}, {'id': '130123', 'pid': '13undefined00', 'name': '正定县'}, {'id': '130125', 'pid': '13undefined00', 'name': '行唐县'}, {'id': '130126', 'pid': '13undefined00', 'name': '灵寿县'}, {'id': '130127', 'pid': '13undefined00', 'name': '高邑县'}, {'id': '130128', 'pid': '13undefined00', 'name': '深泽县'}, { + 'id': '130129', + 'pid': '13undefined00', + 'name': '赞皇县', +}, {'id': '130130', 'pid': '13undefined00', 'name': '无极县'}, {'id': '130131', 'pid': '13undefined00', 'name': '平山县'}, {'id': '130132', 'pid': '13undefined00', 'name': '元氏县'}, {'id': '130133', 'pid': '13undefined00', 'name': '赵县'}, {'id': '130181', 'pid': '13undefined00', 'name': '辛集市'}, {'id': '130183', 'pid': '13undefined00', 'name': '晋州市'}, {'id': '130184', 'pid': '13undefined00', 'name': '新乐市'}, {'id': '130202', 'pid': '13undefined00', 'name': '路南区'}, {'id': '130203', 'pid': '13undefined00', 'name': '路北区'}, {'id': '130204', 'pid': '13undefined00', 'name': '古冶区'}, {'id': '130205', 'pid': '13undefined00', 'name': '开平区'}, {'id': '130207', 'pid': '13undefined00', 'name': '丰南区'}, {'id': '130208', 'pid': '13undefined00', 'name': '丰润区'}, {'id': '130209', 'pid': '13undefined00', 'name': '曹妃甸区'}, {'id': '130224', 'pid': '13undefined00', 'name': '滦南县'}, {'id': '130225', 'pid': '13undefined00', 'name': '乐亭县'}, { + 'id': '130227', + 'pid': '13undefined00', + 'name': '迁西县', +}, {'id': '130229', 'pid': '13undefined00', 'name': '玉田县'}, {'id': '130281', 'pid': '13undefined00', 'name': '遵化市'}, {'id': '130283', 'pid': '13undefined00', 'name': '迁安市'}, {'id': '130284', 'pid': '13undefined00', 'name': '滦州市'}, {'id': '130302', 'pid': '13undefined00', 'name': '海港区'}, {'id': '130303', 'pid': '13undefined00', 'name': '山海关区'}, {'id': '130304', 'pid': '13undefined00', 'name': '北戴河区'}, {'id': '130306', 'pid': '13undefined00', 'name': '抚宁区'}, {'id': '130321', 'pid': '13undefined00', 'name': '青龙满族自治县'}, {'id': '130322', 'pid': '13undefined00', 'name': '昌黎县'}, {'id': '130324', 'pid': '13undefined00', 'name': '卢龙县'}, {'id': '130402', 'pid': '13undefined00', 'name': '邯山区'}, {'id': '130403', 'pid': '13undefined00', 'name': '丛台区'}, {'id': '130404', 'pid': '13undefined00', 'name': '复兴区'}, {'id': '130406', 'pid': '13undefined00', 'name': '峰峰矿区'}, {'id': '130407', 'pid': '13undefined00', 'name': '肥乡区'}, { + 'id': '130408', + 'pid': '13undefined00', + 'name': '永年区', +}, {'id': '130423', 'pid': '13undefined00', 'name': '临漳县'}, {'id': '130424', 'pid': '13undefined00', 'name': '成安县'}, {'id': '130425', 'pid': '13undefined00', 'name': '大名县'}, {'id': '130426', 'pid': '13undefined00', 'name': '涉县'}, {'id': '130427', 'pid': '13undefined00', 'name': '磁县'}, {'id': '130430', 'pid': '13undefined00', 'name': '邱县'}, {'id': '130431', 'pid': '13undefined00', 'name': '鸡泽县'}, {'id': '130432', 'pid': '13undefined00', 'name': '广平县'}, {'id': '130433', 'pid': '13undefined00', 'name': '馆陶县'}, {'id': '130434', 'pid': '13undefined00', 'name': '魏县'}, {'id': '130435', 'pid': '13undefined00', 'name': '曲周县'}, {'id': '130481', 'pid': '13undefined00', 'name': '武安市'}, {'id': '130502', 'pid': '13undefined00', 'name': '襄都区'}, {'id': '130503', 'pid': '13undefined00', 'name': '信都区'}, {'id': '130505', 'pid': '13undefined00', 'name': '任泽区'}, {'id': '130506', 'pid': '13undefined00', 'name': '南和区'}, { + 'id': '130522', + 'pid': '13undefined00', + 'name': '临城县', +}, {'id': '130523', 'pid': '13undefined00', 'name': '内丘县'}, {'id': '130524', 'pid': '13undefined00', 'name': '柏乡县'}, {'id': '130525', 'pid': '13undefined00', 'name': '隆尧县'}, {'id': '130528', 'pid': '13undefined00', 'name': '宁晋县'}, {'id': '130529', 'pid': '13undefined00', 'name': '巨鹿县'}, {'id': '130530', 'pid': '13undefined00', 'name': '新河县'}, {'id': '130531', 'pid': '13undefined00', 'name': '广宗县'}, {'id': '130532', 'pid': '13undefined00', 'name': '平乡县'}, {'id': '130533', 'pid': '13undefined00', 'name': '威县'}, {'id': '130534', 'pid': '13undefined00', 'name': '清河县'}, {'id': '130535', 'pid': '13undefined00', 'name': '临西县'}, {'id': '130581', 'pid': '13undefined00', 'name': '南宫市'}, {'id': '130582', 'pid': '13undefined00', 'name': '沙河市'}, {'id': '130602', 'pid': '13undefined00', 'name': '竞秀区'}, {'id': '130606', 'pid': '13undefined00', 'name': '莲池区'}, {'id': '130607', 'pid': '13undefined00', 'name': '满城区'}, { + 'id': '130608', + 'pid': '13undefined00', + 'name': '清苑区', +}, {'id': '130609', 'pid': '13undefined00', 'name': '徐水区'}, {'id': '130623', 'pid': '13undefined00', 'name': '涞水县'}, {'id': '130624', 'pid': '13undefined00', 'name': '阜平县'}, {'id': '130626', 'pid': '13undefined00', 'name': '定兴县'}, {'id': '130627', 'pid': '13undefined00', 'name': '唐县'}, {'id': '130628', 'pid': '13undefined00', 'name': '高阳县'}, {'id': '130629', 'pid': '13undefined00', 'name': '容城县'}, {'id': '130630', 'pid': '13undefined00', 'name': '涞源县'}, {'id': '130631', 'pid': '13undefined00', 'name': '望都县'}, {'id': '130632', 'pid': '13undefined00', 'name': '安新县'}, {'id': '130633', 'pid': '13undefined00', 'name': '易县'}, {'id': '130634', 'pid': '13undefined00', 'name': '曲阳县'}, {'id': '130635', 'pid': '13undefined00', 'name': '蠡县'}, {'id': '130636', 'pid': '13undefined00', 'name': '顺平县'}, {'id': '130637', 'pid': '13undefined00', 'name': '博野县'}, {'id': '130638', 'pid': '13undefined00', 'name': '雄县'}, { + 'id': '130681', + 'pid': '13undefined00', + 'name': '涿州市', +}, {'id': '130682', 'pid': '13undefined00', 'name': '定州市'}, {'id': '130683', 'pid': '13undefined00', 'name': '安国市'}, {'id': '130684', 'pid': '13undefined00', 'name': '高碑店市'}, {'id': '130702', 'pid': '13undefined00', 'name': '桥东区'}, {'id': '130703', 'pid': '13undefined00', 'name': '桥西区'}, {'id': '130705', 'pid': '13undefined00', 'name': '宣化区'}, {'id': '130706', 'pid': '13undefined00', 'name': '下花园区'}, {'id': '130708', 'pid': '13undefined00', 'name': '万全区'}, {'id': '130709', 'pid': '13undefined00', 'name': '崇礼区'}, {'id': '130722', 'pid': '13undefined00', 'name': '张北县'}, {'id': '130723', 'pid': '13undefined00', 'name': '康保县'}, {'id': '130724', 'pid': '13undefined00', 'name': '沽源县'}, {'id': '130725', 'pid': '13undefined00', 'name': '尚义县'}, {'id': '130726', 'pid': '13undefined00', 'name': '蔚县'}, {'id': '130727', 'pid': '13undefined00', 'name': '阳原县'}, {'id': '130728', 'pid': '13undefined00', 'name': '怀安县'}, { + 'id': '130730', + 'pid': '13undefined00', + 'name': '怀来县', +}, {'id': '130731', 'pid': '13undefined00', 'name': '涿鹿县'}, {'id': '130732', 'pid': '13undefined00', 'name': '赤城县'}, {'id': '130802', 'pid': '13undefined00', 'name': '双桥区'}, {'id': '130803', 'pid': '13undefined00', 'name': '双滦区'}, {'id': '130804', 'pid': '13undefined00', 'name': '鹰手营子矿区'}, {'id': '130821', 'pid': '13undefined00', 'name': '承德县'}, {'id': '130822', 'pid': '13undefined00', 'name': '兴隆县'}, {'id': '130824', 'pid': '13undefined00', 'name': '滦平县'}, {'id': '130825', 'pid': '13undefined00', 'name': '隆化县'}, {'id': '130826', 'pid': '13undefined00', 'name': '丰宁满族自治县'}, {'id': '130827', 'pid': '13undefined00', 'name': '宽城满族自治县'}, {'id': '130828', 'pid': '13undefined00', 'name': '围场满族蒙古族自治县'}, {'id': '130881', 'pid': '13undefined00', 'name': '平泉市'}, {'id': '130902', 'pid': '13undefined00', 'name': '新华区'}, {'id': '130903', 'pid': '13undefined00', 'name': '运河区'}, { + 'id': '130921', + 'pid': '13undefined00', + 'name': '沧县', +}, {'id': '130922', 'pid': '13undefined00', 'name': '青县'}, {'id': '130923', 'pid': '13undefined00', 'name': '东光县'}, {'id': '130924', 'pid': '13undefined00', 'name': '海兴县'}, {'id': '130925', 'pid': '13undefined00', 'name': '盐山县'}, {'id': '130926', 'pid': '13undefined00', 'name': '肃宁县'}, {'id': '130927', 'pid': '13undefined00', 'name': '南皮县'}, {'id': '130928', 'pid': '13undefined00', 'name': '吴桥县'}, {'id': '130929', 'pid': '13undefined00', 'name': '献县'}, {'id': '130930', 'pid': '13undefined00', 'name': '孟村回族自治县'}, {'id': '130981', 'pid': '13undefined00', 'name': '泊头市'}, {'id': '130982', 'pid': '13undefined00', 'name': '任丘市'}, {'id': '130983', 'pid': '13undefined00', 'name': '黄骅市'}, {'id': '130984', 'pid': '13undefined00', 'name': '河间市'}, {'id': '131002', 'pid': '13undefined00', 'name': '安次区'}, {'id': '131003', 'pid': '13undefined00', 'name': '广阳区'}, {'id': '131022', 'pid': '13undefined00', 'name': '固安县'}, { + 'id': '131023', + 'pid': '13undefined00', + 'name': '永清县', +}, {'id': '131024', 'pid': '13undefined00', 'name': '香河县'}, {'id': '131025', 'pid': '13undefined00', 'name': '大城县'}, {'id': '131026', 'pid': '13undefined00', 'name': '文安县'}, {'id': '131028', 'pid': '13undefined00', 'name': '大厂回族自治县'}, {'id': '131081', 'pid': '13undefined00', 'name': '霸州市'}, {'id': '131082', 'pid': '13undefined00', 'name': '三河市'}, {'id': '131102', 'pid': '13undefined00', 'name': '桃城区'}, {'id': '131103', 'pid': '13undefined00', 'name': '冀州区'}, {'id': '131121', 'pid': '13undefined00', 'name': '枣强县'}, {'id': '131122', 'pid': '13undefined00', 'name': '武邑县'}, {'id': '131123', 'pid': '13undefined00', 'name': '武强县'}, {'id': '131124', 'pid': '13undefined00', 'name': '饶阳县'}, {'id': '131125', 'pid': '13undefined00', 'name': '安平县'}, {'id': '131126', 'pid': '13undefined00', 'name': '故城县'}, {'id': '131127', 'pid': '13undefined00', 'name': '景县'}, {'id': '131128', 'pid': '13undefined00', 'name': '阜城县'}, { + 'id': '131182', + 'pid': '13undefined00', + 'name': '深州市', +}, {'id': '140105', 'pid': '14undefined00', 'name': '小店区'}, {'id': '140106', 'pid': '14undefined00', 'name': '迎泽区'}, {'id': '140107', 'pid': '14undefined00', 'name': '杏花岭区'}, {'id': '140108', 'pid': '14undefined00', 'name': '尖草坪区'}, {'id': '140109', 'pid': '14undefined00', 'name': '万柏林区'}, {'id': '140110', 'pid': '14undefined00', 'name': '晋源区'}, {'id': '140121', 'pid': '14undefined00', 'name': '清徐县'}, {'id': '140122', 'pid': '14undefined00', 'name': '阳曲县'}, {'id': '140123', 'pid': '14undefined00', 'name': '娄烦县'}, {'id': '140181', 'pid': '14undefined00', 'name': '古交市'}, {'id': '140212', 'pid': '14undefined00', 'name': '新荣区'}, {'id': '140213', 'pid': '14undefined00', 'name': '平城区'}, {'id': '140214', 'pid': '14undefined00', 'name': '云冈区'}, {'id': '140215', 'pid': '14undefined00', 'name': '云州区'}, {'id': '140221', 'pid': '14undefined00', 'name': '阳高县'}, {'id': '140222', 'pid': '14undefined00', 'name': '天镇县'}, { + 'id': '140223', + 'pid': '14undefined00', + 'name': '广灵县', +}, {'id': '140224', 'pid': '14undefined00', 'name': '灵丘县'}, {'id': '140225', 'pid': '14undefined00', 'name': '浑源县'}, {'id': '140226', 'pid': '14undefined00', 'name': '左云县'}, {'id': '140302', 'pid': '14undefined00', 'name': '城区'}, {'id': '140303', 'pid': '14undefined00', 'name': '矿区'}, {'id': '140311', 'pid': '14undefined00', 'name': '郊区'}, {'id': '140321', 'pid': '14undefined00', 'name': '平定县'}, {'id': '140322', 'pid': '14undefined00', 'name': '盂县'}, {'id': '140403', 'pid': '14undefined00', 'name': '潞州区'}, {'id': '140404', 'pid': '14undefined00', 'name': '上党区'}, {'id': '140405', 'pid': '14undefined00', 'name': '屯留区'}, {'id': '140406', 'pid': '14undefined00', 'name': '潞城区'}, {'id': '140423', 'pid': '14undefined00', 'name': '襄垣县'}, {'id': '140425', 'pid': '14undefined00', 'name': '平顺县'}, {'id': '140426', 'pid': '14undefined00', 'name': '黎城县'}, {'id': '140427', 'pid': '14undefined00', 'name': '壶关县'}, { + 'id': '140428', + 'pid': '14undefined00', + 'name': '长子县', +}, {'id': '140429', 'pid': '14undefined00', 'name': '武乡县'}, {'id': '140430', 'pid': '14undefined00', 'name': '沁县'}, {'id': '140431', 'pid': '14undefined00', 'name': '沁源县'}, {'id': '140502', 'pid': '14undefined00', 'name': '城区'}, {'id': '140521', 'pid': '14undefined00', 'name': '沁水县'}, {'id': '140522', 'pid': '14undefined00', 'name': '阳城县'}, {'id': '140524', 'pid': '14undefined00', 'name': '陵川县'}, {'id': '140525', 'pid': '14undefined00', 'name': '泽州县'}, {'id': '140581', 'pid': '14undefined00', 'name': '高平市'}, {'id': '140602', 'pid': '14undefined00', 'name': '朔城区'}, {'id': '140603', 'pid': '14undefined00', 'name': '平鲁区'}, {'id': '140621', 'pid': '14undefined00', 'name': '山阴县'}, {'id': '140622', 'pid': '14undefined00', 'name': '应县'}, {'id': '140623', 'pid': '14undefined00', 'name': '右玉县'}, {'id': '140681', 'pid': '14undefined00', 'name': '怀仁市'}, {'id': '140702', 'pid': '14undefined00', 'name': '榆次区'}, { + 'id': '140703', + 'pid': '14undefined00', + 'name': '太谷区', +}, {'id': '140721', 'pid': '14undefined00', 'name': '榆社县'}, {'id': '140722', 'pid': '14undefined00', 'name': '左权县'}, {'id': '140723', 'pid': '14undefined00', 'name': '和顺县'}, {'id': '140724', 'pid': '14undefined00', 'name': '昔阳县'}, {'id': '140725', 'pid': '14undefined00', 'name': '寿阳县'}, {'id': '140727', 'pid': '14undefined00', 'name': '祁县'}, {'id': '140728', 'pid': '14undefined00', 'name': '平遥县'}, {'id': '140729', 'pid': '14undefined00', 'name': '灵石县'}, {'id': '140781', 'pid': '14undefined00', 'name': '介休市'}, {'id': '140802', 'pid': '14undefined00', 'name': '盐湖区'}, {'id': '140821', 'pid': '14undefined00', 'name': '临猗县'}, {'id': '140822', 'pid': '14undefined00', 'name': '万荣县'}, {'id': '140823', 'pid': '14undefined00', 'name': '闻喜县'}, {'id': '140824', 'pid': '14undefined00', 'name': '稷山县'}, {'id': '140825', 'pid': '14undefined00', 'name': '新绛县'}, {'id': '140826', 'pid': '14undefined00', 'name': '绛县'}, { + 'id': '140827', + 'pid': '14undefined00', + 'name': '垣曲县', +}, {'id': '140828', 'pid': '14undefined00', 'name': '夏县'}, {'id': '140829', 'pid': '14undefined00', 'name': '平陆县'}, {'id': '140830', 'pid': '14undefined00', 'name': '芮城县'}, {'id': '140881', 'pid': '14undefined00', 'name': '永济市'}, {'id': '140882', 'pid': '14undefined00', 'name': '河津市'}, {'id': '140902', 'pid': '14undefined00', 'name': '忻府区'}, {'id': '140921', 'pid': '14undefined00', 'name': '定襄县'}, {'id': '140922', 'pid': '14undefined00', 'name': '五台县'}, {'id': '140923', 'pid': '14undefined00', 'name': '代县'}, {'id': '140924', 'pid': '14undefined00', 'name': '繁峙县'}, {'id': '140925', 'pid': '14undefined00', 'name': '宁武县'}, {'id': '140926', 'pid': '14undefined00', 'name': '静乐县'}, {'id': '140927', 'pid': '14undefined00', 'name': '神池县'}, {'id': '140928', 'pid': '14undefined00', 'name': '五寨县'}, {'id': '140929', 'pid': '14undefined00', 'name': '岢岚县'}, {'id': '140930', 'pid': '14undefined00', 'name': '河曲县'}, { + 'id': '140931', + 'pid': '14undefined00', + 'name': '保德县', +}, {'id': '140932', 'pid': '14undefined00', 'name': '偏关县'}, {'id': '140981', 'pid': '14undefined00', 'name': '原平市'}, {'id': '141002', 'pid': '14undefined00', 'name': '尧都区'}, {'id': '141021', 'pid': '14undefined00', 'name': '曲沃县'}, {'id': '141022', 'pid': '14undefined00', 'name': '翼城县'}, {'id': '141023', 'pid': '14undefined00', 'name': '襄汾县'}, {'id': '141024', 'pid': '14undefined00', 'name': '洪洞县'}, {'id': '141025', 'pid': '14undefined00', 'name': '古县'}, {'id': '141026', 'pid': '14undefined00', 'name': '安泽县'}, {'id': '141027', 'pid': '14undefined00', 'name': '浮山县'}, {'id': '141028', 'pid': '14undefined00', 'name': '吉县'}, {'id': '141029', 'pid': '14undefined00', 'name': '乡宁县'}, {'id': '141030', 'pid': '14undefined00', 'name': '大宁县'}, {'id': '141031', 'pid': '14undefined00', 'name': '隰县'}, {'id': '141032', 'pid': '14undefined00', 'name': '永和县'}, {'id': '141033', 'pid': '14undefined00', 'name': '蒲县'}, { + 'id': '141034', + 'pid': '14undefined00', + 'name': '汾西县', +}, {'id': '141081', 'pid': '14undefined00', 'name': '侯马市'}, {'id': '141082', 'pid': '14undefined00', 'name': '霍州市'}, {'id': '141102', 'pid': '14undefined00', 'name': '离石区'}, {'id': '141121', 'pid': '14undefined00', 'name': '文水县'}, {'id': '141122', 'pid': '14undefined00', 'name': '交城县'}, {'id': '141123', 'pid': '14undefined00', 'name': '兴县'}, {'id': '141124', 'pid': '14undefined00', 'name': '临县'}, {'id': '141125', 'pid': '14undefined00', 'name': '柳林县'}, {'id': '141126', 'pid': '14undefined00', 'name': '石楼县'}, {'id': '141127', 'pid': '14undefined00', 'name': '岚县'}, {'id': '141128', 'pid': '14undefined00', 'name': '方山县'}, {'id': '141129', 'pid': '14undefined00', 'name': '中阳县'}, {'id': '141130', 'pid': '14undefined00', 'name': '交口县'}, {'id': '141181', 'pid': '14undefined00', 'name': '孝义市'}, {'id': '141182', 'pid': '14undefined00', 'name': '汾阳市'}, {'id': '150102', 'pid': '15undefined00', 'name': '新城区'}, { + 'id': '150103', + 'pid': '15undefined00', + 'name': '回民区', +}, {'id': '150104', 'pid': '15undefined00', 'name': '玉泉区'}, {'id': '150105', 'pid': '15undefined00', 'name': '赛罕区'}, {'id': '150121', 'pid': '15undefined00', 'name': '土默特左旗'}, {'id': '150122', 'pid': '15undefined00', 'name': '托克托县'}, {'id': '150123', 'pid': '15undefined00', 'name': '和林格尔县'}, {'id': '150124', 'pid': '15undefined00', 'name': '清水河县'}, {'id': '150125', 'pid': '15undefined00', 'name': '武川县'}, {'id': '150202', 'pid': '15undefined00', 'name': '东河区'}, {'id': '150203', 'pid': '15undefined00', 'name': '昆都仑区'}, {'id': '150204', 'pid': '15undefined00', 'name': '青山区'}, {'id': '150205', 'pid': '15undefined00', 'name': '石拐区'}, {'id': '150206', 'pid': '15undefined00', 'name': '白云鄂博矿区'}, {'id': '150207', 'pid': '15undefined00', 'name': '九原区'}, {'id': '150221', 'pid': '15undefined00', 'name': '土默特右旗'}, {'id': '150222', 'pid': '15undefined00', 'name': '固阳县'}, { + 'id': '150223', + 'pid': '15undefined00', + 'name': '达尔罕茂明安联合旗', +}, {'id': '150302', 'pid': '15undefined00', 'name': '海勃湾区'}, {'id': '150303', 'pid': '15undefined00', 'name': '海南区'}, {'id': '150304', 'pid': '15undefined00', 'name': '乌达区'}, {'id': '150402', 'pid': '15undefined00', 'name': '红山区'}, {'id': '150403', 'pid': '15undefined00', 'name': '元宝山区'}, {'id': '150404', 'pid': '15undefined00', 'name': '松山区'}, {'id': '150421', 'pid': '15undefined00', 'name': '阿鲁科尔沁旗'}, {'id': '150422', 'pid': '15undefined00', 'name': '巴林左旗'}, {'id': '150423', 'pid': '15undefined00', 'name': '巴林右旗'}, {'id': '150424', 'pid': '15undefined00', 'name': '林西县'}, {'id': '150425', 'pid': '15undefined00', 'name': '克什克腾旗'}, {'id': '150426', 'pid': '15undefined00', 'name': '翁牛特旗'}, {'id': '150428', 'pid': '15undefined00', 'name': '喀喇沁旗'}, {'id': '150429', 'pid': '15undefined00', 'name': '宁城县'}, {'id': '150430', 'pid': '15undefined00', 'name': '敖汉旗'}, { + 'id': '150502', + 'pid': '15undefined00', + 'name': '科尔沁区', +}, {'id': '150521', 'pid': '15undefined00', 'name': '科尔沁左翼中旗'}, {'id': '150522', 'pid': '15undefined00', 'name': '科尔沁左翼后旗'}, {'id': '150523', 'pid': '15undefined00', 'name': '开鲁县'}, {'id': '150524', 'pid': '15undefined00', 'name': '库伦旗'}, {'id': '150525', 'pid': '15undefined00', 'name': '奈曼旗'}, {'id': '150526', 'pid': '15undefined00', 'name': '扎鲁特旗'}, {'id': '150581', 'pid': '15undefined00', 'name': '霍林郭勒市'}, {'id': '150602', 'pid': '15undefined00', 'name': '东胜区'}, {'id': '150603', 'pid': '15undefined00', 'name': '康巴什区'}, {'id': '150621', 'pid': '15undefined00', 'name': '达拉特旗'}, {'id': '150622', 'pid': '15undefined00', 'name': '准格尔旗'}, {'id': '150623', 'pid': '15undefined00', 'name': '鄂托克前旗'}, {'id': '150624', 'pid': '15undefined00', 'name': '鄂托克旗'}, {'id': '150625', 'pid': '15undefined00', 'name': '杭锦旗'}, {'id': '150626', 'pid': '15undefined00', 'name': '乌审旗'}, { + 'id': '150627', + 'pid': '15undefined00', + 'name': '伊金霍洛旗', +}, {'id': '150702', 'pid': '15undefined00', 'name': '海拉尔区'}, {'id': '150703', 'pid': '15undefined00', 'name': '扎赉诺尔区'}, {'id': '150721', 'pid': '15undefined00', 'name': '阿荣旗'}, {'id': '150722', 'pid': '15undefined00', 'name': '莫力达瓦达斡尔族自治旗'}, {'id': '150723', 'pid': '15undefined00', 'name': '鄂伦春自治旗'}, {'id': '150724', 'pid': '15undefined00', 'name': '鄂温克族自治旗'}, {'id': '150725', 'pid': '15undefined00', 'name': '陈巴尔虎旗'}, {'id': '150726', 'pid': '15undefined00', 'name': '新巴尔虎左旗'}, {'id': '150727', 'pid': '15undefined00', 'name': '新巴尔虎右旗'}, {'id': '150781', 'pid': '15undefined00', 'name': '满洲里市'}, {'id': '150782', 'pid': '15undefined00', 'name': '牙克石市'}, {'id': '150783', 'pid': '15undefined00', 'name': '扎兰屯市'}, {'id': '150784', 'pid': '15undefined00', 'name': '额尔古纳市'}, {'id': '150785', 'pid': '15undefined00', 'name': '根河市'}, {'id': '150802', 'pid': '15undefined00', 'name': '临河区'}, { + 'id': '150821', + 'pid': '15undefined00', + 'name': '五原县', +}, {'id': '150822', 'pid': '15undefined00', 'name': '磴口县'}, {'id': '150823', 'pid': '15undefined00', 'name': '乌拉特前旗'}, {'id': '150824', 'pid': '15undefined00', 'name': '乌拉特中旗'}, {'id': '150825', 'pid': '15undefined00', 'name': '乌拉特后旗'}, {'id': '150826', 'pid': '15undefined00', 'name': '杭锦后旗'}, {'id': '150902', 'pid': '15undefined00', 'name': '集宁区'}, {'id': '150921', 'pid': '15undefined00', 'name': '卓资县'}, {'id': '150922', 'pid': '15undefined00', 'name': '化德县'}, {'id': '150923', 'pid': '15undefined00', 'name': '商都县'}, {'id': '150924', 'pid': '15undefined00', 'name': '兴和县'}, {'id': '150925', 'pid': '15undefined00', 'name': '凉城县'}, {'id': '150926', 'pid': '15undefined00', 'name': '察哈尔右翼前旗'}, {'id': '150927', 'pid': '15undefined00', 'name': '察哈尔右翼中旗'}, {'id': '150928', 'pid': '15undefined00', 'name': '察哈尔右翼后旗'}, {'id': '150929', 'pid': '15undefined00', 'name': '四子王旗'}, { + 'id': '150981', + 'pid': '15undefined00', + 'name': '丰镇市', +}, {'id': '152201', 'pid': '15undefined00', 'name': '乌兰浩特市'}, {'id': '152202', 'pid': '15undefined00', 'name': '阿尔山市'}, {'id': '152221', 'pid': '15undefined00', 'name': '科尔沁右翼前旗'}, {'id': '152222', 'pid': '15undefined00', 'name': '科尔沁右翼中旗'}, {'id': '152223', 'pid': '15undefined00', 'name': '扎赉特旗'}, {'id': '152224', 'pid': '15undefined00', 'name': '突泉县'}, {'id': '152501', 'pid': '15undefined00', 'name': '二连浩特市'}, {'id': '152502', 'pid': '15undefined00', 'name': '锡林浩特市'}, {'id': '152522', 'pid': '15undefined00', 'name': '阿巴嘎旗'}, {'id': '152523', 'pid': '15undefined00', 'name': '苏尼特左旗'}, {'id': '152524', 'pid': '15undefined00', 'name': '苏尼特右旗'}, {'id': '152525', 'pid': '15undefined00', 'name': '东乌珠穆沁旗'}, {'id': '152526', 'pid': '15undefined00', 'name': '西乌珠穆沁旗'}, {'id': '152527', 'pid': '15undefined00', 'name': '太仆寺旗'}, {'id': '152528', 'pid': '15undefined00', 'name': '镶黄旗'}, { + 'id': '152529', + 'pid': '15undefined00', + 'name': '正镶白旗', +}, {'id': '152530', 'pid': '15undefined00', 'name': '正蓝旗'}, {'id': '152531', 'pid': '15undefined00', 'name': '多伦县'}, {'id': '152921', 'pid': '15undefined00', 'name': '阿拉善左旗'}, {'id': '152922', 'pid': '15undefined00', 'name': '阿拉善右旗'}, {'id': '152923', 'pid': '15undefined00', 'name': '额济纳旗'}, {'id': '210102', 'pid': '21undefined00', 'name': '和平区'}, {'id': '210103', 'pid': '21undefined00', 'name': '沈河区'}, {'id': '210104', 'pid': '21undefined00', 'name': '大东区'}, {'id': '210105', 'pid': '21undefined00', 'name': '皇姑区'}, {'id': '210106', 'pid': '21undefined00', 'name': '铁西区'}, {'id': '210111', 'pid': '21undefined00', 'name': '苏家屯区'}, {'id': '210112', 'pid': '21undefined00', 'name': '浑南区'}, {'id': '210113', 'pid': '21undefined00', 'name': '沈北新区'}, {'id': '210114', 'pid': '21undefined00', 'name': '于洪区'}, {'id': '210115', 'pid': '21undefined00', 'name': '辽中区'}, {'id': '210123', 'pid': '21undefined00', 'name': '康平县'}, { + 'id': '210124', + 'pid': '21undefined00', + 'name': '法库县', +}, {'id': '210181', 'pid': '21undefined00', 'name': '新民市'}, {'id': '210202', 'pid': '21undefined00', 'name': '中山区'}, {'id': '210203', 'pid': '21undefined00', 'name': '西岗区'}, {'id': '210204', 'pid': '21undefined00', 'name': '沙河口区'}, {'id': '210211', 'pid': '21undefined00', 'name': '甘井子区'}, {'id': '210212', 'pid': '21undefined00', 'name': '旅顺口区'}, {'id': '210213', 'pid': '21undefined00', 'name': '金州区'}, {'id': '210214', 'pid': '21undefined00', 'name': '普兰店区'}, {'id': '210224', 'pid': '21undefined00', 'name': '长海县'}, {'id': '210281', 'pid': '21undefined00', 'name': '瓦房店市'}, {'id': '210283', 'pid': '21undefined00', 'name': '庄河市'}, {'id': '210302', 'pid': '21undefined00', 'name': '铁东区'}, {'id': '210303', 'pid': '21undefined00', 'name': '铁西区'}, {'id': '210304', 'pid': '21undefined00', 'name': '立山区'}, {'id': '210311', 'pid': '21undefined00', 'name': '千山区'}, {'id': '210321', 'pid': '21undefined00', 'name': '台安县'}, { + 'id': '210323', + 'pid': '21undefined00', + 'name': '岫岩满族自治县', +}, {'id': '210381', 'pid': '21undefined00', 'name': '海城市'}, {'id': '210402', 'pid': '21undefined00', 'name': '新抚区'}, {'id': '210403', 'pid': '21undefined00', 'name': '东洲区'}, {'id': '210404', 'pid': '21undefined00', 'name': '望花区'}, {'id': '210411', 'pid': '21undefined00', 'name': '顺城区'}, {'id': '210421', 'pid': '21undefined00', 'name': '抚顺县'}, {'id': '210422', 'pid': '21undefined00', 'name': '新宾满族自治县'}, {'id': '210423', 'pid': '21undefined00', 'name': '清原满族自治县'}, {'id': '210502', 'pid': '21undefined00', 'name': '平山区'}, {'id': '210503', 'pid': '21undefined00', 'name': '溪湖区'}, {'id': '210504', 'pid': '21undefined00', 'name': '明山区'}, {'id': '210505', 'pid': '21undefined00', 'name': '南芬区'}, {'id': '210521', 'pid': '21undefined00', 'name': '本溪满族自治县'}, {'id': '210522', 'pid': '21undefined00', 'name': '桓仁满族自治县'}, {'id': '210602', 'pid': '21undefined00', 'name': '元宝区'}, { + 'id': '210603', + 'pid': '21undefined00', + 'name': '振兴区', +}, {'id': '210604', 'pid': '21undefined00', 'name': '振安区'}, {'id': '210624', 'pid': '21undefined00', 'name': '宽甸满族自治县'}, {'id': '210681', 'pid': '21undefined00', 'name': '东港市'}, {'id': '210682', 'pid': '21undefined00', 'name': '凤城市'}, {'id': '210702', 'pid': '21undefined00', 'name': '古塔区'}, {'id': '210703', 'pid': '21undefined00', 'name': '凌河区'}, {'id': '210711', 'pid': '21undefined00', 'name': '太和区'}, {'id': '210726', 'pid': '21undefined00', 'name': '黑山县'}, {'id': '210727', 'pid': '21undefined00', 'name': '义县'}, {'id': '210781', 'pid': '21undefined00', 'name': '凌海市'}, {'id': '210782', 'pid': '21undefined00', 'name': '北镇市'}, {'id': '210802', 'pid': '21undefined00', 'name': '站前区'}, {'id': '210803', 'pid': '21undefined00', 'name': '西市区'}, {'id': '210804', 'pid': '21undefined00', 'name': '鲅鱼圈区'}, {'id': '210811', 'pid': '21undefined00', 'name': '老边区'}, {'id': '210881', 'pid': '21undefined00', 'name': '盖州市'}, { + 'id': '210882', + 'pid': '21undefined00', + 'name': '大石桥市', +}, {'id': '210902', 'pid': '21undefined00', 'name': '海州区'}, {'id': '210903', 'pid': '21undefined00', 'name': '新邱区'}, {'id': '210904', 'pid': '21undefined00', 'name': '太平区'}, {'id': '210905', 'pid': '21undefined00', 'name': '清河门区'}, {'id': '210911', 'pid': '21undefined00', 'name': '细河区'}, {'id': '210921', 'pid': '21undefined00', 'name': '阜新蒙古族自治县'}, {'id': '210922', 'pid': '21undefined00', 'name': '彰武县'}, {'id': '211002', 'pid': '21undefined00', 'name': '白塔区'}, {'id': '211003', 'pid': '21undefined00', 'name': '文圣区'}, {'id': '211004', 'pid': '21undefined00', 'name': '宏伟区'}, {'id': '211005', 'pid': '21undefined00', 'name': '弓长岭区'}, {'id': '211011', 'pid': '21undefined00', 'name': '太子河区'}, {'id': '211021', 'pid': '21undefined00', 'name': '辽阳县'}, {'id': '211081', 'pid': '21undefined00', 'name': '灯塔市'}, {'id': '211102', 'pid': '21undefined00', 'name': '双台子区'}, {'id': '211103', 'pid': '21undefined00', 'name': '兴隆台区'}, { + 'id': '211104', + 'pid': '21undefined00', + 'name': '大洼区', +}, {'id': '211122', 'pid': '21undefined00', 'name': '盘山县'}, {'id': '211202', 'pid': '21undefined00', 'name': '银州区'}, {'id': '211204', 'pid': '21undefined00', 'name': '清河区'}, {'id': '211221', 'pid': '21undefined00', 'name': '铁岭县'}, {'id': '211223', 'pid': '21undefined00', 'name': '西丰县'}, {'id': '211224', 'pid': '21undefined00', 'name': '昌图县'}, {'id': '211281', 'pid': '21undefined00', 'name': '调兵山市'}, {'id': '211282', 'pid': '21undefined00', 'name': '开原市'}, {'id': '211302', 'pid': '21undefined00', 'name': '双塔区'}, {'id': '211303', 'pid': '21undefined00', 'name': '龙城区'}, {'id': '211321', 'pid': '21undefined00', 'name': '朝阳县'}, {'id': '211322', 'pid': '21undefined00', 'name': '建平县'}, {'id': '211324', 'pid': '21undefined00', 'name': '喀喇沁左翼蒙古族自治县'}, {'id': '211381', 'pid': '21undefined00', 'name': '北票市'}, {'id': '211382', 'pid': '21undefined00', 'name': '凌源市'}, {'id': '211402', 'pid': '21undefined00', 'name': '连山区'}, { + 'id': '211403', + 'pid': '21undefined00', + 'name': '龙港区', +}, {'id': '211404', 'pid': '21undefined00', 'name': '南票区'}, {'id': '211421', 'pid': '21undefined00', 'name': '绥中县'}, {'id': '211422', 'pid': '21undefined00', 'name': '建昌县'}, {'id': '211481', 'pid': '21undefined00', 'name': '兴城市'}, {'id': '220102', 'pid': '22undefined00', 'name': '南关区'}, {'id': '220103', 'pid': '22undefined00', 'name': '宽城区'}, {'id': '220104', 'pid': '22undefined00', 'name': '朝阳区'}, {'id': '220105', 'pid': '22undefined00', 'name': '二道区'}, {'id': '220106', 'pid': '22undefined00', 'name': '绿园区'}, {'id': '220112', 'pid': '22undefined00', 'name': '双阳区'}, {'id': '220113', 'pid': '22undefined00', 'name': '九台区'}, {'id': '220122', 'pid': '22undefined00', 'name': '农安县'}, {'id': '220182', 'pid': '22undefined00', 'name': '榆树市'}, {'id': '220183', 'pid': '22undefined00', 'name': '德惠市'}, {'id': '220184', 'pid': '22undefined00', 'name': '公主岭市'}, {'id': '220202', 'pid': '22undefined00', 'name': '昌邑区'}, { + 'id': '220203', + 'pid': '22undefined00', + 'name': '龙潭区', +}, {'id': '220204', 'pid': '22undefined00', 'name': '船营区'}, {'id': '220211', 'pid': '22undefined00', 'name': '丰满区'}, {'id': '220221', 'pid': '22undefined00', 'name': '永吉县'}, {'id': '220281', 'pid': '22undefined00', 'name': '蛟河市'}, {'id': '220282', 'pid': '22undefined00', 'name': '桦甸市'}, {'id': '220283', 'pid': '22undefined00', 'name': '舒兰市'}, {'id': '220284', 'pid': '22undefined00', 'name': '磐石市'}, {'id': '220302', 'pid': '22undefined00', 'name': '铁西区'}, {'id': '220303', 'pid': '22undefined00', 'name': '铁东区'}, {'id': '220322', 'pid': '22undefined00', 'name': '梨树县'}, {'id': '220323', 'pid': '22undefined00', 'name': '伊通满族自治县'}, {'id': '220382', 'pid': '22undefined00', 'name': '双辽市'}, {'id': '220402', 'pid': '22undefined00', 'name': '龙山区'}, {'id': '220403', 'pid': '22undefined00', 'name': '西安区'}, {'id': '220421', 'pid': '22undefined00', 'name': '东丰县'}, {'id': '220422', 'pid': '22undefined00', 'name': '东辽县'}, { + 'id': '220502', + 'pid': '22undefined00', + 'name': '东昌区', +}, {'id': '220503', 'pid': '22undefined00', 'name': '二道江区'}, {'id': '220521', 'pid': '22undefined00', 'name': '通化县'}, {'id': '220523', 'pid': '22undefined00', 'name': '辉南县'}, {'id': '220524', 'pid': '22undefined00', 'name': '柳河县'}, {'id': '220581', 'pid': '22undefined00', 'name': '梅河口市'}, {'id': '220582', 'pid': '22undefined00', 'name': '集安市'}, {'id': '220602', 'pid': '22undefined00', 'name': '浑江区'}, {'id': '220605', 'pid': '22undefined00', 'name': '江源区'}, {'id': '220621', 'pid': '22undefined00', 'name': '抚松县'}, {'id': '220622', 'pid': '22undefined00', 'name': '靖宇县'}, {'id': '220623', 'pid': '22undefined00', 'name': '长白朝鲜族自治县'}, {'id': '220681', 'pid': '22undefined00', 'name': '临江市'}, {'id': '220702', 'pid': '22undefined00', 'name': '宁江区'}, {'id': '220721', 'pid': '22undefined00', 'name': '前郭尔罗斯蒙古族自治县'}, {'id': '220722', 'pid': '22undefined00', 'name': '长岭县'}, { + 'id': '220723', + 'pid': '22undefined00', + 'name': '乾安县', +}, {'id': '220781', 'pid': '22undefined00', 'name': '扶余市'}, {'id': '220802', 'pid': '22undefined00', 'name': '洮北区'}, {'id': '220821', 'pid': '22undefined00', 'name': '镇赉县'}, {'id': '220822', 'pid': '22undefined00', 'name': '通榆县'}, {'id': '220881', 'pid': '22undefined00', 'name': '洮南市'}, {'id': '220882', 'pid': '22undefined00', 'name': '大安市'}, {'id': '222401', 'pid': '22undefined00', 'name': '延吉市'}, {'id': '222402', 'pid': '22undefined00', 'name': '图们市'}, {'id': '222403', 'pid': '22undefined00', 'name': '敦化市'}, {'id': '222404', 'pid': '22undefined00', 'name': '珲春市'}, {'id': '222405', 'pid': '22undefined00', 'name': '龙井市'}, {'id': '222406', 'pid': '22undefined00', 'name': '和龙市'}, {'id': '222424', 'pid': '22undefined00', 'name': '汪清县'}, {'id': '222426', 'pid': '22undefined00', 'name': '安图县'}, {'id': '230102', 'pid': '23undefined00', 'name': '道里区'}, {'id': '230103', 'pid': '23undefined00', 'name': '南岗区'}, { + 'id': '230104', + 'pid': '23undefined00', + 'name': '道外区', +}, {'id': '230108', 'pid': '23undefined00', 'name': '平房区'}, {'id': '230109', 'pid': '23undefined00', 'name': '松北区'}, {'id': '230110', 'pid': '23undefined00', 'name': '香坊区'}, {'id': '230111', 'pid': '23undefined00', 'name': '呼兰区'}, {'id': '230112', 'pid': '23undefined00', 'name': '阿城区'}, {'id': '230113', 'pid': '23undefined00', 'name': '双城区'}, {'id': '230123', 'pid': '23undefined00', 'name': '依兰县'}, {'id': '230124', 'pid': '23undefined00', 'name': '方正县'}, {'id': '230125', 'pid': '23undefined00', 'name': '宾县'}, {'id': '230126', 'pid': '23undefined00', 'name': '巴彦县'}, {'id': '230127', 'pid': '23undefined00', 'name': '木兰县'}, {'id': '230128', 'pid': '23undefined00', 'name': '通河县'}, {'id': '230129', 'pid': '23undefined00', 'name': '延寿县'}, {'id': '230183', 'pid': '23undefined00', 'name': '尚志市'}, {'id': '230184', 'pid': '23undefined00', 'name': '五常市'}, {'id': '230202', 'pid': '23undefined00', 'name': '龙沙区'}, { + 'id': '230203', + 'pid': '23undefined00', + 'name': '建华区', +}, {'id': '230204', 'pid': '23undefined00', 'name': '铁锋区'}, {'id': '230205', 'pid': '23undefined00', 'name': '昂昂溪区'}, {'id': '230206', 'pid': '23undefined00', 'name': '富拉尔基区'}, {'id': '230207', 'pid': '23undefined00', 'name': '碾子山区'}, {'id': '230208', 'pid': '23undefined00', 'name': '梅里斯达斡尔族区'}, {'id': '230221', 'pid': '23undefined00', 'name': '龙江县'}, {'id': '230223', 'pid': '23undefined00', 'name': '依安县'}, {'id': '230224', 'pid': '23undefined00', 'name': '泰来县'}, {'id': '230225', 'pid': '23undefined00', 'name': '甘南县'}, {'id': '230227', 'pid': '23undefined00', 'name': '富裕县'}, {'id': '230229', 'pid': '23undefined00', 'name': '克山县'}, {'id': '230230', 'pid': '23undefined00', 'name': '克东县'}, {'id': '230231', 'pid': '23undefined00', 'name': '拜泉县'}, {'id': '230281', 'pid': '23undefined00', 'name': '讷河市'}, {'id': '230302', 'pid': '23undefined00', 'name': '鸡冠区'}, {'id': '230303', 'pid': '23undefined00', 'name': '恒山区'}, { + 'id': '230304', + 'pid': '23undefined00', + 'name': '滴道区', +}, {'id': '230305', 'pid': '23undefined00', 'name': '梨树区'}, {'id': '230306', 'pid': '23undefined00', 'name': '城子河区'}, {'id': '230307', 'pid': '23undefined00', 'name': '麻山区'}, {'id': '230321', 'pid': '23undefined00', 'name': '鸡东县'}, {'id': '230381', 'pid': '23undefined00', 'name': '虎林市'}, {'id': '230382', 'pid': '23undefined00', 'name': '密山市'}, {'id': '230402', 'pid': '23undefined00', 'name': '向阳区'}, {'id': '230403', 'pid': '23undefined00', 'name': '工农区'}, {'id': '230404', 'pid': '23undefined00', 'name': '南山区'}, {'id': '230405', 'pid': '23undefined00', 'name': '兴安区'}, {'id': '230406', 'pid': '23undefined00', 'name': '东山区'}, {'id': '230407', 'pid': '23undefined00', 'name': '兴山区'}, {'id': '230421', 'pid': '23undefined00', 'name': '萝北县'}, {'id': '230422', 'pid': '23undefined00', 'name': '绥滨县'}, {'id': '230502', 'pid': '23undefined00', 'name': '尖山区'}, {'id': '230503', 'pid': '23undefined00', 'name': '岭东区'}, { + 'id': '230505', + 'pid': '23undefined00', + 'name': '四方台区', +}, {'id': '230506', 'pid': '23undefined00', 'name': '宝山区'}, {'id': '230521', 'pid': '23undefined00', 'name': '集贤县'}, {'id': '230522', 'pid': '23undefined00', 'name': '友谊县'}, {'id': '230523', 'pid': '23undefined00', 'name': '宝清县'}, {'id': '230524', 'pid': '23undefined00', 'name': '饶河县'}, {'id': '230602', 'pid': '23undefined00', 'name': '萨尔图区'}, {'id': '230603', 'pid': '23undefined00', 'name': '龙凤区'}, {'id': '230604', 'pid': '23undefined00', 'name': '让胡路区'}, {'id': '230605', 'pid': '23undefined00', 'name': '红岗区'}, {'id': '230606', 'pid': '23undefined00', 'name': '大同区'}, {'id': '230621', 'pid': '23undefined00', 'name': '肇州县'}, {'id': '230622', 'pid': '23undefined00', 'name': '肇源县'}, {'id': '230623', 'pid': '23undefined00', 'name': '林甸县'}, {'id': '230624', 'pid': '23undefined00', 'name': '杜尔伯特蒙古族自治县'}, {'id': '230717', 'pid': '23undefined00', 'name': '伊美区'}, {'id': '230718', 'pid': '23undefined00', 'name': '乌翠区'}, { + 'id': '230719', + 'pid': '23undefined00', + 'name': '友好区', +}, {'id': '230722', 'pid': '23undefined00', 'name': '嘉荫县'}, {'id': '230723', 'pid': '23undefined00', 'name': '汤旺县'}, {'id': '230724', 'pid': '23undefined00', 'name': '丰林县'}, {'id': '230725', 'pid': '23undefined00', 'name': '大箐山县'}, {'id': '230726', 'pid': '23undefined00', 'name': '南岔县'}, {'id': '230751', 'pid': '23undefined00', 'name': '金林区'}, {'id': '230781', 'pid': '23undefined00', 'name': '铁力市'}, {'id': '230803', 'pid': '23undefined00', 'name': '向阳区'}, {'id': '230804', 'pid': '23undefined00', 'name': '前进区'}, {'id': '230805', 'pid': '23undefined00', 'name': '东风区'}, {'id': '230811', 'pid': '23undefined00', 'name': '郊区'}, {'id': '230822', 'pid': '23undefined00', 'name': '桦南县'}, {'id': '230826', 'pid': '23undefined00', 'name': '桦川县'}, {'id': '230828', 'pid': '23undefined00', 'name': '汤原县'}, {'id': '230881', 'pid': '23undefined00', 'name': '同江市'}, {'id': '230882', 'pid': '23undefined00', 'name': '富锦市'}, { + 'id': '230883', + 'pid': '23undefined00', + 'name': '抚远市', +}, {'id': '230902', 'pid': '23undefined00', 'name': '新兴区'}, {'id': '230903', 'pid': '23undefined00', 'name': '桃山区'}, {'id': '230904', 'pid': '23undefined00', 'name': '茄子河区'}, {'id': '230921', 'pid': '23undefined00', 'name': '勃利县'}, {'id': '231002', 'pid': '23undefined00', 'name': '东安区'}, {'id': '231003', 'pid': '23undefined00', 'name': '阳明区'}, {'id': '231004', 'pid': '23undefined00', 'name': '爱民区'}, {'id': '231005', 'pid': '23undefined00', 'name': '西安区'}, {'id': '231025', 'pid': '23undefined00', 'name': '林口县'}, {'id': '231081', 'pid': '23undefined00', 'name': '绥芬河市'}, {'id': '231083', 'pid': '23undefined00', 'name': '海林市'}, {'id': '231084', 'pid': '23undefined00', 'name': '宁安市'}, {'id': '231085', 'pid': '23undefined00', 'name': '穆棱市'}, {'id': '231086', 'pid': '23undefined00', 'name': '东宁市'}, {'id': '231102', 'pid': '23undefined00', 'name': '爱辉区'}, {'id': '231123', 'pid': '23undefined00', 'name': '逊克县'}, { + 'id': '231124', + 'pid': '23undefined00', + 'name': '孙吴县', +}, {'id': '231181', 'pid': '23undefined00', 'name': '北安市'}, {'id': '231182', 'pid': '23undefined00', 'name': '五大连池市'}, {'id': '231183', 'pid': '23undefined00', 'name': '嫩江市'}, {'id': '231202', 'pid': '23undefined00', 'name': '北林区'}, {'id': '231221', 'pid': '23undefined00', 'name': '望奎县'}, {'id': '231222', 'pid': '23undefined00', 'name': '兰西县'}, {'id': '231223', 'pid': '23undefined00', 'name': '青冈县'}, {'id': '231224', 'pid': '23undefined00', 'name': '庆安县'}, {'id': '231225', 'pid': '23undefined00', 'name': '明水县'}, {'id': '231226', 'pid': '23undefined00', 'name': '绥棱县'}, {'id': '231281', 'pid': '23undefined00', 'name': '安达市'}, {'id': '231282', 'pid': '23undefined00', 'name': '肇东市'}, {'id': '231283', 'pid': '23undefined00', 'name': '海伦市'}, {'id': '232701', 'pid': '23undefined00', 'name': '漠河市'}, {'id': '232721', 'pid': '23undefined00', 'name': '呼玛县'}, {'id': '232722', 'pid': '23undefined00', 'name': '塔河县'}, { + 'id': '310101', + 'pid': '31undefined00', + 'name': '黄浦区', +}, {'id': '310104', 'pid': '31undefined00', 'name': '徐汇区'}, {'id': '310105', 'pid': '31undefined00', 'name': '长宁区'}, {'id': '310106', 'pid': '31undefined00', 'name': '静安区'}, {'id': '310107', 'pid': '31undefined00', 'name': '普陀区'}, {'id': '310109', 'pid': '31undefined00', 'name': '虹口区'}, {'id': '310110', 'pid': '31undefined00', 'name': '杨浦区'}, {'id': '310112', 'pid': '31undefined00', 'name': '闵行区'}, {'id': '310113', 'pid': '31undefined00', 'name': '宝山区'}, {'id': '310114', 'pid': '31undefined00', 'name': '嘉定区'}, {'id': '310115', 'pid': '31undefined00', 'name': '浦东新区'}, {'id': '310116', 'pid': '31undefined00', 'name': '金山区'}, {'id': '310117', 'pid': '31undefined00', 'name': '松江区'}, {'id': '310118', 'pid': '31undefined00', 'name': '青浦区'}, {'id': '310120', 'pid': '31undefined00', 'name': '奉贤区'}, {'id': '310151', 'pid': '31undefined00', 'name': '崇明区'}, {'id': '320102', 'pid': '32undefined00', 'name': '玄武区'}, { + 'id': '320104', + 'pid': '32undefined00', + 'name': '秦淮区', +}, {'id': '320105', 'pid': '32undefined00', 'name': '建邺区'}, {'id': '320106', 'pid': '32undefined00', 'name': '鼓楼区'}, {'id': '320111', 'pid': '32undefined00', 'name': '浦口区'}, {'id': '320113', 'pid': '32undefined00', 'name': '栖霞区'}, {'id': '320114', 'pid': '32undefined00', 'name': '雨花台区'}, {'id': '320115', 'pid': '32undefined00', 'name': '江宁区'}, {'id': '320116', 'pid': '32undefined00', 'name': '六合区'}, {'id': '320117', 'pid': '32undefined00', 'name': '溧水区'}, {'id': '320118', 'pid': '32undefined00', 'name': '高淳区'}, {'id': '320205', 'pid': '32undefined00', 'name': '锡山区'}, {'id': '320206', 'pid': '32undefined00', 'name': '惠山区'}, {'id': '320211', 'pid': '32undefined00', 'name': '滨湖区'}, {'id': '320213', 'pid': '32undefined00', 'name': '梁溪区'}, {'id': '320214', 'pid': '32undefined00', 'name': '新吴区'}, {'id': '320281', 'pid': '32undefined00', 'name': '江阴市'}, {'id': '320282', 'pid': '32undefined00', 'name': '宜兴市'}, { + 'id': '320302', + 'pid': '32undefined00', + 'name': '鼓楼区', +}, {'id': '320303', 'pid': '32undefined00', 'name': '云龙区'}, {'id': '320305', 'pid': '32undefined00', 'name': '贾汪区'}, {'id': '320311', 'pid': '32undefined00', 'name': '泉山区'}, {'id': '320312', 'pid': '32undefined00', 'name': '铜山区'}, {'id': '320321', 'pid': '32undefined00', 'name': '丰县'}, {'id': '320322', 'pid': '32undefined00', 'name': '沛县'}, {'id': '320324', 'pid': '32undefined00', 'name': '睢宁县'}, {'id': '320381', 'pid': '32undefined00', 'name': '新沂市'}, {'id': '320382', 'pid': '32undefined00', 'name': '邳州市'}, {'id': '320402', 'pid': '32undefined00', 'name': '天宁区'}, {'id': '320404', 'pid': '32undefined00', 'name': '钟楼区'}, {'id': '320411', 'pid': '32undefined00', 'name': '新北区'}, {'id': '320412', 'pid': '32undefined00', 'name': '武进区'}, {'id': '320413', 'pid': '32undefined00', 'name': '金坛区'}, {'id': '320481', 'pid': '32undefined00', 'name': '溧阳市'}, {'id': '320505', 'pid': '32undefined00', 'name': '虎丘区'}, { + 'id': '320506', + 'pid': '32undefined00', + 'name': '吴中区', +}, {'id': '320507', 'pid': '32undefined00', 'name': '相城区'}, {'id': '320508', 'pid': '32undefined00', 'name': '姑苏区'}, {'id': '320509', 'pid': '32undefined00', 'name': '吴江区'}, {'id': '320581', 'pid': '32undefined00', 'name': '常熟市'}, {'id': '320582', 'pid': '32undefined00', 'name': '张家港市'}, {'id': '320583', 'pid': '32undefined00', 'name': '昆山市'}, {'id': '320585', 'pid': '32undefined00', 'name': '太仓市'}, {'id': '320612', 'pid': '32undefined00', 'name': '通州区'}, {'id': '320613', 'pid': '32undefined00', 'name': '崇川区'}, {'id': '320614', 'pid': '32undefined00', 'name': '海门区'}, {'id': '320623', 'pid': '32undefined00', 'name': '如东县'}, {'id': '320681', 'pid': '32undefined00', 'name': '启东市'}, {'id': '320682', 'pid': '32undefined00', 'name': '如皋市'}, {'id': '320685', 'pid': '32undefined00', 'name': '海安市'}, {'id': '320703', 'pid': '32undefined00', 'name': '连云区'}, {'id': '320706', 'pid': '32undefined00', 'name': '海州区'}, { + 'id': '320707', + 'pid': '32undefined00', + 'name': '赣榆区', +}, {'id': '320722', 'pid': '32undefined00', 'name': '东海县'}, {'id': '320723', 'pid': '32undefined00', 'name': '灌云县'}, {'id': '320724', 'pid': '32undefined00', 'name': '灌南县'}, {'id': '320803', 'pid': '32undefined00', 'name': '淮安区'}, {'id': '320804', 'pid': '32undefined00', 'name': '淮阴区'}, {'id': '320812', 'pid': '32undefined00', 'name': '清江浦区'}, {'id': '320813', 'pid': '32undefined00', 'name': '洪泽区'}, {'id': '320826', 'pid': '32undefined00', 'name': '涟水县'}, {'id': '320830', 'pid': '32undefined00', 'name': '盱眙县'}, {'id': '320831', 'pid': '32undefined00', 'name': '金湖县'}, {'id': '320902', 'pid': '32undefined00', 'name': '亭湖区'}, {'id': '320903', 'pid': '32undefined00', 'name': '盐都区'}, {'id': '320904', 'pid': '32undefined00', 'name': '大丰区'}, {'id': '320921', 'pid': '32undefined00', 'name': '响水县'}, {'id': '320922', 'pid': '32undefined00', 'name': '滨海县'}, {'id': '320923', 'pid': '32undefined00', 'name': '阜宁县'}, { + 'id': '320924', + 'pid': '32undefined00', + 'name': '射阳县', +}, {'id': '320925', 'pid': '32undefined00', 'name': '建湖县'}, {'id': '320981', 'pid': '32undefined00', 'name': '东台市'}, {'id': '321002', 'pid': '32undefined00', 'name': '广陵区'}, {'id': '321003', 'pid': '32undefined00', 'name': '邗江区'}, {'id': '321012', 'pid': '32undefined00', 'name': '江都区'}, {'id': '321023', 'pid': '32undefined00', 'name': '宝应县'}, {'id': '321081', 'pid': '32undefined00', 'name': '仪征市'}, {'id': '321084', 'pid': '32undefined00', 'name': '高邮市'}, {'id': '321102', 'pid': '32undefined00', 'name': '京口区'}, {'id': '321111', 'pid': '32undefined00', 'name': '润州区'}, {'id': '321112', 'pid': '32undefined00', 'name': '丹徒区'}, {'id': '321181', 'pid': '32undefined00', 'name': '丹阳市'}, {'id': '321182', 'pid': '32undefined00', 'name': '扬中市'}, {'id': '321183', 'pid': '32undefined00', 'name': '句容市'}, {'id': '321202', 'pid': '32undefined00', 'name': '海陵区'}, {'id': '321203', 'pid': '32undefined00', 'name': '高港区'}, { + 'id': '321204', + 'pid': '32undefined00', + 'name': '姜堰区', +}, {'id': '321281', 'pid': '32undefined00', 'name': '兴化市'}, {'id': '321282', 'pid': '32undefined00', 'name': '靖江市'}, {'id': '321283', 'pid': '32undefined00', 'name': '泰兴市'}, {'id': '321302', 'pid': '32undefined00', 'name': '宿城区'}, {'id': '321311', 'pid': '32undefined00', 'name': '宿豫区'}, {'id': '321322', 'pid': '32undefined00', 'name': '沭阳县'}, {'id': '321323', 'pid': '32undefined00', 'name': '泗阳县'}, {'id': '321324', 'pid': '32undefined00', 'name': '泗洪县'}, {'id': '330102', 'pid': '33undefined00', 'name': '上城区'}, {'id': '330103', 'pid': '33undefined00', 'name': '下城区'}, {'id': '330104', 'pid': '33undefined00', 'name': '江干区'}, {'id': '330105', 'pid': '33undefined00', 'name': '拱墅区'}, {'id': '330106', 'pid': '33undefined00', 'name': '西湖区'}, {'id': '330108', 'pid': '33undefined00', 'name': '滨江区'}, {'id': '330109', 'pid': '33undefined00', 'name': '萧山区'}, {'id': '330110', 'pid': '33undefined00', 'name': '余杭区'}, { + 'id': '330111', + 'pid': '33undefined00', + 'name': '富阳区', +}, {'id': '330112', 'pid': '33undefined00', 'name': '临安区'}, {'id': '330122', 'pid': '33undefined00', 'name': '桐庐县'}, {'id': '330127', 'pid': '33undefined00', 'name': '淳安县'}, {'id': '330182', 'pid': '33undefined00', 'name': '建德市'}, {'id': '330203', 'pid': '33undefined00', 'name': '海曙区'}, {'id': '330205', 'pid': '33undefined00', 'name': '江北区'}, {'id': '330206', 'pid': '33undefined00', 'name': '北仑区'}, {'id': '330211', 'pid': '33undefined00', 'name': '镇海区'}, {'id': '330212', 'pid': '33undefined00', 'name': '鄞州区'}, {'id': '330213', 'pid': '33undefined00', 'name': '奉化区'}, {'id': '330225', 'pid': '33undefined00', 'name': '象山县'}, {'id': '330226', 'pid': '33undefined00', 'name': '宁海县'}, {'id': '330281', 'pid': '33undefined00', 'name': '余姚市'}, {'id': '330282', 'pid': '33undefined00', 'name': '慈溪市'}, {'id': '330302', 'pid': '33undefined00', 'name': '鹿城区'}, {'id': '330303', 'pid': '33undefined00', 'name': '龙湾区'}, { + 'id': '330304', + 'pid': '33undefined00', + 'name': '瓯海区', +}, {'id': '330305', 'pid': '33undefined00', 'name': '洞头区'}, {'id': '330324', 'pid': '33undefined00', 'name': '永嘉县'}, {'id': '330326', 'pid': '33undefined00', 'name': '平阳县'}, {'id': '330327', 'pid': '33undefined00', 'name': '苍南县'}, {'id': '330328', 'pid': '33undefined00', 'name': '文成县'}, {'id': '330329', 'pid': '33undefined00', 'name': '泰顺县'}, {'id': '330381', 'pid': '33undefined00', 'name': '瑞安市'}, {'id': '330382', 'pid': '33undefined00', 'name': '乐清市'}, {'id': '330383', 'pid': '33undefined00', 'name': '龙港市'}, {'id': '330402', 'pid': '33undefined00', 'name': '南湖区'}, {'id': '330411', 'pid': '33undefined00', 'name': '秀洲区'}, {'id': '330421', 'pid': '33undefined00', 'name': '嘉善县'}, {'id': '330424', 'pid': '33undefined00', 'name': '海盐县'}, {'id': '330481', 'pid': '33undefined00', 'name': '海宁市'}, {'id': '330482', 'pid': '33undefined00', 'name': '平湖市'}, {'id': '330483', 'pid': '33undefined00', 'name': '桐乡市'}, { + 'id': '330502', + 'pid': '33undefined00', + 'name': '吴兴区', +}, {'id': '330503', 'pid': '33undefined00', 'name': '南浔区'}, {'id': '330521', 'pid': '33undefined00', 'name': '德清县'}, {'id': '330522', 'pid': '33undefined00', 'name': '长兴县'}, {'id': '330523', 'pid': '33undefined00', 'name': '安吉县'}, {'id': '330602', 'pid': '33undefined00', 'name': '越城区'}, {'id': '330603', 'pid': '33undefined00', 'name': '柯桥区'}, {'id': '330604', 'pid': '33undefined00', 'name': '上虞区'}, {'id': '330624', 'pid': '33undefined00', 'name': '新昌县'}, {'id': '330681', 'pid': '33undefined00', 'name': '诸暨市'}, {'id': '330683', 'pid': '33undefined00', 'name': '嵊州市'}, {'id': '330702', 'pid': '33undefined00', 'name': '婺城区'}, {'id': '330703', 'pid': '33undefined00', 'name': '金东区'}, {'id': '330723', 'pid': '33undefined00', 'name': '武义县'}, {'id': '330726', 'pid': '33undefined00', 'name': '浦江县'}, {'id': '330727', 'pid': '33undefined00', 'name': '磐安县'}, {'id': '330781', 'pid': '33undefined00', 'name': '兰溪市'}, { + 'id': '330782', + 'pid': '33undefined00', + 'name': '义乌市', +}, {'id': '330783', 'pid': '33undefined00', 'name': '东阳市'}, {'id': '330784', 'pid': '33undefined00', 'name': '永康市'}, {'id': '330802', 'pid': '33undefined00', 'name': '柯城区'}, {'id': '330803', 'pid': '33undefined00', 'name': '衢江区'}, {'id': '330822', 'pid': '33undefined00', 'name': '常山县'}, {'id': '330824', 'pid': '33undefined00', 'name': '开化县'}, {'id': '330825', 'pid': '33undefined00', 'name': '龙游县'}, {'id': '330881', 'pid': '33undefined00', 'name': '江山市'}, {'id': '330902', 'pid': '33undefined00', 'name': '定海区'}, {'id': '330903', 'pid': '33undefined00', 'name': '普陀区'}, {'id': '330921', 'pid': '33undefined00', 'name': '岱山县'}, {'id': '330922', 'pid': '33undefined00', 'name': '嵊泗县'}, {'id': '331002', 'pid': '33undefined00', 'name': '椒江区'}, {'id': '331003', 'pid': '33undefined00', 'name': '黄岩区'}, {'id': '331004', 'pid': '33undefined00', 'name': '路桥区'}, {'id': '331022', 'pid': '33undefined00', 'name': '三门县'}, { + 'id': '331023', + 'pid': '33undefined00', + 'name': '天台县', +}, {'id': '331024', 'pid': '33undefined00', 'name': '仙居县'}, {'id': '331081', 'pid': '33undefined00', 'name': '温岭市'}, {'id': '331082', 'pid': '33undefined00', 'name': '临海市'}, {'id': '331083', 'pid': '33undefined00', 'name': '玉环市'}, {'id': '331102', 'pid': '33undefined00', 'name': '莲都区'}, {'id': '331121', 'pid': '33undefined00', 'name': '青田县'}, {'id': '331122', 'pid': '33undefined00', 'name': '缙云县'}, {'id': '331123', 'pid': '33undefined00', 'name': '遂昌县'}, {'id': '331124', 'pid': '33undefined00', 'name': '松阳县'}, {'id': '331125', 'pid': '33undefined00', 'name': '云和县'}, {'id': '331126', 'pid': '33undefined00', 'name': '庆元县'}, {'id': '331127', 'pid': '33undefined00', 'name': '景宁畲族自治县'}, {'id': '331181', 'pid': '33undefined00', 'name': '龙泉市'}, {'id': '340102', 'pid': '34undefined00', 'name': '瑶海区'}, {'id': '340103', 'pid': '34undefined00', 'name': '庐阳区'}, {'id': '340104', 'pid': '34undefined00', 'name': '蜀山区'}, { + 'id': '340111', + 'pid': '34undefined00', + 'name': '包河区', +}, {'id': '340121', 'pid': '34undefined00', 'name': '长丰县'}, {'id': '340122', 'pid': '34undefined00', 'name': '肥东县'}, {'id': '340123', 'pid': '34undefined00', 'name': '肥西县'}, {'id': '340124', 'pid': '34undefined00', 'name': '庐江县'}, {'id': '340181', 'pid': '34undefined00', 'name': '巢湖市'}, {'id': '340202', 'pid': '34undefined00', 'name': '镜湖区'}, {'id': '340207', 'pid': '34undefined00', 'name': '鸠江区'}, {'id': '340209', 'pid': '34undefined00', 'name': '弋江区'}, {'id': '340210', 'pid': '34undefined00', 'name': '湾沚区'}, {'id': '340212', 'pid': '34undefined00', 'name': '繁昌区'}, {'id': '340223', 'pid': '34undefined00', 'name': '南陵县'}, {'id': '340281', 'pid': '34undefined00', 'name': '无为市'}, {'id': '340302', 'pid': '34undefined00', 'name': '龙子湖区'}, {'id': '340303', 'pid': '34undefined00', 'name': '蚌山区'}, {'id': '340304', 'pid': '34undefined00', 'name': '禹会区'}, {'id': '340311', 'pid': '34undefined00', 'name': '淮上区'}, { + 'id': '340321', + 'pid': '34undefined00', + 'name': '怀远县', +}, {'id': '340322', 'pid': '34undefined00', 'name': '五河县'}, {'id': '340323', 'pid': '34undefined00', 'name': '固镇县'}, {'id': '340402', 'pid': '34undefined00', 'name': '大通区'}, {'id': '340403', 'pid': '34undefined00', 'name': '田家庵区'}, {'id': '340404', 'pid': '34undefined00', 'name': '谢家集区'}, {'id': '340405', 'pid': '34undefined00', 'name': '八公山区'}, {'id': '340406', 'pid': '34undefined00', 'name': '潘集区'}, {'id': '340421', 'pid': '34undefined00', 'name': '凤台县'}, {'id': '340422', 'pid': '34undefined00', 'name': '寿县'}, {'id': '340503', 'pid': '34undefined00', 'name': '花山区'}, {'id': '340504', 'pid': '34undefined00', 'name': '雨山区'}, {'id': '340506', 'pid': '34undefined00', 'name': '博望区'}, {'id': '340521', 'pid': '34undefined00', 'name': '当涂县'}, {'id': '340522', 'pid': '34undefined00', 'name': '含山县'}, {'id': '340523', 'pid': '34undefined00', 'name': '和县'}, {'id': '340602', 'pid': '34undefined00', 'name': '杜集区'}, { + 'id': '340603', + 'pid': '34undefined00', + 'name': '相山区', +}, {'id': '340604', 'pid': '34undefined00', 'name': '烈山区'}, {'id': '340621', 'pid': '34undefined00', 'name': '濉溪县'}, {'id': '340705', 'pid': '34undefined00', 'name': '铜官区'}, {'id': '340706', 'pid': '34undefined00', 'name': '义安区'}, {'id': '340711', 'pid': '34undefined00', 'name': '郊区'}, {'id': '340722', 'pid': '34undefined00', 'name': '枞阳县'}, {'id': '340802', 'pid': '34undefined00', 'name': '迎江区'}, {'id': '340803', 'pid': '34undefined00', 'name': '大观区'}, {'id': '340811', 'pid': '34undefined00', 'name': '宜秀区'}, {'id': '340822', 'pid': '34undefined00', 'name': '怀宁县'}, {'id': '340825', 'pid': '34undefined00', 'name': '太湖县'}, {'id': '340826', 'pid': '34undefined00', 'name': '宿松县'}, {'id': '340827', 'pid': '34undefined00', 'name': '望江县'}, {'id': '340828', 'pid': '34undefined00', 'name': '岳西县'}, {'id': '340881', 'pid': '34undefined00', 'name': '桐城市'}, {'id': '340882', 'pid': '34undefined00', 'name': '潜山市'}, { + 'id': '341002', + 'pid': '34undefined00', + 'name': '屯溪区', +}, {'id': '341003', 'pid': '34undefined00', 'name': '黄山区'}, {'id': '341004', 'pid': '34undefined00', 'name': '徽州区'}, {'id': '341021', 'pid': '34undefined00', 'name': '歙县'}, {'id': '341022', 'pid': '34undefined00', 'name': '休宁县'}, {'id': '341023', 'pid': '34undefined00', 'name': '黟县'}, {'id': '341024', 'pid': '34undefined00', 'name': '祁门县'}, {'id': '341102', 'pid': '34undefined00', 'name': '琅琊区'}, {'id': '341103', 'pid': '34undefined00', 'name': '南谯区'}, {'id': '341122', 'pid': '34undefined00', 'name': '来安县'}, {'id': '341124', 'pid': '34undefined00', 'name': '全椒县'}, {'id': '341125', 'pid': '34undefined00', 'name': '定远县'}, {'id': '341126', 'pid': '34undefined00', 'name': '凤阳县'}, {'id': '341181', 'pid': '34undefined00', 'name': '天长市'}, {'id': '341182', 'pid': '34undefined00', 'name': '明光市'}, {'id': '341202', 'pid': '34undefined00', 'name': '颍州区'}, {'id': '341203', 'pid': '34undefined00', 'name': '颍东区'}, { + 'id': '341204', + 'pid': '34undefined00', + 'name': '颍泉区', +}, {'id': '341221', 'pid': '34undefined00', 'name': '临泉县'}, {'id': '341222', 'pid': '34undefined00', 'name': '太和县'}, {'id': '341225', 'pid': '34undefined00', 'name': '阜南县'}, {'id': '341226', 'pid': '34undefined00', 'name': '颍上县'}, {'id': '341282', 'pid': '34undefined00', 'name': '界首市'}, {'id': '341302', 'pid': '34undefined00', 'name': '埇桥区'}, {'id': '341321', 'pid': '34undefined00', 'name': '砀山县'}, {'id': '341322', 'pid': '34undefined00', 'name': '萧县'}, {'id': '341323', 'pid': '34undefined00', 'name': '灵璧县'}, {'id': '341324', 'pid': '34undefined00', 'name': '泗县'}, {'id': '341502', 'pid': '34undefined00', 'name': '金安区'}, {'id': '341503', 'pid': '34undefined00', 'name': '裕安区'}, {'id': '341504', 'pid': '34undefined00', 'name': '叶集区'}, {'id': '341522', 'pid': '34undefined00', 'name': '霍邱县'}, {'id': '341523', 'pid': '34undefined00', 'name': '舒城县'}, {'id': '341524', 'pid': '34undefined00', 'name': '金寨县'}, { + 'id': '341525', + 'pid': '34undefined00', + 'name': '霍山县', +}, {'id': '341602', 'pid': '34undefined00', 'name': '谯城区'}, {'id': '341621', 'pid': '34undefined00', 'name': '涡阳县'}, {'id': '341622', 'pid': '34undefined00', 'name': '蒙城县'}, {'id': '341623', 'pid': '34undefined00', 'name': '利辛县'}, {'id': '341702', 'pid': '34undefined00', 'name': '贵池区'}, {'id': '341721', 'pid': '34undefined00', 'name': '东至县'}, {'id': '341722', 'pid': '34undefined00', 'name': '石台县'}, {'id': '341723', 'pid': '34undefined00', 'name': '青阳县'}, {'id': '341802', 'pid': '34undefined00', 'name': '宣州区'}, {'id': '341821', 'pid': '34undefined00', 'name': '郎溪县'}, {'id': '341823', 'pid': '34undefined00', 'name': '泾县'}, {'id': '341824', 'pid': '34undefined00', 'name': '绩溪县'}, {'id': '341825', 'pid': '34undefined00', 'name': '旌德县'}, {'id': '341881', 'pid': '34undefined00', 'name': '宁国市'}, {'id': '341882', 'pid': '34undefined00', 'name': '广德市'}, {'id': '350102', 'pid': '35undefined00', 'name': '鼓楼区'}, { + 'id': '350103', + 'pid': '35undefined00', + 'name': '台江区', +}, {'id': '350104', 'pid': '35undefined00', 'name': '仓山区'}, {'id': '350105', 'pid': '35undefined00', 'name': '马尾区'}, {'id': '350111', 'pid': '35undefined00', 'name': '晋安区'}, {'id': '350112', 'pid': '35undefined00', 'name': '长乐区'}, {'id': '350121', 'pid': '35undefined00', 'name': '闽侯县'}, {'id': '350122', 'pid': '35undefined00', 'name': '连江县'}, {'id': '350123', 'pid': '35undefined00', 'name': '罗源县'}, {'id': '350124', 'pid': '35undefined00', 'name': '闽清县'}, {'id': '350125', 'pid': '35undefined00', 'name': '永泰县'}, {'id': '350128', 'pid': '35undefined00', 'name': '平潭县'}, {'id': '350181', 'pid': '35undefined00', 'name': '福清市'}, {'id': '350203', 'pid': '35undefined00', 'name': '思明区'}, {'id': '350205', 'pid': '35undefined00', 'name': '海沧区'}, {'id': '350206', 'pid': '35undefined00', 'name': '湖里区'}, {'id': '350211', 'pid': '35undefined00', 'name': '集美区'}, {'id': '350212', 'pid': '35undefined00', 'name': '同安区'}, { + 'id': '350213', + 'pid': '35undefined00', + 'name': '翔安区', +}, {'id': '350302', 'pid': '35undefined00', 'name': '城厢区'}, {'id': '350303', 'pid': '35undefined00', 'name': '涵江区'}, {'id': '350304', 'pid': '35undefined00', 'name': '荔城区'}, {'id': '350305', 'pid': '35undefined00', 'name': '秀屿区'}, {'id': '350322', 'pid': '35undefined00', 'name': '仙游县'}, {'id': '350402', 'pid': '35undefined00', 'name': '梅列区'}, {'id': '350403', 'pid': '35undefined00', 'name': '三元区'}, {'id': '350421', 'pid': '35undefined00', 'name': '明溪县'}, {'id': '350423', 'pid': '35undefined00', 'name': '清流县'}, {'id': '350424', 'pid': '35undefined00', 'name': '宁化县'}, {'id': '350425', 'pid': '35undefined00', 'name': '大田县'}, {'id': '350426', 'pid': '35undefined00', 'name': '尤溪县'}, {'id': '350427', 'pid': '35undefined00', 'name': '沙县'}, {'id': '350428', 'pid': '35undefined00', 'name': '将乐县'}, {'id': '350429', 'pid': '35undefined00', 'name': '泰宁县'}, {'id': '350430', 'pid': '35undefined00', 'name': '建宁县'}, { + 'id': '350481', + 'pid': '35undefined00', + 'name': '永安市', +}, {'id': '350502', 'pid': '35undefined00', 'name': '鲤城区'}, {'id': '350503', 'pid': '35undefined00', 'name': '丰泽区'}, {'id': '350504', 'pid': '35undefined00', 'name': '洛江区'}, {'id': '350505', 'pid': '35undefined00', 'name': '泉港区'}, {'id': '350521', 'pid': '35undefined00', 'name': '惠安县'}, {'id': '350524', 'pid': '35undefined00', 'name': '安溪县'}, {'id': '350525', 'pid': '35undefined00', 'name': '永春县'}, {'id': '350526', 'pid': '35undefined00', 'name': '德化县'}, {'id': '350527', 'pid': '35undefined00', 'name': '金门县'}, {'id': '350581', 'pid': '35undefined00', 'name': '石狮市'}, {'id': '350582', 'pid': '35undefined00', 'name': '晋江市'}, {'id': '350583', 'pid': '35undefined00', 'name': '南安市'}, {'id': '350602', 'pid': '35undefined00', 'name': '芗城区'}, {'id': '350603', 'pid': '35undefined00', 'name': '龙文区'}, {'id': '350622', 'pid': '35undefined00', 'name': '云霄县'}, {'id': '350623', 'pid': '35undefined00', 'name': '漳浦县'}, { + 'id': '350624', + 'pid': '35undefined00', + 'name': '诏安县', +}, {'id': '350625', 'pid': '35undefined00', 'name': '长泰县'}, {'id': '350626', 'pid': '35undefined00', 'name': '东山县'}, {'id': '350627', 'pid': '35undefined00', 'name': '南靖县'}, {'id': '350628', 'pid': '35undefined00', 'name': '平和县'}, {'id': '350629', 'pid': '35undefined00', 'name': '华安县'}, {'id': '350681', 'pid': '35undefined00', 'name': '龙海市'}, {'id': '350702', 'pid': '35undefined00', 'name': '延平区'}, {'id': '350703', 'pid': '35undefined00', 'name': '建阳区'}, {'id': '350721', 'pid': '35undefined00', 'name': '顺昌县'}, {'id': '350722', 'pid': '35undefined00', 'name': '浦城县'}, {'id': '350723', 'pid': '35undefined00', 'name': '光泽县'}, {'id': '350724', 'pid': '35undefined00', 'name': '松溪县'}, {'id': '350725', 'pid': '35undefined00', 'name': '政和县'}, {'id': '350781', 'pid': '35undefined00', 'name': '邵武市'}, {'id': '350782', 'pid': '35undefined00', 'name': '武夷山市'}, {'id': '350783', 'pid': '35undefined00', 'name': '建瓯市'}, { + 'id': '350802', + 'pid': '35undefined00', + 'name': '新罗区', +}, {'id': '350803', 'pid': '35undefined00', 'name': '永定区'}, {'id': '350821', 'pid': '35undefined00', 'name': '长汀县'}, {'id': '350823', 'pid': '35undefined00', 'name': '上杭县'}, {'id': '350824', 'pid': '35undefined00', 'name': '武平县'}, {'id': '350825', 'pid': '35undefined00', 'name': '连城县'}, {'id': '350881', 'pid': '35undefined00', 'name': '漳平市'}, {'id': '350902', 'pid': '35undefined00', 'name': '蕉城区'}, {'id': '350921', 'pid': '35undefined00', 'name': '霞浦县'}, {'id': '350922', 'pid': '35undefined00', 'name': '古田县'}, {'id': '350923', 'pid': '35undefined00', 'name': '屏南县'}, {'id': '350924', 'pid': '35undefined00', 'name': '寿宁县'}, {'id': '350925', 'pid': '35undefined00', 'name': '周宁县'}, {'id': '350926', 'pid': '35undefined00', 'name': '柘荣县'}, {'id': '350981', 'pid': '35undefined00', 'name': '福安市'}, {'id': '350982', 'pid': '35undefined00', 'name': '福鼎市'}, {'id': '360102', 'pid': '36undefined00', 'name': '东湖区'}, { + 'id': '360103', + 'pid': '36undefined00', + 'name': '西湖区', +}, {'id': '360104', 'pid': '36undefined00', 'name': '青云谱区'}, {'id': '360111', 'pid': '36undefined00', 'name': '青山湖区'}, {'id': '360112', 'pid': '36undefined00', 'name': '新建区'}, {'id': '360113', 'pid': '36undefined00', 'name': '红谷滩区'}, {'id': '360121', 'pid': '36undefined00', 'name': '南昌县'}, {'id': '360123', 'pid': '36undefined00', 'name': '安义县'}, {'id': '360124', 'pid': '36undefined00', 'name': '进贤县'}, {'id': '360202', 'pid': '36undefined00', 'name': '昌江区'}, {'id': '360203', 'pid': '36undefined00', 'name': '珠山区'}, {'id': '360222', 'pid': '36undefined00', 'name': '浮梁县'}, {'id': '360281', 'pid': '36undefined00', 'name': '乐平市'}, {'id': '360302', 'pid': '36undefined00', 'name': '安源区'}, {'id': '360313', 'pid': '36undefined00', 'name': '湘东区'}, {'id': '360321', 'pid': '36undefined00', 'name': '莲花县'}, {'id': '360322', 'pid': '36undefined00', 'name': '上栗县'}, {'id': '360323', 'pid': '36undefined00', 'name': '芦溪县'}, { + 'id': '360402', + 'pid': '36undefined00', + 'name': '濂溪区', +}, {'id': '360403', 'pid': '36undefined00', 'name': '浔阳区'}, {'id': '360404', 'pid': '36undefined00', 'name': '柴桑区'}, {'id': '360423', 'pid': '36undefined00', 'name': '武宁县'}, {'id': '360424', 'pid': '36undefined00', 'name': '修水县'}, {'id': '360425', 'pid': '36undefined00', 'name': '永修县'}, {'id': '360426', 'pid': '36undefined00', 'name': '德安县'}, {'id': '360428', 'pid': '36undefined00', 'name': '都昌县'}, {'id': '360429', 'pid': '36undefined00', 'name': '湖口县'}, {'id': '360430', 'pid': '36undefined00', 'name': '彭泽县'}, {'id': '360481', 'pid': '36undefined00', 'name': '瑞昌市'}, {'id': '360482', 'pid': '36undefined00', 'name': '共青城市'}, {'id': '360483', 'pid': '36undefined00', 'name': '庐山市'}, {'id': '360502', 'pid': '36undefined00', 'name': '渝水区'}, {'id': '360521', 'pid': '36undefined00', 'name': '分宜县'}, {'id': '360602', 'pid': '36undefined00', 'name': '月湖区'}, {'id': '360603', 'pid': '36undefined00', 'name': '余江区'}, { + 'id': '360681', + 'pid': '36undefined00', + 'name': '贵溪市', +}, {'id': '360702', 'pid': '36undefined00', 'name': '章贡区'}, {'id': '360703', 'pid': '36undefined00', 'name': '南康区'}, {'id': '360704', 'pid': '36undefined00', 'name': '赣县区'}, {'id': '360722', 'pid': '36undefined00', 'name': '信丰县'}, {'id': '360723', 'pid': '36undefined00', 'name': '大余县'}, {'id': '360724', 'pid': '36undefined00', 'name': '上犹县'}, {'id': '360725', 'pid': '36undefined00', 'name': '崇义县'}, {'id': '360726', 'pid': '36undefined00', 'name': '安远县'}, {'id': '360728', 'pid': '36undefined00', 'name': '定南县'}, {'id': '360729', 'pid': '36undefined00', 'name': '全南县'}, {'id': '360730', 'pid': '36undefined00', 'name': '宁都县'}, {'id': '360731', 'pid': '36undefined00', 'name': '于都县'}, {'id': '360732', 'pid': '36undefined00', 'name': '兴国县'}, {'id': '360733', 'pid': '36undefined00', 'name': '会昌县'}, {'id': '360734', 'pid': '36undefined00', 'name': '寻乌县'}, {'id': '360735', 'pid': '36undefined00', 'name': '石城县'}, { + 'id': '360781', + 'pid': '36undefined00', + 'name': '瑞金市', +}, {'id': '360783', 'pid': '36undefined00', 'name': '龙南市'}, {'id': '360802', 'pid': '36undefined00', 'name': '吉州区'}, {'id': '360803', 'pid': '36undefined00', 'name': '青原区'}, {'id': '360821', 'pid': '36undefined00', 'name': '吉安县'}, {'id': '360822', 'pid': '36undefined00', 'name': '吉水县'}, {'id': '360823', 'pid': '36undefined00', 'name': '峡江县'}, {'id': '360824', 'pid': '36undefined00', 'name': '新干县'}, {'id': '360825', 'pid': '36undefined00', 'name': '永丰县'}, {'id': '360826', 'pid': '36undefined00', 'name': '泰和县'}, {'id': '360827', 'pid': '36undefined00', 'name': '遂川县'}, {'id': '360828', 'pid': '36undefined00', 'name': '万安县'}, {'id': '360829', 'pid': '36undefined00', 'name': '安福县'}, {'id': '360830', 'pid': '36undefined00', 'name': '永新县'}, {'id': '360881', 'pid': '36undefined00', 'name': '井冈山市'}, {'id': '360902', 'pid': '36undefined00', 'name': '袁州区'}, {'id': '360921', 'pid': '36undefined00', 'name': '奉新县'}, { + 'id': '360922', + 'pid': '36undefined00', + 'name': '万载县', +}, {'id': '360923', 'pid': '36undefined00', 'name': '上高县'}, {'id': '360924', 'pid': '36undefined00', 'name': '宜丰县'}, {'id': '360925', 'pid': '36undefined00', 'name': '靖安县'}, {'id': '360926', 'pid': '36undefined00', 'name': '铜鼓县'}, {'id': '360981', 'pid': '36undefined00', 'name': '丰城市'}, {'id': '360982', 'pid': '36undefined00', 'name': '樟树市'}, {'id': '360983', 'pid': '36undefined00', 'name': '高安市'}, {'id': '361002', 'pid': '36undefined00', 'name': '临川区'}, {'id': '361003', 'pid': '36undefined00', 'name': '东乡区'}, {'id': '361021', 'pid': '36undefined00', 'name': '南城县'}, {'id': '361022', 'pid': '36undefined00', 'name': '黎川县'}, {'id': '361023', 'pid': '36undefined00', 'name': '南丰县'}, {'id': '361024', 'pid': '36undefined00', 'name': '崇仁县'}, {'id': '361025', 'pid': '36undefined00', 'name': '乐安县'}, {'id': '361026', 'pid': '36undefined00', 'name': '宜黄县'}, {'id': '361027', 'pid': '36undefined00', 'name': '金溪县'}, { + 'id': '361028', + 'pid': '36undefined00', + 'name': '资溪县', +}, {'id': '361030', 'pid': '36undefined00', 'name': '广昌县'}, {'id': '361102', 'pid': '36undefined00', 'name': '信州区'}, {'id': '361103', 'pid': '36undefined00', 'name': '广丰区'}, {'id': '361104', 'pid': '36undefined00', 'name': '广信区'}, {'id': '361123', 'pid': '36undefined00', 'name': '玉山县'}, {'id': '361124', 'pid': '36undefined00', 'name': '铅山县'}, {'id': '361125', 'pid': '36undefined00', 'name': '横峰县'}, {'id': '361126', 'pid': '36undefined00', 'name': '弋阳县'}, {'id': '361127', 'pid': '36undefined00', 'name': '余干县'}, {'id': '361128', 'pid': '36undefined00', 'name': '鄱阳县'}, {'id': '361129', 'pid': '36undefined00', 'name': '万年县'}, {'id': '361130', 'pid': '36undefined00', 'name': '婺源县'}, {'id': '361181', 'pid': '36undefined00', 'name': '德兴市'}, {'id': '370102', 'pid': '37undefined00', 'name': '历下区'}, {'id': '370103', 'pid': '37undefined00', 'name': '市中区'}, {'id': '370104', 'pid': '37undefined00', 'name': '槐荫区'}, { + 'id': '370105', + 'pid': '37undefined00', + 'name': '天桥区', +}, {'id': '370112', 'pid': '37undefined00', 'name': '历城区'}, {'id': '370113', 'pid': '37undefined00', 'name': '长清区'}, {'id': '370114', 'pid': '37undefined00', 'name': '章丘区'}, {'id': '370115', 'pid': '37undefined00', 'name': '济阳区'}, {'id': '370116', 'pid': '37undefined00', 'name': '莱芜区'}, {'id': '370117', 'pid': '37undefined00', 'name': '钢城区'}, {'id': '370124', 'pid': '37undefined00', 'name': '平阴县'}, {'id': '370126', 'pid': '37undefined00', 'name': '商河县'}, {'id': '370202', 'pid': '37undefined00', 'name': '市南区'}, {'id': '370203', 'pid': '37undefined00', 'name': '市北区'}, {'id': '370211', 'pid': '37undefined00', 'name': '黄岛区'}, {'id': '370212', 'pid': '37undefined00', 'name': '崂山区'}, {'id': '370213', 'pid': '37undefined00', 'name': '李沧区'}, {'id': '370214', 'pid': '37undefined00', 'name': '城阳区'}, {'id': '370215', 'pid': '37undefined00', 'name': '即墨区'}, {'id': '370281', 'pid': '37undefined00', 'name': '胶州市'}, { + 'id': '370283', + 'pid': '37undefined00', + 'name': '平度市', +}, {'id': '370285', 'pid': '37undefined00', 'name': '莱西市'}, {'id': '370302', 'pid': '37undefined00', 'name': '淄川区'}, {'id': '370303', 'pid': '37undefined00', 'name': '张店区'}, {'id': '370304', 'pid': '37undefined00', 'name': '博山区'}, {'id': '370305', 'pid': '37undefined00', 'name': '临淄区'}, {'id': '370306', 'pid': '37undefined00', 'name': '周村区'}, {'id': '370321', 'pid': '37undefined00', 'name': '桓台县'}, {'id': '370322', 'pid': '37undefined00', 'name': '高青县'}, {'id': '370323', 'pid': '37undefined00', 'name': '沂源县'}, {'id': '370402', 'pid': '37undefined00', 'name': '市中区'}, {'id': '370403', 'pid': '37undefined00', 'name': '薛城区'}, {'id': '370404', 'pid': '37undefined00', 'name': '峄城区'}, {'id': '370405', 'pid': '37undefined00', 'name': '台儿庄区'}, {'id': '370406', 'pid': '37undefined00', 'name': '山亭区'}, {'id': '370481', 'pid': '37undefined00', 'name': '滕州市'}, {'id': '370502', 'pid': '37undefined00', 'name': '东营区'}, { + 'id': '370503', + 'pid': '37undefined00', + 'name': '河口区', +}, {'id': '370505', 'pid': '37undefined00', 'name': '垦利区'}, {'id': '370522', 'pid': '37undefined00', 'name': '利津县'}, {'id': '370523', 'pid': '37undefined00', 'name': '广饶县'}, {'id': '370602', 'pid': '37undefined00', 'name': '芝罘区'}, {'id': '370611', 'pid': '37undefined00', 'name': '福山区'}, {'id': '370612', 'pid': '37undefined00', 'name': '牟平区'}, {'id': '370613', 'pid': '37undefined00', 'name': '莱山区'}, {'id': '370614', 'pid': '37undefined00', 'name': '蓬莱区'}, {'id': '370681', 'pid': '37undefined00', 'name': '龙口市'}, {'id': '370682', 'pid': '37undefined00', 'name': '莱阳市'}, {'id': '370683', 'pid': '37undefined00', 'name': '莱州市'}, {'id': '370685', 'pid': '37undefined00', 'name': '招远市'}, {'id': '370686', 'pid': '37undefined00', 'name': '栖霞市'}, {'id': '370687', 'pid': '37undefined00', 'name': '海阳市'}, {'id': '370702', 'pid': '37undefined00', 'name': '潍城区'}, {'id': '370703', 'pid': '37undefined00', 'name': '寒亭区'}, { + 'id': '370704', + 'pid': '37undefined00', + 'name': '坊子区', +}, {'id': '370705', 'pid': '37undefined00', 'name': '奎文区'}, {'id': '370724', 'pid': '37undefined00', 'name': '临朐县'}, {'id': '370725', 'pid': '37undefined00', 'name': '昌乐县'}, {'id': '370781', 'pid': '37undefined00', 'name': '青州市'}, {'id': '370782', 'pid': '37undefined00', 'name': '诸城市'}, {'id': '370783', 'pid': '37undefined00', 'name': '寿光市'}, {'id': '370784', 'pid': '37undefined00', 'name': '安丘市'}, {'id': '370785', 'pid': '37undefined00', 'name': '高密市'}, {'id': '370786', 'pid': '37undefined00', 'name': '昌邑市'}, {'id': '370811', 'pid': '37undefined00', 'name': '任城区'}, {'id': '370812', 'pid': '37undefined00', 'name': '兖州区'}, {'id': '370826', 'pid': '37undefined00', 'name': '微山县'}, {'id': '370827', 'pid': '37undefined00', 'name': '鱼台县'}, {'id': '370828', 'pid': '37undefined00', 'name': '金乡县'}, {'id': '370829', 'pid': '37undefined00', 'name': '嘉祥县'}, {'id': '370830', 'pid': '37undefined00', 'name': '汶上县'}, { + 'id': '370831', + 'pid': '37undefined00', + 'name': '泗水县', +}, {'id': '370832', 'pid': '37undefined00', 'name': '梁山县'}, {'id': '370881', 'pid': '37undefined00', 'name': '曲阜市'}, {'id': '370883', 'pid': '37undefined00', 'name': '邹城市'}, {'id': '370902', 'pid': '37undefined00', 'name': '泰山区'}, {'id': '370911', 'pid': '37undefined00', 'name': '岱岳区'}, {'id': '370921', 'pid': '37undefined00', 'name': '宁阳县'}, {'id': '370923', 'pid': '37undefined00', 'name': '东平县'}, {'id': '370982', 'pid': '37undefined00', 'name': '新泰市'}, {'id': '370983', 'pid': '37undefined00', 'name': '肥城市'}, {'id': '371002', 'pid': '37undefined00', 'name': '环翠区'}, {'id': '371003', 'pid': '37undefined00', 'name': '文登区'}, {'id': '371082', 'pid': '37undefined00', 'name': '荣成市'}, {'id': '371083', 'pid': '37undefined00', 'name': '乳山市'}, {'id': '371102', 'pid': '37undefined00', 'name': '东港区'}, {'id': '371103', 'pid': '37undefined00', 'name': '岚山区'}, {'id': '371121', 'pid': '37undefined00', 'name': '五莲县'}, { + 'id': '371122', + 'pid': '37undefined00', + 'name': '莒县', +}, {'id': '371302', 'pid': '37undefined00', 'name': '兰山区'}, {'id': '371311', 'pid': '37undefined00', 'name': '罗庄区'}, {'id': '371312', 'pid': '37undefined00', 'name': '河东区'}, {'id': '371321', 'pid': '37undefined00', 'name': '沂南县'}, {'id': '371322', 'pid': '37undefined00', 'name': '郯城县'}, {'id': '371323', 'pid': '37undefined00', 'name': '沂水县'}, {'id': '371324', 'pid': '37undefined00', 'name': '兰陵县'}, {'id': '371325', 'pid': '37undefined00', 'name': '费县'}, {'id': '371326', 'pid': '37undefined00', 'name': '平邑县'}, {'id': '371327', 'pid': '37undefined00', 'name': '莒南县'}, {'id': '371328', 'pid': '37undefined00', 'name': '蒙阴县'}, {'id': '371329', 'pid': '37undefined00', 'name': '临沭县'}, {'id': '371402', 'pid': '37undefined00', 'name': '德城区'}, {'id': '371403', 'pid': '37undefined00', 'name': '陵城区'}, {'id': '371422', 'pid': '37undefined00', 'name': '宁津县'}, {'id': '371423', 'pid': '37undefined00', 'name': '庆云县'}, { + 'id': '371424', + 'pid': '37undefined00', + 'name': '临邑县', +}, {'id': '371425', 'pid': '37undefined00', 'name': '齐河县'}, {'id': '371426', 'pid': '37undefined00', 'name': '平原县'}, {'id': '371427', 'pid': '37undefined00', 'name': '夏津县'}, {'id': '371428', 'pid': '37undefined00', 'name': '武城县'}, {'id': '371481', 'pid': '37undefined00', 'name': '乐陵市'}, {'id': '371482', 'pid': '37undefined00', 'name': '禹城市'}, {'id': '371502', 'pid': '37undefined00', 'name': '东昌府区'}, {'id': '371503', 'pid': '37undefined00', 'name': '茌平区'}, {'id': '371521', 'pid': '37undefined00', 'name': '阳谷县'}, {'id': '371522', 'pid': '37undefined00', 'name': '莘县'}, {'id': '371524', 'pid': '37undefined00', 'name': '东阿县'}, {'id': '371525', 'pid': '37undefined00', 'name': '冠县'}, {'id': '371526', 'pid': '37undefined00', 'name': '高唐县'}, {'id': '371581', 'pid': '37undefined00', 'name': '临清市'}, {'id': '371602', 'pid': '37undefined00', 'name': '滨城区'}, {'id': '371603', 'pid': '37undefined00', 'name': '沾化区'}, { + 'id': '371621', + 'pid': '37undefined00', + 'name': '惠民县', +}, {'id': '371622', 'pid': '37undefined00', 'name': '阳信县'}, {'id': '371623', 'pid': '37undefined00', 'name': '无棣县'}, {'id': '371625', 'pid': '37undefined00', 'name': '博兴县'}, {'id': '371681', 'pid': '37undefined00', 'name': '邹平市'}, {'id': '371702', 'pid': '37undefined00', 'name': '牡丹区'}, {'id': '371703', 'pid': '37undefined00', 'name': '定陶区'}, {'id': '371721', 'pid': '37undefined00', 'name': '曹县'}, {'id': '371722', 'pid': '37undefined00', 'name': '单县'}, {'id': '371723', 'pid': '37undefined00', 'name': '成武县'}, {'id': '371724', 'pid': '37undefined00', 'name': '巨野县'}, {'id': '371725', 'pid': '37undefined00', 'name': '郓城县'}, {'id': '371726', 'pid': '37undefined00', 'name': '鄄城县'}, {'id': '371728', 'pid': '37undefined00', 'name': '东明县'}, {'id': '410102', 'pid': '41undefined00', 'name': '中原区'}, {'id': '410103', 'pid': '41undefined00', 'name': '二七区'}, {'id': '410104', 'pid': '41undefined00', 'name': '管城回族区'}, { + 'id': '410105', + 'pid': '41undefined00', + 'name': '金水区', +}, {'id': '410106', 'pid': '41undefined00', 'name': '上街区'}, {'id': '410108', 'pid': '41undefined00', 'name': '惠济区'}, {'id': '410122', 'pid': '41undefined00', 'name': '中牟县'}, {'id': '410181', 'pid': '41undefined00', 'name': '巩义市'}, {'id': '410182', 'pid': '41undefined00', 'name': '荥阳市'}, {'id': '410183', 'pid': '41undefined00', 'name': '新密市'}, {'id': '410184', 'pid': '41undefined00', 'name': '新郑市'}, {'id': '410185', 'pid': '41undefined00', 'name': '登封市'}, {'id': '410202', 'pid': '41undefined00', 'name': '龙亭区'}, {'id': '410203', 'pid': '41undefined00', 'name': '顺河回族区'}, {'id': '410204', 'pid': '41undefined00', 'name': '鼓楼区'}, {'id': '410205', 'pid': '41undefined00', 'name': '禹王台区'}, {'id': '410212', 'pid': '41undefined00', 'name': '祥符区'}, {'id': '410221', 'pid': '41undefined00', 'name': '杞县'}, {'id': '410222', 'pid': '41undefined00', 'name': '通许县'}, {'id': '410223', 'pid': '41undefined00', 'name': '尉氏县'}, { + 'id': '410225', + 'pid': '41undefined00', + 'name': '兰考县', +}, {'id': '410302', 'pid': '41undefined00', 'name': '老城区'}, {'id': '410303', 'pid': '41undefined00', 'name': '西工区'}, {'id': '410304', 'pid': '41undefined00', 'name': '瀍河回族区'}, {'id': '410305', 'pid': '41undefined00', 'name': '涧西区'}, {'id': '410306', 'pid': '41undefined00', 'name': '吉利区'}, {'id': '410311', 'pid': '41undefined00', 'name': '洛龙区'}, {'id': '410322', 'pid': '41undefined00', 'name': '孟津县'}, {'id': '410323', 'pid': '41undefined00', 'name': '新安县'}, {'id': '410324', 'pid': '41undefined00', 'name': '栾川县'}, {'id': '410325', 'pid': '41undefined00', 'name': '嵩县'}, {'id': '410326', 'pid': '41undefined00', 'name': '汝阳县'}, {'id': '410327', 'pid': '41undefined00', 'name': '宜阳县'}, {'id': '410328', 'pid': '41undefined00', 'name': '洛宁县'}, {'id': '410329', 'pid': '41undefined00', 'name': '伊川县'}, {'id': '410381', 'pid': '41undefined00', 'name': '偃师市'}, {'id': '410402', 'pid': '41undefined00', 'name': '新华区'}, { + 'id': '410403', + 'pid': '41undefined00', + 'name': '卫东区', +}, {'id': '410404', 'pid': '41undefined00', 'name': '石龙区'}, {'id': '410411', 'pid': '41undefined00', 'name': '湛河区'}, {'id': '410421', 'pid': '41undefined00', 'name': '宝丰县'}, {'id': '410422', 'pid': '41undefined00', 'name': '叶县'}, {'id': '410423', 'pid': '41undefined00', 'name': '鲁山县'}, {'id': '410425', 'pid': '41undefined00', 'name': '郏县'}, {'id': '410481', 'pid': '41undefined00', 'name': '舞钢市'}, {'id': '410482', 'pid': '41undefined00', 'name': '汝州市'}, {'id': '410502', 'pid': '41undefined00', 'name': '文峰区'}, {'id': '410503', 'pid': '41undefined00', 'name': '北关区'}, {'id': '410505', 'pid': '41undefined00', 'name': '殷都区'}, {'id': '410506', 'pid': '41undefined00', 'name': '龙安区'}, {'id': '410522', 'pid': '41undefined00', 'name': '安阳县'}, {'id': '410523', 'pid': '41undefined00', 'name': '汤阴县'}, {'id': '410526', 'pid': '41undefined00', 'name': '滑县'}, {'id': '410527', 'pid': '41undefined00', 'name': '内黄县'}, { + 'id': '410581', + 'pid': '41undefined00', + 'name': '林州市', +}, {'id': '410602', 'pid': '41undefined00', 'name': '鹤山区'}, {'id': '410603', 'pid': '41undefined00', 'name': '山城区'}, {'id': '410611', 'pid': '41undefined00', 'name': '淇滨区'}, {'id': '410621', 'pid': '41undefined00', 'name': '浚县'}, {'id': '410622', 'pid': '41undefined00', 'name': '淇县'}, {'id': '410702', 'pid': '41undefined00', 'name': '红旗区'}, {'id': '410703', 'pid': '41undefined00', 'name': '卫滨区'}, {'id': '410704', 'pid': '41undefined00', 'name': '凤泉区'}, {'id': '410711', 'pid': '41undefined00', 'name': '牧野区'}, {'id': '410721', 'pid': '41undefined00', 'name': '新乡县'}, {'id': '410724', 'pid': '41undefined00', 'name': '获嘉县'}, {'id': '410725', 'pid': '41undefined00', 'name': '原阳县'}, {'id': '410726', 'pid': '41undefined00', 'name': '延津县'}, {'id': '410727', 'pid': '41undefined00', 'name': '封丘县'}, {'id': '410781', 'pid': '41undefined00', 'name': '卫辉市'}, {'id': '410782', 'pid': '41undefined00', 'name': '辉县市'}, { + 'id': '410783', + 'pid': '41undefined00', + 'name': '长垣市', +}, {'id': '410802', 'pid': '41undefined00', 'name': '解放区'}, {'id': '410803', 'pid': '41undefined00', 'name': '中站区'}, {'id': '410804', 'pid': '41undefined00', 'name': '马村区'}, {'id': '410811', 'pid': '41undefined00', 'name': '山阳区'}, {'id': '410821', 'pid': '41undefined00', 'name': '修武县'}, {'id': '410822', 'pid': '41undefined00', 'name': '博爱县'}, {'id': '410823', 'pid': '41undefined00', 'name': '武陟县'}, {'id': '410825', 'pid': '41undefined00', 'name': '温县'}, {'id': '410882', 'pid': '41undefined00', 'name': '沁阳市'}, {'id': '410883', 'pid': '41undefined00', 'name': '孟州市'}, {'id': '410902', 'pid': '41undefined00', 'name': '华龙区'}, {'id': '410922', 'pid': '41undefined00', 'name': '清丰县'}, {'id': '410923', 'pid': '41undefined00', 'name': '南乐县'}, {'id': '410926', 'pid': '41undefined00', 'name': '范县'}, {'id': '410927', 'pid': '41undefined00', 'name': '台前县'}, {'id': '410928', 'pid': '41undefined00', 'name': '濮阳县'}, { + 'id': '411002', + 'pid': '41undefined00', + 'name': '魏都区', +}, {'id': '411003', 'pid': '41undefined00', 'name': '建安区'}, {'id': '411024', 'pid': '41undefined00', 'name': '鄢陵县'}, {'id': '411025', 'pid': '41undefined00', 'name': '襄城县'}, {'id': '411081', 'pid': '41undefined00', 'name': '禹州市'}, {'id': '411082', 'pid': '41undefined00', 'name': '长葛市'}, {'id': '411102', 'pid': '41undefined00', 'name': '源汇区'}, {'id': '411103', 'pid': '41undefined00', 'name': '郾城区'}, {'id': '411104', 'pid': '41undefined00', 'name': '召陵区'}, {'id': '411121', 'pid': '41undefined00', 'name': '舞阳县'}, {'id': '411122', 'pid': '41undefined00', 'name': '临颍县'}, {'id': '411202', 'pid': '41undefined00', 'name': '湖滨区'}, {'id': '411203', 'pid': '41undefined00', 'name': '陕州区'}, {'id': '411221', 'pid': '41undefined00', 'name': '渑池县'}, {'id': '411224', 'pid': '41undefined00', 'name': '卢氏县'}, {'id': '411281', 'pid': '41undefined00', 'name': '义马市'}, {'id': '411282', 'pid': '41undefined00', 'name': '灵宝市'}, { + 'id': '411302', + 'pid': '41undefined00', + 'name': '宛城区', +}, {'id': '411303', 'pid': '41undefined00', 'name': '卧龙区'}, {'id': '411321', 'pid': '41undefined00', 'name': '南召县'}, {'id': '411322', 'pid': '41undefined00', 'name': '方城县'}, {'id': '411323', 'pid': '41undefined00', 'name': '西峡县'}, {'id': '411324', 'pid': '41undefined00', 'name': '镇平县'}, {'id': '411325', 'pid': '41undefined00', 'name': '内乡县'}, {'id': '411326', 'pid': '41undefined00', 'name': '淅川县'}, {'id': '411327', 'pid': '41undefined00', 'name': '社旗县'}, {'id': '411328', 'pid': '41undefined00', 'name': '唐河县'}, {'id': '411329', 'pid': '41undefined00', 'name': '新野县'}, {'id': '411330', 'pid': '41undefined00', 'name': '桐柏县'}, {'id': '411381', 'pid': '41undefined00', 'name': '邓州市'}, {'id': '411402', 'pid': '41undefined00', 'name': '梁园区'}, {'id': '411403', 'pid': '41undefined00', 'name': '睢阳区'}, {'id': '411421', 'pid': '41undefined00', 'name': '民权县'}, {'id': '411422', 'pid': '41undefined00', 'name': '睢县'}, { + 'id': '411423', + 'pid': '41undefined00', + 'name': '宁陵县', +}, {'id': '411424', 'pid': '41undefined00', 'name': '柘城县'}, {'id': '411425', 'pid': '41undefined00', 'name': '虞城县'}, {'id': '411426', 'pid': '41undefined00', 'name': '夏邑县'}, {'id': '411481', 'pid': '41undefined00', 'name': '永城市'}, {'id': '411502', 'pid': '41undefined00', 'name': '浉河区'}, {'id': '411503', 'pid': '41undefined00', 'name': '平桥区'}, {'id': '411521', 'pid': '41undefined00', 'name': '罗山县'}, {'id': '411522', 'pid': '41undefined00', 'name': '光山县'}, {'id': '411523', 'pid': '41undefined00', 'name': '新县'}, {'id': '411524', 'pid': '41undefined00', 'name': '商城县'}, {'id': '411525', 'pid': '41undefined00', 'name': '固始县'}, {'id': '411526', 'pid': '41undefined00', 'name': '潢川县'}, {'id': '411527', 'pid': '41undefined00', 'name': '淮滨县'}, {'id': '411528', 'pid': '41undefined00', 'name': '息县'}, {'id': '411602', 'pid': '41undefined00', 'name': '川汇区'}, {'id': '411603', 'pid': '41undefined00', 'name': '淮阳区'}, { + 'id': '411621', + 'pid': '41undefined00', + 'name': '扶沟县', +}, {'id': '411622', 'pid': '41undefined00', 'name': '西华县'}, {'id': '411623', 'pid': '41undefined00', 'name': '商水县'}, {'id': '411624', 'pid': '41undefined00', 'name': '沈丘县'}, {'id': '411625', 'pid': '41undefined00', 'name': '郸城县'}, {'id': '411627', 'pid': '41undefined00', 'name': '太康县'}, {'id': '411628', 'pid': '41undefined00', 'name': '鹿邑县'}, {'id': '411681', 'pid': '41undefined00', 'name': '项城市'}, {'id': '411702', 'pid': '41undefined00', 'name': '驿城区'}, {'id': '411721', 'pid': '41undefined00', 'name': '西平县'}, {'id': '411722', 'pid': '41undefined00', 'name': '上蔡县'}, {'id': '411723', 'pid': '41undefined00', 'name': '平舆县'}, {'id': '411724', 'pid': '41undefined00', 'name': '正阳县'}, {'id': '411725', 'pid': '41undefined00', 'name': '确山县'}, {'id': '411726', 'pid': '41undefined00', 'name': '泌阳县'}, {'id': '411727', 'pid': '41undefined00', 'name': '汝南县'}, {'id': '411728', 'pid': '41undefined00', 'name': '遂平县'}, { + 'id': '411729', + 'pid': '41undefined00', + 'name': '新蔡县', +}, {'id': '419001', 'pid': '41undefined00', 'name': '济源市'}, {'id': '420102', 'pid': '42undefined00', 'name': '江岸区'}, {'id': '420103', 'pid': '42undefined00', 'name': '江汉区'}, {'id': '420104', 'pid': '42undefined00', 'name': '硚口区'}, {'id': '420105', 'pid': '42undefined00', 'name': '汉阳区'}, {'id': '420106', 'pid': '42undefined00', 'name': '武昌区'}, {'id': '420107', 'pid': '42undefined00', 'name': '青山区'}, {'id': '420111', 'pid': '42undefined00', 'name': '洪山区'}, {'id': '420112', 'pid': '42undefined00', 'name': '东西湖区'}, {'id': '420113', 'pid': '42undefined00', 'name': '汉南区'}, {'id': '420114', 'pid': '42undefined00', 'name': '蔡甸区'}, {'id': '420115', 'pid': '42undefined00', 'name': '江夏区'}, {'id': '420116', 'pid': '42undefined00', 'name': '黄陂区'}, {'id': '420117', 'pid': '42undefined00', 'name': '新洲区'}, {'id': '420202', 'pid': '42undefined00', 'name': '黄石港区'}, {'id': '420203', 'pid': '42undefined00', 'name': '西塞山区'}, { + 'id': '420204', + 'pid': '42undefined00', + 'name': '下陆区', +}, {'id': '420205', 'pid': '42undefined00', 'name': '铁山区'}, {'id': '420222', 'pid': '42undefined00', 'name': '阳新县'}, {'id': '420281', 'pid': '42undefined00', 'name': '大冶市'}, {'id': '420302', 'pid': '42undefined00', 'name': '茅箭区'}, {'id': '420303', 'pid': '42undefined00', 'name': '张湾区'}, {'id': '420304', 'pid': '42undefined00', 'name': '郧阳区'}, {'id': '420322', 'pid': '42undefined00', 'name': '郧西县'}, {'id': '420323', 'pid': '42undefined00', 'name': '竹山县'}, {'id': '420324', 'pid': '42undefined00', 'name': '竹溪县'}, {'id': '420325', 'pid': '42undefined00', 'name': '房县'}, {'id': '420381', 'pid': '42undefined00', 'name': '丹江口市'}, {'id': '420502', 'pid': '42undefined00', 'name': '西陵区'}, {'id': '420503', 'pid': '42undefined00', 'name': '伍家岗区'}, {'id': '420504', 'pid': '42undefined00', 'name': '点军区'}, {'id': '420505', 'pid': '42undefined00', 'name': '猇亭区'}, {'id': '420506', 'pid': '42undefined00', 'name': '夷陵区'}, { + 'id': '420525', + 'pid': '42undefined00', + 'name': '远安县', +}, {'id': '420526', 'pid': '42undefined00', 'name': '兴山县'}, {'id': '420527', 'pid': '42undefined00', 'name': '秭归县'}, {'id': '420528', 'pid': '42undefined00', 'name': '长阳土家族自治县'}, {'id': '420529', 'pid': '42undefined00', 'name': '五峰土家族自治县'}, {'id': '420581', 'pid': '42undefined00', 'name': '宜都市'}, {'id': '420582', 'pid': '42undefined00', 'name': '当阳市'}, {'id': '420583', 'pid': '42undefined00', 'name': '枝江市'}, {'id': '420602', 'pid': '42undefined00', 'name': '襄城区'}, {'id': '420606', 'pid': '42undefined00', 'name': '樊城区'}, {'id': '420607', 'pid': '42undefined00', 'name': '襄州区'}, {'id': '420624', 'pid': '42undefined00', 'name': '南漳县'}, {'id': '420625', 'pid': '42undefined00', 'name': '谷城县'}, {'id': '420626', 'pid': '42undefined00', 'name': '保康县'}, {'id': '420682', 'pid': '42undefined00', 'name': '老河口市'}, {'id': '420683', 'pid': '42undefined00', 'name': '枣阳市'}, { + 'id': '420684', + 'pid': '42undefined00', + 'name': '宜城市', +}, {'id': '420702', 'pid': '42undefined00', 'name': '梁子湖区'}, {'id': '420703', 'pid': '42undefined00', 'name': '华容区'}, {'id': '420704', 'pid': '42undefined00', 'name': '鄂城区'}, {'id': '420802', 'pid': '42undefined00', 'name': '东宝区'}, {'id': '420804', 'pid': '42undefined00', 'name': '掇刀区'}, {'id': '420822', 'pid': '42undefined00', 'name': '沙洋县'}, {'id': '420881', 'pid': '42undefined00', 'name': '钟祥市'}, {'id': '420882', 'pid': '42undefined00', 'name': '京山市'}, {'id': '420902', 'pid': '42undefined00', 'name': '孝南区'}, {'id': '420921', 'pid': '42undefined00', 'name': '孝昌县'}, {'id': '420922', 'pid': '42undefined00', 'name': '大悟县'}, {'id': '420923', 'pid': '42undefined00', 'name': '云梦县'}, {'id': '420981', 'pid': '42undefined00', 'name': '应城市'}, {'id': '420982', 'pid': '42undefined00', 'name': '安陆市'}, {'id': '420984', 'pid': '42undefined00', 'name': '汉川市'}, {'id': '421002', 'pid': '42undefined00', 'name': '沙市区'}, { + 'id': '421003', + 'pid': '42undefined00', + 'name': '荆州区', +}, {'id': '421022', 'pid': '42undefined00', 'name': '公安县'}, {'id': '421024', 'pid': '42undefined00', 'name': '江陵县'}, {'id': '421081', 'pid': '42undefined00', 'name': '石首市'}, {'id': '421083', 'pid': '42undefined00', 'name': '洪湖市'}, {'id': '421087', 'pid': '42undefined00', 'name': '松滋市'}, {'id': '421088', 'pid': '42undefined00', 'name': '监利市'}, {'id': '421102', 'pid': '42undefined00', 'name': '黄州区'}, {'id': '421121', 'pid': '42undefined00', 'name': '团风县'}, {'id': '421122', 'pid': '42undefined00', 'name': '红安县'}, {'id': '421123', 'pid': '42undefined00', 'name': '罗田县'}, {'id': '421124', 'pid': '42undefined00', 'name': '英山县'}, {'id': '421125', 'pid': '42undefined00', 'name': '浠水县'}, {'id': '421126', 'pid': '42undefined00', 'name': '蕲春县'}, {'id': '421127', 'pid': '42undefined00', 'name': '黄梅县'}, {'id': '421181', 'pid': '42undefined00', 'name': '麻城市'}, {'id': '421182', 'pid': '42undefined00', 'name': '武穴市'}, { + 'id': '421202', + 'pid': '42undefined00', + 'name': '咸安区', +}, {'id': '421221', 'pid': '42undefined00', 'name': '嘉鱼县'}, {'id': '421222', 'pid': '42undefined00', 'name': '通城县'}, {'id': '421223', 'pid': '42undefined00', 'name': '崇阳县'}, {'id': '421224', 'pid': '42undefined00', 'name': '通山县'}, {'id': '421281', 'pid': '42undefined00', 'name': '赤壁市'}, {'id': '421303', 'pid': '42undefined00', 'name': '曾都区'}, {'id': '421321', 'pid': '42undefined00', 'name': '随县'}, {'id': '421381', 'pid': '42undefined00', 'name': '广水市'}, {'id': '422801', 'pid': '42undefined00', 'name': '恩施市'}, {'id': '422802', 'pid': '42undefined00', 'name': '利川市'}, {'id': '422822', 'pid': '42undefined00', 'name': '建始县'}, {'id': '422823', 'pid': '42undefined00', 'name': '巴东县'}, {'id': '422825', 'pid': '42undefined00', 'name': '宣恩县'}, {'id': '422826', 'pid': '42undefined00', 'name': '咸丰县'}, {'id': '422827', 'pid': '42undefined00', 'name': '来凤县'}, {'id': '422828', 'pid': '42undefined00', 'name': '鹤峰县'}, { + 'id': '429004', + 'pid': '42undefined00', + 'name': '仙桃市', +}, {'id': '429005', 'pid': '42undefined00', 'name': '潜江市'}, {'id': '429006', 'pid': '42undefined00', 'name': '天门市'}, {'id': '429021', 'pid': '42undefined00', 'name': '神农架林区'}, {'id': '430102', 'pid': '43undefined00', 'name': '芙蓉区'}, {'id': '430103', 'pid': '43undefined00', 'name': '天心区'}, {'id': '430104', 'pid': '43undefined00', 'name': '岳麓区'}, {'id': '430105', 'pid': '43undefined00', 'name': '开福区'}, {'id': '430111', 'pid': '43undefined00', 'name': '雨花区'}, {'id': '430112', 'pid': '43undefined00', 'name': '望城区'}, {'id': '430121', 'pid': '43undefined00', 'name': '长沙县'}, {'id': '430181', 'pid': '43undefined00', 'name': '浏阳市'}, {'id': '430182', 'pid': '43undefined00', 'name': '宁乡市'}, {'id': '430202', 'pid': '43undefined00', 'name': '荷塘区'}, {'id': '430203', 'pid': '43undefined00', 'name': '芦淞区'}, {'id': '430204', 'pid': '43undefined00', 'name': '石峰区'}, {'id': '430211', 'pid': '43undefined00', 'name': '天元区'}, { + 'id': '430212', + 'pid': '43undefined00', + 'name': '渌口区', +}, {'id': '430223', 'pid': '43undefined00', 'name': '攸县'}, {'id': '430224', 'pid': '43undefined00', 'name': '茶陵县'}, {'id': '430225', 'pid': '43undefined00', 'name': '炎陵县'}, {'id': '430281', 'pid': '43undefined00', 'name': '醴陵市'}, {'id': '430302', 'pid': '43undefined00', 'name': '雨湖区'}, {'id': '430304', 'pid': '43undefined00', 'name': '岳塘区'}, {'id': '430321', 'pid': '43undefined00', 'name': '湘潭县'}, {'id': '430381', 'pid': '43undefined00', 'name': '湘乡市'}, {'id': '430382', 'pid': '43undefined00', 'name': '韶山市'}, {'id': '430405', 'pid': '43undefined00', 'name': '珠晖区'}, {'id': '430406', 'pid': '43undefined00', 'name': '雁峰区'}, {'id': '430407', 'pid': '43undefined00', 'name': '石鼓区'}, {'id': '430408', 'pid': '43undefined00', 'name': '蒸湘区'}, {'id': '430412', 'pid': '43undefined00', 'name': '南岳区'}, {'id': '430421', 'pid': '43undefined00', 'name': '衡阳县'}, {'id': '430422', 'pid': '43undefined00', 'name': '衡南县'}, { + 'id': '430423', + 'pid': '43undefined00', + 'name': '衡山县', +}, {'id': '430424', 'pid': '43undefined00', 'name': '衡东县'}, {'id': '430426', 'pid': '43undefined00', 'name': '祁东县'}, {'id': '430481', 'pid': '43undefined00', 'name': '耒阳市'}, {'id': '430482', 'pid': '43undefined00', 'name': '常宁市'}, {'id': '430502', 'pid': '43undefined00', 'name': '双清区'}, {'id': '430503', 'pid': '43undefined00', 'name': '大祥区'}, {'id': '430511', 'pid': '43undefined00', 'name': '北塔区'}, {'id': '430522', 'pid': '43undefined00', 'name': '新邵县'}, {'id': '430523', 'pid': '43undefined00', 'name': '邵阳县'}, {'id': '430524', 'pid': '43undefined00', 'name': '隆回县'}, {'id': '430525', 'pid': '43undefined00', 'name': '洞口县'}, {'id': '430527', 'pid': '43undefined00', 'name': '绥宁县'}, {'id': '430528', 'pid': '43undefined00', 'name': '新宁县'}, {'id': '430529', 'pid': '43undefined00', 'name': '城步苗族自治县'}, {'id': '430581', 'pid': '43undefined00', 'name': '武冈市'}, {'id': '430582', 'pid': '43undefined00', 'name': '邵东市'}, { + 'id': '430602', + 'pid': '43undefined00', + 'name': '岳阳楼区', +}, {'id': '430603', 'pid': '43undefined00', 'name': '云溪区'}, {'id': '430611', 'pid': '43undefined00', 'name': '君山区'}, {'id': '430621', 'pid': '43undefined00', 'name': '岳阳县'}, {'id': '430623', 'pid': '43undefined00', 'name': '华容县'}, {'id': '430624', 'pid': '43undefined00', 'name': '湘阴县'}, {'id': '430626', 'pid': '43undefined00', 'name': '平江县'}, {'id': '430681', 'pid': '43undefined00', 'name': '汨罗市'}, {'id': '430682', 'pid': '43undefined00', 'name': '临湘市'}, {'id': '430702', 'pid': '43undefined00', 'name': '武陵区'}, {'id': '430703', 'pid': '43undefined00', 'name': '鼎城区'}, {'id': '430721', 'pid': '43undefined00', 'name': '安乡县'}, {'id': '430722', 'pid': '43undefined00', 'name': '汉寿县'}, {'id': '430723', 'pid': '43undefined00', 'name': '澧县'}, {'id': '430724', 'pid': '43undefined00', 'name': '临澧县'}, {'id': '430725', 'pid': '43undefined00', 'name': '桃源县'}, {'id': '430726', 'pid': '43undefined00', 'name': '石门县'}, { + 'id': '430781', + 'pid': '43undefined00', + 'name': '津市市', +}, {'id': '430802', 'pid': '43undefined00', 'name': '永定区'}, {'id': '430811', 'pid': '43undefined00', 'name': '武陵源区'}, {'id': '430821', 'pid': '43undefined00', 'name': '慈利县'}, {'id': '430822', 'pid': '43undefined00', 'name': '桑植县'}, {'id': '430902', 'pid': '43undefined00', 'name': '资阳区'}, {'id': '430903', 'pid': '43undefined00', 'name': '赫山区'}, {'id': '430921', 'pid': '43undefined00', 'name': '南县'}, {'id': '430922', 'pid': '43undefined00', 'name': '桃江县'}, {'id': '430923', 'pid': '43undefined00', 'name': '安化县'}, {'id': '430981', 'pid': '43undefined00', 'name': '沅江市'}, {'id': '431002', 'pid': '43undefined00', 'name': '北湖区'}, {'id': '431003', 'pid': '43undefined00', 'name': '苏仙区'}, {'id': '431021', 'pid': '43undefined00', 'name': '桂阳县'}, {'id': '431022', 'pid': '43undefined00', 'name': '宜章县'}, {'id': '431023', 'pid': '43undefined00', 'name': '永兴县'}, {'id': '431024', 'pid': '43undefined00', 'name': '嘉禾县'}, { + 'id': '431025', + 'pid': '43undefined00', + 'name': '临武县', +}, {'id': '431026', 'pid': '43undefined00', 'name': '汝城县'}, {'id': '431027', 'pid': '43undefined00', 'name': '桂东县'}, {'id': '431028', 'pid': '43undefined00', 'name': '安仁县'}, {'id': '431081', 'pid': '43undefined00', 'name': '资兴市'}, {'id': '431102', 'pid': '43undefined00', 'name': '零陵区'}, {'id': '431103', 'pid': '43undefined00', 'name': '冷水滩区'}, {'id': '431121', 'pid': '43undefined00', 'name': '祁阳县'}, {'id': '431122', 'pid': '43undefined00', 'name': '东安县'}, {'id': '431123', 'pid': '43undefined00', 'name': '双牌县'}, {'id': '431124', 'pid': '43undefined00', 'name': '道县'}, {'id': '431125', 'pid': '43undefined00', 'name': '江永县'}, {'id': '431126', 'pid': '43undefined00', 'name': '宁远县'}, {'id': '431127', 'pid': '43undefined00', 'name': '蓝山县'}, {'id': '431128', 'pid': '43undefined00', 'name': '新田县'}, {'id': '431129', 'pid': '43undefined00', 'name': '江华瑶族自治县'}, {'id': '431202', 'pid': '43undefined00', 'name': '鹤城区'}, { + 'id': '431221', + 'pid': '43undefined00', + 'name': '中方县', +}, {'id': '431222', 'pid': '43undefined00', 'name': '沅陵县'}, {'id': '431223', 'pid': '43undefined00', 'name': '辰溪县'}, {'id': '431224', 'pid': '43undefined00', 'name': '溆浦县'}, {'id': '431225', 'pid': '43undefined00', 'name': '会同县'}, {'id': '431226', 'pid': '43undefined00', 'name': '麻阳苗族自治县'}, {'id': '431227', 'pid': '43undefined00', 'name': '新晃侗族自治县'}, {'id': '431228', 'pid': '43undefined00', 'name': '芷江侗族自治县'}, {'id': '431229', 'pid': '43undefined00', 'name': '靖州苗族侗族自治县'}, {'id': '431230', 'pid': '43undefined00', 'name': '通道侗族自治县'}, {'id': '431281', 'pid': '43undefined00', 'name': '洪江市'}, {'id': '431302', 'pid': '43undefined00', 'name': '娄星区'}, {'id': '431321', 'pid': '43undefined00', 'name': '双峰县'}, {'id': '431322', 'pid': '43undefined00', 'name': '新化县'}, {'id': '431381', 'pid': '43undefined00', 'name': '冷水江市'}, {'id': '431382', 'pid': '43undefined00', 'name': '涟源市'}, { + 'id': '433101', + 'pid': '43undefined00', + 'name': '吉首市', +}, {'id': '433122', 'pid': '43undefined00', 'name': '泸溪县'}, {'id': '433123', 'pid': '43undefined00', 'name': '凤凰县'}, {'id': '433124', 'pid': '43undefined00', 'name': '花垣县'}, {'id': '433125', 'pid': '43undefined00', 'name': '保靖县'}, {'id': '433126', 'pid': '43undefined00', 'name': '古丈县'}, {'id': '433127', 'pid': '43undefined00', 'name': '永顺县'}, {'id': '433130', 'pid': '43undefined00', 'name': '龙山县'}, {'id': '440103', 'pid': '44undefined00', 'name': '荔湾区'}, {'id': '440104', 'pid': '44undefined00', 'name': '越秀区'}, {'id': '440105', 'pid': '44undefined00', 'name': '海珠区'}, {'id': '440106', 'pid': '44undefined00', 'name': '天河区'}, {'id': '440111', 'pid': '44undefined00', 'name': '白云区'}, {'id': '440112', 'pid': '44undefined00', 'name': '黄埔区'}, {'id': '440113', 'pid': '44undefined00', 'name': '番禺区'}, {'id': '440114', 'pid': '44undefined00', 'name': '花都区'}, {'id': '440115', 'pid': '44undefined00', 'name': '南沙区'}, { + 'id': '440117', + 'pid': '44undefined00', + 'name': '从化区', +}, {'id': '440118', 'pid': '44undefined00', 'name': '增城区'}, {'id': '440203', 'pid': '44undefined00', 'name': '武江区'}, {'id': '440204', 'pid': '44undefined00', 'name': '浈江区'}, {'id': '440205', 'pid': '44undefined00', 'name': '曲江区'}, {'id': '440222', 'pid': '44undefined00', 'name': '始兴县'}, {'id': '440224', 'pid': '44undefined00', 'name': '仁化县'}, {'id': '440229', 'pid': '44undefined00', 'name': '翁源县'}, {'id': '440232', 'pid': '44undefined00', 'name': '乳源瑶族自治县'}, {'id': '440233', 'pid': '44undefined00', 'name': '新丰县'}, {'id': '440281', 'pid': '44undefined00', 'name': '乐昌市'}, {'id': '440282', 'pid': '44undefined00', 'name': '南雄市'}, {'id': '440303', 'pid': '44undefined00', 'name': '罗湖区'}, {'id': '440304', 'pid': '44undefined00', 'name': '福田区'}, {'id': '440305', 'pid': '44undefined00', 'name': '南山区'}, {'id': '440306', 'pid': '44undefined00', 'name': '宝安区'}, {'id': '440307', 'pid': '44undefined00', 'name': '龙岗区'}, { + 'id': '440308', + 'pid': '44undefined00', + 'name': '盐田区', +}, {'id': '440309', 'pid': '44undefined00', 'name': '龙华区'}, {'id': '440310', 'pid': '44undefined00', 'name': '坪山区'}, {'id': '440311', 'pid': '44undefined00', 'name': '光明区'}, {'id': '440402', 'pid': '44undefined00', 'name': '香洲区'}, {'id': '440403', 'pid': '44undefined00', 'name': '斗门区'}, {'id': '440404', 'pid': '44undefined00', 'name': '金湾区'}, {'id': '440507', 'pid': '44undefined00', 'name': '龙湖区'}, {'id': '440511', 'pid': '44undefined00', 'name': '金平区'}, {'id': '440512', 'pid': '44undefined00', 'name': '濠江区'}, {'id': '440513', 'pid': '44undefined00', 'name': '潮阳区'}, {'id': '440514', 'pid': '44undefined00', 'name': '潮南区'}, {'id': '440515', 'pid': '44undefined00', 'name': '澄海区'}, {'id': '440523', 'pid': '44undefined00', 'name': '南澳县'}, {'id': '440604', 'pid': '44undefined00', 'name': '禅城区'}, {'id': '440605', 'pid': '44undefined00', 'name': '南海区'}, {'id': '440606', 'pid': '44undefined00', 'name': '顺德区'}, { + 'id': '440607', + 'pid': '44undefined00', + 'name': '三水区', +}, {'id': '440608', 'pid': '44undefined00', 'name': '高明区'}, {'id': '440703', 'pid': '44undefined00', 'name': '蓬江区'}, {'id': '440704', 'pid': '44undefined00', 'name': '江海区'}, {'id': '440705', 'pid': '44undefined00', 'name': '新会区'}, {'id': '440781', 'pid': '44undefined00', 'name': '台山市'}, {'id': '440783', 'pid': '44undefined00', 'name': '开平市'}, {'id': '440784', 'pid': '44undefined00', 'name': '鹤山市'}, {'id': '440785', 'pid': '44undefined00', 'name': '恩平市'}, {'id': '440802', 'pid': '44undefined00', 'name': '赤坎区'}, {'id': '440803', 'pid': '44undefined00', 'name': '霞山区'}, {'id': '440804', 'pid': '44undefined00', 'name': '坡头区'}, {'id': '440811', 'pid': '44undefined00', 'name': '麻章区'}, {'id': '440823', 'pid': '44undefined00', 'name': '遂溪县'}, {'id': '440825', 'pid': '44undefined00', 'name': '徐闻县'}, {'id': '440881', 'pid': '44undefined00', 'name': '廉江市'}, {'id': '440882', 'pid': '44undefined00', 'name': '雷州市'}, { + 'id': '440883', + 'pid': '44undefined00', + 'name': '吴川市', +}, {'id': '440902', 'pid': '44undefined00', 'name': '茂南区'}, {'id': '440904', 'pid': '44undefined00', 'name': '电白区'}, {'id': '440981', 'pid': '44undefined00', 'name': '高州市'}, {'id': '440982', 'pid': '44undefined00', 'name': '化州市'}, {'id': '440983', 'pid': '44undefined00', 'name': '信宜市'}, {'id': '441202', 'pid': '44undefined00', 'name': '端州区'}, {'id': '441203', 'pid': '44undefined00', 'name': '鼎湖区'}, {'id': '441204', 'pid': '44undefined00', 'name': '高要区'}, {'id': '441223', 'pid': '44undefined00', 'name': '广宁县'}, {'id': '441224', 'pid': '44undefined00', 'name': '怀集县'}, {'id': '441225', 'pid': '44undefined00', 'name': '封开县'}, {'id': '441226', 'pid': '44undefined00', 'name': '德庆县'}, {'id': '441284', 'pid': '44undefined00', 'name': '四会市'}, {'id': '441302', 'pid': '44undefined00', 'name': '惠城区'}, {'id': '441303', 'pid': '44undefined00', 'name': '惠阳区'}, {'id': '441322', 'pid': '44undefined00', 'name': '博罗县'}, { + 'id': '441323', + 'pid': '44undefined00', + 'name': '惠东县', +}, {'id': '441324', 'pid': '44undefined00', 'name': '龙门县'}, {'id': '441402', 'pid': '44undefined00', 'name': '梅江区'}, {'id': '441403', 'pid': '44undefined00', 'name': '梅县区'}, {'id': '441422', 'pid': '44undefined00', 'name': '大埔县'}, {'id': '441423', 'pid': '44undefined00', 'name': '丰顺县'}, {'id': '441424', 'pid': '44undefined00', 'name': '五华县'}, {'id': '441426', 'pid': '44undefined00', 'name': '平远县'}, {'id': '441427', 'pid': '44undefined00', 'name': '蕉岭县'}, {'id': '441481', 'pid': '44undefined00', 'name': '兴宁市'}, {'id': '441502', 'pid': '44undefined00', 'name': '城区'}, {'id': '441521', 'pid': '44undefined00', 'name': '海丰县'}, {'id': '441523', 'pid': '44undefined00', 'name': '陆河县'}, {'id': '441581', 'pid': '44undefined00', 'name': '陆丰市'}, {'id': '441602', 'pid': '44undefined00', 'name': '源城区'}, {'id': '441621', 'pid': '44undefined00', 'name': '紫金县'}, {'id': '441622', 'pid': '44undefined00', 'name': '龙川县'}, { + 'id': '441623', + 'pid': '44undefined00', + 'name': '连平县', +}, {'id': '441624', 'pid': '44undefined00', 'name': '和平县'}, {'id': '441625', 'pid': '44undefined00', 'name': '东源县'}, {'id': '441702', 'pid': '44undefined00', 'name': '江城区'}, {'id': '441704', 'pid': '44undefined00', 'name': '阳东区'}, {'id': '441721', 'pid': '44undefined00', 'name': '阳西县'}, {'id': '441781', 'pid': '44undefined00', 'name': '阳春市'}, {'id': '441802', 'pid': '44undefined00', 'name': '清城区'}, {'id': '441803', 'pid': '44undefined00', 'name': '清新区'}, {'id': '441821', 'pid': '44undefined00', 'name': '佛冈县'}, {'id': '441823', 'pid': '44undefined00', 'name': '阳山县'}, {'id': '441825', 'pid': '44undefined00', 'name': '连山壮族瑶族自治县'}, {'id': '441826', 'pid': '44undefined00', 'name': '连南瑶族自治县'}, {'id': '441881', 'pid': '44undefined00', 'name': '英德市'}, {'id': '441882', 'pid': '44undefined00', 'name': '连州市'}, {'id': '445102', 'pid': '44undefined00', 'name': '湘桥区'}, {'id': '445103', 'pid': '44undefined00', 'name': '潮安区'}, { + 'id': '445122', + 'pid': '44undefined00', + 'name': '饶平县', +}, {'id': '445202', 'pid': '44undefined00', 'name': '榕城区'}, {'id': '445203', 'pid': '44undefined00', 'name': '揭东区'}, {'id': '445222', 'pid': '44undefined00', 'name': '揭西县'}, {'id': '445224', 'pid': '44undefined00', 'name': '惠来县'}, {'id': '445281', 'pid': '44undefined00', 'name': '普宁市'}, {'id': '445302', 'pid': '44undefined00', 'name': '云城区'}, {'id': '445303', 'pid': '44undefined00', 'name': '云安区'}, {'id': '445321', 'pid': '44undefined00', 'name': '新兴县'}, {'id': '445322', 'pid': '44undefined00', 'name': '郁南县'}, {'id': '445381', 'pid': '44undefined00', 'name': '罗定市'}, {'id': '450102', 'pid': '45undefined00', 'name': '兴宁区'}, {'id': '450103', 'pid': '45undefined00', 'name': '青秀区'}, {'id': '450105', 'pid': '45undefined00', 'name': '江南区'}, {'id': '450107', 'pid': '45undefined00', 'name': '西乡塘区'}, {'id': '450108', 'pid': '45undefined00', 'name': '良庆区'}, {'id': '450109', 'pid': '45undefined00', 'name': '邕宁区'}, { + 'id': '450110', + 'pid': '45undefined00', + 'name': '武鸣区', +}, {'id': '450123', 'pid': '45undefined00', 'name': '隆安县'}, {'id': '450124', 'pid': '45undefined00', 'name': '马山县'}, {'id': '450125', 'pid': '45undefined00', 'name': '上林县'}, {'id': '450126', 'pid': '45undefined00', 'name': '宾阳县'}, {'id': '450127', 'pid': '45undefined00', 'name': '横县'}, {'id': '450202', 'pid': '45undefined00', 'name': '城中区'}, {'id': '450203', 'pid': '45undefined00', 'name': '鱼峰区'}, {'id': '450204', 'pid': '45undefined00', 'name': '柳南区'}, {'id': '450205', 'pid': '45undefined00', 'name': '柳北区'}, {'id': '450206', 'pid': '45undefined00', 'name': '柳江区'}, {'id': '450222', 'pid': '45undefined00', 'name': '柳城县'}, {'id': '450223', 'pid': '45undefined00', 'name': '鹿寨县'}, {'id': '450224', 'pid': '45undefined00', 'name': '融安县'}, {'id': '450225', 'pid': '45undefined00', 'name': '融水苗族自治县'}, {'id': '450226', 'pid': '45undefined00', 'name': '三江侗族自治县'}, {'id': '450302', 'pid': '45undefined00', 'name': '秀峰区'}, { + 'id': '450303', + 'pid': '45undefined00', + 'name': '叠彩区', +}, {'id': '450304', 'pid': '45undefined00', 'name': '象山区'}, {'id': '450305', 'pid': '45undefined00', 'name': '七星区'}, {'id': '450311', 'pid': '45undefined00', 'name': '雁山区'}, {'id': '450312', 'pid': '45undefined00', 'name': '临桂区'}, {'id': '450321', 'pid': '45undefined00', 'name': '阳朔县'}, {'id': '450323', 'pid': '45undefined00', 'name': '灵川县'}, {'id': '450324', 'pid': '45undefined00', 'name': '全州县'}, {'id': '450325', 'pid': '45undefined00', 'name': '兴安县'}, {'id': '450326', 'pid': '45undefined00', 'name': '永福县'}, {'id': '450327', 'pid': '45undefined00', 'name': '灌阳县'}, {'id': '450328', 'pid': '45undefined00', 'name': '龙胜各族自治县'}, {'id': '450329', 'pid': '45undefined00', 'name': '资源县'}, {'id': '450330', 'pid': '45undefined00', 'name': '平乐县'}, {'id': '450332', 'pid': '45undefined00', 'name': '恭城瑶族自治县'}, {'id': '450381', 'pid': '45undefined00', 'name': '荔浦市'}, {'id': '450403', 'pid': '45undefined00', 'name': '万秀区'}, { + 'id': '450405', + 'pid': '45undefined00', + 'name': '长洲区', +}, {'id': '450406', 'pid': '45undefined00', 'name': '龙圩区'}, {'id': '450421', 'pid': '45undefined00', 'name': '苍梧县'}, {'id': '450422', 'pid': '45undefined00', 'name': '藤县'}, {'id': '450423', 'pid': '45undefined00', 'name': '蒙山县'}, {'id': '450481', 'pid': '45undefined00', 'name': '岑溪市'}, {'id': '450502', 'pid': '45undefined00', 'name': '海城区'}, {'id': '450503', 'pid': '45undefined00', 'name': '银海区'}, {'id': '450512', 'pid': '45undefined00', 'name': '铁山港区'}, {'id': '450521', 'pid': '45undefined00', 'name': '合浦县'}, {'id': '450602', 'pid': '45undefined00', 'name': '港口区'}, {'id': '450603', 'pid': '45undefined00', 'name': '防城区'}, {'id': '450621', 'pid': '45undefined00', 'name': '上思县'}, {'id': '450681', 'pid': '45undefined00', 'name': '东兴市'}, {'id': '450702', 'pid': '45undefined00', 'name': '钦南区'}, {'id': '450703', 'pid': '45undefined00', 'name': '钦北区'}, {'id': '450721', 'pid': '45undefined00', 'name': '灵山县'}, { + 'id': '450722', + 'pid': '45undefined00', + 'name': '浦北县', +}, {'id': '450802', 'pid': '45undefined00', 'name': '港北区'}, {'id': '450803', 'pid': '45undefined00', 'name': '港南区'}, {'id': '450804', 'pid': '45undefined00', 'name': '覃塘区'}, {'id': '450821', 'pid': '45undefined00', 'name': '平南县'}, {'id': '450881', 'pid': '45undefined00', 'name': '桂平市'}, {'id': '450902', 'pid': '45undefined00', 'name': '玉州区'}, {'id': '450903', 'pid': '45undefined00', 'name': '福绵区'}, {'id': '450921', 'pid': '45undefined00', 'name': '容县'}, {'id': '450922', 'pid': '45undefined00', 'name': '陆川县'}, {'id': '450923', 'pid': '45undefined00', 'name': '博白县'}, {'id': '450924', 'pid': '45undefined00', 'name': '兴业县'}, {'id': '450981', 'pid': '45undefined00', 'name': '北流市'}, {'id': '451002', 'pid': '45undefined00', 'name': '右江区'}, {'id': '451003', 'pid': '45undefined00', 'name': '田阳区'}, {'id': '451022', 'pid': '45undefined00', 'name': '田东县'}, {'id': '451024', 'pid': '45undefined00', 'name': '德保县'}, { + 'id': '451026', + 'pid': '45undefined00', + 'name': '那坡县', +}, {'id': '451027', 'pid': '45undefined00', 'name': '凌云县'}, {'id': '451028', 'pid': '45undefined00', 'name': '乐业县'}, {'id': '451029', 'pid': '45undefined00', 'name': '田林县'}, {'id': '451030', 'pid': '45undefined00', 'name': '西林县'}, {'id': '451031', 'pid': '45undefined00', 'name': '隆林各族自治县'}, {'id': '451081', 'pid': '45undefined00', 'name': '靖西市'}, {'id': '451082', 'pid': '45undefined00', 'name': '平果市'}, {'id': '451102', 'pid': '45undefined00', 'name': '八步区'}, {'id': '451103', 'pid': '45undefined00', 'name': '平桂区'}, {'id': '451121', 'pid': '45undefined00', 'name': '昭平县'}, {'id': '451122', 'pid': '45undefined00', 'name': '钟山县'}, {'id': '451123', 'pid': '45undefined00', 'name': '富川瑶族自治县'}, {'id': '451202', 'pid': '45undefined00', 'name': '金城江区'}, {'id': '451203', 'pid': '45undefined00', 'name': '宜州区'}, {'id': '451221', 'pid': '45undefined00', 'name': '南丹县'}, {'id': '451222', 'pid': '45undefined00', 'name': '天峨县'}, { + 'id': '451223', + 'pid': '45undefined00', + 'name': '凤山县', +}, {'id': '451224', 'pid': '45undefined00', 'name': '东兰县'}, {'id': '451225', 'pid': '45undefined00', 'name': '罗城仫佬族自治县'}, {'id': '451226', 'pid': '45undefined00', 'name': '环江毛南族自治县'}, {'id': '451227', 'pid': '45undefined00', 'name': '巴马瑶族自治县'}, {'id': '451228', 'pid': '45undefined00', 'name': '都安瑶族自治县'}, {'id': '451229', 'pid': '45undefined00', 'name': '大化瑶族自治县'}, {'id': '451302', 'pid': '45undefined00', 'name': '兴宾区'}, {'id': '451321', 'pid': '45undefined00', 'name': '忻城县'}, {'id': '451322', 'pid': '45undefined00', 'name': '象州县'}, {'id': '451323', 'pid': '45undefined00', 'name': '武宣县'}, {'id': '451324', 'pid': '45undefined00', 'name': '金秀瑶族自治县'}, {'id': '451381', 'pid': '45undefined00', 'name': '合山市'}, {'id': '451402', 'pid': '45undefined00', 'name': '江州区'}, {'id': '451421', 'pid': '45undefined00', 'name': '扶绥县'}, {'id': '451422', 'pid': '45undefined00', 'name': '宁明县'}, { + 'id': '451423', + 'pid': '45undefined00', + 'name': '龙州县', +}, {'id': '451424', 'pid': '45undefined00', 'name': '大新县'}, {'id': '451425', 'pid': '45undefined00', 'name': '天等县'}, {'id': '451481', 'pid': '45undefined00', 'name': '凭祥市'}, {'id': '460105', 'pid': '46undefined00', 'name': '秀英区'}, {'id': '460106', 'pid': '46undefined00', 'name': '龙华区'}, {'id': '460107', 'pid': '46undefined00', 'name': '琼山区'}, {'id': '460108', 'pid': '46undefined00', 'name': '美兰区'}, {'id': '460202', 'pid': '46undefined00', 'name': '海棠区'}, {'id': '460203', 'pid': '46undefined00', 'name': '吉阳区'}, {'id': '460204', 'pid': '46undefined00', 'name': '天涯区'}, {'id': '460205', 'pid': '46undefined00', 'name': '崖州区'}, {'id': '469001', 'pid': '46undefined00', 'name': '五指山市'}, {'id': '469002', 'pid': '46undefined00', 'name': '琼海市'}, {'id': '469005', 'pid': '46undefined00', 'name': '文昌市'}, {'id': '469006', 'pid': '46undefined00', 'name': '万宁市'}, {'id': '469007', 'pid': '46undefined00', 'name': '东方市'}, { + 'id': '469021', + 'pid': '46undefined00', + 'name': '定安县', +}, {'id': '469022', 'pid': '46undefined00', 'name': '屯昌县'}, {'id': '469023', 'pid': '46undefined00', 'name': '澄迈县'}, {'id': '469024', 'pid': '46undefined00', 'name': '临高县'}, {'id': '469025', 'pid': '46undefined00', 'name': '白沙黎族自治县'}, {'id': '469026', 'pid': '46undefined00', 'name': '昌江黎族自治县'}, {'id': '469027', 'pid': '46undefined00', 'name': '乐东黎族自治县'}, {'id': '469028', 'pid': '46undefined00', 'name': '陵水黎族自治县'}, {'id': '469029', 'pid': '46undefined00', 'name': '保亭黎族苗族自治县'}, {'id': '469030', 'pid': '46undefined00', 'name': '琼中黎族苗族自治县'}, {'id': '500101', 'pid': '50undefined00', 'name': '万州区'}, {'id': '500102', 'pid': '50undefined00', 'name': '涪陵区'}, {'id': '500103', 'pid': '50undefined00', 'name': '渝中区'}, {'id': '500104', 'pid': '50undefined00', 'name': '大渡口区'}, {'id': '500105', 'pid': '50undefined00', 'name': '江北区'}, {'id': '500106', 'pid': '50undefined00', 'name': '沙坪坝区'}, { + 'id': '500107', + 'pid': '50undefined00', + 'name': '九龙坡区', +}, {'id': '500108', 'pid': '50undefined00', 'name': '南岸区'}, {'id': '500109', 'pid': '50undefined00', 'name': '北碚区'}, {'id': '500110', 'pid': '50undefined00', 'name': '綦江区'}, {'id': '500111', 'pid': '50undefined00', 'name': '大足区'}, {'id': '500112', 'pid': '50undefined00', 'name': '渝北区'}, {'id': '500113', 'pid': '50undefined00', 'name': '巴南区'}, {'id': '500114', 'pid': '50undefined00', 'name': '黔江区'}, {'id': '500115', 'pid': '50undefined00', 'name': '长寿区'}, {'id': '500116', 'pid': '50undefined00', 'name': '江津区'}, {'id': '500117', 'pid': '50undefined00', 'name': '合川区'}, {'id': '500118', 'pid': '50undefined00', 'name': '永川区'}, {'id': '500119', 'pid': '50undefined00', 'name': '南川区'}, {'id': '500120', 'pid': '50undefined00', 'name': '璧山区'}, {'id': '500151', 'pid': '50undefined00', 'name': '铜梁区'}, {'id': '500152', 'pid': '50undefined00', 'name': '潼南区'}, {'id': '500153', 'pid': '50undefined00', 'name': '荣昌区'}, { + 'id': '500154', + 'pid': '50undefined00', + 'name': '开州区', +}, {'id': '500155', 'pid': '50undefined00', 'name': '梁平区'}, {'id': '500156', 'pid': '50undefined00', 'name': '武隆区'}, {'id': '500229', 'pid': '50undefined00', 'name': '城口县'}, {'id': '500230', 'pid': '50undefined00', 'name': '丰都县'}, {'id': '500231', 'pid': '50undefined00', 'name': '垫江县'}, {'id': '500233', 'pid': '50undefined00', 'name': '忠县'}, {'id': '500235', 'pid': '50undefined00', 'name': '云阳县'}, {'id': '500236', 'pid': '50undefined00', 'name': '奉节县'}, {'id': '500237', 'pid': '50undefined00', 'name': '巫山县'}, {'id': '500238', 'pid': '50undefined00', 'name': '巫溪县'}, {'id': '500240', 'pid': '50undefined00', 'name': '石柱土家族自治县'}, {'id': '500241', 'pid': '50undefined00', 'name': '秀山土家族苗族自治县'}, {'id': '500242', 'pid': '50undefined00', 'name': '酉阳土家族苗族自治县'}, {'id': '500243', 'pid': '50undefined00', 'name': '彭水苗族土家族自治县'}, {'id': '510104', 'pid': '51undefined00', 'name': '锦江区'}, { + 'id': '510105', + 'pid': '51undefined00', + 'name': '青羊区', +}, {'id': '510106', 'pid': '51undefined00', 'name': '金牛区'}, {'id': '510107', 'pid': '51undefined00', 'name': '武侯区'}, {'id': '510108', 'pid': '51undefined00', 'name': '成华区'}, {'id': '510112', 'pid': '51undefined00', 'name': '龙泉驿区'}, {'id': '510113', 'pid': '51undefined00', 'name': '青白江区'}, {'id': '510114', 'pid': '51undefined00', 'name': '新都区'}, {'id': '510115', 'pid': '51undefined00', 'name': '温江区'}, {'id': '510116', 'pid': '51undefined00', 'name': '双流区'}, {'id': '510117', 'pid': '51undefined00', 'name': '郫都区'}, {'id': '510118', 'pid': '51undefined00', 'name': '新津区'}, {'id': '510121', 'pid': '51undefined00', 'name': '金堂县'}, {'id': '510129', 'pid': '51undefined00', 'name': '大邑县'}, {'id': '510131', 'pid': '51undefined00', 'name': '蒲江县'}, {'id': '510181', 'pid': '51undefined00', 'name': '都江堰市'}, {'id': '510182', 'pid': '51undefined00', 'name': '彭州市'}, {'id': '510183', 'pid': '51undefined00', 'name': '邛崃市'}, { + 'id': '510184', + 'pid': '51undefined00', + 'name': '崇州市', +}, {'id': '510185', 'pid': '51undefined00', 'name': '简阳市'}, {'id': '510302', 'pid': '51undefined00', 'name': '自流井区'}, {'id': '510303', 'pid': '51undefined00', 'name': '贡井区'}, {'id': '510304', 'pid': '51undefined00', 'name': '大安区'}, {'id': '510311', 'pid': '51undefined00', 'name': '沿滩区'}, {'id': '510321', 'pid': '51undefined00', 'name': '荣县'}, {'id': '510322', 'pid': '51undefined00', 'name': '富顺县'}, {'id': '510402', 'pid': '51undefined00', 'name': '东区'}, {'id': '510403', 'pid': '51undefined00', 'name': '西区'}, {'id': '510411', 'pid': '51undefined00', 'name': '仁和区'}, {'id': '510421', 'pid': '51undefined00', 'name': '米易县'}, {'id': '510422', 'pid': '51undefined00', 'name': '盐边县'}, {'id': '510502', 'pid': '51undefined00', 'name': '江阳区'}, {'id': '510503', 'pid': '51undefined00', 'name': '纳溪区'}, {'id': '510504', 'pid': '51undefined00', 'name': '龙马潭区'}, {'id': '510521', 'pid': '51undefined00', 'name': '泸县'}, { + 'id': '510522', + 'pid': '51undefined00', + 'name': '合江县', +}, {'id': '510524', 'pid': '51undefined00', 'name': '叙永县'}, {'id': '510525', 'pid': '51undefined00', 'name': '古蔺县'}, {'id': '510603', 'pid': '51undefined00', 'name': '旌阳区'}, {'id': '510604', 'pid': '51undefined00', 'name': '罗江区'}, {'id': '510623', 'pid': '51undefined00', 'name': '中江县'}, {'id': '510681', 'pid': '51undefined00', 'name': '广汉市'}, {'id': '510682', 'pid': '51undefined00', 'name': '什邡市'}, {'id': '510683', 'pid': '51undefined00', 'name': '绵竹市'}, {'id': '510703', 'pid': '51undefined00', 'name': '涪城区'}, {'id': '510704', 'pid': '51undefined00', 'name': '游仙区'}, {'id': '510705', 'pid': '51undefined00', 'name': '安州区'}, {'id': '510722', 'pid': '51undefined00', 'name': '三台县'}, {'id': '510723', 'pid': '51undefined00', 'name': '盐亭县'}, {'id': '510725', 'pid': '51undefined00', 'name': '梓潼县'}, {'id': '510726', 'pid': '51undefined00', 'name': '北川羌族自治县'}, {'id': '510727', 'pid': '51undefined00', 'name': '平武县'}, { + 'id': '510781', + 'pid': '51undefined00', + 'name': '江油市', +}, {'id': '510802', 'pid': '51undefined00', 'name': '利州区'}, {'id': '510811', 'pid': '51undefined00', 'name': '昭化区'}, {'id': '510812', 'pid': '51undefined00', 'name': '朝天区'}, {'id': '510821', 'pid': '51undefined00', 'name': '旺苍县'}, {'id': '510822', 'pid': '51undefined00', 'name': '青川县'}, {'id': '510823', 'pid': '51undefined00', 'name': '剑阁县'}, {'id': '510824', 'pid': '51undefined00', 'name': '苍溪县'}, {'id': '510903', 'pid': '51undefined00', 'name': '船山区'}, {'id': '510904', 'pid': '51undefined00', 'name': '安居区'}, {'id': '510921', 'pid': '51undefined00', 'name': '蓬溪县'}, {'id': '510923', 'pid': '51undefined00', 'name': '大英县'}, {'id': '510981', 'pid': '51undefined00', 'name': '射洪市'}, {'id': '511002', 'pid': '51undefined00', 'name': '市中区'}, {'id': '511011', 'pid': '51undefined00', 'name': '东兴区'}, {'id': '511024', 'pid': '51undefined00', 'name': '威远县'}, {'id': '511025', 'pid': '51undefined00', 'name': '资中县'}, { + 'id': '511083', + 'pid': '51undefined00', + 'name': '隆昌市', +}, {'id': '511102', 'pid': '51undefined00', 'name': '市中区'}, {'id': '511111', 'pid': '51undefined00', 'name': '沙湾区'}, {'id': '511112', 'pid': '51undefined00', 'name': '五通桥区'}, {'id': '511113', 'pid': '51undefined00', 'name': '金口河区'}, {'id': '511123', 'pid': '51undefined00', 'name': '犍为县'}, {'id': '511124', 'pid': '51undefined00', 'name': '井研县'}, {'id': '511126', 'pid': '51undefined00', 'name': '夹江县'}, {'id': '511129', 'pid': '51undefined00', 'name': '沐川县'}, {'id': '511132', 'pid': '51undefined00', 'name': '峨边彝族自治县'}, {'id': '511133', 'pid': '51undefined00', 'name': '马边彝族自治县'}, {'id': '511181', 'pid': '51undefined00', 'name': '峨眉山市'}, {'id': '511302', 'pid': '51undefined00', 'name': '顺庆区'}, {'id': '511303', 'pid': '51undefined00', 'name': '高坪区'}, {'id': '511304', 'pid': '51undefined00', 'name': '嘉陵区'}, {'id': '511321', 'pid': '51undefined00', 'name': '南部县'}, { + 'id': '511322', + 'pid': '51undefined00', + 'name': '营山县', +}, {'id': '511323', 'pid': '51undefined00', 'name': '蓬安县'}, {'id': '511324', 'pid': '51undefined00', 'name': '仪陇县'}, {'id': '511325', 'pid': '51undefined00', 'name': '西充县'}, {'id': '511381', 'pid': '51undefined00', 'name': '阆中市'}, {'id': '511402', 'pid': '51undefined00', 'name': '东坡区'}, {'id': '511403', 'pid': '51undefined00', 'name': '彭山区'}, {'id': '511421', 'pid': '51undefined00', 'name': '仁寿县'}, {'id': '511423', 'pid': '51undefined00', 'name': '洪雅县'}, {'id': '511424', 'pid': '51undefined00', 'name': '丹棱县'}, {'id': '511425', 'pid': '51undefined00', 'name': '青神县'}, {'id': '511502', 'pid': '51undefined00', 'name': '翠屏区'}, {'id': '511503', 'pid': '51undefined00', 'name': '南溪区'}, {'id': '511504', 'pid': '51undefined00', 'name': '叙州区'}, {'id': '511523', 'pid': '51undefined00', 'name': '江安县'}, {'id': '511524', 'pid': '51undefined00', 'name': '长宁县'}, {'id': '511525', 'pid': '51undefined00', 'name': '高县'}, { + 'id': '511526', + 'pid': '51undefined00', + 'name': '珙县', +}, {'id': '511527', 'pid': '51undefined00', 'name': '筠连县'}, {'id': '511528', 'pid': '51undefined00', 'name': '兴文县'}, {'id': '511529', 'pid': '51undefined00', 'name': '屏山县'}, {'id': '511602', 'pid': '51undefined00', 'name': '广安区'}, {'id': '511603', 'pid': '51undefined00', 'name': '前锋区'}, {'id': '511621', 'pid': '51undefined00', 'name': '岳池县'}, {'id': '511622', 'pid': '51undefined00', 'name': '武胜县'}, {'id': '511623', 'pid': '51undefined00', 'name': '邻水县'}, {'id': '511681', 'pid': '51undefined00', 'name': '华蓥市'}, {'id': '511702', 'pid': '51undefined00', 'name': '通川区'}, {'id': '511703', 'pid': '51undefined00', 'name': '达川区'}, {'id': '511722', 'pid': '51undefined00', 'name': '宣汉县'}, {'id': '511723', 'pid': '51undefined00', 'name': '开江县'}, {'id': '511724', 'pid': '51undefined00', 'name': '大竹县'}, {'id': '511725', 'pid': '51undefined00', 'name': '渠县'}, {'id': '511781', 'pid': '51undefined00', 'name': '万源市'}, { + 'id': '511802', + 'pid': '51undefined00', + 'name': '雨城区', +}, {'id': '511803', 'pid': '51undefined00', 'name': '名山区'}, {'id': '511822', 'pid': '51undefined00', 'name': '荥经县'}, {'id': '511823', 'pid': '51undefined00', 'name': '汉源县'}, {'id': '511824', 'pid': '51undefined00', 'name': '石棉县'}, {'id': '511825', 'pid': '51undefined00', 'name': '天全县'}, {'id': '511826', 'pid': '51undefined00', 'name': '芦山县'}, {'id': '511827', 'pid': '51undefined00', 'name': '宝兴县'}, {'id': '511902', 'pid': '51undefined00', 'name': '巴州区'}, {'id': '511903', 'pid': '51undefined00', 'name': '恩阳区'}, {'id': '511921', 'pid': '51undefined00', 'name': '通江县'}, {'id': '511922', 'pid': '51undefined00', 'name': '南江县'}, {'id': '511923', 'pid': '51undefined00', 'name': '平昌县'}, {'id': '512002', 'pid': '51undefined00', 'name': '雁江区'}, {'id': '512021', 'pid': '51undefined00', 'name': '安岳县'}, {'id': '512022', 'pid': '51undefined00', 'name': '乐至县'}, {'id': '513201', 'pid': '51undefined00', 'name': '马尔康市'}, { + 'id': '513221', + 'pid': '51undefined00', + 'name': '汶川县', +}, {'id': '513222', 'pid': '51undefined00', 'name': '理县'}, {'id': '513223', 'pid': '51undefined00', 'name': '茂县'}, {'id': '513224', 'pid': '51undefined00', 'name': '松潘县'}, {'id': '513225', 'pid': '51undefined00', 'name': '九寨沟县'}, {'id': '513226', 'pid': '51undefined00', 'name': '金川县'}, {'id': '513227', 'pid': '51undefined00', 'name': '小金县'}, {'id': '513228', 'pid': '51undefined00', 'name': '黑水县'}, {'id': '513230', 'pid': '51undefined00', 'name': '壤塘县'}, {'id': '513231', 'pid': '51undefined00', 'name': '阿坝县'}, {'id': '513232', 'pid': '51undefined00', 'name': '若尔盖县'}, {'id': '513233', 'pid': '51undefined00', 'name': '红原县'}, {'id': '513301', 'pid': '51undefined00', 'name': '康定市'}, {'id': '513322', 'pid': '51undefined00', 'name': '泸定县'}, {'id': '513323', 'pid': '51undefined00', 'name': '丹巴县'}, {'id': '513324', 'pid': '51undefined00', 'name': '九龙县'}, {'id': '513325', 'pid': '51undefined00', 'name': '雅江县'}, { + 'id': '513326', + 'pid': '51undefined00', + 'name': '道孚县', +}, {'id': '513327', 'pid': '51undefined00', 'name': '炉霍县'}, {'id': '513328', 'pid': '51undefined00', 'name': '甘孜县'}, {'id': '513329', 'pid': '51undefined00', 'name': '新龙县'}, {'id': '513330', 'pid': '51undefined00', 'name': '德格县'}, {'id': '513331', 'pid': '51undefined00', 'name': '白玉县'}, {'id': '513332', 'pid': '51undefined00', 'name': '石渠县'}, {'id': '513333', 'pid': '51undefined00', 'name': '色达县'}, {'id': '513334', 'pid': '51undefined00', 'name': '理塘县'}, {'id': '513335', 'pid': '51undefined00', 'name': '巴塘县'}, {'id': '513336', 'pid': '51undefined00', 'name': '乡城县'}, {'id': '513337', 'pid': '51undefined00', 'name': '稻城县'}, {'id': '513338', 'pid': '51undefined00', 'name': '得荣县'}, {'id': '513401', 'pid': '51undefined00', 'name': '西昌市'}, {'id': '513422', 'pid': '51undefined00', 'name': '木里藏族自治县'}, {'id': '513423', 'pid': '51undefined00', 'name': '盐源县'}, {'id': '513424', 'pid': '51undefined00', 'name': '德昌县'}, { + 'id': '513425', + 'pid': '51undefined00', + 'name': '会理县', +}, {'id': '513426', 'pid': '51undefined00', 'name': '会东县'}, {'id': '513427', 'pid': '51undefined00', 'name': '宁南县'}, {'id': '513428', 'pid': '51undefined00', 'name': '普格县'}, {'id': '513429', 'pid': '51undefined00', 'name': '布拖县'}, {'id': '513430', 'pid': '51undefined00', 'name': '金阳县'}, {'id': '513431', 'pid': '51undefined00', 'name': '昭觉县'}, {'id': '513432', 'pid': '51undefined00', 'name': '喜德县'}, {'id': '513433', 'pid': '51undefined00', 'name': '冕宁县'}, {'id': '513434', 'pid': '51undefined00', 'name': '越西县'}, {'id': '513435', 'pid': '51undefined00', 'name': '甘洛县'}, {'id': '513436', 'pid': '51undefined00', 'name': '美姑县'}, {'id': '513437', 'pid': '51undefined00', 'name': '雷波县'}, {'id': '520102', 'pid': '52undefined00', 'name': '南明区'}, {'id': '520103', 'pid': '52undefined00', 'name': '云岩区'}, {'id': '520111', 'pid': '52undefined00', 'name': '花溪区'}, {'id': '520112', 'pid': '52undefined00', 'name': '乌当区'}, { + 'id': '520113', + 'pid': '52undefined00', + 'name': '白云区', +}, {'id': '520115', 'pid': '52undefined00', 'name': '观山湖区'}, {'id': '520121', 'pid': '52undefined00', 'name': '开阳县'}, {'id': '520122', 'pid': '52undefined00', 'name': '息烽县'}, {'id': '520123', 'pid': '52undefined00', 'name': '修文县'}, {'id': '520181', 'pid': '52undefined00', 'name': '清镇市'}, {'id': '520201', 'pid': '52undefined00', 'name': '钟山区'}, {'id': '520203', 'pid': '52undefined00', 'name': '六枝特区'}, {'id': '520204', 'pid': '52undefined00', 'name': '水城区'}, {'id': '520281', 'pid': '52undefined00', 'name': '盘州市'}, {'id': '520302', 'pid': '52undefined00', 'name': '红花岗区'}, {'id': '520303', 'pid': '52undefined00', 'name': '汇川区'}, {'id': '520304', 'pid': '52undefined00', 'name': '播州区'}, {'id': '520322', 'pid': '52undefined00', 'name': '桐梓县'}, {'id': '520323', 'pid': '52undefined00', 'name': '绥阳县'}, {'id': '520324', 'pid': '52undefined00', 'name': '正安县'}, {'id': '520325', 'pid': '52undefined00', 'name': '道真仡佬族苗族自治县'}, { + 'id': '520326', + 'pid': '52undefined00', + 'name': '务川仡佬族苗族自治县', +}, {'id': '520327', 'pid': '52undefined00', 'name': '凤冈县'}, {'id': '520328', 'pid': '52undefined00', 'name': '湄潭县'}, {'id': '520329', 'pid': '52undefined00', 'name': '余庆县'}, {'id': '520330', 'pid': '52undefined00', 'name': '习水县'}, {'id': '520381', 'pid': '52undefined00', 'name': '赤水市'}, {'id': '520382', 'pid': '52undefined00', 'name': '仁怀市'}, {'id': '520402', 'pid': '52undefined00', 'name': '西秀区'}, {'id': '520403', 'pid': '52undefined00', 'name': '平坝区'}, {'id': '520422', 'pid': '52undefined00', 'name': '普定县'}, {'id': '520423', 'pid': '52undefined00', 'name': '镇宁布依族苗族自治县'}, {'id': '520424', 'pid': '52undefined00', 'name': '关岭布依族苗族自治县'}, {'id': '520425', 'pid': '52undefined00', 'name': '紫云苗族布依族自治县'}, {'id': '520502', 'pid': '52undefined00', 'name': '七星关区'}, {'id': '520521', 'pid': '52undefined00', 'name': '大方县'}, {'id': '520522', 'pid': '52undefined00', 'name': '黔西县'}, { + 'id': '520523', + 'pid': '52undefined00', + 'name': '金沙县', +}, {'id': '520524', 'pid': '52undefined00', 'name': '织金县'}, {'id': '520525', 'pid': '52undefined00', 'name': '纳雍县'}, {'id': '520526', 'pid': '52undefined00', 'name': '威宁彝族回族苗族自治县'}, {'id': '520527', 'pid': '52undefined00', 'name': '赫章县'}, {'id': '520602', 'pid': '52undefined00', 'name': '碧江区'}, {'id': '520603', 'pid': '52undefined00', 'name': '万山区'}, {'id': '520621', 'pid': '52undefined00', 'name': '江口县'}, {'id': '520622', 'pid': '52undefined00', 'name': '玉屏侗族自治县'}, {'id': '520623', 'pid': '52undefined00', 'name': '石阡县'}, {'id': '520624', 'pid': '52undefined00', 'name': '思南县'}, {'id': '520625', 'pid': '52undefined00', 'name': '印江土家族苗族自治县'}, {'id': '520626', 'pid': '52undefined00', 'name': '德江县'}, {'id': '520627', 'pid': '52undefined00', 'name': '沿河土家族自治县'}, {'id': '520628', 'pid': '52undefined00', 'name': '松桃苗族自治县'}, {'id': '522301', 'pid': '52undefined00', 'name': '兴义市'}, { + 'id': '522302', + 'pid': '52undefined00', + 'name': '兴仁市', +}, {'id': '522323', 'pid': '52undefined00', 'name': '普安县'}, {'id': '522324', 'pid': '52undefined00', 'name': '晴隆县'}, {'id': '522325', 'pid': '52undefined00', 'name': '贞丰县'}, {'id': '522326', 'pid': '52undefined00', 'name': '望谟县'}, {'id': '522327', 'pid': '52undefined00', 'name': '册亨县'}, {'id': '522328', 'pid': '52undefined00', 'name': '安龙县'}, {'id': '522601', 'pid': '52undefined00', 'name': '凯里市'}, {'id': '522622', 'pid': '52undefined00', 'name': '黄平县'}, {'id': '522623', 'pid': '52undefined00', 'name': '施秉县'}, {'id': '522624', 'pid': '52undefined00', 'name': '三穗县'}, {'id': '522625', 'pid': '52undefined00', 'name': '镇远县'}, {'id': '522626', 'pid': '52undefined00', 'name': '岑巩县'}, {'id': '522627', 'pid': '52undefined00', 'name': '天柱县'}, {'id': '522628', 'pid': '52undefined00', 'name': '锦屏县'}, {'id': '522629', 'pid': '52undefined00', 'name': '剑河县'}, {'id': '522630', 'pid': '52undefined00', 'name': '台江县'}, { + 'id': '522631', + 'pid': '52undefined00', + 'name': '黎平县', +}, {'id': '522632', 'pid': '52undefined00', 'name': '榕江县'}, {'id': '522633', 'pid': '52undefined00', 'name': '从江县'}, {'id': '522634', 'pid': '52undefined00', 'name': '雷山县'}, {'id': '522635', 'pid': '52undefined00', 'name': '麻江县'}, {'id': '522636', 'pid': '52undefined00', 'name': '丹寨县'}, {'id': '522701', 'pid': '52undefined00', 'name': '都匀市'}, {'id': '522702', 'pid': '52undefined00', 'name': '福泉市'}, {'id': '522722', 'pid': '52undefined00', 'name': '荔波县'}, {'id': '522723', 'pid': '52undefined00', 'name': '贵定县'}, {'id': '522725', 'pid': '52undefined00', 'name': '瓮安县'}, {'id': '522726', 'pid': '52undefined00', 'name': '独山县'}, {'id': '522727', 'pid': '52undefined00', 'name': '平塘县'}, {'id': '522728', 'pid': '52undefined00', 'name': '罗甸县'}, {'id': '522729', 'pid': '52undefined00', 'name': '长顺县'}, {'id': '522730', 'pid': '52undefined00', 'name': '龙里县'}, {'id': '522731', 'pid': '52undefined00', 'name': '惠水县'}, { + 'id': '522732', + 'pid': '52undefined00', + 'name': '三都水族自治县', +}, {'id': '530102', 'pid': '53undefined00', 'name': '五华区'}, {'id': '530103', 'pid': '53undefined00', 'name': '盘龙区'}, {'id': '530111', 'pid': '53undefined00', 'name': '官渡区'}, {'id': '530112', 'pid': '53undefined00', 'name': '西山区'}, {'id': '530113', 'pid': '53undefined00', 'name': '东川区'}, {'id': '530114', 'pid': '53undefined00', 'name': '呈贡区'}, {'id': '530115', 'pid': '53undefined00', 'name': '晋宁区'}, {'id': '530124', 'pid': '53undefined00', 'name': '富民县'}, {'id': '530125', 'pid': '53undefined00', 'name': '宜良县'}, {'id': '530126', 'pid': '53undefined00', 'name': '石林彝族自治县'}, {'id': '530127', 'pid': '53undefined00', 'name': '嵩明县'}, {'id': '530128', 'pid': '53undefined00', 'name': '禄劝彝族苗族自治县'}, {'id': '530129', 'pid': '53undefined00', 'name': '寻甸回族彝族自治县'}, {'id': '530181', 'pid': '53undefined00', 'name': '安宁市'}, {'id': '530302', 'pid': '53undefined00', 'name': '麒麟区'}, { + 'id': '530303', + 'pid': '53undefined00', + 'name': '沾益区', +}, {'id': '530304', 'pid': '53undefined00', 'name': '马龙区'}, {'id': '530322', 'pid': '53undefined00', 'name': '陆良县'}, {'id': '530323', 'pid': '53undefined00', 'name': '师宗县'}, {'id': '530324', 'pid': '53undefined00', 'name': '罗平县'}, {'id': '530325', 'pid': '53undefined00', 'name': '富源县'}, {'id': '530326', 'pid': '53undefined00', 'name': '会泽县'}, {'id': '530381', 'pid': '53undefined00', 'name': '宣威市'}, {'id': '530402', 'pid': '53undefined00', 'name': '红塔区'}, {'id': '530403', 'pid': '53undefined00', 'name': '江川区'}, {'id': '530423', 'pid': '53undefined00', 'name': '通海县'}, {'id': '530424', 'pid': '53undefined00', 'name': '华宁县'}, {'id': '530425', 'pid': '53undefined00', 'name': '易门县'}, {'id': '530426', 'pid': '53undefined00', 'name': '峨山彝族自治县'}, {'id': '530427', 'pid': '53undefined00', 'name': '新平彝族傣族自治县'}, {'id': '530428', 'pid': '53undefined00', 'name': '元江哈尼族彝族傣族自治县'}, { + 'id': '530481', + 'pid': '53undefined00', + 'name': '澄江市', +}, {'id': '530502', 'pid': '53undefined00', 'name': '隆阳区'}, {'id': '530521', 'pid': '53undefined00', 'name': '施甸县'}, {'id': '530523', 'pid': '53undefined00', 'name': '龙陵县'}, {'id': '530524', 'pid': '53undefined00', 'name': '昌宁县'}, {'id': '530581', 'pid': '53undefined00', 'name': '腾冲市'}, {'id': '530602', 'pid': '53undefined00', 'name': '昭阳区'}, {'id': '530621', 'pid': '53undefined00', 'name': '鲁甸县'}, {'id': '530622', 'pid': '53undefined00', 'name': '巧家县'}, {'id': '530623', 'pid': '53undefined00', 'name': '盐津县'}, {'id': '530624', 'pid': '53undefined00', 'name': '大关县'}, {'id': '530625', 'pid': '53undefined00', 'name': '永善县'}, {'id': '530626', 'pid': '53undefined00', 'name': '绥江县'}, {'id': '530627', 'pid': '53undefined00', 'name': '镇雄县'}, {'id': '530628', 'pid': '53undefined00', 'name': '彝良县'}, {'id': '530629', 'pid': '53undefined00', 'name': '威信县'}, {'id': '530681', 'pid': '53undefined00', 'name': '水富市'}, { + 'id': '530702', + 'pid': '53undefined00', + 'name': '古城区', +}, {'id': '530721', 'pid': '53undefined00', 'name': '玉龙纳西族自治县'}, {'id': '530722', 'pid': '53undefined00', 'name': '永胜县'}, {'id': '530723', 'pid': '53undefined00', 'name': '华坪县'}, {'id': '530724', 'pid': '53undefined00', 'name': '宁蒗彝族自治县'}, {'id': '530802', 'pid': '53undefined00', 'name': '思茅区'}, {'id': '530821', 'pid': '53undefined00', 'name': '宁洱哈尼族彝族自治县'}, {'id': '530822', 'pid': '53undefined00', 'name': '墨江哈尼族自治县'}, {'id': '530823', 'pid': '53undefined00', 'name': '景东彝族自治县'}, {'id': '530824', 'pid': '53undefined00', 'name': '景谷傣族彝族自治县'}, {'id': '530825', 'pid': '53undefined00', 'name': '镇沅彝族哈尼族拉祜族自治县'}, {'id': '530826', 'pid': '53undefined00', 'name': '江城哈尼族彝族自治县'}, {'id': '530827', 'pid': '53undefined00', 'name': '孟连傣族拉祜族佤族自治县'}, {'id': '530828', 'pid': '53undefined00', 'name': '澜沧拉祜族自治县'}, {'id': '530829', 'pid': '53undefined00', 'name': '西盟佤族自治县'}, { + 'id': '530902', + 'pid': '53undefined00', + 'name': '临翔区', +}, {'id': '530921', 'pid': '53undefined00', 'name': '凤庆县'}, {'id': '530922', 'pid': '53undefined00', 'name': '云县'}, {'id': '530923', 'pid': '53undefined00', 'name': '永德县'}, {'id': '530924', 'pid': '53undefined00', 'name': '镇康县'}, {'id': '530925', 'pid': '53undefined00', 'name': '双江拉祜族佤族布朗族傣族自治县'}, {'id': '530926', 'pid': '53undefined00', 'name': '耿马傣族佤族自治县'}, {'id': '530927', 'pid': '53undefined00', 'name': '沧源佤族自治县'}, {'id': '532301', 'pid': '53undefined00', 'name': '楚雄市'}, {'id': '532322', 'pid': '53undefined00', 'name': '双柏县'}, {'id': '532323', 'pid': '53undefined00', 'name': '牟定县'}, {'id': '532324', 'pid': '53undefined00', 'name': '南华县'}, {'id': '532325', 'pid': '53undefined00', 'name': '姚安县'}, {'id': '532326', 'pid': '53undefined00', 'name': '大姚县'}, {'id': '532327', 'pid': '53undefined00', 'name': '永仁县'}, {'id': '532328', 'pid': '53undefined00', 'name': '元谋县'}, { + 'id': '532329', + 'pid': '53undefined00', + 'name': '武定县', +}, {'id': '532331', 'pid': '53undefined00', 'name': '禄丰县'}, {'id': '532501', 'pid': '53undefined00', 'name': '个旧市'}, {'id': '532502', 'pid': '53undefined00', 'name': '开远市'}, {'id': '532503', 'pid': '53undefined00', 'name': '蒙自市'}, {'id': '532504', 'pid': '53undefined00', 'name': '弥勒市'}, {'id': '532523', 'pid': '53undefined00', 'name': '屏边苗族自治县'}, {'id': '532524', 'pid': '53undefined00', 'name': '建水县'}, {'id': '532525', 'pid': '53undefined00', 'name': '石屏县'}, {'id': '532527', 'pid': '53undefined00', 'name': '泸西县'}, {'id': '532528', 'pid': '53undefined00', 'name': '元阳县'}, {'id': '532529', 'pid': '53undefined00', 'name': '红河县'}, {'id': '532530', 'pid': '53undefined00', 'name': '金平苗族瑶族傣族自治县'}, {'id': '532531', 'pid': '53undefined00', 'name': '绿春县'}, {'id': '532532', 'pid': '53undefined00', 'name': '河口瑶族自治县'}, {'id': '532601', 'pid': '53undefined00', 'name': '文山市'}, { + 'id': '532622', + 'pid': '53undefined00', + 'name': '砚山县', +}, {'id': '532623', 'pid': '53undefined00', 'name': '西畴县'}, {'id': '532624', 'pid': '53undefined00', 'name': '麻栗坡县'}, {'id': '532625', 'pid': '53undefined00', 'name': '马关县'}, {'id': '532626', 'pid': '53undefined00', 'name': '丘北县'}, {'id': '532627', 'pid': '53undefined00', 'name': '广南县'}, {'id': '532628', 'pid': '53undefined00', 'name': '富宁县'}, {'id': '532801', 'pid': '53undefined00', 'name': '景洪市'}, {'id': '532822', 'pid': '53undefined00', 'name': '勐海县'}, {'id': '532823', 'pid': '53undefined00', 'name': '勐腊县'}, {'id': '532901', 'pid': '53undefined00', 'name': '大理市'}, {'id': '532922', 'pid': '53undefined00', 'name': '漾濞彝族自治县'}, {'id': '532923', 'pid': '53undefined00', 'name': '祥云县'}, {'id': '532924', 'pid': '53undefined00', 'name': '宾川县'}, {'id': '532925', 'pid': '53undefined00', 'name': '弥渡县'}, {'id': '532926', 'pid': '53undefined00', 'name': '南涧彝族自治县'}, { + 'id': '532927', + 'pid': '53undefined00', + 'name': '巍山彝族回族自治县', +}, {'id': '532928', 'pid': '53undefined00', 'name': '永平县'}, {'id': '532929', 'pid': '53undefined00', 'name': '云龙县'}, {'id': '532930', 'pid': '53undefined00', 'name': '洱源县'}, {'id': '532931', 'pid': '53undefined00', 'name': '剑川县'}, {'id': '532932', 'pid': '53undefined00', 'name': '鹤庆县'}, {'id': '533102', 'pid': '53undefined00', 'name': '瑞丽市'}, {'id': '533103', 'pid': '53undefined00', 'name': '芒市'}, {'id': '533122', 'pid': '53undefined00', 'name': '梁河县'}, {'id': '533123', 'pid': '53undefined00', 'name': '盈江县'}, {'id': '533124', 'pid': '53undefined00', 'name': '陇川县'}, {'id': '533301', 'pid': '53undefined00', 'name': '泸水市'}, {'id': '533323', 'pid': '53undefined00', 'name': '福贡县'}, {'id': '533324', 'pid': '53undefined00', 'name': '贡山独龙族怒族自治县'}, {'id': '533325', 'pid': '53undefined00', 'name': '兰坪白族普米族自治县'}, {'id': '533401', 'pid': '53undefined00', 'name': '香格里拉市'}, { + 'id': '533422', + 'pid': '53undefined00', + 'name': '德钦县', +}, {'id': '533423', 'pid': '53undefined00', 'name': '维西傈僳族自治县'}, {'id': '540102', 'pid': '54undefined00', 'name': '城关区'}, {'id': '540103', 'pid': '54undefined00', 'name': '堆龙德庆区'}, {'id': '540104', 'pid': '54undefined00', 'name': '达孜区'}, {'id': '540121', 'pid': '54undefined00', 'name': '林周县'}, {'id': '540122', 'pid': '54undefined00', 'name': '当雄县'}, {'id': '540123', 'pid': '54undefined00', 'name': '尼木县'}, {'id': '540124', 'pid': '54undefined00', 'name': '曲水县'}, {'id': '540127', 'pid': '54undefined00', 'name': '墨竹工卡县'}, {'id': '540202', 'pid': '54undefined00', 'name': '桑珠孜区'}, {'id': '540221', 'pid': '54undefined00', 'name': '南木林县'}, {'id': '540222', 'pid': '54undefined00', 'name': '江孜县'}, {'id': '540223', 'pid': '54undefined00', 'name': '定日县'}, {'id': '540224', 'pid': '54undefined00', 'name': '萨迦县'}, {'id': '540225', 'pid': '54undefined00', 'name': '拉孜县'}, { + 'id': '540226', + 'pid': '54undefined00', + 'name': '昂仁县', +}, {'id': '540227', 'pid': '54undefined00', 'name': '谢通门县'}, {'id': '540228', 'pid': '54undefined00', 'name': '白朗县'}, {'id': '540229', 'pid': '54undefined00', 'name': '仁布县'}, {'id': '540230', 'pid': '54undefined00', 'name': '康马县'}, {'id': '540231', 'pid': '54undefined00', 'name': '定结县'}, {'id': '540232', 'pid': '54undefined00', 'name': '仲巴县'}, {'id': '540233', 'pid': '54undefined00', 'name': '亚东县'}, {'id': '540234', 'pid': '54undefined00', 'name': '吉隆县'}, {'id': '540235', 'pid': '54undefined00', 'name': '聂拉木县'}, {'id': '540236', 'pid': '54undefined00', 'name': '萨嘎县'}, {'id': '540237', 'pid': '54undefined00', 'name': '岗巴县'}, {'id': '540302', 'pid': '54undefined00', 'name': '卡若区'}, {'id': '540321', 'pid': '54undefined00', 'name': '江达县'}, {'id': '540322', 'pid': '54undefined00', 'name': '贡觉县'}, {'id': '540323', 'pid': '54undefined00', 'name': '类乌齐县'}, {'id': '540324', 'pid': '54undefined00', 'name': '丁青县'}, { + 'id': '540325', + 'pid': '54undefined00', + 'name': '察雅县', +}, {'id': '540326', 'pid': '54undefined00', 'name': '八宿县'}, {'id': '540327', 'pid': '54undefined00', 'name': '左贡县'}, {'id': '540328', 'pid': '54undefined00', 'name': '芒康县'}, {'id': '540329', 'pid': '54undefined00', 'name': '洛隆县'}, {'id': '540330', 'pid': '54undefined00', 'name': '边坝县'}, {'id': '540402', 'pid': '54undefined00', 'name': '巴宜区'}, {'id': '540421', 'pid': '54undefined00', 'name': '工布江达县'}, {'id': '540422', 'pid': '54undefined00', 'name': '米林县'}, {'id': '540423', 'pid': '54undefined00', 'name': '墨脱县'}, {'id': '540424', 'pid': '54undefined00', 'name': '波密县'}, {'id': '540425', 'pid': '54undefined00', 'name': '察隅县'}, {'id': '540426', 'pid': '54undefined00', 'name': '朗县'}, {'id': '540502', 'pid': '54undefined00', 'name': '乃东区'}, {'id': '540521', 'pid': '54undefined00', 'name': '扎囊县'}, {'id': '540522', 'pid': '54undefined00', 'name': '贡嘎县'}, {'id': '540523', 'pid': '54undefined00', 'name': '桑日县'}, { + 'id': '540524', + 'pid': '54undefined00', + 'name': '琼结县', +}, {'id': '540525', 'pid': '54undefined00', 'name': '曲松县'}, {'id': '540526', 'pid': '54undefined00', 'name': '措美县'}, {'id': '540527', 'pid': '54undefined00', 'name': '洛扎县'}, {'id': '540528', 'pid': '54undefined00', 'name': '加查县'}, {'id': '540529', 'pid': '54undefined00', 'name': '隆子县'}, {'id': '540530', 'pid': '54undefined00', 'name': '错那县'}, {'id': '540531', 'pid': '54undefined00', 'name': '浪卡子县'}, {'id': '540602', 'pid': '54undefined00', 'name': '色尼区'}, {'id': '540621', 'pid': '54undefined00', 'name': '嘉黎县'}, {'id': '540622', 'pid': '54undefined00', 'name': '比如县'}, {'id': '540623', 'pid': '54undefined00', 'name': '聂荣县'}, {'id': '540624', 'pid': '54undefined00', 'name': '安多县'}, {'id': '540625', 'pid': '54undefined00', 'name': '申扎县'}, {'id': '540626', 'pid': '54undefined00', 'name': '索县'}, {'id': '540627', 'pid': '54undefined00', 'name': '班戈县'}, {'id': '540628', 'pid': '54undefined00', 'name': '巴青县'}, { + 'id': '540629', + 'pid': '54undefined00', + 'name': '尼玛县', +}, {'id': '540630', 'pid': '54undefined00', 'name': '双湖县'}, {'id': '542521', 'pid': '54undefined00', 'name': '普兰县'}, {'id': '542522', 'pid': '54undefined00', 'name': '札达县'}, {'id': '542523', 'pid': '54undefined00', 'name': '噶尔县'}, {'id': '542524', 'pid': '54undefined00', 'name': '日土县'}, {'id': '542525', 'pid': '54undefined00', 'name': '革吉县'}, {'id': '542526', 'pid': '54undefined00', 'name': '改则县'}, {'id': '542527', 'pid': '54undefined00', 'name': '措勤县'}, {'id': '610102', 'pid': '61undefined00', 'name': '新城区'}, {'id': '610103', 'pid': '61undefined00', 'name': '碑林区'}, {'id': '610104', 'pid': '61undefined00', 'name': '莲湖区'}, {'id': '610111', 'pid': '61undefined00', 'name': '灞桥区'}, {'id': '610112', 'pid': '61undefined00', 'name': '未央区'}, {'id': '610113', 'pid': '61undefined00', 'name': '雁塔区'}, {'id': '610114', 'pid': '61undefined00', 'name': '阎良区'}, {'id': '610115', 'pid': '61undefined00', 'name': '临潼区'}, { + 'id': '610116', + 'pid': '61undefined00', + 'name': '长安区', +}, {'id': '610117', 'pid': '61undefined00', 'name': '高陵区'}, {'id': '610118', 'pid': '61undefined00', 'name': '鄠邑区'}, {'id': '610122', 'pid': '61undefined00', 'name': '蓝田县'}, {'id': '610124', 'pid': '61undefined00', 'name': '周至县'}, {'id': '610202', 'pid': '61undefined00', 'name': '王益区'}, {'id': '610203', 'pid': '61undefined00', 'name': '印台区'}, {'id': '610204', 'pid': '61undefined00', 'name': '耀州区'}, {'id': '610222', 'pid': '61undefined00', 'name': '宜君县'}, {'id': '610302', 'pid': '61undefined00', 'name': '渭滨区'}, {'id': '610303', 'pid': '61undefined00', 'name': '金台区'}, {'id': '610304', 'pid': '61undefined00', 'name': '陈仓区'}, {'id': '610322', 'pid': '61undefined00', 'name': '凤翔县'}, {'id': '610323', 'pid': '61undefined00', 'name': '岐山县'}, {'id': '610324', 'pid': '61undefined00', 'name': '扶风县'}, {'id': '610326', 'pid': '61undefined00', 'name': '眉县'}, {'id': '610327', 'pid': '61undefined00', 'name': '陇县'}, { + 'id': '610328', + 'pid': '61undefined00', + 'name': '千阳县', +}, {'id': '610329', 'pid': '61undefined00', 'name': '麟游县'}, {'id': '610330', 'pid': '61undefined00', 'name': '凤县'}, {'id': '610331', 'pid': '61undefined00', 'name': '太白县'}, {'id': '610402', 'pid': '61undefined00', 'name': '秦都区'}, {'id': '610403', 'pid': '61undefined00', 'name': '杨陵区'}, {'id': '610404', 'pid': '61undefined00', 'name': '渭城区'}, {'id': '610422', 'pid': '61undefined00', 'name': '三原县'}, {'id': '610423', 'pid': '61undefined00', 'name': '泾阳县'}, {'id': '610424', 'pid': '61undefined00', 'name': '乾县'}, {'id': '610425', 'pid': '61undefined00', 'name': '礼泉县'}, {'id': '610426', 'pid': '61undefined00', 'name': '永寿县'}, {'id': '610428', 'pid': '61undefined00', 'name': '长武县'}, {'id': '610429', 'pid': '61undefined00', 'name': '旬邑县'}, {'id': '610430', 'pid': '61undefined00', 'name': '淳化县'}, {'id': '610431', 'pid': '61undefined00', 'name': '武功县'}, {'id': '610481', 'pid': '61undefined00', 'name': '兴平市'}, { + 'id': '610482', + 'pid': '61undefined00', + 'name': '彬州市', +}, {'id': '610502', 'pid': '61undefined00', 'name': '临渭区'}, {'id': '610503', 'pid': '61undefined00', 'name': '华州区'}, {'id': '610522', 'pid': '61undefined00', 'name': '潼关县'}, {'id': '610523', 'pid': '61undefined00', 'name': '大荔县'}, {'id': '610524', 'pid': '61undefined00', 'name': '合阳县'}, {'id': '610525', 'pid': '61undefined00', 'name': '澄城县'}, {'id': '610526', 'pid': '61undefined00', 'name': '蒲城县'}, {'id': '610527', 'pid': '61undefined00', 'name': '白水县'}, {'id': '610528', 'pid': '61undefined00', 'name': '富平县'}, {'id': '610581', 'pid': '61undefined00', 'name': '韩城市'}, {'id': '610582', 'pid': '61undefined00', 'name': '华阴市'}, {'id': '610602', 'pid': '61undefined00', 'name': '宝塔区'}, {'id': '610603', 'pid': '61undefined00', 'name': '安塞区'}, {'id': '610621', 'pid': '61undefined00', 'name': '延长县'}, {'id': '610622', 'pid': '61undefined00', 'name': '延川县'}, {'id': '610625', 'pid': '61undefined00', 'name': '志丹县'}, { + 'id': '610626', + 'pid': '61undefined00', + 'name': '吴起县', +}, {'id': '610627', 'pid': '61undefined00', 'name': '甘泉县'}, {'id': '610628', 'pid': '61undefined00', 'name': '富县'}, {'id': '610629', 'pid': '61undefined00', 'name': '洛川县'}, {'id': '610630', 'pid': '61undefined00', 'name': '宜川县'}, {'id': '610631', 'pid': '61undefined00', 'name': '黄龙县'}, {'id': '610632', 'pid': '61undefined00', 'name': '黄陵县'}, {'id': '610681', 'pid': '61undefined00', 'name': '子长市'}, {'id': '610702', 'pid': '61undefined00', 'name': '汉台区'}, {'id': '610703', 'pid': '61undefined00', 'name': '南郑区'}, {'id': '610722', 'pid': '61undefined00', 'name': '城固县'}, {'id': '610723', 'pid': '61undefined00', 'name': '洋县'}, {'id': '610724', 'pid': '61undefined00', 'name': '西乡县'}, {'id': '610725', 'pid': '61undefined00', 'name': '勉县'}, {'id': '610726', 'pid': '61undefined00', 'name': '宁强县'}, {'id': '610727', 'pid': '61undefined00', 'name': '略阳县'}, {'id': '610728', 'pid': '61undefined00', 'name': '镇巴县'}, { + 'id': '610729', + 'pid': '61undefined00', + 'name': '留坝县', +}, {'id': '610730', 'pid': '61undefined00', 'name': '佛坪县'}, {'id': '610802', 'pid': '61undefined00', 'name': '榆阳区'}, {'id': '610803', 'pid': '61undefined00', 'name': '横山区'}, {'id': '610822', 'pid': '61undefined00', 'name': '府谷县'}, {'id': '610824', 'pid': '61undefined00', 'name': '靖边县'}, {'id': '610825', 'pid': '61undefined00', 'name': '定边县'}, {'id': '610826', 'pid': '61undefined00', 'name': '绥德县'}, {'id': '610827', 'pid': '61undefined00', 'name': '米脂县'}, {'id': '610828', 'pid': '61undefined00', 'name': '佳县'}, {'id': '610829', 'pid': '61undefined00', 'name': '吴堡县'}, {'id': '610830', 'pid': '61undefined00', 'name': '清涧县'}, {'id': '610831', 'pid': '61undefined00', 'name': '子洲县'}, {'id': '610881', 'pid': '61undefined00', 'name': '神木市'}, {'id': '610902', 'pid': '61undefined00', 'name': '汉滨区'}, {'id': '610921', 'pid': '61undefined00', 'name': '汉阴县'}, {'id': '610922', 'pid': '61undefined00', 'name': '石泉县'}, { + 'id': '610923', + 'pid': '61undefined00', + 'name': '宁陕县', +}, {'id': '610924', 'pid': '61undefined00', 'name': '紫阳县'}, {'id': '610925', 'pid': '61undefined00', 'name': '岚皋县'}, {'id': '610926', 'pid': '61undefined00', 'name': '平利县'}, {'id': '610927', 'pid': '61undefined00', 'name': '镇坪县'}, {'id': '610928', 'pid': '61undefined00', 'name': '旬阳县'}, {'id': '610929', 'pid': '61undefined00', 'name': '白河县'}, {'id': '611002', 'pid': '61undefined00', 'name': '商州区'}, {'id': '611021', 'pid': '61undefined00', 'name': '洛南县'}, {'id': '611022', 'pid': '61undefined00', 'name': '丹凤县'}, {'id': '611023', 'pid': '61undefined00', 'name': '商南县'}, {'id': '611024', 'pid': '61undefined00', 'name': '山阳县'}, {'id': '611025', 'pid': '61undefined00', 'name': '镇安县'}, {'id': '611026', 'pid': '61undefined00', 'name': '柞水县'}, {'id': '620102', 'pid': '62undefined00', 'name': '城关区'}, {'id': '620103', 'pid': '62undefined00', 'name': '七里河区'}, {'id': '620104', 'pid': '62undefined00', 'name': '西固区'}, { + 'id': '620105', + 'pid': '62undefined00', + 'name': '安宁区', +}, {'id': '620111', 'pid': '62undefined00', 'name': '红古区'}, {'id': '620121', 'pid': '62undefined00', 'name': '永登县'}, {'id': '620122', 'pid': '62undefined00', 'name': '皋兰县'}, {'id': '620123', 'pid': '62undefined00', 'name': '榆中县'}, {'id': '620302', 'pid': '62undefined00', 'name': '金川区'}, {'id': '620321', 'pid': '62undefined00', 'name': '永昌县'}, {'id': '620402', 'pid': '62undefined00', 'name': '白银区'}, {'id': '620403', 'pid': '62undefined00', 'name': '平川区'}, {'id': '620421', 'pid': '62undefined00', 'name': '靖远县'}, {'id': '620422', 'pid': '62undefined00', 'name': '会宁县'}, {'id': '620423', 'pid': '62undefined00', 'name': '景泰县'}, {'id': '620502', 'pid': '62undefined00', 'name': '秦州区'}, {'id': '620503', 'pid': '62undefined00', 'name': '麦积区'}, {'id': '620521', 'pid': '62undefined00', 'name': '清水县'}, {'id': '620522', 'pid': '62undefined00', 'name': '秦安县'}, {'id': '620523', 'pid': '62undefined00', 'name': '甘谷县'}, { + 'id': '620524', + 'pid': '62undefined00', + 'name': '武山县', +}, {'id': '620525', 'pid': '62undefined00', 'name': '张家川回族自治县'}, {'id': '620602', 'pid': '62undefined00', 'name': '凉州区'}, {'id': '620621', 'pid': '62undefined00', 'name': '民勤县'}, {'id': '620622', 'pid': '62undefined00', 'name': '古浪县'}, {'id': '620623', 'pid': '62undefined00', 'name': '天祝藏族自治县'}, {'id': '620702', 'pid': '62undefined00', 'name': '甘州区'}, {'id': '620721', 'pid': '62undefined00', 'name': '肃南裕固族自治县'}, {'id': '620722', 'pid': '62undefined00', 'name': '民乐县'}, {'id': '620723', 'pid': '62undefined00', 'name': '临泽县'}, {'id': '620724', 'pid': '62undefined00', 'name': '高台县'}, {'id': '620725', 'pid': '62undefined00', 'name': '山丹县'}, {'id': '620802', 'pid': '62undefined00', 'name': '崆峒区'}, {'id': '620821', 'pid': '62undefined00', 'name': '泾川县'}, {'id': '620822', 'pid': '62undefined00', 'name': '灵台县'}, {'id': '620823', 'pid': '62undefined00', 'name': '崇信县'}, { + 'id': '620825', + 'pid': '62undefined00', + 'name': '庄浪县', +}, {'id': '620826', 'pid': '62undefined00', 'name': '静宁县'}, {'id': '620881', 'pid': '62undefined00', 'name': '华亭市'}, {'id': '620902', 'pid': '62undefined00', 'name': '肃州区'}, {'id': '620921', 'pid': '62undefined00', 'name': '金塔县'}, {'id': '620922', 'pid': '62undefined00', 'name': '瓜州县'}, {'id': '620923', 'pid': '62undefined00', 'name': '肃北蒙古族自治县'}, {'id': '620924', 'pid': '62undefined00', 'name': '阿克塞哈萨克族自治县'}, {'id': '620981', 'pid': '62undefined00', 'name': '玉门市'}, {'id': '620982', 'pid': '62undefined00', 'name': '敦煌市'}, {'id': '621002', 'pid': '62undefined00', 'name': '西峰区'}, {'id': '621021', 'pid': '62undefined00', 'name': '庆城县'}, {'id': '621022', 'pid': '62undefined00', 'name': '环县'}, {'id': '621023', 'pid': '62undefined00', 'name': '华池县'}, {'id': '621024', 'pid': '62undefined00', 'name': '合水县'}, {'id': '621025', 'pid': '62undefined00', 'name': '正宁县'}, {'id': '621026', 'pid': '62undefined00', 'name': '宁县'}, { + 'id': '621027', + 'pid': '62undefined00', + 'name': '镇原县', +}, {'id': '621102', 'pid': '62undefined00', 'name': '安定区'}, {'id': '621121', 'pid': '62undefined00', 'name': '通渭县'}, {'id': '621122', 'pid': '62undefined00', 'name': '陇西县'}, {'id': '621123', 'pid': '62undefined00', 'name': '渭源县'}, {'id': '621124', 'pid': '62undefined00', 'name': '临洮县'}, {'id': '621125', 'pid': '62undefined00', 'name': '漳县'}, {'id': '621126', 'pid': '62undefined00', 'name': '岷县'}, {'id': '621202', 'pid': '62undefined00', 'name': '武都区'}, {'id': '621221', 'pid': '62undefined00', 'name': '成县'}, {'id': '621222', 'pid': '62undefined00', 'name': '文县'}, {'id': '621223', 'pid': '62undefined00', 'name': '宕昌县'}, {'id': '621224', 'pid': '62undefined00', 'name': '康县'}, {'id': '621225', 'pid': '62undefined00', 'name': '西和县'}, {'id': '621226', 'pid': '62undefined00', 'name': '礼县'}, {'id': '621227', 'pid': '62undefined00', 'name': '徽县'}, {'id': '621228', 'pid': '62undefined00', 'name': '两当县'}, { + 'id': '622901', + 'pid': '62undefined00', + 'name': '临夏市', +}, {'id': '622921', 'pid': '62undefined00', 'name': '临夏县'}, {'id': '622922', 'pid': '62undefined00', 'name': '康乐县'}, {'id': '622923', 'pid': '62undefined00', 'name': '永靖县'}, {'id': '622924', 'pid': '62undefined00', 'name': '广河县'}, {'id': '622925', 'pid': '62undefined00', 'name': '和政县'}, {'id': '622926', 'pid': '62undefined00', 'name': '东乡族自治县'}, {'id': '622927', 'pid': '62undefined00', 'name': '积石山保安族东乡族撒拉族自治县'}, {'id': '623001', 'pid': '62undefined00', 'name': '合作市'}, {'id': '623021', 'pid': '62undefined00', 'name': '临潭县'}, {'id': '623022', 'pid': '62undefined00', 'name': '卓尼县'}, {'id': '623023', 'pid': '62undefined00', 'name': '舟曲县'}, {'id': '623024', 'pid': '62undefined00', 'name': '迭部县'}, {'id': '623025', 'pid': '62undefined00', 'name': '玛曲县'}, {'id': '623026', 'pid': '62undefined00', 'name': '碌曲县'}, {'id': '623027', 'pid': '62undefined00', 'name': '夏河县'}, { + 'id': '630102', + 'pid': '63undefined00', + 'name': '城东区', +}, {'id': '630103', 'pid': '63undefined00', 'name': '城中区'}, {'id': '630104', 'pid': '63undefined00', 'name': '城西区'}, {'id': '630105', 'pid': '63undefined00', 'name': '城北区'}, {'id': '630106', 'pid': '63undefined00', 'name': '湟中区'}, {'id': '630121', 'pid': '63undefined00', 'name': '大通回族土族自治县'}, {'id': '630123', 'pid': '63undefined00', 'name': '湟源县'}, {'id': '630202', 'pid': '63undefined00', 'name': '乐都区'}, {'id': '630203', 'pid': '63undefined00', 'name': '平安区'}, {'id': '630222', 'pid': '63undefined00', 'name': '民和回族土族自治县'}, {'id': '630223', 'pid': '63undefined00', 'name': '互助土族自治县'}, {'id': '630224', 'pid': '63undefined00', 'name': '化隆回族自治县'}, {'id': '630225', 'pid': '63undefined00', 'name': '循化撒拉族自治县'}, {'id': '632221', 'pid': '63undefined00', 'name': '门源回族自治县'}, {'id': '632222', 'pid': '63undefined00', 'name': '祁连县'}, {'id': '632223', 'pid': '63undefined00', 'name': '海晏县'}, { + 'id': '632224', + 'pid': '63undefined00', + 'name': '刚察县', +}, {'id': '632301', 'pid': '63undefined00', 'name': '同仁市'}, {'id': '632322', 'pid': '63undefined00', 'name': '尖扎县'}, {'id': '632323', 'pid': '63undefined00', 'name': '泽库县'}, {'id': '632324', 'pid': '63undefined00', 'name': '河南蒙古族自治县'}, {'id': '632521', 'pid': '63undefined00', 'name': '共和县'}, {'id': '632522', 'pid': '63undefined00', 'name': '同德县'}, {'id': '632523', 'pid': '63undefined00', 'name': '贵德县'}, {'id': '632524', 'pid': '63undefined00', 'name': '兴海县'}, {'id': '632525', 'pid': '63undefined00', 'name': '贵南县'}, {'id': '632621', 'pid': '63undefined00', 'name': '玛沁县'}, {'id': '632622', 'pid': '63undefined00', 'name': '班玛县'}, {'id': '632623', 'pid': '63undefined00', 'name': '甘德县'}, {'id': '632624', 'pid': '63undefined00', 'name': '达日县'}, {'id': '632625', 'pid': '63undefined00', 'name': '久治县'}, {'id': '632626', 'pid': '63undefined00', 'name': '玛多县'}, {'id': '632701', 'pid': '63undefined00', 'name': '玉树市'}, { + 'id': '632722', + 'pid': '63undefined00', + 'name': '杂多县', +}, {'id': '632723', 'pid': '63undefined00', 'name': '称多县'}, {'id': '632724', 'pid': '63undefined00', 'name': '治多县'}, {'id': '632725', 'pid': '63undefined00', 'name': '囊谦县'}, {'id': '632726', 'pid': '63undefined00', 'name': '曲麻莱县'}, {'id': '632801', 'pid': '63undefined00', 'name': '格尔木市'}, {'id': '632802', 'pid': '63undefined00', 'name': '德令哈市'}, {'id': '632803', 'pid': '63undefined00', 'name': '茫崖市'}, {'id': '632821', 'pid': '63undefined00', 'name': '乌兰县'}, {'id': '632822', 'pid': '63undefined00', 'name': '都兰县'}, {'id': '632823', 'pid': '63undefined00', 'name': '天峻县'}, {'id': '640104', 'pid': '64undefined00', 'name': '兴庆区'}, {'id': '640105', 'pid': '64undefined00', 'name': '西夏区'}, {'id': '640106', 'pid': '64undefined00', 'name': '金凤区'}, {'id': '640121', 'pid': '64undefined00', 'name': '永宁县'}, {'id': '640122', 'pid': '64undefined00', 'name': '贺兰县'}, {'id': '640181', 'pid': '64undefined00', 'name': '灵武市'}, { + 'id': '640202', + 'pid': '64undefined00', + 'name': '大武口区', +}, {'id': '640205', 'pid': '64undefined00', 'name': '惠农区'}, {'id': '640221', 'pid': '64undefined00', 'name': '平罗县'}, {'id': '640302', 'pid': '64undefined00', 'name': '利通区'}, {'id': '640303', 'pid': '64undefined00', 'name': '红寺堡区'}, {'id': '640323', 'pid': '64undefined00', 'name': '盐池县'}, {'id': '640324', 'pid': '64undefined00', 'name': '同心县'}, {'id': '640381', 'pid': '64undefined00', 'name': '青铜峡市'}, {'id': '640402', 'pid': '64undefined00', 'name': '原州区'}, {'id': '640422', 'pid': '64undefined00', 'name': '西吉县'}, {'id': '640423', 'pid': '64undefined00', 'name': '隆德县'}, {'id': '640424', 'pid': '64undefined00', 'name': '泾源县'}, {'id': '640425', 'pid': '64undefined00', 'name': '彭阳县'}, {'id': '640502', 'pid': '64undefined00', 'name': '沙坡头区'}, {'id': '640521', 'pid': '64undefined00', 'name': '中宁县'}, {'id': '640522', 'pid': '64undefined00', 'name': '海原县'}, {'id': '650102', 'pid': '65undefined00', 'name': '天山区'}, { + 'id': '650103', + 'pid': '65undefined00', + 'name': '沙依巴克区', +}, {'id': '650104', 'pid': '65undefined00', 'name': '新市区'}, {'id': '650105', 'pid': '65undefined00', 'name': '水磨沟区'}, {'id': '650106', 'pid': '65undefined00', 'name': '头屯河区'}, {'id': '650107', 'pid': '65undefined00', 'name': '达坂城区'}, {'id': '650109', 'pid': '65undefined00', 'name': '米东区'}, {'id': '650121', 'pid': '65undefined00', 'name': '乌鲁木齐县'}, {'id': '650202', 'pid': '65undefined00', 'name': '独山子区'}, {'id': '650203', 'pid': '65undefined00', 'name': '克拉玛依区'}, {'id': '650204', 'pid': '65undefined00', 'name': '白碱滩区'}, {'id': '650205', 'pid': '65undefined00', 'name': '乌尔禾区'}, {'id': '650402', 'pid': '65undefined00', 'name': '高昌区'}, {'id': '650421', 'pid': '65undefined00', 'name': '鄯善县'}, {'id': '650422', 'pid': '65undefined00', 'name': '托克逊县'}, {'id': '650502', 'pid': '65undefined00', 'name': '伊州区'}, {'id': '650521', 'pid': '65undefined00', 'name': '巴里坤哈萨克自治县'}, { + 'id': '650522', + 'pid': '65undefined00', + 'name': '伊吾县', +}, {'id': '652301', 'pid': '65undefined00', 'name': '昌吉市'}, {'id': '652302', 'pid': '65undefined00', 'name': '阜康市'}, {'id': '652323', 'pid': '65undefined00', 'name': '呼图壁县'}, {'id': '652324', 'pid': '65undefined00', 'name': '玛纳斯县'}, {'id': '652325', 'pid': '65undefined00', 'name': '奇台县'}, {'id': '652327', 'pid': '65undefined00', 'name': '吉木萨尔县'}, {'id': '652328', 'pid': '65undefined00', 'name': '木垒哈萨克自治县'}, {'id': '652701', 'pid': '65undefined00', 'name': '博乐市'}, {'id': '652702', 'pid': '65undefined00', 'name': '阿拉山口市'}, {'id': '652722', 'pid': '65undefined00', 'name': '精河县'}, {'id': '652723', 'pid': '65undefined00', 'name': '温泉县'}, {'id': '652801', 'pid': '65undefined00', 'name': '库尔勒市'}, {'id': '652822', 'pid': '65undefined00', 'name': '轮台县'}, {'id': '652823', 'pid': '65undefined00', 'name': '尉犁县'}, {'id': '652824', 'pid': '65undefined00', 'name': '若羌县'}, { + 'id': '652825', + 'pid': '65undefined00', + 'name': '且末县', +}, {'id': '652826', 'pid': '65undefined00', 'name': '焉耆回族自治县'}, {'id': '652827', 'pid': '65undefined00', 'name': '和静县'}, {'id': '652828', 'pid': '65undefined00', 'name': '和硕县'}, {'id': '652829', 'pid': '65undefined00', 'name': '博湖县'}, {'id': '652901', 'pid': '65undefined00', 'name': '阿克苏市'}, {'id': '652902', 'pid': '65undefined00', 'name': '库车市'}, {'id': '652922', 'pid': '65undefined00', 'name': '温宿县'}, {'id': '652924', 'pid': '65undefined00', 'name': '沙雅县'}, {'id': '652925', 'pid': '65undefined00', 'name': '新和县'}, {'id': '652926', 'pid': '65undefined00', 'name': '拜城县'}, {'id': '652927', 'pid': '65undefined00', 'name': '乌什县'}, {'id': '652928', 'pid': '65undefined00', 'name': '阿瓦提县'}, {'id': '652929', 'pid': '65undefined00', 'name': '柯坪县'}, {'id': '653001', 'pid': '65undefined00', 'name': '阿图什市'}, {'id': '653022', 'pid': '65undefined00', 'name': '阿克陶县'}, {'id': '653023', 'pid': '65undefined00', 'name': '阿合奇县'}, { + 'id': '653024', + 'pid': '65undefined00', + 'name': '乌恰县', +}, {'id': '653101', 'pid': '65undefined00', 'name': '喀什市'}, {'id': '653121', 'pid': '65undefined00', 'name': '疏附县'}, {'id': '653122', 'pid': '65undefined00', 'name': '疏勒县'}, {'id': '653123', 'pid': '65undefined00', 'name': '英吉沙县'}, {'id': '653124', 'pid': '65undefined00', 'name': '泽普县'}, {'id': '653125', 'pid': '65undefined00', 'name': '莎车县'}, {'id': '653126', 'pid': '65undefined00', 'name': '叶城县'}, {'id': '653127', 'pid': '65undefined00', 'name': '麦盖提县'}, {'id': '653128', 'pid': '65undefined00', 'name': '岳普湖县'}, {'id': '653129', 'pid': '65undefined00', 'name': '伽师县'}, {'id': '653130', 'pid': '65undefined00', 'name': '巴楚县'}, {'id': '653131', 'pid': '65undefined00', 'name': '塔什库尔干塔吉克自治县'}, {'id': '653201', 'pid': '65undefined00', 'name': '和田市'}, {'id': '653221', 'pid': '65undefined00', 'name': '和田县'}, {'id': '653222', 'pid': '65undefined00', 'name': '墨玉县'}, { + 'id': '653223', + 'pid': '65undefined00', + 'name': '皮山县', +}, {'id': '653224', 'pid': '65undefined00', 'name': '洛浦县'}, {'id': '653225', 'pid': '65undefined00', 'name': '策勒县'}, {'id': '653226', 'pid': '65undefined00', 'name': '于田县'}, {'id': '653227', 'pid': '65undefined00', 'name': '民丰县'}, {'id': '654002', 'pid': '65undefined00', 'name': '伊宁市'}, {'id': '654003', 'pid': '65undefined00', 'name': '奎屯市'}, {'id': '654004', 'pid': '65undefined00', 'name': '霍尔果斯市'}, {'id': '654021', 'pid': '65undefined00', 'name': '伊宁县'}, {'id': '654022', 'pid': '65undefined00', 'name': '察布查尔锡伯自治县'}, {'id': '654023', 'pid': '65undefined00', 'name': '霍城县'}, {'id': '654024', 'pid': '65undefined00', 'name': '巩留县'}, {'id': '654025', 'pid': '65undefined00', 'name': '新源县'}, {'id': '654026', 'pid': '65undefined00', 'name': '昭苏县'}, {'id': '654027', 'pid': '65undefined00', 'name': '特克斯县'}, {'id': '654028', 'pid': '65undefined00', 'name': '尼勒克县'}, {'id': '654201', 'pid': '65undefined00', 'name': '塔城市'}, { + 'id': '654202', + 'pid': '65undefined00', + 'name': '乌苏市', +}, {'id': '654221', 'pid': '65undefined00', 'name': '额敏县'}, {'id': '654223', 'pid': '65undefined00', 'name': '沙湾县'}, {'id': '654224', 'pid': '65undefined00', 'name': '托里县'}, {'id': '654225', 'pid': '65undefined00', 'name': '裕民县'}, {'id': '654226', 'pid': '65undefined00', 'name': '和布克赛尔蒙古自治县'}, {'id': '654301', 'pid': '65undefined00', 'name': '阿勒泰市'}, {'id': '654321', 'pid': '65undefined00', 'name': '布尔津县'}, {'id': '654322', 'pid': '65undefined00', 'name': '富蕴县'}, {'id': '654323', 'pid': '65undefined00', 'name': '福海县'}, {'id': '654324', 'pid': '65undefined00', 'name': '哈巴河县'}, {'id': '654325', 'pid': '65undefined00', 'name': '青河县'}, {'id': '654326', 'pid': '65undefined00', 'name': '吉木乃县'}, {'id': '659001', 'pid': '65undefined00', 'name': '石河子市'}, {'id': '659002', 'pid': '65undefined00', 'name': '阿拉尔市'}, {'id': '659003', 'pid': '65undefined00', 'name': '图木舒克市'}, { + 'id': '659004', + 'pid': '65undefined00', + 'name': '五家渠市', +}, {'id': '659005', 'pid': '65undefined00', 'name': '北屯市'}, {'id': '659006', 'pid': '65undefined00', 'name': '铁门关市'}, {'id': '659007', 'pid': '65undefined00', 'name': '双河市'}, {'id': '659008', 'pid': '65undefined00', 'name': '可克达拉市'}, {'id': '659009', 'pid': '65undefined00', 'name': '昆玉市'}, {'id': '659010', 'pid': '65undefined00', 'name': '胡杨河市'}, {'id': '659011', 'pid': '65undefined00', 'name': '新星市'}, {'id': '460321', 'pid': '46undefined00', 'name': '西沙群岛'}, {'id': '460322', 'pid': '46undefined00', 'name': '南沙群岛'}, {'id': '460323', 'pid': '46undefined00', 'name': '中沙群岛的岛礁及其海域'}, {'id': '130101', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130171', 'pid': '13undefined00', 'name': '石家庄高新技术产业开发区'}, {'id': '130172', 'pid': '13undefined00', 'name': '石家庄循环化工园区'}, {'id': '130201', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130271', 'pid': '13undefined00', 'name': '河北唐山芦台经济开发区'}, { + 'id': '130272', + 'pid': '13undefined00', + 'name': '唐山市汉沽管理区', +}, {'id': '130273', 'pid': '13undefined00', 'name': '唐山高新技术产业开发区'}, {'id': '130274', 'pid': '13undefined00', 'name': '河北唐山海港经济开发区'}, {'id': '130301', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130371', 'pid': '13undefined00', 'name': '秦皇岛市经济技术开发区'}, {'id': '130372', 'pid': '13undefined00', 'name': '北戴河新区'}, {'id': '130401', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130471', 'pid': '13undefined00', 'name': '邯郸经济技术开发区'}, {'id': '130473', 'pid': '13undefined00', 'name': '邯郸冀南新区'}, {'id': '130501', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130571', 'pid': '13undefined00', 'name': '河北邢台经济开发区'}, {'id': '130601', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130671', 'pid': '13undefined00', 'name': '保定高新技术产业开发区'}, {'id': '130672', 'pid': '13undefined00', 'name': '保定白沟新城'}, {'id': '130701', 'pid': '13undefined00', 'name': '市辖区'}, { + 'id': '130771', + 'pid': '13undefined00', + 'name': '张家口经济开发区', +}, {'id': '130772', 'pid': '13undefined00', 'name': '张家口市察北管理区'}, {'id': '130773', 'pid': '13undefined00', 'name': '张家口市塞北管理区'}, {'id': '130801', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130871', 'pid': '13undefined00', 'name': '承德高新技术产业开发区'}, {'id': '130901', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '130971', 'pid': '13undefined00', 'name': '河北沧州经济开发区'}, {'id': '130972', 'pid': '13undefined00', 'name': '沧州高新技术产业开发区'}, {'id': '130973', 'pid': '13undefined00', 'name': '沧州渤海新区'}, {'id': '131001', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '131071', 'pid': '13undefined00', 'name': '廊坊经济技术开发区'}, {'id': '131101', 'pid': '13undefined00', 'name': '市辖区'}, {'id': '131171', 'pid': '13undefined00', 'name': '河北衡水高新技术产业开发区'}, {'id': '131172', 'pid': '13undefined00', 'name': '衡水滨湖新区'}, {'id': '140101', 'pid': '14undefined00', 'name': '市辖区'}, { + 'id': '140171', + 'pid': '14undefined00', + 'name': '山西转型综合改革示范区', +}, {'id': '140201', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140271', 'pid': '14undefined00', 'name': '山西大同经济开发区'}, {'id': '140301', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140401', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140471', 'pid': '14undefined00', 'name': '山西长治高新技术产业园区'}, {'id': '140501', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140601', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140671', 'pid': '14undefined00', 'name': '山西朔州经济开发区'}, {'id': '140701', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140801', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140901', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '140971', 'pid': '14undefined00', 'name': '五台山风景名胜区'}, {'id': '141001', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '141101', 'pid': '14undefined00', 'name': '市辖区'}, {'id': '150101', 'pid': '15undefined00', 'name': '市辖区'}, { + 'id': '150172', + 'pid': '15undefined00', + 'name': '呼和浩特经济技术开发区', +}, {'id': '150201', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150271', 'pid': '15undefined00', 'name': '包头稀土高新技术产业开发区'}, {'id': '150301', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150401', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150501', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150571', 'pid': '15undefined00', 'name': '通辽经济技术开发区'}, {'id': '150601', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150701', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150801', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '150901', 'pid': '15undefined00', 'name': '市辖区'}, {'id': '152571', 'pid': '15undefined00', 'name': '乌拉盖管委会'}, {'id': '152971', 'pid': '15undefined00', 'name': '内蒙古阿拉善高新技术产业开发区'}, {'id': '210101', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '210201', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '210301', 'pid': '21undefined00', 'name': '市辖区'}, { + 'id': '210401', + 'pid': '21undefined00', + 'name': '市辖区', +}, {'id': '210501', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '210601', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '210701', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '210801', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '210901', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '211001', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '211101', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '211201', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '211301', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '211401', 'pid': '21undefined00', 'name': '市辖区'}, {'id': '220101', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220171', 'pid': '22undefined00', 'name': '长春经济技术开发区'}, {'id': '220172', 'pid': '22undefined00', 'name': '长春净月高新技术产业开发区'}, {'id': '220173', 'pid': '22undefined00', 'name': '长春高新技术产业开发区'}, {'id': '220174', 'pid': '22undefined00', 'name': '长春汽车经济技术开发区'}, { + 'id': '220201', + 'pid': '22undefined00', + 'name': '市辖区', +}, {'id': '220271', 'pid': '22undefined00', 'name': '吉林经济开发区'}, {'id': '220272', 'pid': '22undefined00', 'name': '吉林高新技术产业开发区'}, {'id': '220273', 'pid': '22undefined00', 'name': '吉林中国新加坡食品区'}, {'id': '220301', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220401', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220501', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220601', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220701', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220771', 'pid': '22undefined00', 'name': '吉林松原经济开发区'}, {'id': '220801', 'pid': '22undefined00', 'name': '市辖区'}, {'id': '220871', 'pid': '22undefined00', 'name': '吉林白城经济开发区'}, {'id': '230101', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '230201', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '230301', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '230401', 'pid': '23undefined00', 'name': '市辖区'}, { + 'id': '230501', + 'pid': '23undefined00', + 'name': '市辖区', +}, {'id': '230601', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '230671', 'pid': '23undefined00', 'name': '大庆高新技术产业开发区'}, {'id': '230701', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '230801', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '230901', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '231001', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '231071', 'pid': '23undefined00', 'name': '牡丹江经济技术开发区'}, {'id': '231101', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '231201', 'pid': '23undefined00', 'name': '市辖区'}, {'id': '232761', 'pid': '23undefined00', 'name': '加格达奇区'}, {'id': '232762', 'pid': '23undefined00', 'name': '松岭区'}, {'id': '232763', 'pid': '23undefined00', 'name': '新林区'}, {'id': '232764', 'pid': '23undefined00', 'name': '呼中区'}, {'id': '320101', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320201', 'pid': '32undefined00', 'name': '市辖区'}, { + 'id': '320301', + 'pid': '32undefined00', + 'name': '市辖区', +}, {'id': '320371', 'pid': '32undefined00', 'name': '徐州经济技术开发区'}, {'id': '320401', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320501', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320571', 'pid': '32undefined00', 'name': '苏州工业园区'}, {'id': '320601', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320671', 'pid': '32undefined00', 'name': '南通经济技术开发区'}, {'id': '320701', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320771', 'pid': '32undefined00', 'name': '连云港经济技术开发区'}, {'id': '320772', 'pid': '32undefined00', 'name': '连云港高新技术产业开发区'}, {'id': '320801', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320871', 'pid': '32undefined00', 'name': '淮安经济技术开发区'}, {'id': '320901', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '320971', 'pid': '32undefined00', 'name': '盐城经济技术开发区'}, {'id': '321001', 'pid': '32undefined00', 'name': '市辖区'}, { + 'id': '321071', + 'pid': '32undefined00', + 'name': '扬州经济技术开发区', +}, {'id': '321101', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '321171', 'pid': '32undefined00', 'name': '镇江新区'}, {'id': '321201', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '321271', 'pid': '32undefined00', 'name': '泰州医药高新技术产业开发区'}, {'id': '321301', 'pid': '32undefined00', 'name': '市辖区'}, {'id': '321371', 'pid': '32undefined00', 'name': '宿迁经济技术开发区'}, {'id': '330101', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '330113', 'pid': '33undefined00', 'name': '临平区'}, {'id': '330114', 'pid': '33undefined00', 'name': '钱塘区'}, {'id': '330201', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '330301', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '330371', 'pid': '33undefined00', 'name': '温州经济技术开发区'}, {'id': '330401', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '330501', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '330601', 'pid': '33undefined00', 'name': '市辖区'}, { + 'id': '330701', + 'pid': '33undefined00', + 'name': '市辖区', +}, {'id': '330801', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '330901', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '331001', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '331101', 'pid': '33undefined00', 'name': '市辖区'}, {'id': '340101', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340171', 'pid': '34undefined00', 'name': '合肥高新技术产业开发区'}, {'id': '340172', 'pid': '34undefined00', 'name': '合肥经济技术开发区'}, {'id': '340173', 'pid': '34undefined00', 'name': '合肥新站高新技术产业开发区'}, {'id': '340201', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340271', 'pid': '34undefined00', 'name': '芜湖经济技术开发区'}, {'id': '340272', 'pid': '34undefined00', 'name': '安徽芜湖三山经济开发区'}, {'id': '340301', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340371', 'pid': '34undefined00', 'name': '蚌埠市高新技术开发区'}, {'id': '340372', 'pid': '34undefined00', 'name': '蚌埠市经济开发区'}, { + 'id': '340401', + 'pid': '34undefined00', + 'name': '市辖区', +}, {'id': '340501', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340601', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340701', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340801', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '340871', 'pid': '34undefined00', 'name': '安徽安庆经济开发区'}, {'id': '341001', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341101', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341171', 'pid': '34undefined00', 'name': '中新苏滁高新技术产业开发区'}, {'id': '341172', 'pid': '34undefined00', 'name': '滁州经济技术开发区'}, {'id': '341201', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341271', 'pid': '34undefined00', 'name': '阜阳合肥现代产业园区'}, {'id': '341272', 'pid': '34undefined00', 'name': '阜阳经济技术开发区'}, {'id': '341301', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341371', 'pid': '34undefined00', 'name': '宿州马鞍山现代产业园区'}, { + 'id': '341372', + 'pid': '34undefined00', + 'name': '宿州经济技术开发区', +}, {'id': '341501', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341601', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341701', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341801', 'pid': '34undefined00', 'name': '市辖区'}, {'id': '341871', 'pid': '34undefined00', 'name': '宣城市经济开发区'}, {'id': '350101', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '350201', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '350301', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '350401', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '350404', 'pid': '35undefined00', 'name': '三元区'}, {'id': '350405', 'pid': '35undefined00', 'name': '沙县区'}, {'id': '350501', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '350601', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '350604', 'pid': '35undefined00', 'name': '龙海区'}, {'id': '350605', 'pid': '35undefined00', 'name': '长泰区'}, {'id': '350701', 'pid': '35undefined00', 'name': '市辖区'}, { + 'id': '350801', + 'pid': '35undefined00', + 'name': '市辖区', +}, {'id': '350901', 'pid': '35undefined00', 'name': '市辖区'}, {'id': '360101', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360201', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360301', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360401', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360501', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360601', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360701', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360801', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '360901', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '361001', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '361101', 'pid': '36undefined00', 'name': '市辖区'}, {'id': '370101', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370171', 'pid': '37undefined00', 'name': '济南高新技术产业开发区'}, {'id': '370201', 'pid': '37undefined00', 'name': '市辖区'}, { + 'id': '370271', + 'pid': '37undefined00', + 'name': '青岛高新技术产业开发区', +}, {'id': '370301', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370401', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370501', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370571', 'pid': '37undefined00', 'name': '东营经济技术开发区'}, {'id': '370572', 'pid': '37undefined00', 'name': '东营港经济开发区'}, {'id': '370601', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370671', 'pid': '37undefined00', 'name': '烟台高新技术产业开发区'}, {'id': '370672', 'pid': '37undefined00', 'name': '烟台经济技术开发区'}, {'id': '370701', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370772', 'pid': '37undefined00', 'name': '潍坊滨海经济技术开发区'}, {'id': '370801', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '370871', 'pid': '37undefined00', 'name': '济宁高新技术产业开发区'}, {'id': '370901', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371001', 'pid': '37undefined00', 'name': '市辖区'}, { + 'id': '371071', + 'pid': '37undefined00', + 'name': '威海火炬高技术产业开发区', +}, {'id': '371072', 'pid': '37undefined00', 'name': '威海经济技术开发区'}, {'id': '371073', 'pid': '37undefined00', 'name': '威海临港经济技术开发区'}, {'id': '371101', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371171', 'pid': '37undefined00', 'name': '日照经济技术开发区'}, {'id': '371301', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371371', 'pid': '37undefined00', 'name': '临沂高新技术产业开发区'}, {'id': '371401', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371471', 'pid': '37undefined00', 'name': '德州经济技术开发区'}, {'id': '371472', 'pid': '37undefined00', 'name': '德州运河经济开发区'}, {'id': '371501', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371601', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371701', 'pid': '37undefined00', 'name': '市辖区'}, {'id': '371771', 'pid': '37undefined00', 'name': '菏泽经济技术开发区'}, {'id': '371772', 'pid': '37undefined00', 'name': '菏泽高新技术开发区'}, { + 'id': '410101', + 'pid': '41undefined00', + 'name': '市辖区', +}, {'id': '410171', 'pid': '41undefined00', 'name': '郑州经济技术开发区'}, {'id': '410172', 'pid': '41undefined00', 'name': '郑州高新技术产业开发区'}, {'id': '410173', 'pid': '41undefined00', 'name': '郑州航空港经济综合实验区'}, {'id': '410201', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410301', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410307', 'pid': '41undefined00', 'name': '偃师区'}, {'id': '410308', 'pid': '41undefined00', 'name': '孟津区'}, {'id': '410371', 'pid': '41undefined00', 'name': '洛阳高新技术产业开发区'}, {'id': '410401', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410471', 'pid': '41undefined00', 'name': '平顶山高新技术产业开发区'}, {'id': '410472', 'pid': '41undefined00', 'name': '平顶山市城乡一体化示范区'}, {'id': '410501', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410571', 'pid': '41undefined00', 'name': '安阳高新技术产业开发区'}, {'id': '410601', 'pid': '41undefined00', 'name': '市辖区'}, { + 'id': '410671', + 'pid': '41undefined00', + 'name': '鹤壁经济技术开发区', +}, {'id': '410701', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410771', 'pid': '41undefined00', 'name': '新乡高新技术产业开发区'}, {'id': '410772', 'pid': '41undefined00', 'name': '新乡经济技术开发区'}, {'id': '410773', 'pid': '41undefined00', 'name': '新乡市平原城乡一体化示范区'}, {'id': '410801', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410871', 'pid': '41undefined00', 'name': '焦作城乡一体化示范区'}, {'id': '410901', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '410971', 'pid': '41undefined00', 'name': '河南濮阳工业园区'}, {'id': '410972', 'pid': '41undefined00', 'name': '濮阳经济技术开发区'}, {'id': '411001', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411071', 'pid': '41undefined00', 'name': '许昌经济技术开发区'}, {'id': '411101', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411171', 'pid': '41undefined00', 'name': '漯河经济技术开发区'}, {'id': '411201', 'pid': '41undefined00', 'name': '市辖区'}, { + 'id': '411271', + 'pid': '41undefined00', + 'name': '河南三门峡经济开发区', +}, {'id': '411301', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411371', 'pid': '41undefined00', 'name': '南阳高新技术产业开发区'}, {'id': '411372', 'pid': '41undefined00', 'name': '南阳市城乡一体化示范区'}, {'id': '411401', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411471', 'pid': '41undefined00', 'name': '豫东综合物流产业聚集区'}, {'id': '411472', 'pid': '41undefined00', 'name': '河南商丘经济开发区'}, {'id': '411501', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411571', 'pid': '41undefined00', 'name': '信阳高新技术产业开发区'}, {'id': '411601', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411671', 'pid': '41undefined00', 'name': '河南周口经济开发区'}, {'id': '411701', 'pid': '41undefined00', 'name': '市辖区'}, {'id': '411771', 'pid': '41undefined00', 'name': '河南驻马店经济开发区'}, {'id': '420101', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '420201', 'pid': '42undefined00', 'name': '市辖区'}, { + 'id': '420301', + 'pid': '42undefined00', + 'name': '市辖区', +}, {'id': '420501', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '420601', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '420701', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '420801', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '420901', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '421001', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '421071', 'pid': '42undefined00', 'name': '荆州经济技术开发区'}, {'id': '421101', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '421171', 'pid': '42undefined00', 'name': '龙感湖管理区'}, {'id': '421201', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '421301', 'pid': '42undefined00', 'name': '市辖区'}, {'id': '430101', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430201', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430271', 'pid': '43undefined00', 'name': '云龙示范区'}, {'id': '430301', 'pid': '43undefined00', 'name': '市辖区'}, { + 'id': '430371', + 'pid': '43undefined00', + 'name': '湖南湘潭高新技术产业园区', +}, {'id': '430372', 'pid': '43undefined00', 'name': '湘潭昭山示范区'}, {'id': '430373', 'pid': '43undefined00', 'name': '湘潭九华示范区'}, {'id': '430401', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430471', 'pid': '43undefined00', 'name': '衡阳综合保税区'}, {'id': '430472', 'pid': '43undefined00', 'name': '湖南衡阳高新技术产业园区'}, {'id': '430473', 'pid': '43undefined00', 'name': '湖南衡阳松木经济开发区'}, {'id': '430501', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430601', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430671', 'pid': '43undefined00', 'name': '岳阳市屈原管理区'}, {'id': '430701', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430771', 'pid': '43undefined00', 'name': '常德市西洞庭管理区'}, {'id': '430801', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430901', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '430971', 'pid': '43undefined00', 'name': '益阳市大通湖管理区'}, { + 'id': '430972', + 'pid': '43undefined00', + 'name': '湖南益阳高新技术产业园区', +}, {'id': '431001', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '431101', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '431171', 'pid': '43undefined00', 'name': '永州经济技术开发区'}, {'id': '431173', 'pid': '43undefined00', 'name': '永州市回龙圩管理区'}, {'id': '431181', 'pid': '43undefined00', 'name': '祁阳市'}, {'id': '431201', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '431271', 'pid': '43undefined00', 'name': '怀化市洪江管理区'}, {'id': '431301', 'pid': '43undefined00', 'name': '市辖区'}, {'id': '440101', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '440201', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '440301', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '440401', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '440501', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '440601', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '440701', 'pid': '44undefined00', 'name': '市辖区'}, { + 'id': '440801', + 'pid': '44undefined00', + 'name': '市辖区', +}, {'id': '440901', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441201', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441301', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441401', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441501', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441601', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441701', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '441801', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '445101', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '445201', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '445301', 'pid': '44undefined00', 'name': '市辖区'}, {'id': '450101', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '450181', 'pid': '45undefined00', 'name': '横州市'}, {'id': '450201', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '450301', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '450401', 'pid': '45undefined00', 'name': '市辖区'}, { + 'id': '450501', + 'pid': '45undefined00', + 'name': '市辖区', +}, {'id': '450601', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '450701', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '450801', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '450901', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '451001', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '451101', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '451201', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '451301', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '451401', 'pid': '45undefined00', 'name': '市辖区'}, {'id': '460101', 'pid': '46undefined00', 'name': '市辖区'}, {'id': '460201', 'pid': '46undefined00', 'name': '市辖区'}, {'id': '510101', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '510301', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '510401', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '510501', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '510601', 'pid': '51undefined00', 'name': '市辖区'}, { + 'id': '510701', + 'pid': '51undefined00', + 'name': '市辖区', +}, {'id': '510801', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '510901', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511001', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511071', 'pid': '51undefined00', 'name': '内江经济开发区'}, {'id': '511101', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511301', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511401', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511501', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511601', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511701', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511771', 'pid': '51undefined00', 'name': '达州经济开发区'}, {'id': '511801', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511901', 'pid': '51undefined00', 'name': '市辖区'}, {'id': '511971', 'pid': '51undefined00', 'name': '巴中经济开发区'}, {'id': '512001', 'pid': '51undefined00', 'name': '市辖区'}, { + 'id': '513402', + 'pid': '51undefined00', + 'name': '会理市', +}, {'id': '520101', 'pid': '52undefined00', 'name': '市辖区'}, {'id': '520301', 'pid': '52undefined00', 'name': '市辖区'}, {'id': '520401', 'pid': '52undefined00', 'name': '市辖区'}, {'id': '520501', 'pid': '52undefined00', 'name': '市辖区'}, {'id': '520581', 'pid': '52undefined00', 'name': '黔西市'}, {'id': '520601', 'pid': '52undefined00', 'name': '市辖区'}, {'id': '530101', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530301', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530401', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530501', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530601', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530701', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530801', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '530901', 'pid': '53undefined00', 'name': '市辖区'}, {'id': '532302', 'pid': '53undefined00', 'name': '禄丰市'}, {'id': '540101', 'pid': '54undefined00', 'name': '市辖区'}, { + 'id': '540171', + 'pid': '54undefined00', + 'name': '格尔木藏青工业园区', +}, {'id': '540172', 'pid': '54undefined00', 'name': '拉萨经济技术开发区'}, {'id': '540173', 'pid': '54undefined00', 'name': '西藏文化旅游创意园区'}, {'id': '540174', 'pid': '54undefined00', 'name': '达孜工业园区'}, {'id': '540501', 'pid': '54undefined00', 'name': '市辖区'}, {'id': '610101', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610201', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610301', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610305', 'pid': '61undefined00', 'name': '凤翔区'}, {'id': '610401', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610501', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610601', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610701', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610801', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610901', 'pid': '61undefined00', 'name': '市辖区'}, {'id': '610981', 'pid': '61undefined00', 'name': '旬阳市'}, { + 'id': '611001', + 'pid': '61undefined00', + 'name': '市辖区', +}, {'id': '620101', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620171', 'pid': '62undefined00', 'name': '兰州新区'}, {'id': '620201', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620301', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620401', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620501', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620601', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620701', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620801', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '620901', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '621001', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '621101', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '621201', 'pid': '62undefined00', 'name': '市辖区'}, {'id': '630101', 'pid': '63undefined00', 'name': '市辖区'}, {'id': '632857', 'pid': '63undefined00', 'name': '大柴旦行政委员会'}, {'id': '640101', 'pid': '64undefined00', 'name': '市辖区'}, { + 'id': '640201', + 'pid': '64undefined00', + 'name': '市辖区', +}, {'id': '640301', 'pid': '64undefined00', 'name': '市辖区'}, {'id': '640401', 'pid': '64undefined00', 'name': '市辖区'}, {'id': '640501', 'pid': '64undefined00', 'name': '市辖区'}, {'id': '650101', 'pid': '65undefined00', 'name': '市辖区'}, {'id': '650201', 'pid': '65undefined00', 'name': '市辖区'}, {'id': '652871', 'pid': '65undefined00', 'name': '库尔勒经济技术开发区'}, {'id': '654203', 'pid': '65undefined00', 'name': '沙湾市'} ] diff --git a/src/common/utils/evt.ts b/src/common/utils/evt.ts new file mode 100644 index 0000000..b2aeafe --- /dev/null +++ b/src/common/utils/evt.ts @@ -0,0 +1,13 @@ +import mitt, { type EventType } from 'mitt' + +interface EventList extends Record { + login?: string + logout?: string + connect_ws?: string + disconnect_ws?: string + openPage?: string + closePage: string + loading: 'start' | 'finish' | 'error' +} + +export default mitt() diff --git a/src/common/utils/formUtil.ts b/src/common/utils/formUtil.ts new file mode 100644 index 0000000..28c09e6 --- /dev/null +++ b/src/common/utils/formUtil.ts @@ -0,0 +1,17 @@ +import { + ElMessage, + type FormInstance, +} from 'element-plus' +import type { R } from '@/common/utils/http-util.ts' + +export default { + submit(form: Ref, then: () => Promise>) { + return form.value!.validate() + .then( + then, + () => { + ElMessage.error('请检查表单') + return Promise.reject({code: 5555, success: false, msg: '表单校验失败', message: '表单校验失败', data: null}) + }) + }, +} diff --git a/src/common/utils/http-util.ts b/src/common/utils/http-util.ts new file mode 100644 index 0000000..ee71793 --- /dev/null +++ b/src/common/utils/http-util.ts @@ -0,0 +1,263 @@ +import { + closeUrl, + serverBaseUrl, +} from '@/common' +import axios, { + type AxiosRequestConfig, + type AxiosResponse, +} from 'axios' +import * as qs from 'qs' +import { useAppUserStore } from '@/common/app/app-user-store.ts' +import { throttle } from '@/common/utils/index.ts' +import mime from '@/common/utils/mime.ts' +import Evt from '@/common/utils/evt.ts' +import { ElMessage } from 'element-plus' + +/** + * HTTP 统一响应结构 + */ +export interface R { + code: number; + msg: string; + message: any; + success: boolean; + data: T; + headers?: AxiosRequestConfig['headers'] +} + +type AxiosConfig = Pick +const closeUrls = closeUrl.split(',') +// type ParamsSerializerType = Extract; + +/** + * Query 参数处理器 + * + * @param params 参数内容 + */ +const paramsSerializer = (params: any) => { + return qs.stringify(params, {indices: false, allowDots: true}) +} + +/** + * 统一错误处理函数 + */ +/* function errHandler(r?: R) { + Toast.error(r?.message ?? '操作失败') + } */ +const errHandler = throttle(500, (r?: AxiosResponse, any>) => { + console.log('异常处理', r) + ElMessage.error(r?.data?.message ?? '服务器错误') +}) +/** + * axios 实例 + */ +const httpUtil = axios.create({ + timeout: 10000, + baseURL: serverBaseUrl, + headers: { + Accept: mime.JSON, + }, +}) + +/** + * 配置请求拦截器 + */ +httpUtil.interceptors.request.use( + config => { + const appUserStore = useAppUserStore() + config.headers.Authorization = appUserStore.token + config.formSerializer = {indexes: null} + return config + }, + error => { + // TODO 请求失败日志 + console.error('HTTP 请求发送失败', error) + return Promise.reject(error) + }, +) + +/** + * 配置响应拦截器 + */ +httpUtil.interceptors.response.use( + response => { + // console.log('HTTP 请求结果', response.config.url, response) + // vite 代理失败时 响应码为 200 响应内容为空 + if (response.config.responseType !== 'json') { + return Promise.resolve(response) + } + if (response.data == null) { + response.data = {code: 0, success: true, msg: '无响应内容', message: '无响应内容', data: null, headers: response.headers} + } + response.data.headers = response.headers + if (response.data.code === 0) { + return Promise.resolve(response) + } else { + return Promise.reject(response) + } + }, + error => { + console.error('HTTP 请求失败', error) + if (error.response != null && error.response.status === 403) { + Evt.emit('logout') + } + if (error.response != null) { + error.response.data = {...error.response.data, headers: error.response.headers} + } else if (error.request != null) { + error.response = { + data: {code: 9999, success: false, msg: '网络异常', message: '网络异常', data: null}, + } + } else { + error.response = { + data: {code: 5555, success: false, msg: '请求发送失败', message: '请求发送失败', data: null}, + } + } + return Promise.reject(error.response) + }, +) + +/** + * GET 请求(JSON) + * + * @param url 请求地址 + * @param params Query 参数 + * @param disposeErr 是否处理错误响应,默认-->true + */ +export function get(url: string, params?: any, disposeErr: boolean = true) { + if (closeUrls.includes(url)) { + return Promise.reject({code: 0, success: true, msg: '', message: '', data: null} as R) + } + return httpUtil.get>(url, {params, paramsSerializer, responseType: 'json'}) + .then(({data}) => data) + .catch(res => { + if (disposeErr) errHandler(res) + return Promise.reject(res as T) + }) +} + +/** + * POST 请求(JSON) + * + * @param url 请求地址 + * @param body Body 参数 + * @param disposeErr 是否处理错误响应,默认-->true + */ +export function post(url: string, body?: any, disposeErr: boolean = true) { + if (closeUrls.includes(url)) { + return Promise.reject({code: 0, success: true, msg: '', message: '', data: null} as R) + } + return httpUtil.post>(url, body, {responseType: 'json'}) + .then(({data}) => data) + .catch(res => { + if (disposeErr) errHandler(res) + return Promise.reject(res) + }) +} + +/** + * POST 请求(编码表单) + * + * @param url 请求地址 + * @param body Body 参数 + * @param config Axios 配置 + * @param disposeErr 是否处理错误响应,默认-->true + */ +export function postForm(url: string, body: any, config?: AxiosConfig, disposeErr: boolean = true) { + return httpUtil.postForm>(url, paramsSerializer(body), + { + headers: { + ...(config?.headers ?? {}), + 'Content-Type': mime.FORM, + }, + params: config?.params, + responseType: config?.responseType ?? 'json', + }) + .then(({data}) => data) + .catch(res => { + if (disposeErr) errHandler(res) + return Promise.reject(res) + }) +} + +/** + * POST 请求(多部分表单) + * + * @param url 请求地址 + * @param body Body 参数 + * @param config Axios 配置 + * @param disposeErr 是否处理错误响应,默认-->true + */ +export function postMltForm(url: string, body: any, config?: AxiosConfig, disposeErr: boolean = true) { + return httpUtil.postForm>(url, body, + { + headers: { + ...(config?.headers ?? {}), + 'Content-Type': mime.MLT_FORM, + }, + params: config?.params, + responseType: config?.responseType ?? 'json', + }) + .then(({data}) => data) + .catch(res => { + if (disposeErr) errHandler(res) + return Promise.reject(res) + }) +} + +function getFileName(contentDisposition: string) { + // 检查content-disposition是否存在 + if (!contentDisposition) { + return null + } + + // 查找filename=部分 + const match = contentDisposition.match(/filename=(.+)/) + if (!match || match.length < 2) { + return null + } + + // 提取并解码文件名 + const fileNameEncoded = match[1].trim() + // 移除可能存在的引号 + const fileNameWithoutQuotes = fileNameEncoded.replace(/["']/g, '') + // 解码URL编码的字符串 + return decodeURIComponent(fileNameWithoutQuotes) +} + +export function download(url: string, params?: any, defaultName: string = '下载的文件', disposeErr: boolean = true) { + return httpUtil.get(url, {params, paramsSerializer, responseType: 'arraybuffer'}) + .then(res => { + const data = res.data + if (!data || data.byteLength <= 0) { + // 错误提示 + return Promise.reject({code: 9999, success: false, msg: '文件获取失败', message: '文件获取失败', data: null, headers: res.headers}) + } + const contentDisposition = res.headers['Content-Disposition'] ?? res.headers['content-disposition'] + const filename = getFileName(contentDisposition) ?? defaultName + // 将二进制流转为blob + const blob = new Blob([ data ]) + return Promise.resolve({code: 0, success: true, msg: '成功', message: '文件获取成功', data: {data: blob, filename}, headers: res.headers}) + }) + .catch(res => { + if (disposeErr) errHandler(res) + return Promise.reject(res) + }) +} + +export function getFileUrl(path?: string) { + if (path == null || path.length <= 0) { + return '' + } + const appUserStore = useAppUserStore() + return serverBaseUrl + path + '?authorization=' + appUserStore.token +} + +export default { + get, + post, + postForm, + postMltForm, + download, + getFileUrl, + ins: httpUtil, +} diff --git a/src/common/utils/index.ts b/src/common/utils/index.ts new file mode 100644 index 0000000..fac6e53 --- /dev/null +++ b/src/common/utils/index.ts @@ -0,0 +1,73 @@ +/** + * 类型标签,Object.prototype.toString.call(obj) 的返回值 + */ +export class TypeTag { + static readonly NULL = '[object Null]' + static readonly UNDEFINED = '[object Undefined]' + + static readonly STRING = '[object String]' + static readonly NUMBER = '[object Number]' + static readonly BOOLEAN = '[object Boolean]' + + static readonly ARRAY = '[object Array]' + static readonly MAP = '[object Set]' + static readonly SET = '[object Map]' + + static readonly OBJECT = '[object Object]' + static readonly SYMBOL = '[object Symbol]' + static readonly DATE = '[object Date]' + static readonly REGEXP = '[object RegExp]' + static readonly PROMISE = '[object Promise]' + static readonly FUNCTION = '[object Function]' +} + +/** + * 节流
+ * t 毫秒内只执行一次指定的函数
+ * + * @param fn 待包装的函数 + * @param t 时间阈值(ms) + * @return 包装后的函数 + */ +export function throttle(t: number, fn: (...args: T) => void) { + let lastExecTime = 0 + return function (this: any, ...args: T) { + let now = Date.now() + if (now - lastExecTime >= t) { + lastExecTime = now + fn.apply(this, args) + } + } +} + +/** + * 防抖
+ * 指定的函数延迟 t 毫秒只执行,重复调用将重新计时
+ * + * @param fn 待包装的函数 + * @param t 时间阈值(ms) + * @return 包装后的函数 + */ +export function debounce(t: number, fn: (...args: T) => void) { + let deferTimer: number | null = null + return function (this: any, ...args: T) { + if (deferTimer != null) { + clearTimeout(deferTimer) + } + + deferTimer = window.setTimeout(() => { + fn.apply(this, args) + }, t) + } +} + +export function clone(t: T) { + return JSON.parse(JSON.stringify(t)) as T +} + +export default { + throttle, + debounce, + TypeTag, + clone, +} diff --git a/src/common/utils/mime.ts b/src/common/utils/mime.ts new file mode 100644 index 0000000..d3b9c11 --- /dev/null +++ b/src/common/utils/mime.ts @@ -0,0 +1,8 @@ +export default class { + static readonly FORM = 'application/x-www-form-urlencoded' + static readonly MLT_FORM = 'multipart/form-data' + static readonly JSON = 'application/json' + static readonly BINARY = 'application/octet-stream' + static readonly TEXT = 'text/plain' + static readonly XML = 'text/xml' +} diff --git a/src/common/utils/objects.ts b/src/common/utils/objects.ts new file mode 100644 index 0000000..c8b15fc --- /dev/null +++ b/src/common/utils/objects.ts @@ -0,0 +1,97 @@ +import { TypeTag } from '@/common/utils/index.ts' +import { isString } from '@/common/utils/types.ts' + +/** + * 检查是否为普通对象 + * @param obj 待检查对象 + */ +export function isSimpleObject(obj: any) { + if (Object.prototype.toString.call(obj) !== TypeTag.OBJECT) { + return false + } + + let firstProto = Object.getPrototypeOf(obj) + if (firstProto == null) { + return true + } + + let proto = firstProto + let pt = null + while ((pt = Object.getPrototypeOf(proto)) != null) { + proto = pt + } + return firstProto === proto +} + +/** + * 检查是否为类数组 + * @param obj 待检查对象 + */ +export function isArrayLike(obj: any) { + return obj != null && typeof obj !== 'function' && typeof obj.length === 'number' && obj.length > -1 && obj.length % 1 === 0 && obj.length <= Number.MAX_SAFE_INTEGER +} + +/** + * 检查是否为纯数字字符串 + * @param obj 待检查对象 + */ +export function isNumStr(obj: any) { + return isString(obj) && !isNaN(Number(obj)) +} + +type tags = 'error' | 'info' | 'warning' | 'risk' | 'error' | 'fatal' | 'success' | undefined; + +export function switchStatus(status: string): tags { + switch (status) { + case 'YiJinChang': + return 'warning' + case 'YiYuYue': + return 'info' + case 'DaiPaiDan': + return 'warning' + case 'DaiJieDan': + return 'error' + case 'YiJieDan': + return 'info' + case 'QingYunZhong': + return 'info' + case 'YiZhiFu': + return 'info' + case 'YiChuChang': + return 'warning' + case 'YiTuiKuan': + return 'warning' + case 'YiWanCheng': + return 'success' + case 'YiQuXiao': + return undefined + default: + return undefined + } +} + +export function auditTagColor(status: string): tags { + switch (status) { + case 'TongGuo': + return 'success' + case 'BoHui': + return 'warning' + case 'YiCheXiao': + return undefined + case 'DaiShenHe': + case 'QuDaiShenHe': + case 'ShiDaiShenHe': + return 'info' + + default: + return undefined + } +} + +export default { + isSimpleObject, + isArrayLike, + isNumStr, + switchStatus, + auditTagColor, +} diff --git a/src/common/utils/snowflake.ts b/src/common/utils/snowflake.ts new file mode 100644 index 0000000..dbf227a --- /dev/null +++ b/src/common/utils/snowflake.ts @@ -0,0 +1,55 @@ +export class Snowflake { + private readonly _epoch: bigint + private _lastTimestamp: bigint + private readonly _workerId: bigint + private _sequence: bigint + + constructor(dataCenterId: number = 0, machineId: number = 0, epoch: bigint = 1730953483570n) { + if (dataCenterId > 31 || dataCenterId < 0 + || machineId > 31 || machineId < 0) { + throw new Error('数据中心 Id 和机器 Id的取值应为:0~31') + } + if (epoch < 0) { + throw new Error('时间戳起点应 >=0') + } + this._epoch = epoch + this._lastTimestamp = -1n + this._workerId = BigInt((dataCenterId << 5) | machineId) + this._sequence = 0n + } + + public nextId() { + let timestamp = BigInt(Date.now()) + + if (timestamp < this._lastTimestamp) { + throw new Error('时钟回拨错误') + } + + if (timestamp === this._lastTimestamp) { + this._sequence = (this._sequence + 1n) & 4095n + if (this._sequence === 0n) { + timestamp = this.waitForNextMillis() + } + } else { + this._sequence = 0n + } + this._lastTimestamp = timestamp + return ((timestamp - this._epoch) << 22n) + | (this._workerId << 12n) + | this._sequence + } + + private waitForNextMillis() { + let timestamp = BigInt(Date.now()) + while (timestamp <= this._lastTimestamp) { + timestamp = BigInt(Date.now()) + } + return timestamp + } +} + +const snowflake = new Snowflake() + +export { snowflake } + +export default snowflake diff --git a/src/common/utils/strings.ts b/src/common/utils/strings.ts new file mode 100644 index 0000000..f254d36 --- /dev/null +++ b/src/common/utils/strings.ts @@ -0,0 +1,98 @@ +/** + * 检查字符串是否为空白 + * + * @param str 待测字符串 + */ +export function isBlank(str?: string | null) { + return str == null || str.trim().length === 0 +} + +/** + * 检查字符串是否为空字符 + * + * @param str 待测字符串 + */ +export function isEmpty(str?: string | null) { + return str == null || str === '' +} + +/** + * 首字母大写 + * + * @param str 待处理字符串 + */ +export function capitalize(str?: string | null) { + if (isBlank(str)) return '' + return str!.charAt(0).toUpperCase() + str!.slice(1) +} + +let splitCharPattern = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g + +/** + * 以大写字母为分割符,转换成其他分隔符 + * + * @param str 待处理字符串 + * @param joiner 连接符处理函数 (当前单词, 单词索引)=>单词处理后的结果 + */ +export function processWords(str: string | null | undefined, joiner: (word: string, index: number) => string) { + if (isBlank(str)) return '' + + return (str! + .replace(/([A-Z])/g, '$1') + .toLowerCase() + .match(splitCharPattern) as string[]) + .reduce((result, word, index) => result + joiner(word, index), '') +} + +/** + * 小驼峰 + * + * @param str 待处理字符串 + */ +export function camelCase(str?: string) { + return processWords(str, + (word, index) => index !== 0 ? capitalize(word) : word, + ) +} + +/** + * 大驼峰 + * + * @param str 待处理字符串 + */ +export function pascalCase(str?: string) { + return capitalize(camelCase(str)) +} + +/** + * 小写下滑线 + * + * @param str 待处理字符串 + */ +export function snakeCase(str?: string) { + return processWords(str, + (word, index) => index !== 0 ? '_' + word : word, + ) +} + +/** + * 小写中横杠 + * + * @param str 待处理字符串 + */ +export function kebabCase(str?: string) { + return processWords(str, + (word, index) => index !== 0 ? '-' + word : word, + ) +} + +export default { + isBlank, + isEmpty, + capitalize, + camelCase, + snakeCase, + kebabCase, + pascalCase, + processWords, +} diff --git a/src/common/utils/times.ts b/src/common/utils/times.ts new file mode 100644 index 0000000..a332b44 --- /dev/null +++ b/src/common/utils/times.ts @@ -0,0 +1,166 @@ +import { + isDate, + isNumber, + isString, +} from '@/common/utils/types' +import { isNumStr } from '@/common/utils/objects.ts' +import { + type DateObjectUnits, + DateTime, +} from 'luxon' + +/* + * 文档:https://luxon.nodejs.cn/ + */ +export class FMT { + static readonly month: string = 'yyyy-MM' + static readonly date: string = 'yyyy-MM-dd' + static readonly time: string = 'HH:mm' + static readonly time_sec: string = 'HH:mm:ss' + static readonly date_time: string = 'yyyy-MM-dd HH:mm' + static readonly date_time_sec: string = 'yyyy-MM-dd HH:mm:ss' + static readonly date_zh: string = 'yyyy年MM月dd日' + static readonly time_zh: string = 'HH时mm分' + static readonly time_sec_zh: string = 'HH时mm分ss秒' + static readonly date_time_zh: string = 'yyyy年MM月dd日HH时mm分' + static readonly date_time_sec_zh: string = 'yyyy年MM月dd日HH时mm分ss秒' + static readonly timestamp: string = 'x' +} + +/** + * 获取当前时间 + * + * @return luxon 库的时间对象 + */ +export function now() { + return DateTime.now() +} + +/** + * 解析时间 + * + * @param date JS 时间对象、时间戳(数字、字符串)、时间字符串、时间描述对象 + * @param fmt 时间格式(仅时间字符串需要此参数,默认:yyyy-MM-dd HH:mm:ss) + * @return luxon 库的时间对象 + */ +export function parse(date: Date | number | string | DateObjectUnits, fmt: string = FMT.date_time_sec) { + if (isDate(date)) { + return DateTime.fromJSDate(date as Date) + } else if (isNumber(date) || isNumStr(date)) { + return DateTime.fromMillis(Number(date)) + } else if (isString(date)) { + return DateTime.fromFormat(date as string, fmt) + } else { + return DateTime.fromObject(date as DateObjectUnits) + } +} + +/** + * 格式化时间 + * + * @param date luxon 库的时间对象、JS 时间对象 + * @param fmt 时间格式(仅时间字符串需要此参数,默认:yyyy-MM-dd HH:mm:ss) + */ +export function format(date: DateTime | Date, fmt: string = FMT.date_time_sec) { + if (isDate(date)) { + return DateTime.fromJSDate(date as Date).toFormat(fmt) + } else { + return (date as DateTime).toFormat(fmt) + } +} + +/** + * 时间美化(如:1年前) + * + * @param date luxon 库的时间对象、JS 时间对象、时间戳(数字、字符串)、时间字符串、时间描述对象 + */ +export function pretty(date: DateTime | Date | number | string) { + if (!(date instanceof DateTime)) { + date = parse(date) + } + + let { + seconds, + minutes, + hours, + days, + weeks, + months, + years, + } = date.diff(DateTime.now(), [ 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years' ]) + + if (years > 0) { + return `${years}年后` + } else if (years < 0) { + return `${-years}年前` + } + + if (months > 0) { + return `${months}个月后` + } else if (months < 0) { + return `${-months}个月前` + } + + if (weeks > 0) { + return `${weeks}周后` + } else if (weeks < 0) { + return `${-weeks}周前` + } + + if (days > 0) { + return `${days}天后` + } else if (days < 0) { + return `${-days}天前` + } + + if (hours > 0) { + return `${hours}小时后` + } else if (hours < 0) { + return `${-hours}小时前` + } + + if (minutes > 0) { + return `${minutes}分钟后` + } else if (minutes > -5 && minutes <= -1) { + return '刚刚' + } else if (minutes <= -5) { + return `${minutes}分钟前` + } + + if (seconds > 0) { + return '片刻后' + } else if (seconds < 0) { + return '刚刚' + } + + return '现在' +} + +export function endOfMonth(date?: DateTime) { + if (date == null) { + return date = now() + } + return date.endOf('month') +} + +export function beginOfMonth(date?: DateTime) { + if (date == null) { + return date = now() + } + return date.startOf('month') +} + +export function toDate(date: DateTime) { + return date.toJSDate() +} + +export default { + now, + parse, + format, + pretty, + FMT, + endOfMonth, + beginOfMonth, + toDate, +} diff --git a/src/common/utils/types.ts b/src/common/utils/types.ts new file mode 100644 index 0000000..7000f43 --- /dev/null +++ b/src/common/utils/types.ts @@ -0,0 +1,40 @@ +import { TypeTag } from '@/common/utils/index.ts' + +/** + * 检查给定的值是否为字符串 + * @param obj 待检查的对象 + */ +export function isString(obj: any) { + return obj != null && + (typeof obj === 'string' || + (typeof obj === 'object' && + !Array.isArray(obj) && + Object.prototype.toString.call(obj) === TypeTag.STRING)) +} + +/** + * 检查给定的值是否为 JS 日期(Date) + * @param obj 待检查的对象 + */ +export function isDate(obj: any) { + return obj != null && + (typeof obj === 'object' && + Object.prototype.toString.call(obj) === TypeTag.DATE) +} + +/** + * 检查给定的值是否为数字 + * @param obj 待检查的对象 + */ +export function isNumber(obj: any) { + return obj != null && + (typeof obj === 'number' || + (typeof obj === 'object' && + Object.prototype.toString.call(obj) === TypeTag.NUMBER)) +} + +export default { + isString, + isDate, + isNumber, +} diff --git a/src/common/ws/ws.ts b/src/common/ws/ws.ts new file mode 100644 index 0000000..3213415 --- /dev/null +++ b/src/common/ws/ws.ts @@ -0,0 +1,288 @@ +import { useAppUserStore } from '@/common/app/app-user-store.ts' +import Evt from '@/common/utils/evt.ts' +import Strings from '@/common/utils/strings.ts' +import type { R } from '@/common/utils/http-util.ts' +import { wsServerBaseUrl } from '@/common' +import type { App } from 'vue' + +// readonly CONNECTING: 0; +// readonly OPEN: 1; +// readonly CLOSING: 2; +// readonly CLOSED: 3; + + +interface WsStatus { + status: 'online' | 'offline' | 'connecting' | 'reconnecting', + enable: boolean, + lastTime: number, +} + +const wsStatus: WsStatus = reactive({ + status: 'offline', + enable: false, + lastTime: 0, +}) + + +const wsUrl = wsServerBaseUrl + (wsServerBaseUrl.endsWith('/') ? 'fdx' : '/fdx') +let websocket: WebSocket | null = null +let heartbeat: number | null = null + +interface WebsocketMessage { + action: 'publish' | 'subscribe' | 'unsubscribe' | 'ping' | 'pong'; + event: string; + data?: any; +} + +export interface Ws { + connect: (url: string, param: Record) => void; + reconnect: (url: string, param: Record) => void; + start: () => void; + stop: () => void; + status: WsStatus; + + publish(event: string, data?: any): void; + + subscribe(event: string, handler: (data?: R) => void): void; + + unsubscribe(event: string, handler?: (data?: any) => void): void; +} + +/** + * 订阅事件 + * @param event 事件名称 + * @param handler 处理函数 + */ +function subscribe(event: string, handler: (data?: R) => void) { + Evt.on(event, (data) => { + handler(data as R) + }) + console.log('订阅:', event) + websocket!.send( + JSON.stringify({ + action: 'subscribe', + event, + }), + ) +} + +/** + * 取消订阅事件 + * @param event 事件名称 + * @param handler 处理函数(可空) + */ +function unsubscribe(event: string, handler?: (data?: any) => void) { + Evt.off(event, handler) + console.log('取消订阅') + websocket!.send( + JSON.stringify({ + action: 'unsubscribe', + event, + }), + ) +} + +/** + * 发布数据 + * @param event 事件名称 + * @param data 数据 + */ +function publish(event: string, data?: any) { + websocket!.send( + JSON.stringify({ + action: 'publish', + event, + data, + }), + ) +} + +function startHeartbeat() { + console.log('启动心跳') + heartbeat = setInterval(() => { + if (new Date().getTime() - wsStatus.lastTime >= 9000) { + console.log('心跳超时') + wsStatus.status = 'offline' + close() + return + } + if (websocket == null || wsStatus.status !== 'online') { + console.log('不发送心跳') + return + } + websocket.send( + JSON.stringify({ + action: 'ping', + event: 'ping', + }), + ) + }, 5000) +} + +function stopHeartbeat() { + if (heartbeat != null) { + clearInterval(heartbeat) + } + heartbeat = null +} + +function onmessage(event: MessageEvent) { + try { + wsStatus.lastTime = new Date().getTime() + const data = JSON.parse(event.data ?? '{}') as WebsocketMessage + if (data.action === 'publish') { + if (!Strings.isBlank(data.event)) { + Evt.emit(data.event, data.data) + } + } + } catch (e) { + console.log('错误的消息') + } +} + +function onopen() { + if (wsStatus.status !== 'connecting') { + console.log(`状态错误:${wsStatus.status}`) + return + } + wsStatus.status = 'online' + wsStatus.lastTime = new Date().getTime() + console.log('连接成功', wsStatus) +} + +function onclose(event: CloseEvent) { + console.log(`连接已关闭 (代码: ${event.code}, 原因: ${event.reason ?? '无'})`) + if (!wsStatus.enable) { + console.log('已禁用,无需重连') + return + } + if (wsStatus.status !== 'connecting' && wsStatus.status !== 'online') { + console.log(`状态错误:${wsStatus.status}`) + return + } + wsStatus.status = 'offline' + reconnect() +} + +function onerror(event: Event) { + console.log(`发生错误: ${event.type ?? '未知错误'}`) +} + +/** + * 关闭连接 + */ +function close() { + if (websocket != null) { + console.log('关闭 Websocket') + websocket.close() + // websocket = null + } +} + +function start() { + if (wsStatus.enable) { + throw new Error(`状态错误:当前不是禁用状态`) + } + console.log('启动 Websocket') + wsStatus.status = 'offline' + wsStatus.enable = true + wsStatus.lastTime = 0 + close() + connect() + startHeartbeat() +} + +function stop() { + wsStatus.status = 'offline' + wsStatus.enable = false + wsStatus.lastTime = 0 + stopHeartbeat() + close() +} + +/** + * 新建连接 + * @param url 地址 + * @param param 参数 + */ +function connect() { + let url: string = wsUrl + let param: Record = {} + if (!wsStatus.enable) { + console.log('已禁用,不连接') + return + } + if (wsStatus.status !== 'reconnecting' && wsStatus.status !== 'offline') { + throw new Error(`状态错误:${wsStatus.status}`) + } + if (websocket != null) { + throw new Error('请先关闭连接') + } + console.log('连接 Websocket') + wsStatus.status = 'connecting' + const appUserStore = useAppUserStore() + param.authorization = appUserStore.token + const params = [] + for (let k in param) { + params.push(`${k}=${encodeURIComponent(param[k])}`) + } + url = url + '?' + params.join('&') + websocket = new WebSocket(url) + websocket.onopen = onopen + websocket.onmessage = onmessage + websocket.onclose = onclose + websocket.onerror = onerror +} + +function reconnect() { + if (!wsStatus.enable) { + console.log('已禁用,不重连接') + return + } + if (wsStatus.status !== 'offline') { + throw new Error(`状态错误:${wsStatus.status}`) + } + wsStatus.status = 'reconnecting' + console.log('等待重连 Websocket') + + setTimeout(() => { + if (!wsStatus.enable) { + console.log('已禁用,不重连接') + return + } + if (wsStatus.status !== 'reconnecting') return + close() + connect() + }, 5000) +} + +export const WsKey = Symbol() as InjectionKey + +function install(app: App) { + app.provide(WsKey, { + connect, + reconnect, + start, + stop, + status: wsStatus, + publish, + subscribe, + unsubscribe, + }) + + Evt.on('connect_ws', start) + Evt.on('disconnect_ws', stop) +} + +export default { + start, + stop, + connect, + reconnect, + close, + publish, + subscribe, + unsubscribe, + status: wsStatus, + install, +} diff --git a/src/components/data-list/DataList.vue b/src/components/data-list/DataList.vue new file mode 100644 index 0000000..9d09059 --- /dev/null +++ b/src/components/data-list/DataList.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/components/data-list/data-list.ts b/src/components/data-list/data-list.ts new file mode 100644 index 0000000..337840a --- /dev/null +++ b/src/components/data-list/data-list.ts @@ -0,0 +1,31 @@ +import type { R } from '@/common/utils/http-util.ts' + +/* export interface SearchForm extends Record { + keywords?: string + } + + export interface AddForm extends Record { + } + + export interface ModifyForm extends Record { + id: string + } + + export interface Data extends Record { + id: string + } */ + +export interface DataSource, S extends G.PageParam> { + paging: (searchForm: S) => Promise> + del: (ids: string[]) => Promise + detail: (id: string) => Promise> + add: (addForm: Record) => Promise + modify: (modifyForm: Record) => Promise + treeLoad?: (row: D, treeNode: unknown, resolve: (data: D[]) => void) => void +} + +export interface Column { + prop: string + label: string + width?: string +} diff --git a/src/components/page/Page.vue b/src/components/page/Page.vue new file mode 100644 index 0000000..7fc0f16 --- /dev/null +++ b/src/components/page/Page.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/components/uploader/Uploader.vue b/src/components/uploader/Uploader.vue new file mode 100644 index 0000000..cbaf1e7 --- /dev/null +++ b/src/components/uploader/Uploader.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/dts/auto-imports.d.ts b/src/dts/auto-imports.d.ts new file mode 100644 index 0000000..7507e6b --- /dev/null +++ b/src/dts/auto-imports.d.ts @@ -0,0 +1,108 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +// biome-ignore lint: disable +export {} +declare global { + const EffectScope: typeof import('vue').EffectScope + const acceptHMRUpdate: typeof import('pinia').acceptHMRUpdate + const computed: typeof import('vue').computed + const createApp: typeof import('vue').createApp + const createPinia: typeof import('pinia').createPinia + const customRef: typeof import('vue').customRef + const defineAsyncComponent: typeof import('vue').defineAsyncComponent + const defineComponent: typeof import('vue').defineComponent + const defineStore: typeof import('pinia').defineStore + const effectScope: typeof import('vue').effectScope + const getActivePinia: typeof import('pinia').getActivePinia + const getCurrentInstance: typeof import('vue').getCurrentInstance + const getCurrentScope: typeof import('vue').getCurrentScope + const getCurrentWatcher: typeof import('vue').getCurrentWatcher + const h: typeof import('vue').h + const inject: typeof import('vue').inject + const isProxy: typeof import('vue').isProxy + const isReactive: typeof import('vue').isReactive + const isReadonly: typeof import('vue').isReadonly + const isRef: typeof import('vue').isRef + const isShallow: typeof import('vue').isShallow + const mapActions: typeof import('pinia').mapActions + const mapGetters: typeof import('pinia').mapGetters + const mapState: typeof import('pinia').mapState + const mapStores: typeof import('pinia').mapStores + const mapWritableState: typeof import('pinia').mapWritableState + const markRaw: typeof import('vue').markRaw + const nextTick: typeof import('vue').nextTick + const onActivated: typeof import('vue').onActivated + const onBeforeMount: typeof import('vue').onBeforeMount + const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave + const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate + const onBeforeUnmount: typeof import('vue').onBeforeUnmount + const onBeforeUpdate: typeof import('vue').onBeforeUpdate + const onDeactivated: typeof import('vue').onDeactivated + const onErrorCaptured: typeof import('vue').onErrorCaptured + const onMounted: typeof import('vue').onMounted + const onRenderTracked: typeof import('vue').onRenderTracked + const onRenderTriggered: typeof import('vue').onRenderTriggered + const onScopeDispose: typeof import('vue').onScopeDispose + const onServerPrefetch: typeof import('vue').onServerPrefetch + const onUnmounted: typeof import('vue').onUnmounted + const onUpdated: typeof import('vue').onUpdated + const onWatcherCleanup: typeof import('vue').onWatcherCleanup + const provide: typeof import('vue').provide + const reactive: typeof import('vue').reactive + const readonly: typeof import('vue').readonly + const ref: typeof import('vue').ref + const resolveComponent: typeof import('vue').resolveComponent + const setActivePinia: typeof import('pinia').setActivePinia + const setMapStoreSuffix: typeof import('pinia').setMapStoreSuffix + const shallowReactive: typeof import('vue').shallowReactive + const shallowReadonly: typeof import('vue').shallowReadonly + const shallowRef: typeof import('vue').shallowRef + const storeToRefs: typeof import('pinia').storeToRefs + const toRaw: typeof import('vue').toRaw + const toRef: typeof import('vue').toRef + const toRefs: typeof import('vue').toRefs + const toValue: typeof import('vue').toValue + const triggerRef: typeof import('vue').triggerRef + const unref: typeof import('vue').unref + const useAttrs: typeof import('vue').useAttrs + const useCssModule: typeof import('vue').useCssModule + const useCssVars: typeof import('vue').useCssVars + const useId: typeof import('vue').useId + const useLink: typeof import('vue-router').useLink + const useModel: typeof import('vue').useModel + const useRoute: typeof import('vue-router').useRoute + const useRouter: typeof import('vue-router').useRouter + const useSlots: typeof import('vue').useSlots + const useTemplateRef: typeof import('vue').useTemplateRef + const watch: typeof import('vue').watch + const watchEffect: typeof import('vue').watchEffect + const watchPostEffect: typeof import('vue').watchPostEffect + const watchSyncEffect: typeof import('vue').watchSyncEffect +} +// for type re-export +declare global { + // @ts-ignore + export type { + Component, + Slot, + Slots, + ComponentPublicInstance, + ComputedRef, + DirectiveBinding, + ExtractDefaultPropTypes, + ExtractPropTypes, + ExtractPublicPropTypes, + InjectionKey, + PropType, + Ref, + ShallowRef, + MaybeRef, + MaybeRefOrGetter, + VNode, + WritableComputedRef, + } from 'vue' + import('vue') +} diff --git a/src/dts/components.d.ts b/src/dts/components.d.ts new file mode 100644 index 0000000..82063ca --- /dev/null +++ b/src/dts/components.d.ts @@ -0,0 +1,75 @@ +/* eslint-disable */ +// @ts-nocheck +// biome-ignore lint: disable +// oxlint-disable +// ------ +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +import { GlobalComponents } from 'vue' + +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + ElAside: typeof import('element-plus/es')['ElAside'] + ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElIconFilter: typeof import('@element-plus/icons-vue')['Filter'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElPagination: typeof import('element-plus/es')['ElPagination'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElTabPane: typeof import('element-plus/es')['ElTabPane'] + ElTabs: typeof import('element-plus/es')['ElTabs'] + ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] + ElUpload: typeof import('element-plus/es')['ElUpload'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + } + export interface GlobalDirectives { + vLoading: typeof import('element-plus/es')['ElLoadingDirective'] + } +} + +// For TSX support +declare global { + const ElAside: typeof import('element-plus/es')['ElAside'] + const ElAvatar: typeof import('element-plus/es')['ElAvatar'] + const ElButton: typeof import('element-plus/es')['ElButton'] + const ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] + const ElContainer: typeof import('element-plus/es')['ElContainer'] + const ElDialog: typeof import('element-plus/es')['ElDialog'] + const ElDropdown: typeof import('element-plus/es')['ElDropdown'] + const ElForm: typeof import('element-plus/es')['ElForm'] + const ElFormItem: typeof import('element-plus/es')['ElFormItem'] + const ElHeader: typeof import('element-plus/es')['ElHeader'] + const ElIcon: typeof import('element-plus/es')['ElIcon'] + const ElIconFilter: typeof import('@element-plus/icons-vue')['Filter'] + const ElInput: typeof import('element-plus/es')['ElInput'] + const ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + const ElMain: typeof import('element-plus/es')['ElMain'] + const ElOption: typeof import('element-plus/es')['ElOption'] + const ElPagination: typeof import('element-plus/es')['ElPagination'] + const ElSelect: typeof import('element-plus/es')['ElSelect'] + const ElTable: typeof import('element-plus/es')['ElTable'] + const ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + const ElTabPane: typeof import('element-plus/es')['ElTabPane'] + const ElTabs: typeof import('element-plus/es')['ElTabs'] + const ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] + const ElUpload: typeof import('element-plus/es')['ElUpload'] + const RouterLink: typeof import('vue-router')['RouterLink'] + const RouterView: typeof import('vue-router')['RouterView'] +} \ No newline at end of file diff --git a/src/dts/g.d.ts b/src/dts/g.d.ts new file mode 100644 index 0000000..5d2848e --- /dev/null +++ b/src/dts/g.d.ts @@ -0,0 +1,36 @@ +export {} + +declare global { + namespace G { + interface TreeNode { + id: string + pid: string + children?: TreeNode[] + hasChildren?: boolean + + [key: string]: any + } + + interface PageResult { + current: number + size: number + pages: number + total: number + records: T[] + } + + interface PageParam { + current: number + size: number + orders?: string + } + + interface Pagination { + total: number + pages: number + current: number + size: number + } + } +} + diff --git a/src/dts/print-nb.d.ts b/src/dts/print-nb.d.ts new file mode 100644 index 0000000..72af44c --- /dev/null +++ b/src/dts/print-nb.d.ts @@ -0,0 +1,115 @@ +// 补充 vue3-print-nb 模块声明 +declare module 'vue3-print-nb' { + import { + App, + DirectiveBinding, + } from 'vue' + + + type PrintStandard = 'strict' | 'loose' | 'html5'; + + interface PrintOptions { + /** + * 需打印元素的ID(不带#) + */ + id?: string; + + /** + * 打印预览标题 + * @default '打印预览' + */ + previewTitle?: string; + + /** + * 预览页面打印按钮文本 + * @default '打印' + */ + previewPrintBtnLabel?: string; + + /** + * 打印窗口标题 + */ + popTitle?: string; + + /** + * 是否启用预览模式 + * @default false + */ + preview?: boolean; + + /** + * 打印标准 + * @default 'html5' + */ + standard?: PrintStandard; + + /** + * 额外的头部内容 + */ + extraHead?: string; + + /** + * 额外的CSS链接 + */ + extraCss?: string; + + /** + * 预览窗口z-index值 + * @default 20002 + */ + zIndex?: number; + + /** + * 异步URL,用于加载打印内容 + */ + url?: string; + + /** + * 异步加载打印内容的回调函数 + */ + asyncUrl?: (callback: (content: string) => void, vueInstance: any) => void; + + /** + * 预览窗口打开前的回调 + * @param vm - Vue实例 + */ + previewBeforeOpenCallback?: (vm: any) => void; + + /** + * 预览窗口打开后的回调 + * @param vm - Vue实例 + */ + previewOpenCallback?: (vm: any) => void; + + /** + * 打印窗口打开后的回调 + * @param vm - Vue实例 + */ + openCallback?: (vm: any) => void; + + /** + * 打印窗口关闭后的回调 + * @param vm - Vue实例 + */ + closeCallback?: (vm: any) => void; + + /** + * 打印窗口打开前的回调 + * @param vm - Vue实例 + */ + beforeOpenCallback?: (vm: any) => void; + } + + type PrintDirective = { + (el: HTMLElement, binding: DirectiveBinding): void; + }; + + const PrintPlugin: { + directiveName: string; + mounted: (el: HTMLElement, binding: DirectiveBinding, vnode: any) => void; + install: (app: App) => void; + } + + export type PrintDirective = PrintDirective + export default PrintPlugin +} diff --git a/src/dts/qs-types.d.ts b/src/dts/qs-types.d.ts new file mode 100644 index 0000000..bd51228 --- /dev/null +++ b/src/dts/qs-types.d.ts @@ -0,0 +1,76 @@ +declare module 'qs' { + type defaultEncoder = (str: any, defaultEncoder?: any, charset?: string) => string; + type defaultDecoder = (str: string, decoder?: any, charset?: string) => string; + + type BooleanOptional = boolean | undefined; + + interface IStringifyBaseOptions { + delimiter?: string | undefined; + strictNullHandling?: boolean | undefined; + skipNulls?: boolean | undefined; + encode?: boolean | undefined; + encoder?: + | ((str: any, defaultEncoder: defaultEncoder, charset: string, type: 'key' | 'value') => string) + | undefined; + filter?: Array | ((prefix: string, value: any) => any) | undefined; + arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma' | undefined; + indices?: boolean | undefined; + sort?: ((a: string, b: string) => number) | undefined; + serializeDate?: ((d: Date) => string) | undefined; + format?: 'RFC1738' | 'RFC3986' | undefined; + encodeValuesOnly?: boolean | undefined; + addQueryPrefix?: boolean | undefined; + charset?: 'utf-8' | 'iso-8859-1' | undefined; + charsetSentinel?: boolean | undefined; + } + + type IStringifyDynamicOptions = AllowDots extends true + ? { allowDots?: AllowDots; encodeDotInKeys?: boolean } + : { allowDots?: boolean; encodeDotInKeys?: false }; + + type IStringifyOptions = + & IStringifyBaseOptions + & IStringifyDynamicOptions; + + interface IParseBaseOptions { + comma?: boolean | undefined; + delimiter?: string | RegExp | undefined; + depth?: number | false | undefined; + decoder?: + | ((str: string, defaultDecoder: defaultDecoder, charset: string, type: 'key' | 'value') => any) + | undefined; + arrayLimit?: number | undefined; + parseArrays?: boolean | undefined; + plainObjects?: boolean | undefined; + allowPrototypes?: boolean | undefined; + allowSparse?: boolean | undefined; + parameterLimit?: number | undefined; + strictNullHandling?: boolean | undefined; + ignoreQueryPrefix?: boolean | undefined; + charset?: 'utf-8' | 'iso-8859-1' | undefined; + charsetSentinel?: boolean | undefined; + interpretNumericEntities?: boolean | undefined; + allowEmptyArrays?: boolean | undefined; + duplicates?: 'combine' | 'first' | 'last' | undefined; + } + + type IParseDynamicOptions = AllowDots extends true + ? { allowDots?: AllowDots; decodeDotInKeys?: boolean } + : { allowDots?: boolean; decodeDotInKeys?: false }; + + type IParseOptions = + & IParseBaseOptions + & IParseDynamicOptions; + + interface ParsedQs { + [key: string]: undefined | string | string[] | ParsedQs | ParsedQs[]; + } + + function stringify(obj: any, options?: IStringifyOptions): string; + + function parse(str: string, options?: IParseOptions & { decoder?: never | undefined }): ParsedQs; + function parse( + str: string | Record, + options?: IParseOptions, + ): { [key: string]: unknown }; +} diff --git a/src/dts/vite-env.d.ts b/src/dts/vite-env.d.ts new file mode 100644 index 0000000..eded1d4 --- /dev/null +++ b/src/dts/vite-env.d.ts @@ -0,0 +1,34 @@ +/// +/// +/// +/// + +interface ImportMetaEnv { + readonly VITE_APP_NAME: string + readonly VITE_APP_BASE_URL: string + readonly VITE_HTTP_SERVER_BASE_URL: string + readonly VITE_HTTP_PROXY_TARGET: string + readonly VITE_WS_SERVER_BASE_URL: string + readonly VITE_WS_PROXY_TARGET: string + readonly VITE_CLOSE_URL: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} + +declare module '*.vue' { + import { + ComponentOptions, + Directive, + } from 'vue' + const componentOptions: ComponentOptions + + interface ComponentOptions { + directives?: { + print: Directive + } + } + + export default componentOptions +} diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..2d24dbb --- /dev/null +++ b/src/main.ts @@ -0,0 +1,22 @@ +import { createApp } from 'vue' +import App from './App.vue' +import { Settings } from 'luxon' +import { createPinia } from 'pinia' +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' +// import print from 'vue3-print-nb' +// import Ws from '@/common/ws/ws.ts' +import element from '@/common/element/element.ts' +import router from '@/common/router' +import '@/assets/css/index.css' + +createApp(App) + .use(element) + // .use(print) + // .use(Ws) + .use(() => { + Settings.defaultZone = 'Asia/Shanghai' + Settings.defaultLocale = 'zh-CN' + }) + .use(createPinia().use(piniaPluginPersistedstate)) + .use(router) + .mount('#app') diff --git a/src/pages/a-frame/AAside.tsx b/src/pages/a-frame/AAside.tsx new file mode 100644 index 0000000..2cdb6da --- /dev/null +++ b/src/pages/a-frame/AAside.tsx @@ -0,0 +1,93 @@ +import { + ElMenu, + ElMenuItem, + ElMenuItemGroup, + ElSubMenu, + type MenuItemRegistered, +} from 'element-plus' + + +export interface Menu extends G.TreeNode { + // Id + id: string + // 编码 + sn: string + // 上级 Id; 层级为 1 的节点值为 0 + pid: string + // 菜单名称 + title: string + // 图标 + icon: string + // 层级; >= 1 + tier: number + // 排序 + sort: number + // 路由名称 + routeName: string + // 面包路径 + breadcrumb: string[] + // 类型 + menuCategory: 'Catalog' | 'Group' | 'Page' | 'SubPage' | 'Btn' + // 子菜单 + children?: Menu[] +} + +export default defineComponent( + ({menus}, {emit}) => { + const onMenuClick = (it: MenuItemRegistered) => emit('menuClick', it.index) + const renderMenu = (it: Menu) => { + let renderChildNode: (() => VNode[] | undefined) | undefined = undefined + if (it.children != null && it.children.length > 0) { + renderChildNode = () => (it.children?.map(renderMenu)) + } + let currentNode: VNode + switch (it.menuCategory) { + case 'Catalog': { + currentNode = ( + {{ + title: () => {it.title}, + default: renderChildNode, + }} + ) + break + } + case 'Group': { + currentNode = ( + {{ + default: renderChildNode, + }} + ) + break + } + case 'Page': { + currentNode = ( + {{ + default: () => {it.title}, + }} + ) + break + } + default: + currentNode = (<>) + } + return currentNode + } + + return () => ({{ + default: () => menus.map(renderMenu), + }}) + }, + { + props: { + menus: { + type: Object as PropType, + required: true, + validator: (value: Menu[]) => value != null && value.length > 0, + }, + }, + emits: { + menuClick: (id: string) => id != null, + }, + name: 'AAside', + }) + diff --git a/src/pages/a-frame/AAvatar.vue b/src/pages/a-frame/AAvatar.vue new file mode 100644 index 0000000..a371e5a --- /dev/null +++ b/src/pages/a-frame/AAvatar.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/pages/a-frame/AFrame.vue b/src/pages/a-frame/AFrame.vue new file mode 100644 index 0000000..55ef416 --- /dev/null +++ b/src/pages/a-frame/AFrame.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/pages/a-frame/PasswdPanel.vue b/src/pages/a-frame/PasswdPanel.vue new file mode 100644 index 0000000..9a0c224 --- /dev/null +++ b/src/pages/a-frame/PasswdPanel.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/pages/a-frame/UserInfoPanel.vue b/src/pages/a-frame/UserInfoPanel.vue new file mode 100644 index 0000000..cf57738 --- /dev/null +++ b/src/pages/a-frame/UserInfoPanel.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/pages/a-frame/page.ts b/src/pages/a-frame/page.ts new file mode 100644 index 0000000..20b6278 --- /dev/null +++ b/src/pages/a-frame/page.ts @@ -0,0 +1,5 @@ +export default { + path: '/', + name: 'main', + component: () => import('@/pages/a-frame/AFrame.vue'), +} as RouterTypes.RouteConfig diff --git a/src/pages/home/Home.vue b/src/pages/home/Home.vue new file mode 100644 index 0000000..6985e16 --- /dev/null +++ b/src/pages/home/Home.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/pages/home/page.ts b/src/pages/home/page.ts new file mode 100644 index 0000000..1b09ec8 --- /dev/null +++ b/src/pages/home/page.ts @@ -0,0 +1,3 @@ +export default { + component: () => import('@/pages/home/Home.vue'), +} as RouterTypes.RouteConfig diff --git a/src/pages/login/Login.vue b/src/pages/login/Login.vue new file mode 100644 index 0000000..e31120b --- /dev/null +++ b/src/pages/login/Login.vue @@ -0,0 +1,240 @@ + + + + + diff --git a/src/pages/login/login-api.ts b/src/pages/login/login-api.ts new file mode 100644 index 0000000..795ce5f --- /dev/null +++ b/src/pages/login/login-api.ts @@ -0,0 +1,16 @@ +import { + get, + post, +} from '@/common/utils/http-util.ts' + +export default { + login(data: LoginTypes.LoginForm) { + return post('/auth/login', data) + }, + logout() { + return get('/auth/logout') + }, + my() { + return get('/auth/my') + }, +} diff --git a/src/pages/login/login.d.ts b/src/pages/login/login.d.ts new file mode 100644 index 0000000..aaac312 --- /dev/null +++ b/src/pages/login/login.d.ts @@ -0,0 +1,31 @@ +export {} +declare global { + namespace LoginTypes { + interface LoginForm { + account: string + secret: string + } + + interface UserSetting { + theme: string + collectedMenus: AppTypes.Menu[] + language: 'zh' | 'en' + logo: string | null + } + + interface UserDetail { + id: string + nickname: string + bizObj?: string + avatar?: string + tenantId?: string + tenantName?: string + roles: string[] + menus: AppTypes.Menu[] + token: string + setting: UserSetting + } + + + } +} diff --git a/src/pages/login/page.ts b/src/pages/login/page.ts new file mode 100644 index 0000000..8cf8dd0 --- /dev/null +++ b/src/pages/login/page.ts @@ -0,0 +1,5 @@ +export default { + path: '/login', + name: 'login', + component: () => import('@/pages/login/Login.vue'), +} as RouterTypes.RouteConfig diff --git a/src/pages/not-found/NotFound.vue b/src/pages/not-found/NotFound.vue new file mode 100644 index 0000000..c2a0130 --- /dev/null +++ b/src/pages/not-found/NotFound.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/pages/not-found/page.ts b/src/pages/not-found/page.ts new file mode 100644 index 0000000..606f532 --- /dev/null +++ b/src/pages/not-found/page.ts @@ -0,0 +1,6 @@ +export default { + path: '/:path(.*)*', + name: 'notFound', + component: () => import('@/pages/not-found/NotFound.vue'), + props: to => ({targetPath: '/' + (to.params.path as string[]).join('/'), targetHash: to.hash, targetQuery: {...to.query}}), +} as RouterTypes.RouteConfig diff --git a/src/pages/sys/menus/Menus.vue b/src/pages/sys/menus/Menus.vue new file mode 100644 index 0000000..ac5bef6 --- /dev/null +++ b/src/pages/sys/menus/Menus.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/pages/sys/menus/menu-api.ts b/src/pages/sys/menus/menu-api.ts new file mode 100644 index 0000000..5efef21 --- /dev/null +++ b/src/pages/sys/menus/menu-api.ts @@ -0,0 +1,31 @@ +import { + get, + post, +} from '@/common/utils/http-util.ts' + +export default { + pageList(data: MenuTypes.SearchForm) { + return get>('/menu/page_list', data) + }, + paging(data: MenuTypes.SearchForm & G.PageParam) { + return get>('/menu/page_list', data) + }, + list(data?: MenuTypes.SearchForm | null) { + return get('/menu/list_all', data) + }, + listAll(data?: MenuTypes.SearchForm | null) { + return get('/menu/list_all', data) + }, + detail(id: string) { + return get('/menu/detail', {id}) + }, + add(data: MenuTypes.AddForm) { + return post('/menu/add', data) + }, + modify(data: MenuTypes.ModifyForm) { + return post('/menu/modify', data) + }, + del(ids: string[]) { + return post('/menu/del', ids) + }, +} diff --git a/src/pages/sys/menus/menu-create/MenuCreate.vue b/src/pages/sys/menus/menu-create/MenuCreate.vue new file mode 100644 index 0000000..918f8e1 --- /dev/null +++ b/src/pages/sys/menus/menu-create/MenuCreate.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/pages/sys/menus/menu-create/page.ts b/src/pages/sys/menus/menu-create/page.ts new file mode 100644 index 0000000..b8ba35e --- /dev/null +++ b/src/pages/sys/menus/menu-create/page.ts @@ -0,0 +1,3 @@ +export default { + component: () => import('@/pages/sys/menus/menu-create/MenuCreate.vue'), +} as RouterTypes.RouteConfig diff --git a/src/pages/sys/menus/menu-detail/MenuDetail.vue b/src/pages/sys/menus/menu-detail/MenuDetail.vue new file mode 100644 index 0000000..c055afa --- /dev/null +++ b/src/pages/sys/menus/menu-detail/MenuDetail.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/pages/sys/menus/menu-detail/menu-detail-store.ts b/src/pages/sys/menus/menu-detail/menu-detail-store.ts new file mode 100644 index 0000000..122c940 --- /dev/null +++ b/src/pages/sys/menus/menu-detail/menu-detail-store.ts @@ -0,0 +1,12 @@ +export const useMenuDetailStore = defineStore('MenuDetail', () => { + const id = ref(null) + const edit = ref(false) + return { + id, + edit, + $reset() { + id.value = null + edit.value = false + }, + } +}) diff --git a/src/pages/sys/menus/menu-detail/page.ts b/src/pages/sys/menus/menu-detail/page.ts new file mode 100644 index 0000000..356e010 --- /dev/null +++ b/src/pages/sys/menus/menu-detail/page.ts @@ -0,0 +1,3 @@ +export default { + component: () => import('@/pages/sys/menus/menu-detail/MenuDetail.vue'), +} as RouterTypes.RouteConfig diff --git a/src/pages/sys/menus/menu-form/MenuForm.vue b/src/pages/sys/menus/menu-form/MenuForm.vue new file mode 100644 index 0000000..82d66d0 --- /dev/null +++ b/src/pages/sys/menus/menu-form/MenuForm.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/pages/sys/menus/menu-form/menu-form-store.ts b/src/pages/sys/menus/menu-form/menu-form-store.ts new file mode 100644 index 0000000..52fffdd --- /dev/null +++ b/src/pages/sys/menus/menu-form/menu-form-store.ts @@ -0,0 +1,12 @@ +export const useMenuFormStore = defineStore('MenuForm', () => { + const id = ref(null) + const edit = ref(true) + return { + id, + edit, + $reset() { + id.value = null + edit.value = true + }, + } +}) diff --git a/src/pages/sys/menus/menu.d.ts b/src/pages/sys/menus/menu.d.ts new file mode 100644 index 0000000..e9bfd64 --- /dev/null +++ b/src/pages/sys/menus/menu.d.ts @@ -0,0 +1,91 @@ +import { MenuCategory } from '@/common/app/contants' + +export {} + +declare global { + namespace MenuTypes { + // 菜单 + interface SysMenu extends G.TreeNode { + // Id + id: string + sn?: string + // 上级 Id; 层级为 1 的节点值为 0 + pid: string + // 菜单名称 + title?: string + // 图标 + icon?: string + // 层级; >= 1 + tier?: number + // 排序 + sort?: number + // 路由名称 + routeName?: string + routePath?: string + // 面包路径 + breadcrumb?: string[] + menuCategory?: MenuCategory + children?: SysMenu[] + } + + interface SearchForm { + pid?: string + // 菜单名称 + title?: string + // 路由名称 + routeName?: string + } + + interface MenuForm { + // Id + id?: string + sn?: string + // 上级 Id; 层级为 1 的节点值为 0 + pid?: string + // 菜单名称 + title?: string + // 图标 + icon?: string + // 排序 + sort?: number + // 路由名称 + routeName?: string + routePath?: string + menuCategory?: MenuCategory + } + + interface AddForm { + sn?: string + // 上级 Id; 层级为 1 的节点值为 0 + pid?: string + // 菜单名称 + title?: string + // 图标 + icon?: string + // 排序 + sort?: number + // 路由名称 + routeName?: string + routePath?: string + menuCategory?: MenuCategory + } + + interface ModifyForm { + id?: string + sn?: string + // 上级 Id; 层级为 1 的节点值为 0 + pid?: string + // 菜单名称 + title?: string + // 图标 + icon?: string + // 排序 + sort?: number + // 路由名称 + routeName?: string + routePath?: string + menuCategory?: MenuCategory + } + } +} + diff --git a/src/pages/sys/menus/page.ts b/src/pages/sys/menus/page.ts new file mode 100644 index 0000000..3f3057f --- /dev/null +++ b/src/pages/sys/menus/page.ts @@ -0,0 +1,3 @@ +export default { + component: () => import('@/pages/sys/menus/Menus.vue'), +} as RouterTypes.RouteConfig diff --git a/src/pages/sys/user/user-api.ts b/src/pages/sys/user/user-api.ts new file mode 100644 index 0000000..66f08f8 --- /dev/null +++ b/src/pages/sys/user/user-api.ts @@ -0,0 +1,10 @@ +import { post } from '@/common/utils/http-util.ts' + +export default { + modifyInfo(data: { nickname?: string; avatar?: string; phone?: string }) { + return post('/user/modify_info', data) + }, + modifyPasswd(data: { oldPasswd: string; newPasswd: string }) { + return post('/user/modify_passwd', data) + }, +} diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..f47bc29 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,30 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + /*"erasableSyntaxOnly": false, + "noUncheckedSideEffectImports": true, + "allowSyntheticDefaultImports": true,*/ + + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + }, + "plugins": [ + { + "name": "typescript-plugin-css-modules" + } + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.vue" + ] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ea9d0cd --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..85a09c3 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2023", + "lib": [ + "ES2023" + ], + "module": "ESNext", + "skipLibCheck": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": false, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + "allowSyntheticDefaultImports": true + }, + "include": [ + "vite.config.ts", + "plugin/**/*.ts" + ] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..19b66d1 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,78 @@ +import { + defineConfig, + loadEnv, + type ProxyOptions, +} from 'vite' +import vue from '@vitejs/plugin-vue' +import vueJsx from '@vitejs/plugin-vue-jsx' +import VueDevTools from 'vite-plugin-vue-devtools' +import AutoImport from 'unplugin-auto-import/vite' +import Components from 'unplugin-vue-components/vite' +import processHtml from './plugin/html-process.ts' +import zipDist from './plugin/zip-dist.ts' +import path from 'node:path' +import ElementPlus from 'unplugin-element-plus/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' + +// https://vite.dev/config/ +export default defineConfig((configEnv) => { + const env = loadEnv(configEnv.mode, process.cwd(), '') + return { + base: env.VITE_APP_BASE_URL, + build: { + rollupOptions: { + treeshake: true, + }, + }, + css: { + modules: { + localsConvention: 'camelCase', + }, + }, + plugins: [ + vue(), + vueJsx(), + VueDevTools(), + ElementPlus({ + defaultLocale: 'zh-cn', + }), + AutoImport({ + imports: [ 'vue', 'vue-router', 'pinia' ], + dts: './src/dts/auto-imports.d.ts', + resolvers: [ ElementPlusResolver() ], + }), + Components({ + dts: './src/dts/components.d.ts', + dirs: [ './src/widgets' ], + resolvers: [ ElementPlusResolver() ], + }), + processHtml(env.VITE_APP_NAME), + zipDist(), + ], + resolve: { + extensions: [ '.mjs', '.js', '.mts', '.ts', '.jsx', '.tsx', '.json' ], + alias: [ + { + find: '@', + replacement: path.resolve(__dirname, 'src'), + }, + ], + }, + server: { + host: '0.0.0.0', + port: 5173, + proxy: { + [env.VITE_HTTP_SERVER_BASE_URL]: { + proxyTimeout: 10000, + target: env.VITE_HTTP_PROXY_TARGET, + rewrite: path => env.VITE_HTTP_SERVER_BASE_URL == null || env.VITE_HTTP_SERVER_BASE_URL == '/' ? path : path.replace(new RegExp(env.VITE_HTTP_SERVER_BASE_URL), ''), + } as ProxyOptions, + [env.VITE_WS_SERVER_BASE_URL]: { + ws: true, + target: env.VITE_WS_PROXY_TARGET, + rewrite: (path) => (env.VITE_WS_SERVER_BASE_URL == null || env.VITE_WS_SERVER_BASE_URL == '/' ? path : path.replace(new RegExp(env.VITE_WS_SERVER_BASE_URL), '')), + } as ProxyOptions, + }, + }, + } +})