vite.config.ts.timestamp-1672734515047.mjs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. // vite.config.ts
  2. import path from "path";
  3. import { defineConfig } from "file:///E:/aiwen/node_modules/.pnpm/vite@4.0.3_ovmyjmuuyckt3r3gpaexj2onji/node_modules/vite/dist/node/index.js";
  4. import vue from "file:///E:/aiwen/node_modules/.pnpm/@vitejs+plugin-vue@4.0.0_vite@4.0.3+vue@3.2.45/node_modules/@vitejs/plugin-vue/dist/index.mjs";
  5. import WindiCss from "file:///E:/aiwen/node_modules/.pnpm/vite-plugin-windicss@1.8.10_vite@4.0.3/node_modules/vite-plugin-windicss/dist/index.mjs";
  6. import AutoImport from "file:///E:/aiwen/node_modules/.pnpm/unplugin-auto-import@0.10.3_vite@4.0.3/node_modules/unplugin-auto-import/dist/vite.mjs";
  7. import Components from "file:///E:/aiwen/node_modules/.pnpm/unplugin-vue-components@0.22.12_vue@3.2.45/node_modules/unplugin-vue-components/dist/vite.mjs";
  8. import { ElementPlusResolver } from "file:///E:/aiwen/node_modules/.pnpm/unplugin-vue-components@0.22.12_vue@3.2.45/node_modules/unplugin-vue-components/dist/resolvers.mjs";
  9. import Icons from "file:///E:/aiwen/node_modules/.pnpm/unplugin-icons@0.14.15/node_modules/unplugin-icons/dist/vite.mjs";
  10. import IconsResolver from "file:///E:/aiwen/node_modules/.pnpm/unplugin-icons@0.14.15/node_modules/unplugin-icons/dist/resolver.mjs";
  11. // plugins/vite-plugin-conditional-compile.ts
  12. import MagicString from "file:///E:/aiwen/node_modules/.pnpm/magic-string@0.26.7/node_modules/magic-string/dist/magic-string.es.mjs";
  13. import { createFilter } from "file:///E:/aiwen/node_modules/.pnpm/vite@4.0.3_ovmyjmuuyckt3r3gpaexj2onji/node_modules/vite/dist/node/index.js";
  14. var config = void 0;
  15. var replaceMatched = (code, id) => {
  16. const env = config.env;
  17. const source = new MagicString(code, {
  18. filename: id
  19. });
  20. source.replace(
  21. /^.*?#if(n?)def\s*(\S+).*[\r\n]{1,2}([\s\S]+?)\s*.*?#endif.*?$/gm,
  22. (_, $1, $2, $3) => {
  23. const isNot = !!$1;
  24. const isKeep = $2.split("||").some((v) => {
  25. let flag = false;
  26. const [key, value] = v.split("=");
  27. if (value === void 0)
  28. flag = !!env[key];
  29. else
  30. flag = String(env[key]) === value;
  31. flag = isNot ? !flag : flag;
  32. return flag;
  33. });
  34. return isKeep ? $3 : "";
  35. }
  36. );
  37. if (source.hasChanged()) {
  38. return {
  39. code: source.toString(),
  40. map: source.generateMap({
  41. source: id,
  42. file: `${id}.map`,
  43. includeContent: true
  44. })
  45. };
  46. }
  47. };
  48. var resolveOptions = (userOptions) => {
  49. return {
  50. include: ["**/*"],
  51. exclude: [],
  52. ...userOptions
  53. };
  54. };
  55. var VitePluginConditionalCompile = (userOptions = {}) => {
  56. const options = resolveOptions(userOptions);
  57. return {
  58. name: "vite-plugin-conditional-compile",
  59. enforce: "pre",
  60. configResolved(_config) {
  61. config = _config;
  62. },
  63. transform(code, id) {
  64. const filter = createFilter(options.include, options.exclude);
  65. if (filter(id))
  66. return replaceMatched(code, id);
  67. }
  68. };
  69. };
  70. var vite_plugin_conditional_compile_default = VitePluginConditionalCompile;
  71. // vite.config.ts
  72. var __vite_injected_original_dirname = "E:\\aiwen";
  73. var vite_config_default = defineConfig({
  74. resolve: {
  75. alias: {
  76. "@": path.resolve(__vite_injected_original_dirname, "src"),
  77. "~": path.resolve(__vite_injected_original_dirname, "src")
  78. }
  79. },
  80. css: {
  81. preprocessorOptions: {
  82. scss: {}
  83. }
  84. },
  85. plugins: [
  86. vite_plugin_conditional_compile_default(),
  87. vue({
  88. reactivityTransform: true
  89. }),
  90. WindiCss(),
  91. AutoImport({
  92. imports: ["vue", "vue/macros", "vue-router"],
  93. dirs: [
  94. "src/composables",
  95. "src/utils"
  96. ],
  97. resolvers: [ElementPlusResolver()],
  98. vueTemplate: true,
  99. eslintrc: {
  100. enabled: true
  101. }
  102. }),
  103. Components({
  104. dirs: ["src/components/"],
  105. extensions: ["vue", "md"],
  106. include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
  107. resolvers: [ElementPlusResolver({ importStyle: "sass" }), IconsResolver()]
  108. }),
  109. Icons({
  110. compiler: "vue3",
  111. autoInstall: true
  112. })
  113. ],
  114. server: {
  115. host: true,
  116. port: 5230
  117. },
  118. build: {
  119. rollupOptions: {
  120. output: {
  121. manualChunks: {
  122. axios: ["axios"]
  123. }
  124. }
  125. }
  126. }
  127. });
  128. export {
  129. vite_config_default as default
  130. };
  131. //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAicGx1Z2lucy92aXRlLXBsdWdpbi1jb25kaXRpb25hbC1jb21waWxlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcYWl3ZW5cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXGFpd2VuXFxcXHZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi9haXdlbi92aXRlLmNvbmZpZy50c1wiO2ltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnXG5pbXBvcnQgV2luZGlDc3MgZnJvbSAndml0ZS1wbHVnaW4td2luZGljc3MnXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJ1xuaW1wb3J0IENvbXBvbmVudHMgZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvdml0ZSdcbmltcG9ydCB7IEVsZW1lbnRQbHVzUmVzb2x2ZXIgfSBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnMnXG5pbXBvcnQgSWNvbnMgZnJvbSAndW5wbHVnaW4taWNvbnMvdml0ZSdcbmltcG9ydCBJY29uc1Jlc29sdmVyIGZyb20gJ3VucGx1Z2luLWljb25zL3Jlc29sdmVyJ1xuaW1wb3J0IENvbmRpdGlvbmFsQ29tcGlsZSBmcm9tICcuL3BsdWdpbnMvdml0ZS1wbHVnaW4tY29uZGl0aW9uYWwtY29tcGlsZSdcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgJ0AnOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc3JjJyksXG4gICAgICAnfic6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMnKSxcbiAgICAgIC8vICd+Y29tcG9uZW50cyc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvY29tcG9uZW50cycpLFxuICAgICAgLy8gJ35wYWdlcyc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvcGFnZXMnKSxcbiAgICAgIC8vICd+dXRpbHMnOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc3JjL3V0aWxzJyksXG4gICAgICAvLyAnfmFzc2V0cyc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvYXNzZXRzJyksXG4gICAgICAvLyAnfnN0eWxlcyc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvc3R5bGVzJyksXG4gICAgICAvLyAnfmxpYic6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvbGliJyksXG4gICAgICAvLyAnfnBsdWdpbnMnOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc3JjL3BsdWdpbnMnKSxcbiAgICAgIC8vICd+cm91dGVyJzogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ3NyYy9yb3V0ZXInKSxcbiAgICAgIC8vICd+c3RvcmUnOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc3JjL3N0b3JlJyksXG4gICAgICAvLyAnfmNvbmZpZyc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvY29uZmlnJyksXG4gICAgICAvLyAnfmFwaSc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvYXBpJyksXG4gICAgICAvLyAnfmNvbnN0YW50cyc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvY29uc3RhbnRzJyksXG4gICAgICAvLyAnfmxvY2FsZXMnOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc3JjL2xvY2FsZXMnKSxcbiAgICB9LFxuICB9LFxuICBjc3M6IHtcbiAgICBwcmVwcm9jZXNzb3JPcHRpb25zOiB7XG4gICAgICBzY3NzOiB7XG4gICAgICAgIC8vIGFkZGl0aW9uYWxEYXRhOiAnQHVzZSBcIn4vc3R5bGVzL2VsZW1lbnQvaW5kZXguc2Nzc1wiIGFzICo7JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgcGx1Z2luczogW1xuICAgIENvbmRpdGlvbmFsQ29tcGlsZSgpLFxuICAgIHZ1ZSh7XG4gICAgICByZWFjdGl2aXR5VHJhbnNmb3JtOiB0cnVlLFxuICAgIH0pLFxuICAgIFdpbmRpQ3NzKCksXG4gICAgQXV0b0ltcG9ydCh7XG4gICAgICAvLyBkdHM6ICdzcmMvYXV0by1pbXBvcnRzLmQudHMnLFxuICAgICAgaW1wb3J0czogWyd2dWUnLCAndnVlL21hY3JvcycsICd2dWUtcm91dGVyJ10sXG4gICAgICBkaXJzOiBbXG4gICAgICAgICdzcmMvY29tcG9zYWJsZXMnLFxuICAgICAgICAvLyAnc3JjL3N0b3JlJyxcbiAgICAgICAgJ3NyYy91dGlscycsXG4gICAgICBdLFxuICAgICAgcmVzb2x2ZXJzOiBbRWxlbWVudFBsdXNSZXNvbHZlcigpXSxcbiAgICAgIHZ1ZVRlbXBsYXRlOiB0cnVlLFxuICAgICAgZXNsaW50cmM6IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgLy8gZW5hYmxlZDogZmFsc2UsIC8vIERlZmF1bHQgYGZhbHNlYFxuICAgICAgICAvLyBmaWxlcGF0aDogJy4vLmVzbGludHJjLWF1dG8taW1wb3J0Lmpzb24nLCAvLyBEZWZhdWx0IGAuLy5lc2xpbnRyYy1hdXRvLWltcG9ydC5qc29uYFxuICAgICAgICAvLyBnbG9iYWxzUHJvcFZhbHVlOiB0cnVlLCAvLyBEZWZhdWx0IGB0cnVlYCwgKHRydWUgfCBmYWxzZSB8ICdyZWFkb25seScgfCAncmVhZGFibGUnIHwgJ3dyaXRhYmxlJyB8ICd3cml0ZWFibGUnKVxuICAgICAgfSxcbiAgICB9KSxcbiAgICBDb21wb25lbnRzKHtcbiAgICAgIC8vIGR0czogJ3NyYy9jb21wb25lbnRzLmQudHMnLFxuICAgICAgZGlyczogWydzcmMvY29tcG9uZW50cy8nXSxcbiAgICAgIC8vIGFsbG93IGF1dG8gbG9hZCBtYXJrZG93biBjb21wb25lbnRzIHVuZGVyIGAuL3NyYy9jb21wb25lbnRzL2BcbiAgICAgIGV4dGVuc2lvbnM6IFsndnVlJywgJ21kJ10sXG4gICAgICAvLyBhbGxvdyBhdXRvIGltcG9ydCBhbmQgcmVnaXN0ZXIgY29tcG9uZW50cyB1c2VkIGluIG1hcmtkb3duXG4gICAgICBpbmNsdWRlOiBbL1xcLnZ1ZSQvLCAvXFwudnVlXFw/dnVlLywgL1xcLm1kJC9dLFxuICAgICAgcmVzb2x2ZXJzOiBbRWxlbWVudFBsdXNSZXNvbHZlcih7IGltcG9ydFN0eWxlOiAnc2FzcycgfSksIEljb25zUmVzb2x2ZXIoKV0sXG4gICAgfSksXG4gICAgSWNvbnMoe1xuICAgICAgY29tcGlsZXI6ICd2dWUzJyxcbiAgICAgIGF1dG9JbnN0YWxsOiB0cnVlLFxuICAgIH0pLFxuICBdLFxuICBzZXJ2ZXI6IHtcbiAgICBob3N0OiB0cnVlLFxuICAgIHBvcnQ6IDUyMzBcbiAgfSxcbiAgYnVpbGQ6IHtcbiAgICByb2xsdXBPcHRpb25zOiB7XG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgbWFudWFsQ2h1bmtzOiB7XG4gICAgICAgICAgYXhpb3M6IFsnYXhpb3MnXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkU6XFxcXGFpd2VuXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXGFpd2VuXFxcXHBsdWdpbnNcXFxcdml0ZS1wbHVnaW4tY29uZGl0aW9uYWwtY29tcGlsZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovYWl3ZW4vcGx1Z2lucy92aXRlLXBsdWdpbi1jb25kaXRpb25hbC1jb21waWxlLnRzXCI7aW1wb3J0IHR5cGUgeyBGaWx0ZXJQYXR0ZXJuLCBQbHVnaW4sIFJlc29sdmVkQ29uZmlnIH0gZnJvbSAndml0ZSdcblxuaW1wb3J0IE1hZ2ljU3RyaW5nIGZyb20gJ21hZ2ljLXN0cmluZydcbmltcG9ydCB7IGNyZWF0ZUZpbHRlciB9IGZyb20gJ3ZpdGUnXG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFtcIioqXFwvKlwiXVxuICAgKi9cbiAgaW5jbHVkZTogRmlsdGVyUGF0dGVyblxuICAvKipcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIGV4Y2x1ZGU6IEZpbHRlclBhdHRlcm5cbn1cblxudHlwZSBVc2VyT3B0aW9ucyA9IFBhcnRpYWw8T3B0aW9ucz5cblxudHlwZSBSZXNvbHZlZE9wdGlvbnMgPSBPcHRpb25zXG5sZXQgY29uZmlnOiBSZXNvbHZlZENvbmZpZyA9IHVuZGVmaW5lZCFcblxuY29uc3QgcmVwbGFjZU1hdGNoZWQgPSAoY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGVudiA9IGNvbmZpZy5lbnZcbiAgY29uc3Qgc291cmNlID0gbmV3IE1hZ2ljU3RyaW5nKGNvZGUsIHtcbiAgICBmaWxlbmFtZTogaWQsXG4gIH0pXG5cbiAgc291cmNlLnJlcGxhY2UoXG4gICAgL14uKj8jaWYobj8pZGVmXFxzKihcXFMrKS4qW1xcclxcbl17MSwyfShbXFxzXFxTXSs/KVxccyouKj8jZW5kaWYuKj8kL2dtLFxuICAgIC8qKlxuICAgICAqIFx1Njc2MVx1NEVGNlx1NjZGRlx1NjM2MlxuICAgICAqIEBwYXJhbSBfIFx1NTMzOVx1OTE0RFx1NzY4NFx1NUI1N1x1N0IyNlx1NEUzMlxuICAgICAqIEBwYXJhbSAkMSBcdTY2MkZcdTU0MjZcdTRFM0Egbm90IFx1NkEyMVx1NUYwRlxuICAgICAqIEBwYXJhbSAkMiBcdTY3NjFcdTRFRjZcbiAgICAgKiBAcGFyYW0gJDMgY29kZVxuICAgICAqL1xuICAgIChfLCAkMSwgJDIsICQzKSA9PiB7XG4gICAgICBjb25zdCBpc05vdCA9ICEhJDFcbiAgICAgIGNvbnN0IGlzS2VlcCA9ICQyLnNwbGl0KCd8fCcpLnNvbWUoKHY6IHN0cmluZykgPT4ge1xuICAgICAgICBsZXQgZmxhZyA9IGZhbHNlXG4gICAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IHYuc3BsaXQoJz0nKVxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICBmbGFnID0gISFlbnZba2V5XVxuXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBmbGFnID0gU3RyaW5nKGVudltrZXldKSA9PT0gdmFsdWVcblxuICAgICAgICBmbGFnID0gaXNOb3QgPyAhZmxhZyA6IGZsYWdcbiAgICAgICAgcmV0dXJuIGZsYWdcbiAgICAgIH0pXG4gICAgICByZXR1cm4gaXNLZWVwID8gJDMgOiAnJ1xuICAgIH0sXG4gIClcblxuICBpZiAoc291cmNlLmhhc0NoYW5nZWQoKSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiBzb3VyY2UudG9TdHJpbmcoKSxcbiAgICAgIG1hcDogc291cmNlLmdlbmVyYXRlTWFwKHtcbiAgICAgICAgc291cmNlOiBpZCxcbiAgICAgICAgZmlsZTogYCR7aWR9Lm1hcGAsXG4gICAgICAgIGluY2x1ZGVDb250ZW50OiB0cnVlLFxuICAgICAgfSksXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHJlc29sdmVPcHRpb25zID0gKHVzZXJPcHRpb25zOiBVc2VyT3B0aW9ucyk6IFJlc29sdmVkT3B0aW9ucyA9PiB7XG4gIHJldHVybiB7XG4gICAgaW5jbHVkZTogWycqKi8qJ10sXG4gICAgZXhjbHVkZTogW10sXG4gICAgLi4udXNlck9wdGlvbnMsXG4gIH1cbn1cblxuY29uc3QgVml0ZVBsdWdpbkNvbmRpdGlvbmFsQ29tcGlsZSA9IChcbiAgdXNlck9wdGlvbnM6IFVzZXJPcHRpb25zID0ge30sXG4pOiBQbHVnaW4gPT4ge1xuICBjb25zdCBvcHRpb25zID0gcmVzb2x2ZU9wdGlvbnModXNlck9wdGlvbnMpXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3ZpdGUtcGx1Z2luLWNvbmRpdGlvbmFsLWNvbXBpbGUnLFxuICAgIGVuZm9yY2U6ICdwcmUnLFxuICAgIGNvbmZpZ1Jlc29sdmVkKF9jb25maWcpIHtcbiAgICAgIGNvbmZpZyA9IF9jb25maWdcbiAgICB9LFxuICAgIHRyYW5zZm9ybShjb2RlLCBpZCkge1xuICAgICAgY29uc3QgZmlsdGVyID0gY3JlYXRlRmlsdGVyKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlKVxuICAgICAgaWYgKGZpbHRlcihpZCkpXG4gICAgICAgIHJldHVybiByZXBsYWNlTWF0Y2hlZChjb2RlLCBpZClcbiAgICB9LFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpdGVQbHVnaW5Db25kaXRpb25hbENvbXBpbGVcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBOE0sT0FBTyxVQUFVO0FBQy9OLFNBQVMsb0JBQW9CO0FBQzdCLE9BQU8sU0FBUztBQUNoQixPQUFPLGNBQWM7QUFDckIsT0FBTyxnQkFBZ0I7QUFDdkIsT0FBTyxnQkFBZ0I7QUFDdkIsU0FBUywyQkFBMkI7QUFDcEMsT0FBTyxXQUFXO0FBQ2xCLE9BQU8sbUJBQW1COzs7QUNOMUIsT0FBTyxpQkFBaUI7QUFDeEIsU0FBUyxvQkFBb0I7QUFnQjdCLElBQUksU0FBeUI7QUFFN0IsSUFBTSxpQkFBaUIsQ0FBQyxNQUFjLE9BQWU7QUFDbkQsUUFBTSxNQUFNLE9BQU87QUFDbkIsUUFBTSxTQUFTLElBQUksWUFBWSxNQUFNO0FBQUEsSUFDbkMsVUFBVTtBQUFBLEVBQ1osQ0FBQztBQUVELFNBQU87QUFBQSxJQUNMO0FBQUEsSUFRQSxDQUFDLEdBQUcsSUFBSSxJQUFJLE9BQU87QUFDakIsWUFBTSxRQUFRLENBQUMsQ0FBQztBQUNoQixZQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksRUFBRSxLQUFLLENB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