diff --git a/src/features/time/components/VerticalClock.jsx b/src/features/time/components/VerticalClock.jsx
index 8ad6d7e6..b0616bb3 100644
--- a/src/features/time/components/VerticalClock.jsx
+++ b/src/features/time/components/VerticalClock.jsx
@@ -1,6 +1,7 @@
function VerticalClock({ finalHour, finalMinute, finalSeconds }) {
const hourColour = localStorage.getItem('hourColour') || '#fff';
- const minuteColour = localStorage.getItem('minuteColour') || '#ƒff';
+ const minuteColour = localStorage.getItem('minuteColour') || '#fff';
+ const secondColour = localStorage.getItem('secondColour') || '#fff';
return (
@@ -10,7 +11,9 @@ function VerticalClock({ finalHour, finalMinute, finalSeconds }) {
{finalMinute}
- {finalSeconds}
+
+ {finalSeconds}
+
);
}
diff --git a/src/features/time/options/TimeOptions.jsx b/src/features/time/options/TimeOptions.jsx
index c4633501..827519b4 100644
--- a/src/features/time/options/TimeOptions.jsx
+++ b/src/features/time/options/TimeOptions.jsx
@@ -12,6 +12,9 @@ const TimeOptions = () => {
const [minuteColour, setMinuteColour] = useState(
localStorage.getItem('minuteColour') || '#ffffff',
);
+ const [secondColour, setSecondColour] = useState(
+ localStorage.getItem('secondColour') || '#ffffff',
+ );
const TIME_SECTION = 'modals.main.settings.sections.time';
const updateColour = (type, event) => {
@@ -20,6 +23,8 @@ const TimeOptions = () => {
setHourColour(colour);
} else if (type === 'minuteColour') {
setMinuteColour(colour);
+ } else if (type === 'secondColour') {
+ setSecondColour(colour);
}
localStorage.setItem(type, colour);
};
@@ -183,6 +188,32 @@ const TimeOptions = () => {
+
+
+
+
+ updateColour('secondColour', event)}
+ value={secondColour}
+ >
+
+
+ localStorage.setItem('secondColour', '#ffffff')}>
+
+ {variables.getMessage('modals.main.settings.buttons.reset')}
+
+
+
+
{digitalSettings}
>
);
diff --git a/src/features/weather/weather.scss b/src/features/weather/weather.scss
index 6816c662..50c30203 100644
--- a/src/features/weather/weather.scss
+++ b/src/features/weather/weather.scss
@@ -12,7 +12,6 @@
transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
display: flex;
flex-flow: column;
-
animation: fadeIn 1s;
&:hover {
@@ -152,6 +151,7 @@
.minmax {
max-width: fit-content;
background: transparent !important;
+
.subtitle {
margin-bottom: 5px;
}
diff --git a/src/i18n/locales/en_GB.json b/src/i18n/locales/en_GB.json
index dcfae1c0..c51c7dc3 100644
--- a/src/i18n/locales/en_GB.json
+++ b/src/i18n/locales/en_GB.json
@@ -133,7 +133,8 @@
"vertical_clock": {
"title": "Vertical Clock",
"change_hour_colour": "Change hour text colour",
- "change_minute_colour": "Change minute text colour"
+ "change_minute_colour": "Change minute text colour",
+ "change_second_colour": "Change second text colour"
}
},
"date": {
@@ -441,8 +442,8 @@
},
"experimental_warning": "Please note that the Mue team cannot provide support if you have experimental mode on. Please disable it first and see if the issue continues to occur before contacting support.",
"preview_data_disabled": {
- "title": "Data Settings Disabled",
- "description": "Data settings are disabled in preview mode. Please exit preview mode to use this feature."
+ "title":"Data Settings Disabled",
+ "description":"Data settings are disabled in preview mode. Please exit preview mode to use this feature."
}
},
"stats": {
diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss
index d57f4075..42ec6817 100644
--- a/src/scss/_variables.scss
+++ b/src/scss/_variables.scss
@@ -97,7 +97,7 @@ $themes: (
box-shadow: t($boxShadow);
}
- -webkit-backdrop-filter: blur(map.get($ui-elements, 'backgroundBlur'));
+ backdrop-filter: blur(map.get($ui-elements, 'backgroundBlur'));
backdrop-filter: blur(map.get($ui-elements, 'backgroundBlur'));
.title {
diff --git a/src/scss/index.scss b/src/scss/index.scss
index 343f834d..c835d3c8 100644
--- a/src/scss/index.scss
+++ b/src/scss/index.scss
@@ -5,8 +5,8 @@ body {
background: #000;
margin: 0;
overflow: hidden;
- text-rendering: optimizeLegibility !important;
- -moz-text-rendering: optimizeLegibility !important;
+ text-rendering: optimizelegibility !important;
+ -moz-text-rendering: optimizelegibility !important;
}
* {
@@ -33,7 +33,6 @@ body {
justify-content: center;
align-items: center;
gap: 20px;
-
animation: fadeIn 1s;
}
@@ -208,13 +207,15 @@ body {
.pulse {
height: 100%;
width: 100%;
- background: linear-gradient(-90deg, #efefef 0%, #cccccc 50%, #efefef 100%);
+ background: linear-gradient(-90deg, #efefef 0%, #ccc 50%, #efefef 100%);
background-size: 400% 400%;
animation: pulse 1.2s ease-in-out infinite;
+
@keyframes pulse {
0% {
background-position: 0% 0%;
}
+
100% {
background-position: -135% 0%;
}
@@ -226,13 +227,15 @@ body {
.pulse {
height: 100%;
width: 100%;
- background: linear-gradient(-90deg, #000000 0%, rgb(83, 83, 83) 50%, #000000 100%);
+ background: linear-gradient(-90deg, #000 0%, rgb(83 83 83) 50%, #000 100%);
background-size: 400% 400%;
animation: pulse 1.2s ease-in-out infinite;
+
@keyframes pulse {
0% {
background-position: 0% 0%;
}
+
100% {
background-position: -135% 0%;
}
diff --git a/vite.config.mjs.timestamp-1716327320812-afa5a5ba1661a.mjs b/vite.config.mjs.timestamp-1716327320812-afa5a5ba1661a.mjs
new file mode 100644
index 00000000..3568378e
--- /dev/null
+++ b/vite.config.mjs.timestamp-1716327320812-afa5a5ba1661a.mjs
@@ -0,0 +1,140 @@
+// vite.config.mjs
+import { defineConfig, loadEnv } from "file:///F:/Programming/mue/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.12_sass@1.77.2/node_modules/vite/dist/node/index.js";
+import react from "file:///F:/Programming/mue/node_modules/.pnpm/@vitejs+plugin-react-swc@3.6.0_vite@5.2.11/node_modules/@vitejs/plugin-react-swc/index.mjs";
+import path from "path";
+import fs from "fs";
+import ADMZip from "file:///F:/Programming/mue/node_modules/.pnpm/adm-zip@0.5.12/node_modules/adm-zip/adm-zip.js";
+
+// package.json
+var version = "7.1.0";
+
+// vite.config.mjs
+import progress from "file:///F:/Programming/mue/node_modules/.pnpm/vite-plugin-progress@0.0.7_vite@5.2.11/node_modules/vite-plugin-progress/dist/index.mjs";
+var __vite_injected_original_dirname = "F:\\Programming\\mue";
+var isProd = process.env.NODE_ENV === "production";
+var prepareBuilds = () => ({
+ name: "prepareBuilds",
+ buildEnd() {
+ if (isProd) {
+ fs.mkdirSync(path.resolve(__vite_injected_original_dirname, "./build"), { recursive: true });
+ fs.mkdirSync(path.resolve(__vite_injected_original_dirname, "./dist"), { recursive: true });
+ fs.mkdirSync(path.resolve(__vite_injected_original_dirname, "./build/chrome"), { recursive: true });
+ fs.copyFileSync(
+ path.resolve(__vite_injected_original_dirname, "./manifest/chrome.json"),
+ path.resolve(__vite_injected_original_dirname, "./build/chrome/manifest.json")
+ );
+ fs.copyFileSync(
+ path.resolve(__vite_injected_original_dirname, "./manifest/background.js"),
+ path.resolve(__vite_injected_original_dirname, "./build/chrome/background.js")
+ );
+ fs.cpSync(
+ path.resolve(__vite_injected_original_dirname, "./manifest/_locales"),
+ path.resolve(__vite_injected_original_dirname, "./build/chrome/_locales"),
+ {
+ recursive: true
+ }
+ );
+ fs.cpSync(path.resolve(__vite_injected_original_dirname, "./dist"), path.resolve(__vite_injected_original_dirname, "./build/chrome/"), {
+ recursive: true
+ });
+ fs.cpSync(
+ path.resolve(__vite_injected_original_dirname, "./src/assets/icons"),
+ path.resolve(__vite_injected_original_dirname, "./build/chrome/icons"),
+ {
+ recursive: true
+ }
+ );
+ fs.mkdirSync(path.resolve(__vite_injected_original_dirname, "./build/chrome/src/assets"), { recursive: true });
+ fs.cpSync(
+ path.resolve(__vite_injected_original_dirname, "./src/assets"),
+ path.resolve(__vite_injected_original_dirname, "./build/chrome/src/assets"),
+ {
+ recursive: true
+ }
+ );
+ fs.mkdirSync(path.resolve(__vite_injected_original_dirname, "./build/firefox"), { recursive: true });
+ fs.copyFileSync(
+ path.resolve(__vite_injected_original_dirname, "./manifest/firefox.json"),
+ path.resolve(__vite_injected_original_dirname, "./build/firefox/manifest.json")
+ );
+ fs.copyFileSync(
+ path.resolve(__vite_injected_original_dirname, "./manifest/background.js"),
+ path.resolve(__vite_injected_original_dirname, "./build/firefox/background.js")
+ );
+ fs.cpSync(path.resolve(__vite_injected_original_dirname, "./dist"), path.resolve(__vite_injected_original_dirname, "./build/firefox/"), {
+ recursive: true
+ });
+ fs.cpSync(
+ path.resolve(__vite_injected_original_dirname, "./src/assets/icons"),
+ path.resolve(__vite_injected_original_dirname, "./build/firefox/icons"),
+ {
+ recursive: true
+ }
+ );
+ fs.cpSync(
+ path.resolve(__vite_injected_original_dirname, "./src/assets"),
+ path.resolve(__vite_injected_original_dirname, "./build/firefox/src/assets"),
+ {
+ recursive: true
+ }
+ );
+ const zip = new ADMZip();
+ zip.addLocalFolder(path.resolve(__vite_injected_original_dirname, "./build/chrome"));
+ zip.writeZip(path.resolve(__vite_injected_original_dirname, `./build/chrome-${version}.zip`));
+ const zip2 = new ADMZip();
+ zip2.addLocalFolder(path.resolve(__vite_injected_original_dirname, "./build/firefox"));
+ zip2.writeZip(path.resolve(__vite_injected_original_dirname, `./build/firefox-${version}.zip`));
+ }
+ }
+});
+var vite_config_default = defineConfig(({ command, mode }) => {
+ const env = loadEnv(mode, process.cwd(), "");
+ return {
+ define: {
+ __APP_ENV__: JSON.stringify(env.APP_ENV)
+ },
+ plugins: [react(), prepareBuilds(), progress()],
+ server: {
+ open: true,
+ hmr: {
+ protocol: "ws",
+ host: "localhost"
+ }
+ },
+ build: {
+ minify: isProd ? "esbuild" : false,
+ sourcemap: !isProd,
+ rollupOptions: {
+ output: {
+ manualChunks(id) {
+ if (id.includes("node_modules")) {
+ if (id.includes("@mui")) {
+ return "vendor_mui";
+ }
+ return "vendor";
+ }
+ }
+ }
+ }
+ },
+ resolve: {
+ extensions: [".js", ".jsx"],
+ alias: {
+ "@": path.resolve(__vite_injected_original_dirname, "./src"),
+ i18n: path.resolve(__vite_injected_original_dirname, "./src/i18n"),
+ components: path.resolve(__vite_injected_original_dirname, "./src/components"),
+ assets: path.resolve(__vite_injected_original_dirname, "./src/assets"),
+ config: path.resolve(__vite_injected_original_dirname, "./src/config"),
+ features: path.resolve(__vite_injected_original_dirname, "./src/features"),
+ lib: path.resolve(__vite_injected_original_dirname, "./src/lib"),
+ scss: path.resolve(__vite_injected_original_dirname, "./src/scss"),
+ translations: path.resolve(__vite_injected_original_dirname, "./src/i18n/locales"),
+ utils: path.resolve(__vite_injected_original_dirname, "./src/utils")
+ }
+ }
+ };
+});
+export {
+ vite_config_default as default
+};
+//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubWpzIiwgInBhY2thZ2UuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkY6XFxcXFByb2dyYW1taW5nXFxcXG11ZVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRjpcXFxcUHJvZ3JhbW1pbmdcXFxcbXVlXFxcXHZpdGUuY29uZmlnLm1qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRjovUHJvZ3JhbW1pbmcvbXVlL3ZpdGUuY29uZmlnLm1qc1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZywgbG9hZEVudiB9IGZyb20gJ3ZpdGUnO1xyXG5pbXBvcnQgcmVhY3QgZnJvbSAnQHZpdGVqcy9wbHVnaW4tcmVhY3Qtc3djJztcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XHJcbmltcG9ydCBmcyBmcm9tICdmcyc7XHJcbmltcG9ydCBBRE1aaXAgZnJvbSAnYWRtLXppcCc7XHJcbmltcG9ydCAqIGFzIHBrZyBmcm9tICcuL3BhY2thZ2UuanNvbic7XHJcbmltcG9ydCBwcm9ncmVzcyBmcm9tICd2aXRlLXBsdWdpbi1wcm9ncmVzcyc7XHJcblxyXG5jb25zdCBpc1Byb2QgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nO1xyXG5cclxuY29uc3QgcHJlcGFyZUJ1aWxkcyA9ICgpID0+ICh7XHJcbiAgbmFtZTogJ3ByZXBhcmVCdWlsZHMnLFxyXG4gIGJ1aWxkRW5kKCkge1xyXG4gICAgaWYgKGlzUHJvZCkge1xyXG4gICAgICAvLyBtYWtlIGRpcmVjdG9yaWVzIGlmIG5vdCBleGlzdFxyXG4gICAgICBmcy5ta2RpclN5bmMocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vYnVpbGQnKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XHJcbiAgICAgIGZzLm1rZGlyU3luYyhwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9kaXN0JyksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xyXG5cclxuICAgICAgLy8gY2hyb21lXHJcbiAgICAgIGZzLm1rZGlyU3luYyhwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9idWlsZC9jaHJvbWUnKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XHJcbiAgICAgIGZzLmNvcHlGaWxlU3luYyhcclxuICAgICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9tYW5pZmVzdC9jaHJvbWUuanNvbicpLFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2J1aWxkL2Nocm9tZS9tYW5pZmVzdC5qc29uJyksXHJcbiAgICAgICk7XHJcbiAgICAgIGZzLmNvcHlGaWxlU3luYyhcclxuICAgICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9tYW5pZmVzdC9iYWNrZ3JvdW5kLmpzJyksXHJcbiAgICAgICAgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vYnVpbGQvY2hyb21lL2JhY2tncm91bmQuanMnKSxcclxuICAgICAgKTtcclxuICAgICAgZnMuY3BTeW5jKFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL21hbmlmZXN0L19sb2NhbGVzJyksXHJcbiAgICAgICAgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vYnVpbGQvY2hyb21lL19sb2NhbGVzJyksXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICAgIGZzLmNwU3luYyhwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9kaXN0JyksIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2J1aWxkL2Nocm9tZS8nKSwge1xyXG4gICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGZzLmNwU3luYyhcclxuICAgICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9zcmMvYXNzZXRzL2ljb25zJyksXHJcbiAgICAgICAgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vYnVpbGQvY2hyb21lL2ljb25zJyksXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICAgIGZzLm1rZGlyU3luYyhwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9idWlsZC9jaHJvbWUvc3JjL2Fzc2V0cycpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcclxuICAgICAgZnMuY3BTeW5jKFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYy9hc3NldHMnKSxcclxuICAgICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9idWlsZC9jaHJvbWUvc3JjL2Fzc2V0cycpLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG5cclxuICAgICAgLy8gZmlyZWZveFxyXG4gICAgICBmcy5ta2RpclN5bmMocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vYnVpbGQvZmlyZWZveCcpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcclxuICAgICAgZnMuY29weUZpbGVTeW5jKFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL21hbmlmZXN0L2ZpcmVmb3guanNvbicpLFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2J1aWxkL2ZpcmVmb3gvbWFuaWZlc3QuanNvbicpLFxyXG4gICAgICApO1xyXG4gICAgICBmcy5jb3B5RmlsZVN5bmMoXHJcbiAgICAgICAgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vbWFuaWZlc3QvYmFja2dyb3VuZC5qcycpLFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2J1aWxkL2ZpcmVmb3gvYmFja2dyb3VuZC5qcycpLFxyXG4gICAgICApO1xyXG4gICAgICBmcy5jcFN5bmMocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vZGlzdCcpLCBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9idWlsZC9maXJlZm94LycpLCB7XHJcbiAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgICAgZnMuY3BTeW5jKFxyXG4gICAgICAgIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYy9hc3NldHMvaWNvbnMnKSxcclxuICAgICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9idWlsZC9maXJlZm94L2ljb25zJyksXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICAgIGZzLmNwU3luYyhcclxuICAgICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9zcmMvYXNzZXRzJyksXHJcbiAgICAgICAgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vYnVpbGQvZmlyZWZveC9zcmMvYXNzZXRzJyksXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBjcmVhdGUgemlwXHJcbiAgICAgIGNvbnN0IHppcCA9IG5ldyBBRE1aaXAoKTtcclxuICAgICAgemlwLmFkZExvY2FsRm9sZGVyKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2J1aWxkL2Nocm9tZScpKTtcclxuICAgICAgemlwLndyaXRlWmlwKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIGAuL2J1aWxkL2Nocm9tZS0ke3BrZy52ZXJzaW9ufS56aXBgKSk7XHJcblxyXG4gICAgICBjb25zdCB6aXAyID0gbmV3IEFETVppcCgpO1xyXG4gICAgICB6aXAyLmFkZExvY2FsRm9sZGVyKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL2J1aWxkL2ZpcmVmb3gnKSk7XHJcbiAgICAgIHppcDIud3JpdGVaaXAocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgYC4vYnVpbGQvZmlyZWZveC0ke3BrZy52ZXJzaW9ufS56aXBgKSk7XHJcbiAgICB9XHJcbiAgfSxcclxufSk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgY29tbWFuZCwgbW9kZSB9KSA9PiB7XHJcbiAgY29uc3QgZW52ID0gbG9hZEVudihtb2RlLCBwcm9jZXNzLmN3ZCgpLCAnJyk7XHJcbiAgcmV0dXJuIHtcclxuICAgIGRlZmluZToge1xyXG4gICAgICBfX0FQUF9FTlZfXzogSlNPTi5zdHJpbmdpZnkoZW52LkFQUF9FTlYpLFxyXG4gICAgfSxcclxuICAgIHBsdWdpbnM6IFtyZWFjdCgpLCBwcmVwYXJlQnVpbGRzKCksIHByb2dyZXNzKCldLFxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIG9wZW46IHRydWUsXHJcbiAgICAgIGhtcjoge1xyXG4gICAgICAgIHByb3RvY29sOiAnd3MnLFxyXG4gICAgICAgIGhvc3Q6ICdsb2NhbGhvc3QnLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGJ1aWxkOiB7XHJcbiAgICAgIG1pbmlmeTogaXNQcm9kID8gJ2VzYnVpbGQnIDogZmFsc2UsXHJcbiAgICAgIHNvdXJjZW1hcDogIWlzUHJvZCxcclxuICAgICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICAgIG91dHB1dDoge1xyXG4gICAgICAgICAgbWFudWFsQ2h1bmtzKGlkKSB7XHJcbiAgICAgICAgICAgIGlmIChpZC5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpIHtcclxuICAgICAgICAgICAgICBpZiAoaWQuaW5jbHVkZXMoJ0BtdWknKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICd2ZW5kb3JfbXVpJztcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiAndmVuZG9yJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgZXh0ZW5zaW9uczogWycuanMnLCAnLmpzeCddLFxyXG4gICAgICBhbGlhczoge1xyXG4gICAgICAgICdAJzogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjJyksXHJcbiAgICAgICAgaTE4bjogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL2kxOG4nKSxcclxuICAgICAgICBjb21wb25lbnRzOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9zcmMvY29tcG9uZW50cycpLFxyXG4gICAgICAgIGFzc2V0czogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL2Fzc2V0cycpLFxyXG4gICAgICAgIGNvbmZpZzogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL2NvbmZpZycpLFxyXG4gICAgICAgIGZlYXR1cmVzOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9zcmMvZmVhdHVyZXMnKSxcclxuICAgICAgICBsaWI6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYy9saWInKSxcclxuICAgICAgICBzY3NzOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9zcmMvc2NzcycpLFxyXG4gICAgICAgIHRyYW5zbGF0aW9uczogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL2kxOG4vbG9jYWxlcycpLFxyXG4gICAgICAgIHV0aWxzOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9zcmMvdXRpbHMnKSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfTtcclxufSk7XHJcbiIsICJ7XG4gIFwibmFtZVwiOiBcIm11ZVwiLFxuICBcInByaXZhdGVcIjogdHJ1ZSxcbiAgXCJhdXRob3JcIjogXCJUaGUgTXVlIEF1dGhvcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS9tdWUvbXVlL2dyYXBocy9jb250cmlidXRvcnMpXCIsXG4gIFwiZGVzY3JpcHRpb25cIjogXCJGYXN0LCBvcGVuIGFuZCBmcmVlLXRvLXVzZSBuZXcgdGFiIHBhZ2UgZm9yIG1vZGVybiBicm93c2Vycy5cIixcbiAgXCJyZXBvc2l0b3J5XCI6IHtcbiAgICBcInVybFwiOiBcImdpdGh1YjptdWUvbXVlXCJcbiAgfSxcbiAgXCJob21lcGFnZVwiOiBcImh0dHBzOi8vbXVldGFiLmNvbVwiLFxuICBcImJ1Z3NcIjogXCJodHRwczovL2dpdGh1Yi5jb20vbXVlL211ZS9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWJ1ZyZ0ZW1wbGF0ZT1idWctcmVwb3J0Lm1kJnRpdGxlPSU1QkJVRyU1RFwiLFxuICBcImxpY2Vuc2VcIjogXCJCU0QtMy1DbGF1c2VcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiNy4xLjBcIixcbiAgXCJkZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiQGVhcnRoYXJvaWQvaTE4blwiOiBcIjEuMi4xXCIsXG4gICAgXCJAZW1vdGlvbi9yZWFjdFwiOiBcIl4xMS4xMS40XCIsXG4gICAgXCJAZW1vdGlvbi9zdHlsZWRcIjogXCJeMTEuMTEuNVwiLFxuICAgIFwiQGZsb2F0aW5nLXVpL3JlYWN0LWRvbVwiOiBcIjIuMS4wXCIsXG4gICAgXCJAZm9udHNvdXJjZS9sZXhlbmQtZGVjYVwiOiBcIjUuMC4xMlwiLFxuICAgIFwiQGZvbnRzb3VyY2UvbW9udHNlcnJhdFwiOiBcIjUuMC4xN1wiLFxuICAgIFwiQG11ZXRhYi9yZWFjdC1zb3J0YWJsZS1ob2NcIjogXCJeMi4wLjFcIixcbiAgICBcIkBtdWkvbWF0ZXJpYWxcIjogXCI1LjE1LjE4XCIsXG4gICAgXCJAc2VudHJ5L3JlYWN0XCI6IFwiXjguMi4xXCIsXG4gICAgXCJlbWJsYS1jYXJvdXNlbC1hdXRvcGxheVwiOiBcIjguMS4zXCIsXG4gICAgXCJlbWJsYS1jYXJvdXNlbC1yZWFjdFwiOiBcIjguMS4zXCIsXG4gICAgXCJmYXN0LWJsdXJoYXNoXCI6IFwiXjEuMS4yXCIsXG4gICAgXCJpbWFnZS1jb252ZXJzaW9uXCI6IFwiXjIuMS4xXCIsXG4gICAgXCJyZWFjdFwiOiBcIl4xOC4zLjFcIixcbiAgICBcInJlYWN0LWJlc3QtZ3JhZGllbnQtY29sb3ItcGlja2VyXCI6IFwiXjMuMC43XCIsXG4gICAgXCJyZWFjdC1jbG9ja1wiOiBcIjUuMC4wXCIsXG4gICAgXCJyZWFjdC1kb21cIjogXCJeMTguMy4xXCIsXG4gICAgXCJyZWFjdC1pY29uc1wiOiBcIl41LjIuMVwiLFxuICAgIFwicmVhY3QtbW9kYWxcIjogXCIzLjE2LjFcIixcbiAgICBcInJlYWN0LXRvYXN0aWZ5XCI6IFwiMTAuMC41XCIsXG4gICAgXCJ1c2UtZGVib3VuY2VcIjogXCJeMTAuMC4wXCJcbiAgfSxcbiAgXCJkZXZEZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiQGNvbW1pdGxpbnQvY2xpXCI6IFwiXjE5LjMuMFwiLFxuICAgIFwiQGNvbW1pdGxpbnQvY29uZmlnLWNvbnZlbnRpb25hbFwiOiBcIl4xOS4yLjJcIixcbiAgICBcIkBlYXJ0aGFyb2lkL2RlZXAtbWVyZ2VcIjogXCJeMC4wLjJcIixcbiAgICBcIkB2aXRlanMvcGx1Z2luLXJlYWN0LXN3Y1wiOiBcIl4zLjYuMFwiLFxuICAgIFwiYWRtLXppcFwiOiBcIl4wLjUuMTJcIixcbiAgICBcImVzbGludFwiOiBcIl44LjU3LjBcIixcbiAgICBcImVzbGludC1jb25maWctcHJldHRpZXJcIjogXCJeOS4xLjBcIixcbiAgICBcImVzbGludC1jb25maWctcmVhY3QtYXBwXCI6IFwiXjcuMC4xXCIsXG4gICAgXCJodXNreVwiOiBcIl45LjAuMTFcIixcbiAgICBcInByZXR0aWVyXCI6IFwiXjMuMi41XCIsXG4gICAgXCJzYXNzXCI6IFwiXjEuNzcuMlwiLFxuICAgIFwic3R5bGVsaW50XCI6IFwiXjE2LjUuMFwiLFxuICAgIFwic3R5bGVsaW50LWNvbmZpZy1zdGFuZGFyZC1zY3NzXCI6IFwiXjEzLjEuMFwiLFxuICAgIFwic3R5bGVsaW50LXNjc3NcIjogXCJeNi4zLjBcIixcbiAgICBcInZpdGVcIjogXCI1LjIuMTFcIixcbiAgICBcInZpdGUtcGx1Z2luLXByb2dyZXNzXCI6IFwiXjAuMC43XCJcbiAgfSxcbiAgXCJzY3JpcHRzXCI6IHtcbiAgICBcImRldlwiOiBcInZpdGVcIixcbiAgICBcImRldjpob3N0XCI6IFwidml0ZSAtLWhvc3RcIixcbiAgICBcInRyYW5zbGF0aW9uc1wiOiBcImNkIHNjcmlwdHMgJiYgbm9kZSB1cGRhdGV0cmFuc2xhdGlvbnMuanNcIixcbiAgICBcImJ1aWxkXCI6IFwidml0ZSBidWlsZFwiLFxuICAgIFwicHJldHR5XCI6IFwicHJldHRpZXIgLS13cml0ZSBcXFwiLi8qKi8qLntqcyxqc3gsanNvbixzY3NzLGNzc31cXFwiXCIsXG4gICAgXCJsaW50XCI6IFwiZXNsaW50IFxcXCIuL3NyYy8qKi8qLntqcyxqc3h9XFxcIiAmJiBzdHlsZWxpbnQgXFxcIi4vc3JjLyoqLyoue3Njc3MsY3NzfVxcXCJcIixcbiAgICBcImxpbnQ6Zml4XCI6IFwiZXNsaW50IFxcXCIuL3NyYy8qKi8qLntqcyxqc3h9XFxcIiAtLWZpeCAmJiBzdHlsZWxpbnQgXFxcIi4vc3JjLyoqLyoue3Njc3MsY3NzfVxcXCIgLS1maXhcIixcbiAgICBcInBvc3RpbnN0YWxsXCI6IFwiaHVza3lcIlxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWdQLFNBQVMsY0FBYyxlQUFlO0FBQ3RSLE9BQU8sV0FBVztBQUNsQixPQUFPLFVBQVU7QUFDakIsT0FBTyxRQUFRO0FBQ2YsT0FBTyxZQUFZOzs7QUNPakIsY0FBVzs7O0FETGIsT0FBTyxjQUFjO0FBTnJCLElBQU0sbUNBQW1DO0FBUXpDLElBQU0sU0FBUyxRQUFRLElBQUksYUFBYTtBQUV4QyxJQUFNLGdCQUFnQixPQUFPO0FBQUEsRUFDM0IsTUFBTTtBQUFBLEVBQ04sV0FBVztBQUNULFFBQUksUUFBUTtBQUVWLFNBQUcsVUFBVSxLQUFLLFFBQVEsa0NBQVcsU0FBUyxHQUFHLEVBQUUsV0FBVyxL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