Files
chazhi_h5/vite.config.ts.timestamp-1763707924428-d7286c67300ac.mjs
wangxiaowei a7f62ffaa2 完善功能
2025-11-24 16:32:01 +08:00

163 lines
22 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// vite.config.ts
import path from "node:path";
import process from "node:process";
import Uni from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-helper+plugin-uni@0.1._13a08374fc746519ba2cdc3ac66336dc/node_modules/@uni-helper/plugin-uni/src/index.js";
import Components from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-helper+vite-plugin-uni-components@0.2.0_rollup@4.46.2/node_modules/@uni-helper/vite-plugin-uni-components/dist/index.mjs";
import UniLayouts from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-helper+vite-plugin-uni-layouts@0.1.11_rollup@4.46.2/node_modules/@uni-helper/vite-plugin-uni-layouts/dist/index.mjs";
import UniManifest from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-helper+vite-plugin-uni_2e79d4912f4f16552fcb82978a6a988b/node_modules/@uni-helper/vite-plugin-uni-manifest/dist/index.mjs";
import UniPages from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-helper+vite-plugin-uni_5216a1b2930e52cb254f93c3166fc8fc/node_modules/@uni-helper/vite-plugin-uni-pages/dist/index.mjs";
import UniPlatform from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-helper+vite-plugin-uni-platform@0.0.5/node_modules/@uni-helper/vite-plugin-uni-platform/dist/index.mjs";
import Optimization from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/@uni-ku+bundle-optimizer@1._5ab614773e6f14d4b1f53be3d75b20b3/node_modules/@uni-ku/bundle-optimizer/dist/index.mjs";
import dayjs from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/dayjs.min.js";
import { visualizer } from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/rollup-plugin-visualizer@5.14.0_rollup@4.46.2/node_modules/rollup-plugin-visualizer/dist/plugin/index.js";
import UnoCSS from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/unocss@66.0.0_postcss@8.5.6_11a0fdb79703efeb72296cc703204d63/node_modules/unocss/dist/vite.mjs";
import AutoImport from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/unplugin-auto-import@0.17.8_rollup@4.46.2/node_modules/unplugin-auto-import/dist/vite.js";
import { defineConfig, loadEnv } from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/vite@5.2.8_@types+node@20.19.9_sass@1.77.8_terser@5.43.1/node_modules/vite/dist/node/index.js";
import ViteRestart from "file:///D:/Hbuilder/Project/chazhi_h5/node_modules/.pnpm/vite-plugin-restart@0.4.2_v_30f4b30a1abde0501a9b6d1dbad04de5/node_modules/vite-plugin-restart/dist/index.js";
var vite_config_default = ({ command, mode }) => {
console.log("command, mode -> ", command, mode);
const { UNI_PLATFORM } = process.env;
console.log("UNI_PLATFORM -> ", UNI_PLATFORM);
const env = loadEnv(mode, path.resolve(process.cwd(), "env"));
const {
VITE_APP_PORT,
VITE_SERVER_BASEURL,
VITE_DELETE_CONSOLE,
VITE_SHOW_SOURCEMAP,
VITE_APP_PUBLIC_BASE,
VITE_APP_PROXY,
VITE_APP_PROXY_PREFIX
} = env;
console.log("\u73AF\u5883\u53D8\u91CF env -> ", env);
return defineConfig({
envDir: "./env",
// 自定义env目录
base: VITE_APP_PUBLIC_BASE,
plugins: [
UniPages({
exclude: ["**/components/**/**.*"],
// homePage 通过 vue 文件的 route-block 的type="home"来设定
// pages 目录为 src/pages分包目录不能配置在pages目录下
subPackages: ["src/bundle"],
// 是个数组可以配置多个但是不能为pages里面的目录
dts: "src/types/uni-pages.d.ts"
}),
UniLayouts(),
UniPlatform(),
UniManifest(),
// UniXXX 需要在 Uni 之前引入
{
// 临时解决 dcloudio 官方的 @dcloudio/uni-mp-compiler 出现的编译 BUG
// 参考 github issue: https://github.com/dcloudio/uni-app/issues/4952
// 自定义插件禁用 vite:vue 插件的 devToolsEnabled强制编译 vue 模板时 inline 为 true
name: "fix-vite-plugin-vue",
configResolved(config) {
const plugin = config.plugins.find((p) => p.name === "vite:vue");
if (plugin && plugin.api && plugin.api.options) {
plugin.api.options.devToolsEnabled = false;
}
}
},
UnoCSS(),
AutoImport({
imports: ["vue", "uni-app"],
dts: "src/types/auto-import.d.ts",
dirs: ["src/hooks"],
// 自动导入 hooks
vueTemplate: true
// default false
}),
// Optimization 插件需要 page.json 文件,故应在 UniPages 插件之后执行
Optimization({
enable: {
"optimization": true,
"async-import": true,
"async-component": true
},
dts: {
base: "src/types"
},
logger: false
}),
ViteRestart({
// 通过这个插件在修改vite.config.js文件则不需要重新运行也生效配置
restart: ["vite.config.js"]
}),
// h5环境增加 BUILD_TIME 和 BUILD_BRANCH
UNI_PLATFORM === "h5" && {
name: "html-transform",
transformIndexHtml(html) {
return html.replace("%BUILD_TIME%", dayjs().format("YYYY-MM-DD HH:mm:ss"));
}
},
// 打包分析插件h5 + 生产环境才弹出
UNI_PLATFORM === "h5" && mode === "production" && visualizer({
filename: "./node_modules/.cache/visualizer/stats.html",
open: true,
gzipSize: true,
brotliSize: true
}),
// 只有在 app 平台时才启用 copyNativeRes 插件
// UNI_PLATFORM === 'app' && copyNativeRes(),
Components({
extensions: ["vue"],
deep: true,
// 是否递归扫描子目录,
directoryAsNamespace: false,
// 是否把目录名作为命名空间前缀true 时组件名为 目录名+组件名,
dts: "src/types/components.d.ts"
// 自动生成的组件类型声明文件路径(用于 TypeScript 支持)
}),
Uni()
],
define: {
__UNI_PLATFORM__: JSON.stringify(UNI_PLATFORM),
__VITE_APP_PROXY__: JSON.stringify(VITE_APP_PROXY)
},
css: {
postcss: {
plugins: [
// autoprefixer({
// // 指定目标浏览器
// overrideBrowserslist: ['> 1%', 'last 2 versions'],
// }),
]
}
},
resolve: {
alias: {
"@": path.join(process.cwd(), "./src"),
"@img": path.join(process.cwd(), "./src/static/images")
}
},
server: {
host: "0.0.0.0",
hmr: true,
port: Number.parseInt(VITE_APP_PORT, 10),
// 仅 H5 端生效其他端不生效其他端走build不走devServer)
proxy: JSON.parse(VITE_APP_PROXY) ? {
[VITE_APP_PROXY_PREFIX]: {
target: VITE_SERVER_BASEURL,
changeOrigin: true,
rewrite: (path2) => path2.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), "")
}
} : void 0
},
esbuild: {
drop: VITE_DELETE_CONSOLE === "true" ? ["console", "debugger"] : ["debugger"]
},
build: {
sourcemap: false,
// 方便非h5端调试
// sourcemap: VITE_SHOW_SOURCEMAP === 'true', // 默认是false
target: "es6",
// 开发环境不用压缩
minify: mode === "development" ? false : "esbuild"
}
});
};
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxIYnVpbGRlclxcXFxQcm9qZWN0XFxcXGNoYXpoaV9oNVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcSGJ1aWxkZXJcXFxcUHJvamVjdFxcXFxjaGF6aGlfaDVcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L0hidWlsZGVyL1Byb2plY3QvY2hhemhpX2g1L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJ1xyXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnXHJcbmltcG9ydCBVbmkgZnJvbSAnQHVuaS1oZWxwZXIvcGx1Z2luLXVuaSdcclxuaW1wb3J0IENvbXBvbmVudHMgZnJvbSAnQHVuaS1oZWxwZXIvdml0ZS1wbHVnaW4tdW5pLWNvbXBvbmVudHMnXHJcbi8vIEBzZWUgaHR0cHM6Ly91bmktaGVscGVyLmpzLm9yZy92aXRlLXBsdWdpbi11bmktbGF5b3V0c1xyXG5pbXBvcnQgVW5pTGF5b3V0cyBmcm9tICdAdW5pLWhlbHBlci92aXRlLXBsdWdpbi11bmktbGF5b3V0cydcclxuLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdW5pLWhlbHBlci92aXRlLXBsdWdpbi11bmktbWFuaWZlc3RcclxuaW1wb3J0IFVuaU1hbmlmZXN0IGZyb20gJ0B1bmktaGVscGVyL3ZpdGUtcGx1Z2luLXVuaS1tYW5pZmVzdCdcclxuLy8gQHNlZSBodHRwczovL3VuaS1oZWxwZXIuanMub3JnL3ZpdGUtcGx1Z2luLXVuaS1wYWdlc1xyXG5pbXBvcnQgVW5pUGFnZXMgZnJvbSAnQHVuaS1oZWxwZXIvdml0ZS1wbHVnaW4tdW5pLXBhZ2VzJ1xyXG4vLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS91bmktaGVscGVyL3ZpdGUtcGx1Z2luLXVuaS1wbGF0Zm9ybVxyXG4vLyBcdTk3MDBcdTg5ODFcdTRFMEUgQHVuaS1oZWxwZXIvdml0ZS1wbHVnaW4tdW5pLXBhZ2VzIFx1NjNEMlx1NEVGNlx1NEUwMFx1OEQ3N1x1NEY3Rlx1NzUyOFxyXG5pbXBvcnQgVW5pUGxhdGZvcm0gZnJvbSAnQHVuaS1oZWxwZXIvdml0ZS1wbHVnaW4tdW5pLXBsYXRmb3JtJ1xyXG4vKipcclxuICogXHU1MjA2XHU1MzA1XHU0RjE4XHU1MzE2XHUzMDAxXHU2QTIxXHU1NzU3XHU1RjAyXHU2QjY1XHU4REU4XHU1MzA1XHU4QzAzXHU3NTI4XHUzMDAxXHU3RUM0XHU0RUY2XHU1RjAyXHU2QjY1XHU4REU4XHU1MzA1XHU1RjE1XHU3NTI4XHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3VuaS1rdS9idW5kbGUtb3B0aW1pemVyXHJcbiAqL1xyXG5pbXBvcnQgT3B0aW1pemF0aW9uIGZyb20gJ0B1bmkta3UvYnVuZGxlLW9wdGltaXplcidcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJ1xyXG5pbXBvcnQgeyB2aXN1YWxpemVyIH0gZnJvbSAncm9sbHVwLXBsdWdpbi12aXN1YWxpemVyJ1xyXG5pbXBvcnQgVW5vQ1NTIGZyb20gJ3Vub2Nzcy92aXRlJ1xyXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJ1xyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcsIGxvYWRFbnYgfSBmcm9tICd2aXRlJ1xyXG5pbXBvcnQgVml0ZVJlc3RhcnQgZnJvbSAndml0ZS1wbHVnaW4tcmVzdGFydCdcclxuXHJcbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXHJcbmV4cG9ydCBkZWZhdWx0ICh7IGNvbW1hbmQsIG1vZGUgfSkgPT4ge1xyXG5cdC8vIEBzZWUgaHR0cHM6Ly91bm9jc3MuZGV2L1xyXG5cdC8vIGNvbnN0IFVub0NTUyA9IChhd2FpdCBpbXBvcnQoJ3Vub2Nzcy92aXRlJykpLmRlZmF1bHRcclxuXHQvLyBjb25zb2xlLmxvZyhtb2RlID09PSBwcm9jZXNzLmVudi5OT0RFX0VOVikgLy8gdHJ1ZVxyXG5cclxuXHQvLyBtb2RlOiBcdTUzM0FcdTUyMDZcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdThGRDhcdTY2MkZcdTVGMDBcdTUzRDFcdTczQUZcdTU4ODNcclxuXHRjb25zb2xlLmxvZygnY29tbWFuZCwgbW9kZSAtPiAnLCBjb21tYW5kLCBtb2RlKVxyXG5cdC8vIHBucG0gZGV2Omg1IFx1NjVGNlx1NUY5N1x1NTIzMCA9PiBzZXJ2ZSBkZXZlbG9wbWVudFxyXG5cdC8vIHBucG0gYnVpbGQ6aDUgXHU2NUY2XHU1Rjk3XHU1MjMwID0+IGJ1aWxkIHByb2R1Y3Rpb25cclxuXHQvLyBwbnBtIGRldjptcC13ZWl4aW4gXHU2NUY2XHU1Rjk3XHU1MjMwID0+IGJ1aWxkIGRldmVsb3BtZW50IChcdTZDRThcdTYxMEZcdTUzM0FcdTUyMkJcdUZGMENjb21tYW5kXHU0RTNBYnVpbGQpXHJcblx0Ly8gcG5wbSBidWlsZDptcC13ZWl4aW4gXHU2NUY2XHU1Rjk3XHU1MjMwID0+IGJ1aWxkIHByb2R1Y3Rpb25cclxuXHQvLyBwbnBtIGRldjphcHAgXHU2NUY2XHU1Rjk3XHU1MjMwID0+IGJ1aWxkIGRldmVsb3BtZW50IChcdTZDRThcdTYxMEZcdTUzM0FcdTUyMkJcdUZGMENjb21tYW5kXHU0RTNBYnVpbGQpXHJcblx0Ly8gcG5wbSBidWlsZDphcHAgXHU2NUY2XHU1Rjk3XHU1MjMwID0+IGJ1aWxkIHByb2R1Y3Rpb25cclxuXHQvLyBkZXYgXHU1NDhDIGJ1aWxkIFx1NTQ3RFx1NEVFNFx1NTNFRlx1NEVFNVx1NTIwNlx1NTIyQlx1NEY3Rlx1NzUyOCAuZW52LmRldmVsb3BtZW50IFx1NTQ4QyAuZW52LnByb2R1Y3Rpb24gXHU3Njg0XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGXHJcblxyXG5cdGNvbnN0IHsgVU5JX1BMQVRGT1JNIH0gPSBwcm9jZXNzLmVudlxyXG5cdGNvbnNvbGUubG9nKCdVTklfUExBVEZPUk0gLT4gJywgVU5JX1BMQVRGT1JNKSAvLyBcdTVGOTdcdTUyMzAgbXAtd2VpeGluLCBoNSwgYXBwIFx1N0I0OVxyXG5cclxuXHRjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCAnZW52JykpXHJcblx0Y29uc3Qge1xyXG5cdFx0VklURV9BUFBfUE9SVCxcclxuXHRcdFZJVEVfU0VSVkVSX0JBU0VVUkwsXHJcblx0XHRWSVRFX0RFTEVURV9DT05TT0xFLFxyXG5cdFx0VklURV9TSE9XX1NPVVJDRU1BUCxcclxuXHRcdFZJVEVfQVBQX1BVQkxJQ19CQVNFLFxyXG5cdFx0VklURV9BUFBfUFJPWFksXHJcblx0XHRWSVRFX0FQUF9QUk9YWV9QUkVGSVgsXHJcblx0fSA9IGVudlxyXG5cdGNvbnNvbGUubG9nKCdcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0YgZW52IC0+ICcsIGVudilcclxuXHJcblx0cmV0dXJuIGRlZmluZUNvbmZpZyh7XHJcblx0XHRlbnZEaXI6ICcuL2VudicsIC8vIFx1ODFFQVx1NUI5QVx1NEU0OWVudlx1NzZFRVx1NUY1NVxyXG5cdFx0YmFzZTogVklURV9BUFBfUFVCTElDX0JBU0UsXHJcblx0XHRwbHVnaW5zOiBbXHJcblx0XHRcdFVuaVBhZ2VzKHtcclxuXHRcdFx0XHRleGNsdWRlOiBbJyoqL2NvbXBvbmVudHMvKiovKiouKiddLFxyXG5cdFx0XHRcdC8vIGhvbWVQYWdlIFx1OTAxQVx1OEZDNyB2dWUgXHU2NTg3XHU0RUY2XHU3Njg0IHJvdXRlLWJsb2NrIFx1NzY4NHR5cGU9XCJob21lXCJcdTY3NjVcdThCQkVcdTVCOUFcclxuXHRcdFx0XHQvLyBwYWdlcyBcdTc2RUVcdTVGNTVcdTRFM0Egc3JjL3BhZ2VzXHVGRjBDXHU1MjA2XHU1MzA1XHU3NkVFXHU1RjU1XHU0RTBEXHU4MEZEXHU5MTREXHU3RjZFXHU1NzI4cGFnZXNcdTc2RUVcdTVGNTVcdTRFMEJcclxuXHRcdFx0XHRzdWJQYWNrYWdlczogWydzcmMvYnVuZGxlJ10sIC8vIFx1NjYyRlx1NEUyQVx1NjU3MFx1N0VDNFx1RkYwQ1x1NTNFRlx1NEVFNVx1OTE0RFx1N0Y2RVx1NTkxQVx1NEUyQVx1RkYwQ1x1NEY0Nlx1NjYyRlx1NEUwRFx1ODBGRFx1NEUzQXBhZ2VzXHU5MUNDXHU5NzYyXHU3Njg0XHU3NkVFXHU1RjU1XHJcblx0XHRcdFx0ZHRzOiAnc3JjL3R5cGVzL3VuaS1wYWdlcy5kLnRzJyxcclxuXHRcdFx0fSksXHJcblx0XHRcdFVuaUxheW91dHMoKSxcclxuXHRcdFx0VW5pUGxhdGZvcm0oKSxcclxuXHRcdFx0VW5pTWFuaWZlc3QoKSxcclxuXHRcdFx0Ly8gVW5pWFhYIFx1OTcwMFx1ODk4MVx1NTcyOCBVbmkgXHU0RTRCXHU1MjREXHU1RjE1XHU1MTY1XHJcblx0XHRcdHtcclxuXHRcdFx0XHQvLyBcdTRFMzRcdTY1RjZcdTg5RTNcdTUxQjMgZGNsb3VkaW8gXHU1Qjk4XHU2NUI5XHU3Njg0IEBkY2xvdWRpby91bmktbXAtY29tcGlsZXIgXHU1MUZBXHU3M0IwXHU3Njg0XHU3RjE2XHU4QkQxIEJVR1xyXG5cdFx0XHRcdC8vIFx1NTNDMlx1ODAwMyBnaXRodWIgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kY2xvdWRpby91bmktYXBwL2lzc3Vlcy80OTUyXHJcblx0XHRcdFx0Ly8gXHU4MUVBXHU1QjlBXHU0RTQ5XHU2M0QyXHU0RUY2XHU3OTgxXHU3NTI4IHZpdGU6dnVlIFx1NjNEMlx1NEVGNlx1NzY4NCBkZXZUb29sc0VuYWJsZWRcdUZGMENcdTVGM0FcdTUyMzZcdTdGMTZcdThCRDEgdnVlIFx1NkEyMVx1Njc3Rlx1NjVGNiBpbmxpbmUgXHU0RTNBIHRydWVcclxuXHRcdFx0XHRuYW1lOiAnZml4LXZpdGUtcGx1Z2luLXZ1ZScsXHJcblx0XHRcdFx0Y29uZmlnUmVzb2x2ZWQoY29uZmlnKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwbHVnaW4gPSBjb25maWcucGx1Z2lucy5maW5kKHAgPT4gcC5uYW1lID09PSAndml0ZTp2dWUnKVxyXG5cdFx0XHRcdFx0aWYgKHBsdWdpbiAmJiBwbHVnaW4uYXBpICYmIHBsdWdpbi5hcGkub3B0aW9ucykge1xyXG5cdFx0XHRcdFx0XHRwbHVnaW4uYXBpLm9wdGlvbnMuZGV2VG9vbHNFbmFibGVkID0gZmFsc2VcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRVbm9DU1MoKSxcclxuXHRcdFx0QXV0b0ltcG9ydCh7XHJcblx0XHRcdFx0aW1wb3J0czogWyd2dWUnLCAndW5pLWFwcCddLFxyXG5cdFx0XHRcdGR0czogJ3NyYy90eXBlcy9hdXRvLWltcG9ydC5kLnRzJyxcclxuXHRcdFx0XHRkaXJzOiBbJ3NyYy9ob29rcyddLCAvLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjUgaG9va3NcclxuXHRcdFx0XHR2dWVUZW1wbGF0ZTogdHJ1ZSwgLy8gZGVmYXVsdCBmYWxzZVxyXG5cdFx0XHR9KSxcclxuXHRcdFx0Ly8gT3B0aW1pemF0aW9uIFx1NjNEMlx1NEVGNlx1OTcwMFx1ODk4MSBwYWdlLmpzb24gXHU2NTg3XHU0RUY2XHVGRjBDXHU2NTQ1XHU1RTk0XHU1NzI4IFVuaVBhZ2VzIFx1NjNEMlx1NEVGNlx1NEU0Qlx1NTQwRVx1NjI2N1x1ODg0Q1xyXG5cdFx0XHRPcHRpbWl6YXRpb24oe1xyXG5cdFx0XHRcdGVuYWJsZToge1xyXG5cdFx0XHRcdFx0J29wdGltaXphdGlvbic6IHRydWUsXHJcblx0XHRcdFx0XHQnYXN5bmMtaW1wb3J0JzogdHJ1ZSxcclxuXHRcdFx0XHRcdCdhc3luYy1jb21wb25lbnQnOiB0cnVlLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0ZHRzOiB7XHJcblx0XHRcdFx0XHRiYXNlOiAnc3JjL3R5cGVzJyxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGxvZ2dlcjogZmFsc2UsXHJcblx0XHRcdH0pLFxyXG5cclxuXHRcdFx0Vml0ZVJlc3RhcnQoe1xyXG5cdFx0XHRcdC8vIFx1OTAxQVx1OEZDN1x1OEZEOVx1NEUyQVx1NjNEMlx1NEVGNlx1RkYwQ1x1NTcyOFx1NEZFRVx1NjUzOXZpdGUuY29uZmlnLmpzXHU2NTg3XHU0RUY2XHU1MjE5XHU0RTBEXHU5NzAwXHU4OTgxXHU5MUNEXHU2NUIwXHU4RkQwXHU4ODRDXHU0RTVGXHU3NTFGXHU2NTQ4XHU5MTREXHU3RjZFXHJcblx0XHRcdFx0cmVzdGFydDogWyd2aXRlLmNvbmZpZy5qcyddLFxyXG5cdFx0XHR9KSxcclxuXHRcdFx0Ly8gaDVcdTczQUZcdTU4ODNcdTU4OUVcdTUyQTAgQlVJTERfVElNRSBcdTU0OEMgQlVJTERfQlJBTkNIXHJcblx0XHRcdFVOSV9QTEFURk9STSA9PT0gJ2g1JyAmJiB7XHJcblx0XHRcdFx0bmFtZTogJ2h0bWwtdHJhbnNmb3JtJyxcclxuXHRcdFx0XHR0cmFuc2Zvcm1JbmRleEh0bWwoaHRtbCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIGh0bWwucmVwbGFjZSgnJUJVSUxEX1RJTUUlJywgZGF5anMoKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW06c3MnKSlcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyBcdTYyNTNcdTUzMDVcdTUyMDZcdTY3OTBcdTYzRDJcdTRFRjZcdUZGMENoNSArIFx1NzUxRlx1NEVBN1x1NzNBRlx1NTg4M1x1NjI0RFx1NUYzOVx1NTFGQVxyXG5cdFx0XHRVTklfUExBVEZPUk0gPT09ICdoNSdcclxuXHRcdFx0JiYgbW9kZSA9PT0gJ3Byb2R1Y3Rpb24nXHJcblx0XHRcdCYmIHZpc3VhbGl6ZXIoe1xyXG5cdFx0XHRcdGZpbGVuYW1lOiAnLi9ub2RlX21vZHVsZXMvLmNhY2hlL3Zpc3VhbGl6ZXIvc3RhdHMuaHRtbCcsXHJcblx0XHRcdFx0b3BlbjogdHJ1ZSxcclxuXHRcdFx0XHRnemlwU2l6ZTogdHJ1ZSxcclxuXHRcdFx0XHRicm90bGlTaXplOiB0cnVlLFxyXG5cdFx0XHR9KSxcclxuXHRcdFx0Ly8gXHU1M0VBXHU2NzA5XHU1NzI4IGFwcCBcdTVFNzNcdTUzRjBcdTY1RjZcdTYyNERcdTU0MkZcdTc1MjggY29weU5hdGl2ZVJlcyBcdTYzRDJcdTRFRjZcclxuXHRcdFx0Ly8gVU5JX1BMQVRGT1JNID09PSAnYXBwJyAmJiBjb3B5TmF0aXZlUmVzKCksXHJcblx0XHRcdENvbXBvbmVudHMoe1xyXG5cdFx0XHRcdGV4dGVuc2lvbnM6IFsndnVlJ10sXHJcblx0XHRcdFx0ZGVlcDogdHJ1ZSwgLy8gXHU2NjJGXHU1NDI2XHU5MDEyXHU1RjUyXHU2MjZCXHU2M0NGXHU1QjUwXHU3NkVFXHU1RjU1XHVGRjBDXHJcblx0XHRcdFx0ZGlyZWN0b3J5QXNOYW1lc3BhY2U6IGZhbHNlLCAvLyBcdTY2MkZcdTU0MjZcdTYyOEFcdTc2RUVcdTVGNTVcdTU0MERcdTRGNUNcdTRFM0FcdTU0N0RcdTU0MERcdTdBN0FcdTk1RjRcdTUyNERcdTdGMDBcdUZGMEN0cnVlIFx1NjVGNlx1N0VDNFx1NEVGNlx1NTQwRFx1NEUzQSBcdTc2RUVcdTVGNTVcdTU0MEQrXHU3RUM0XHU0RUY2XHU1NDBEXHVGRjBDXHJcblx0XHRcdFx0ZHRzOiAnc3JjL3R5cGVzL2NvbXBvbmVudHMuZC50cycsIC8vIFx1ODFFQVx1NTJBOFx1NzUxRlx1NjIxMFx1NzY4NFx1N0VDNFx1NEVGNlx1N0M3Qlx1NTc4Qlx1NThGMFx1NjYwRVx1NjU4N1x1NEVGNlx1OERFRlx1NUY4NFx1RkYwOFx1NzUyOFx1NEU4RSBUeXBlU2NyaXB0IFx1NjUyRlx1NjMwMVx1RkYwOVxyXG5cdFx0XHR9KSxcclxuXHRcdFx0VW5pKCksXHJcblx0XHRdLFxyXG5cdFx0ZGVmaW5lOiB7XHJcblx0XHRcdF9fVU5JX1BMQVRGT1JNX186IEpTT04uc3RyaW5naWZ5KFVOSV9QTEFURk9STSksXHJcblx0XHRcdF9fVklURV9BUFBfUFJPWFlfXzogSlNPTi5zdHJpbmdpZnkoVklURV9BUFBfUFJPWFkpLFxyXG5cdFx0fSxcclxuXHRcdGNzczoge1xyXG5cdFx0XHRwb3N0Y3NzOiB7XHJcblx0XHRcdFx0cGx1Z2luczogW1xyXG5cdFx0XHRcdFx0Ly8gYXV0b3ByZWZpeGVyKHtcclxuXHRcdFx0XHRcdC8vICAgLy8gXHU2MzA3XHU1QjlBXHU3NkVFXHU2ODA3XHU2RDRGXHU4OUM4XHU1NjY4XHJcblx0XHRcdFx0XHQvLyAgIG92ZXJyaWRlQnJvd3NlcnNsaXN0OiBbJz4gMSUnLCAnbGFzdCAyIHZlcnNpb25zJ10sXHJcblx0XHRcdFx0XHQvLyB9KSxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHJcblx0XHRyZXNvbHZlOiB7XHJcblx0XHRcdGFsaWFzOiB7XHJcblx0XHRcdFx0J0AnOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJy4vc3JjJyksXHJcblx0XHRcdFx0J0BpbWcnOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJy4vc3JjL3N0YXRpYy9pbWFnZXMnKSxcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XHRzZXJ2ZXI6IHtcclxuXHRcdFx0aG9zdDogJzAuMC4wLjAnLFxyXG5cdFx0XHRobXI6IHRydWUsXHJcblx0XHRcdHBvcnQ6IE51bWJlci5wYXJzZUludChWSVRFX0FQUF9QT1JULCAxMCksXHJcblx0XHRcdC8vIFx1NEVDNSBINSBcdTdBRUZcdTc1MUZcdTY1NDhcdUZGMENcdTUxNzZcdTRFRDZcdTdBRUZcdTRFMERcdTc1MUZcdTY1NDhcdUZGMDhcdTUxNzZcdTRFRDZcdTdBRUZcdThENzBidWlsZFx1RkYwQ1x1NEUwRFx1OEQ3MGRldlNlcnZlcilcclxuXHRcdFx0cHJveHk6IEpTT04ucGFyc2UoVklURV9BUFBfUFJPWFkpXHJcblx0XHRcdFx0PyB7XHJcblx0XHRcdFx0XHRbVklURV9BUFBfUFJPWFlfUFJFRklYXToge1xyXG5cdFx0XHRcdFx0XHR0YXJnZXQ6IFZJVEVfU0VSVkVSX0JBU0VVUkwsXHJcblx0XHRcdFx0XHRcdGNoYW5nZU9yaWdpbjogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0cmV3cml0ZTogcGF0aCA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7VklURV9BUFBfUFJPWFlfUFJFRklYfWApLCAnJyksXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ6IHVuZGVmaW5lZCxcclxuXHRcdH0sXHJcblx0XHRlc2J1aWxkOiB7XHJcblx0XHRcdGRyb3A6IFZJVEVfREVMRVRFX0NPTlNPTEUgPT09ICd0cnVlJyA/IFsnY29uc29sZScsICdkZWJ1Z2dlciddIDogWydkZWJ1Z2dlciddLFxyXG5cdFx0fSxcclxuXHRcdGJ1aWxkOiB7XHJcblx0XHRcdHNvdXJjZW1hcDogZmFsc2UsXHJcblx0XHRcdC8vIFx1NjVCOVx1NEZCRlx1OTc1RWg1XHU3QUVGXHU4QzAzXHU4QkQ1XHJcblx0XHRcdC8vIHNvdXJjZW1hcDogVklURV9TSE9XX1NPVVJDRU1BUCA9PT0gJ3RydWUnLCAvLyBcdTlFRDhcdThCQTRcdTY2MkZmYWxzZVxyXG5cdFx0XHR0YXJnZXQ6ICdlczYnLFxyXG5cdFx0XHQvLyBcdTVGMDBcdTUzRDFcdTczQUZcdTU4ODNcdTRFMERcdTc1MjhcdTUzOEJcdTdGMjlcclxuXHRcdFx0bWluaWZ5OiBtb2RlID09PSAnZGV2ZWxvcG1lbnQnID8gZmFsc2UgOiAnZXNidWlsZCcsXHJcblxyXG5cdFx0fSxcclxuXHR9KVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBaVIsT0FBTyxVQUFVO0FBQ2xTLE9BQU8sYUFBYTtBQUNwQixPQUFPLFNBQVM7QUFDaEIsT0FBTyxnQkFBZ0I7QUFFdkIsT0FBTyxnQkFBZ0I7QUFFdkIsT0FBTyxpQkFBaUI7QUFFeEIsT0FBTyxjQUFjO0FBR3JCLE9BQU8saUJBQWlCO0FBS3hCLE9BQU8sa0JBQWtCO0FBQ3pCLE9BQU8sV0FBVztBQUNsQixTQUFTLGtCQUFrQjtBQUMzQixPQUFPLFlBQVk7QUFDbkIsT0FBTyxnQkFBZ0I7QUFDdkIsU0FBUyxjQUFjLGVBQWU7QUFDdEMsT0FBTyxpQkFBaUI7QUFHeEIsSUFBTyxzQkFBUSxDQUFDLEVBQUUsU0FBUyxLQUFLLE1BQU07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