From 4e03c84fbbc39a1c578b10eb663ab7c3df1e1d39 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Fri, 15 Apr 2022 20:30:10 +1000 Subject: [PATCH] Feature/default templates (#1334) --- .gitignore | 1 + v2/cmd/wails/internal/commands/dev/dev.go | 2 +- .../commands/initialise/initialise.go | 2 +- .../initialise/templates/base/README.md | 15 + .../initialise/templates/base/app.tmpl.go | 21 + .../initialise/templates/base/go.mod.tmpl | 7 + .../initialise/templates/base/main.tmpl.go | 30 + .../initialise/templates/base/template.json | 7 + .../initialise/templates/base/wails.tmpl.json | 12 + .../assets/common/frontend/dist/gitkeep | 0 .../common/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/common/frontend/src/style.css | 26 + .../common/frontend/wailsjs/go/main/App.d.ts | 4 + .../common/frontend/wailsjs/go/main/App.js | 7 + .../common/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/lit-ts/frontend/index.tmpl.html | 14 + .../assets/lit-ts/frontend/src/my-element.ts | 103 ++ .../assets/lit-ts/frontend/vite.config.ts | 4 + .../assets/lit/frontend/index.tmpl.html | 14 + .../lit/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/lit/frontend/src/my-element.js | 105 ++ .../assets/lit/frontend/src/style.css | 26 + .../assets/lit/frontend/vite.config.js | 4 + .../lit/frontend/wailsjs/go/main/App.d.ts | 4 + .../lit/frontend/wailsjs/go/main/App.js | 7 + .../lit/frontend/wailsjs/runtime/ipcdev.js | 1 + .../lit/frontend/wailsjs/runtime/package.json | 24 + .../lit/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../lit/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/preact-ts/frontend/index.tmpl.html | 13 + .../assets/preact-ts/frontend/src/App.css | 59 + .../assets/preact-ts/frontend/src/app.tsx | 28 + .../assets/preact-ts/frontend/src/main.tsx | 5 + .../assets/preact/frontend/dist/gitkeep | 0 .../assets/preact/frontend/index.tmpl.html | 13 + .../assets/preact/frontend/src/App.css | 59 + .../assets/preact/frontend/src/app.jsx | 28 + .../preact/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/preact/frontend/src/main.jsx | 5 + .../assets/preact/frontend/src/style.css | 26 + .../preact/frontend/wailsjs/go/main/App.d.ts | 4 + .../preact/frontend/wailsjs/go/main/App.js | 7 + .../preact/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/react-ts/frontend/index.tmpl.html | 13 + .../assets/react-ts/frontend/src/App.css | 59 + .../assets/react-ts/frontend/src/App.tsx | 28 + .../assets/react-ts/frontend/src/main.tsx | 11 + .../assets/react/frontend/dist/gitkeep | 0 .../assets/react/frontend/index.tmpl.html | 13 + .../assets/react/frontend/src/App.css | 59 + .../assets/react/frontend/src/App.jsx | 28 + .../react/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../assets/react/frontend/src/main.jsx | 11 + .../assets/react/frontend/src/style.css | 26 + .../react/frontend/wailsjs/go/main/App.d.ts | 4 + .../react/frontend/wailsjs/go/main/App.js | 7 + .../react/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../react/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../assets/svelte-ts/frontend/index.tmpl.html | 13 + .../assets/svelte-ts/frontend/src/App.svelte | 79 ++ .../assets/svelte-ts/frontend/src/style.css | 26 + .../assets/svelte/frontend/index.tmpl.html | 13 + .../assets/svelte/frontend/src/App.svelte | 79 ++ .../assets/svelte/frontend/src/style.css | 26 + .../svelte/frontend/wailsjs/go/main/App.d.ts | 4 + .../svelte/frontend/wailsjs/go/main/App.js | 7 + .../svelte/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 481 ++++++++ .../vanilla-ts/frontend/index.tmpl.html | 12 + .../assets/vanilla-ts/frontend/src/app.css | 54 + .../assets/vanilla-ts/frontend/src/main.ts | 49 + .../assets/vanilla/frontend/index.tmpl.html | 12 + .../assets/vanilla/frontend/src/app.css | 54 + .../assets/vanilla/frontend/src/main.js | 43 + .../assets/vue-ts/frontend/READ-THIS.md | 4 + .../assets/vue-ts/frontend/index.tmpl.html | 14 + .../assets/vue-ts/frontend/src/App.vue | 21 + .../frontend/src/components/HelloWorld.vue | 71 ++ .../assets/vue-ts/frontend/src/main.ts | 4 + .../assets/vue-ts/frontend/tsconfig.json | 29 + .../assets/vue/frontend/index.tmpl.html | 14 + .../generate/assets/vue/frontend/src/App.vue | 22 + .../vue/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../frontend/src/components/HelloWorld.vue | 71 ++ .../generate/assets/vue/frontend/src/main.js | 4 + .../assets/vue/frontend/src/style.css | 26 + .../assets/vue/frontend/vite.config.js | 7 + .../vue/frontend/wailsjs/go/main/App.d.ts | 4 + .../vue/frontend/wailsjs/go/main/App.js | 7 + .../vue/frontend/wailsjs/runtime/ipcdev.js | 1 + .../vue/frontend/wailsjs/runtime/package.json | 24 + .../vue/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../vue/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../initialise/templates/generate/generate.go | 215 ++++ .../initialise/templates/generate/go.sum | 4 + .../initialise/templates/generate/s/s.go | 306 +++++ .../templates/templates/lit-ts/README.md | 15 + .../templates/templates/lit-ts/app.tmpl.go | 21 + .../{svelte => lit-ts}/frontend/.gitignore | 0 .../templates/lit-ts/frontend/dist/gitkeep | 0 .../templates/lit-ts/frontend/index.tmpl.html | 14 + .../templates/lit-ts/frontend/package.json | 25 + .../lit-ts/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../lit-ts/frontend/src/my-element.ts | 103 ++ .../templates/lit-ts/frontend/src/style.css | 26 + .../lit-ts/frontend/src/vite-env.d.ts | 1 + .../templates/lit-ts/frontend/tsconfig.json | 32 + .../lit-ts/frontend/tsconfig.node.json | 10 + .../templates/lit-ts/frontend/vite.config.ts | 4 + .../lit-ts/frontend/wailsjs/go/main/App.d.ts | 4 + .../lit-ts/frontend/wailsjs/go/main/App.js | 7 + .../lit-ts/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/lit-ts/go.mod.tmpl | 7 + .../templates/templates/lit-ts/main.tmpl.go | 30 + .../templates/templates/lit-ts/template.json | 7 + .../templates/lit-ts/wails.tmpl.json | 12 + .../templates/templates/lit/README.md | 15 + .../templates/templates/lit/app.tmpl.go | 21 + .../templates/lit/frontend/.gitignore | 24 + .../templates/lit/frontend/dist/gitkeep | 0 .../templates/lit/frontend/index.tmpl.html | 14 + .../templates/lit/frontend/package.json | 22 + .../lit/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/lit/frontend/src/favicon.svg | 18 + .../templates/lit/frontend/src/my-element.js | 105 ++ .../templates/lit/frontend/src/style.css | 26 + .../templates/lit/frontend/vite.config.js | 4 + .../lit/frontend/wailsjs/go/main/App.d.ts | 4 + .../lit/frontend/wailsjs/go/main/App.js | 7 + .../lit/frontend/wailsjs/runtime/ipcdev.js | 1 + .../lit/frontend/wailsjs/runtime/package.json | 24 + .../lit/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../lit/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/lit/go.mod.tmpl | 7 + .../templates/templates/lit/main.tmpl.go | 30 + .../templates/templates/lit/template.json | 7 + .../templates/templates/lit/wails.tmpl.json | 12 + .../templates/templates/preact-ts/README.md | 15 + .../templates/templates/preact-ts/app.tmpl.go | 21 + .../templates/preact-ts/frontend/dist/gitkeep | 0 .../preact-ts/frontend/index.tmpl.html | 13 + .../templates/preact-ts/frontend/package.json | 18 + .../templates/preact-ts/frontend/src/App.css | 59 + .../templates/preact-ts/frontend/src/app.tsx | 28 + .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/preact-ts/frontend/src/main.tsx | 5 + .../preact-ts/frontend/src/preact.d.ts | 0 .../preact-ts/frontend/src/style.css | 26 + .../preact-ts/frontend/src/vite-env.d.ts | 1 + .../preact-ts/frontend/tsconfig.json | 33 + .../preact-ts/frontend/tsconfig.node.json | 10 + .../preact-ts/frontend/vite.config.ts | 7 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../preact-ts/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/preact-ts/go.mod.tmpl | 7 + .../templates/preact-ts/main.tmpl.go | 30 + .../templates/preact-ts/template.json | 7 + .../templates/preact-ts/wails.tmpl.json | 12 + .../templates/templates/preact/README.md | 15 + .../templates/templates/preact/app.tmpl.go | 21 + .../templates/preact/frontend/dist/gitkeep | 0 .../templates/preact/frontend/index.tmpl.html | 13 + .../templates/preact/frontend/package.json | 17 + .../templates/preact/frontend/src/App.css | 59 + .../templates/preact/frontend/src/app.jsx | 28 + .../preact/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/preact/frontend/src/main.jsx | 5 + .../templates/preact/frontend/src/style.css | 26 + .../templates/preact/frontend/vite.config.js | 7 + .../preact/frontend/wailsjs/go/main/App.d.ts | 4 + .../preact/frontend/wailsjs/go/main/App.js | 7 + .../preact/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/preact/go.mod.tmpl | 7 + .../templates/templates/preact/main.tmpl.go | 30 + .../templates/templates/preact/template.json | 7 + .../templates/preact/wails.tmpl.json | 12 + .../templates/templates/react-ts/README.md | 15 + .../templates/templates/react-ts/app.tmpl.go | 21 + .../templates/react-ts/frontend/dist/gitkeep | 0 .../react-ts/frontend/index.tmpl.html | 13 + .../templates/react-ts/frontend/package.json | 21 + .../templates/react-ts/frontend/src/App.css | 59 + .../templates/react-ts/frontend/src/App.tsx | 28 + .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/react-ts/frontend/src/main.tsx | 11 + .../templates/react-ts/frontend/src/style.css | 26 + .../react-ts/frontend/src/vite-env.d.ts | 1 + .../templates/react-ts/frontend/tsconfig.json | 31 + .../react-ts/frontend/tsconfig.node.json | 10 + .../react-ts/frontend/vite.config.ts | 7 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../react-ts/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/react-ts/go.mod.tmpl | 7 + .../templates/templates/react-ts/main.tmpl.go | 30 + .../templates/react-ts/template.json | 7 + .../templates/react-ts/wails.tmpl.json | 12 + .../templates/templates/react/README.md | 15 + .../templates/templates/react/app.tmpl.go | 21 + .../templates/react/frontend/dist/gitkeep | 0 .../templates/react/frontend/index.tmpl.html | 13 + .../templates/react/frontend/package.json | 20 + .../templates/react/frontend/src/App.css | 59 + .../templates/react/frontend/src/App.jsx | 28 + .../react/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/react/frontend/src/main.jsx | 11 + .../templates/react/frontend/src/style.css | 26 + .../templates/react/frontend/vite.config.js | 7 + .../react/frontend/wailsjs/go/main/App.d.ts | 4 + .../react/frontend/wailsjs/go/main/App.js | 7 + .../react/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../react/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/react/go.mod.tmpl | 7 + .../templates/templates/react/main.tmpl.go | 30 + .../templates/templates/react/template.json | 7 + .../templates/templates/react/wails.tmpl.json | 12 + .../templates/templates/svelte-ts/README.md | 15 + .../templates/templates/svelte-ts/app.tmpl.go | 21 + .../frontend/.vscode/extensions.json | 5 + .../templates/svelte-ts/frontend/README.md | 64 ++ .../templates/svelte-ts/frontend/dist/gitkeep | 0 .../svelte-ts/frontend/index.tmpl.html | 13 + .../templates/svelte-ts/frontend/package.json | 22 + .../svelte-ts/frontend/src/App.svelte | 79 ++ .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/svelte-ts/frontend/src/main.ts | 7 + .../svelte-ts/frontend/src/style.css | 26 + .../svelte-ts/frontend/src/vite-env.d.ts | 2 + .../svelte-ts/frontend/svelte.config.js | 7 + .../svelte-ts/frontend/tsconfig.json | 30 + .../svelte-ts/frontend/tsconfig.node.json | 10 + .../svelte-ts/frontend/vite.config.ts | 7 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../svelte-ts/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/svelte-ts/go.mod.tmpl | 7 + .../templates/svelte-ts/main.tmpl.go | 30 + .../templates/svelte-ts/template.json | 7 + .../templates/svelte-ts/wails.tmpl.json | 12 + .../templates/templates/svelte/README.md | 20 +- .../templates/templates/svelte/app.go | 44 - .../templates/templates/svelte/app.tmpl.go | 21 + .../templates/svelte/frontend/README.md | 4 +- .../templates/svelte/frontend/dist/gitkeep | 0 .../templates/svelte/frontend/dist/index.html | 1 - .../templates/svelte/frontend/index.tmpl.html | 24 +- .../svelte/frontend/package-lock.tmpl.json | 1016 ----------------- .../{package.tmpl.json => package.json} | 10 +- .../svelte/frontend/public/favicon.ico | Bin 1150 -> 0 bytes .../templates/svelte/frontend/src/App.svelte | 52 +- .../templates/svelte/frontend/src/global.css | 26 - .../templates/svelte/frontend/src/style.css | 26 + .../templates/svelte/frontend/vite.config.js | 15 +- .../svelte/frontend/wailsjs/go/main/App.d.ts | 4 + .../svelte/frontend/wailsjs/go/main/App.js | 7 + .../svelte/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/svelte/gitignore.txt | 12 - .../templates/templates/svelte/go.mod.tmpl | 30 +- .../templates/templates/svelte/go.sum | 222 ---- .../templates/templates/svelte/main.tmpl.go | 63 +- .../svelte/scripts/build-macos-arm.sh | 9 - .../svelte/scripts/build-macos-intel.sh | 9 - .../templates/svelte/scripts/build-macos.sh | 9 - .../templates/svelte/scripts/build-windows.sh | 9 - .../templates/svelte/scripts/build.sh | 9 - .../svelte/scripts/install-wails-cli.sh | 14 - .../templates/templates/svelte/template.json | 10 +- .../templates/svelte/wails.tmpl.json | 2 - .../templates/templates/vanilla-ts/README.md | 15 + .../templates/vanilla-ts/app.tmpl.go | 21 + .../vanilla-ts/frontend/dist/gitkeep | 0 .../vanilla-ts/frontend/index.tmpl.html | 12 + .../vanilla-ts/frontend/package.json | 14 + .../templates/vanilla-ts/frontend/src/app.css | 54 + .../frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../templates/vanilla-ts/frontend/src/main.ts | 49 + .../vanilla-ts/frontend/src/style.css | 26 + .../vanilla-ts/frontend/src/vite-env.d.ts | 1 + .../vanilla-ts/frontend/tsconfig.json | 24 + .../frontend/wailsjs/go/main/App.d.ts | 4 + .../frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/vanilla-ts/go.mod.tmpl | 7 + .../templates/vanilla-ts/main.tmpl.go | 30 + .../templates/vanilla-ts/template.json | 7 + .../templates/vanilla-ts/wails.tmpl.json | 12 + .../templates/templates/vanilla/.gitignore | 12 - .../templates/templates/vanilla/README.md | 13 +- .../templates/templates/vanilla/app.go | 44 - .../templates/templates/vanilla/app.tmpl.go | 21 + .../templates/vanilla/frontend/dist/gitkeep | 0 .../vanilla/frontend/index.tmpl.html | 12 + .../templates/vanilla/frontend/package.json | 13 + .../templates/vanilla/frontend/src/app.css | 54 + .../vanilla/frontend/src/index.tmpl.html | 21 - .../templates/vanilla/frontend/src/main.css | 79 -- .../templates/vanilla/frontend/src/main.js | 57 +- .../templates/vanilla/frontend/src/style.css | 26 + .../vanilla/frontend/wailsjs/go/main/App.d.ts | 4 + .../vanilla/frontend/wailsjs/go/main/App.js | 7 + .../frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/vanilla/go.mod.tmpl | 30 +- .../templates/templates/vanilla/go.sum | 222 ---- .../templates/templates/vanilla/main.tmpl.go | 65 +- .../vanilla/scripts/build-macos-arm.sh | 9 - .../vanilla/scripts/build-macos-intel.sh | 9 - .../templates/vanilla/scripts/build-macos.sh | 9 - .../vanilla/scripts/build-windows.sh | 9 - .../templates/vanilla/scripts/build.sh | 9 - .../vanilla/scripts/install-wails-cli.sh | 14 - .../templates/templates/vanilla/template.json | 10 +- .../templates/vanilla/wails.tmpl.json | 5 +- .../templates/templates/vue-ts/README.md | 15 + .../templates/templates/vue-ts/app.tmpl.go | 21 + .../vue-ts/frontend/.vscode/extensions.json | 5 + .../templates/vue-ts/frontend/READ-THIS.md | 4 + .../templates/vue-ts/frontend/README.md | 24 + .../templates/vue-ts/frontend/dist/gitkeep | 0 .../templates/vue-ts/frontend/index.tmpl.html | 14 + .../templates/vue-ts/frontend/package.json | 19 + .../templates/vue-ts/frontend/src/App.vue | 21 + .../vue-ts/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../frontend/src/components/HelloWorld.vue | 71 ++ .../templates/vue-ts/frontend/src/env.d.ts | 8 + .../templates/vue-ts/frontend/src/main.ts | 4 + .../templates/vue-ts/frontend/src/style.css | 26 + .../templates/vue-ts/frontend/tsconfig.json | 29 + .../vue-ts/frontend/tsconfig.node.json | 10 + .../templates/vue-ts/frontend/vite.config.ts | 7 + .../vue-ts/frontend/wailsjs/go/main/App.d.ts | 4 + .../vue-ts/frontend/wailsjs/go/main/App.js | 7 + .../vue-ts/frontend/wailsjs/runtime/ipcdev.js | 1 + .../frontend/wailsjs/runtime/package.json | 24 + .../frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/vue-ts/go.mod.tmpl | 7 + .../templates/templates/vue-ts/main.tmpl.go | 30 + .../templates/templates/vue-ts/template.json | 7 + .../templates/vue-ts/wails.tmpl.json | 12 + .../templates/templates/vue/README.md | 15 + .../templates/templates/vue/app.tmpl.go | 21 + .../vue/frontend/.vscode/extensions.json | 5 + .../templates/vue/frontend/README.md | 9 + .../templates/vue/frontend/dist/gitkeep | 0 .../templates/vue/frontend/index.tmpl.html | 14 + .../templates/vue/frontend/package.json | 17 + .../templates/vue/frontend/src/App.vue | 21 + .../vue/frontend/src/assets/fonts/OFL.txt | 93 ++ .../fonts/nunito-v16-latin-regular.woff2 | Bin 0 -> 18972 bytes .../src/assets/images/logo-universal.png | Bin 0 -> 150356 bytes .../frontend/src/components/HelloWorld.vue | 71 ++ .../templates/vue/frontend/src/main.js | 4 + .../templates/vue/frontend/src/style.css | 26 + .../templates/vue/frontend/vite.config.js | 7 + .../vue/frontend/wailsjs/go/main/App.d.ts | 4 + .../vue/frontend/wailsjs/go/main/App.js | 7 + .../vue/frontend/wailsjs/runtime/ipcdev.js | 1 + .../vue/frontend/wailsjs/runtime/package.json | 24 + .../vue/frontend/wailsjs/runtime/runtime.d.ts | 87 ++ .../vue/frontend/wailsjs/runtime/runtime.js | 1 + .../frontend/wailsjs/runtime/runtimedev.js | 491 ++++++++ .../templates/templates/vue/go.mod.tmpl | 7 + .../templates/templates/vue/main.tmpl.go | 30 + .../templates/templates/vue/template.json | 7 + .../templates/templates/vue/wails.tmpl.json | 12 + v2/go.mod | 4 +- v2/go.sum | 9 +- .../frontend/desktop/windows/window.go | 2 + v2/pkg/commands/build/base.go | 2 +- website/docs/gettingstarted/development.mdx | 5 +- website/docs/gettingstarted/firstproject.mdx | 77 +- website/docs/introduction.mdx | 6 + .../static/img/wails-logo-horizontal-dark.svg | 37 +- website/static/img/wails-logo-horizontal.svg | 37 +- website/static/img/wails-logo-textless.svg | 35 +- 457 files changed, 17964 insertions(+), 2196 deletions(-) create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go rename v2/cmd/wails/internal/commands/initialise/templates/templates/{svelte => lit-ts}/frontend/.gitignore (100%) create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/preact.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/gitkeep delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json rename v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/{package.tmpl.json => package.json} (66%) delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/public/favicon.ico delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/global.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/wailsjs/runtime/runtimedev.js delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/gitignore.txt delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/go.sum delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-macos-arm.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-macos-intel.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-macos.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build-windows.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/build.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/scripts/install-wails-cli.sh create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/app.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh delete mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/dist/gitkeep create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/index.tmpl.html create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/images/logo-universal.png create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json create mode 100644 v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json diff --git a/.gitignore b/.gitignore index 620386a6..32e4ec11 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ v2/test/kitchensink/frontend/package.json.md5 !v2/internal/ffenestri/windows/x64/webview2.dll !v2/internal/ffenestri/windows/x64/WebView2Loader.dll .idea/ +v2/cmd/wails/internal/commands/initialise/templates/testtemplates/ diff --git a/v2/cmd/wails/internal/commands/dev/dev.go b/v2/cmd/wails/internal/commands/dev/dev.go index ee34d35e..44825dbd 100644 --- a/v2/cmd/wails/internal/commands/dev/dev.go +++ b/v2/cmd/wails/internal/commands/dev/dev.go @@ -132,7 +132,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error { } // Run go mod tidy to ensure we're up to date - err = runCommand(cwd, false, "go", "mod", "tidy") + err = runCommand(cwd, false, "go", "mod", "tidy", "-compat=1.17") if err != nil { return err } diff --git a/v2/cmd/wails/internal/commands/initialise/initialise.go b/v2/cmd/wails/internal/commands/initialise/initialise.go index 69606031..54205e1d 100644 --- a/v2/cmd/wails/internal/commands/initialise/initialise.go +++ b/v2/cmd/wails/internal/commands/initialise/initialise.go @@ -156,7 +156,7 @@ func initProject(options *templates.Options, quiet bool) error { } // Run `go mod tidy` to ensure `go.sum` is up to date - cmd := exec.Command("go", "mod", "tidy") + cmd := exec.Command("go", "mod", "tidy", "-compat=1.17") cmd.Dir = options.TargetDir cmd.Stderr = os.Stderr if !quiet { diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/README.md b/v2/cmd/wails/internal/commands/initialise/templates/base/README.md new file mode 100644 index 00000000..520cbe7e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails $NAME template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/template.json b/v2/cmd/wails/internal/commands/initialise/templates/base/template.json new file mode 100644 index 00000000..8ba8f219 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/template.json @@ -0,0 +1,7 @@ +{ + "name": "$NAME", + "shortname": "$SHORTNAME", + "author": "Lea Anthony", + "description": "$DESCRIPTION", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/base/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B zZ_VC6Q;e(Mzlq@3)YTWVKBj-^=3|QmX3svd%uMvP&~=IVuWtt&=aeqpW!@t7qSyVl z#l-sdJyD&03xBZ%m_OmkzLze?Gv$ilgPcYiDTSsx92t9ZHyFPDxqDlz)cG|JQ~lJ` zYL~y^c^ET$AOG~NvVzZz5B%IG|1;{-yz~d&P6acH!sPc})MY$j6}M}?W#6=02KCi3 z<_o??O7fQmz3h8Ads?~f#P9xhUut(6s}x#pib>*bby5_ybiIlV7YBC+B-r94~v^H2OZ@w$L z(T}G^U(K281MaPu{No?5Z<=uB?azDuM72+FFTJz{USdNH^0w1|4!H)gHF ztPA>?exx(}OZb0nT3Kc@TWnZKqTNQvW<7(yuTIB*Eo!diIM91w)6BWNPKG=szouW` zwApyU)0rNQL1`BHCl?u&^dwL0c6%hGP!PR9YFp{qm!Fn(PHmUiS5yD!s){-wpT zh6`@G#I&E;dEi*M#cbQi@Y7Yv&C}+}$S}zrKK=Q!s@8*;3dJ?jWd$ua-OOW7zIauV z*O+T^L#*V8AK!w;2-8cU?)&`qpVA3^y??HTqnP5uwxr|w)tVjevvxh}m}9Z}t)SXL zMa6Tf|8{@jwc?1nWfA!O;RhS<)QZ2iaxAU=*Zk&Nta9nHzYuREB?zx(|^x^ky6RzoeQw-j3#awneZQjzeO5aNF zlyCWWok<~8^2-j#bLZW!6xy#zJz6gKS*PjEPTkLG<#+g2^W4*K_;l^L@b?{zaeuz; z_$kT4s#CG=clYj7zIK~+Q8mLJ z@dNvB?cch!SdmrIdQJ8IaDfR%Q(L` z`N`~HD`HJQ+sFttV5qSRPZjCuVcFz60JCS++1gE0s&yDmox842z-ESUe z*`iNsYaG?`_dmLDf~)-BO|}&}?N(=g+}r7AdBW+xvE8dXv0V%+&QI1#&F%R7O^}mCOP_^>pvs23ac|FZ;ZSIs?Jm;?_ zbK8`}w2yjs(mvep?4EHWJ>(qgl)w8t_fDIm=D>3?E$KmotZb*@?5oCW*`z0!Jnlbo z;M^+S2;>!u!({OD8fYJqbE~?$`__p4dklwlJ!E&V0}@ zFVOaDoUzpGX-;vEW>4FyFiAE1YfJyqV~)9>Yo;Zaq(dwX+y*0Ci70#W| zzo;e`^=#6*$N8`K-Ss`^@O0~c2Y+kaFHfFaGg;<{(#z%3 zzHHheq8`mO;cM;eRTmplb0*x}zT?W@cB4<9&euI?bhrO}pffoC={F9Y^-te9Uo|#( zm%H_2j-Scoy`oiiX8#W_2;D#Pfq_8njx#o&&-sbZwJdjgw<15GM$6QyT2O{zrrwUb zA1K;n(VknV1u%5Bv{J*tp7mG*DaBQB(`RdnE$L4wdU+&v~y4ucL zFu-iXUT4hr zcixE$2Ns`g`&qJAkJUA6iCe~Awe_`W4B}po*_3pyUA^G$9TM>JKezu%C(%QV|Em7o zXEhQxdbqLgO?A3Mrs~yST|BkF!cJ&i4d2mzclegVZ!zE=SrUW@@RNJa` z^*Aj4(w*CRs%Sxc;~MGR*Rq~leL2xQA^y~fC;a>??(7T`wYcul8`gu0LAFn3ereJhpfqmsM2V^Sz7yoY~lD{xmMjeyMcHr}FbV zUmaVp@P5wy3WmI;jNKxCPFr)fPG`&D@?!XJxSKiS)VjaB?A~{uGBLis{J)s&i4SKg z-TvrZi__b#+8Oo8hHJvt{Ek^Ov_CFg?)T^A-`m#tSCw_HKD@yYyWi*Z??Cqde|o+~ zys+9bb;#^QnB)wti`u`>%7&ljk4%yr4Y) zyw2+H=QI9(f6`#$S$^>4ZiYYp4DV_lT#Nqyp)orD??-Ok3kw|YYsT8lzrMgxd_vvd zr`P``Fxu@g+EeDs)?md@6C0DYp^5$GwqrBXf6wiYPv2ZpCEL4DsIGl4gNKIcoht=j zp47}$`?4v6ZNuZO3)J^rtNL0f_;!0?tjr$I*rbR`ej$@L`!8&XVU%={Inj&;|r|BSa23%Kp{H%_7I?UU~6?lmvXgCFjhI`ehM_xl=K&vC_U?Z1@o`&<3| zb3w0L>;CAU|CRn{3;($4y(FyjRPn5Zl3?k{JZTR=M9;6_fOmU za!)zi@<@y7YQOjA_vmk(aQ|mJ2Sb+h!xeTW`(F8Q`U$>1{B!4=U($EvUhMn%d7k?! z>0RlQro9&X#s65D;rDmRl!y!B6Wo&u%2#h-deMuQ_7v3}}-tYK+ z$JLv^zB|;ad=Hi>6zMa&a_+&S#pjtT_#5tnD!}T6t&%1$qL+667nU}8VY%pj#nICB zTCDGxKR7Xj|N5Wy*1SR6`(UW{X6?oz)r8BoQ?wal4z{(lEzwF~E?Qi2(tzaz$JLe7 zR0`8%!VU-WB+WBirMN38#oC|mc05y^PoB+}hi3{8AMyRIZjo!{WH{}n41?o@ncJ;d ztRgS+%vows_V4bK?px>5m8)f08KRz@Wu2(o{i6TGY@WaWbbk3B*nIVT@18JE)~&OS z^Lot_ee^u)yjii0ZEhf6A@hM^##DBWbDNiaFLUiRpQA7#WMB6U1?MZW4zmx;e63f^ zVp3VnTrYfeA0yM91HWF{7p-%C7IWqOlbToImEOOvm9J?i<$Q9jnk(Q*<+17c61R4j ze^@x1Au7E4+uaQ^-se2ez4q%{lbzZyWvbxo-)rlw&nf)nQ|&rg`RUfDty@~Z?y7ma z{eAU{Iaa&(O?zst@Fl(`x8s1%T&dq{YSR<{?%itjlC36Y+qLV91uSajs-8Cc&s{ag znv-quJag&j-(O#>VJ)#aaQ({l6>$zvi)Y_-cdC#-^k<9C^O+~JJOAhi%h#UzdARiK z<=199^CM2Y7vJ?zar^8G-&QKR?%T<8i%qYnisQg}h99keqoe)fG7{N%t>Sl;fZLu$ zzs`ooq&LJeKG2#ymx*onCWi2JCptIi?I=p!!PU{n`oI2^^~a9yYd;-1@?LAo&z%pw zrkson^eT;tY3;l|^~~w@xpjGFALo9$J(cxo7teuJ2j6|)U0q@v&9>mroh>uoZJlZA zf2F7H(e8k4pPt?QwYf&ioy|+K;?o)T$#Y5<2Q0Zd|6uxamQUGb1`XyO*?q0AOlFjx zUM{6^{>$G4qZ5B#Y+uTIT+Oa9ZMVuUo~MiSFZb^06!#Wf{dRM7so9Mse^t)uJ)hL* z$ZVC)Wz9b&J)Ayzs9QnO*rce3qzbZoi^qA-0 zVQ_Icm3y$XYTxX_($t9`mb$c0wh}dtdu22Ci?X`@iR#xsb*!6r$VbDyK1_&)i!JC+@(uK)F5@%-9^>gQ|Un3$cu-uT&e{q0N7 zYW)(g-P_{d@xZTgi=El0(&dG0_cs6K`VsrOu(9^ni=1y?;*S4YQ?w9rf$) zi=5o=zwYis@j3g%_FqwE~=#056sW&|X z=S#bKuQ~lDK|!76`N2154v3f=7G67e&K!@?&HeJcUQ{K; zcuDSEJISYqtRI)2OFt*hwwfI$I>GI`X8v44I|LZYqf1va7 zdWJgNCd(Urd`joU8UNSJVwI^mb8B^Ot?`7rDGSaEZ}MHvm{4Jwe5C*1Tdt*Lb1n0J z)asu-!EF2Bd9`CY_k`*i}+eKM-KYq_qMt~_7l-XCB8^QCb8pM~vm z|5tA?f;@CS=P@Nc-c39dj0-q+p7yNEUncnROb6zD7Vrn)J5m z|8~8o#SL>5mbxYhoY(eV>DRlOr|fA}QAfzl6B~Wnj1tu(7cr!Cr__@Cr zW5B_`ZMDWT>P8HMR_h(E*~?J$^~{%LyiDg=tdf>Ad;XJKU=*r8nThYB z^YaSBotEnBwhP;Syu_cMtds7>b;0=Nv<}%~DbLq!o4mjBzH>gCuJ7d!1@q48mAut&NPlR~=wHvr*2l?l#g--Nm{`#Ji#jq%@u%l= zm)#WYc~#Am`0J~5_t)>=moB)+n7fUoVgKo=OZaQMzjGcn5C8h~TT!w#t|E<-% z%UpJ00k_xm^XX<87Zx~9SKRyGl%3~I!i>erFW!e{oNGBZapNQp&bqYT{8+xE15;lI zt&5p>m__JiKFg7Ud+7X6whxdm-!kpi=Q8}m(n=@t=eLLs_M1-!U8iJPvGwLq7$~&@TqufG#*sU|90J)KgqU9C-tP^ zMwwssd*3@rzd!o;G1G_jMK6Omr)ll`|K>?=POf$E`!yFmdiL4fJ7$(UetF%)1*mZD~31Iqml`1BX=0iB}X~OuQA#d-A%;XMWb(cYpo9u<+<&4)ex0 zr}}@*da)(bJ^j*a?oawJS6hlcyHeb|kyY-MPJ(L+pVYc|%>(;FdrY$5YFNE1@nrtK zayn-%=Yii0e@_36j#k&(V$jUSIQ{B(Q&1Q;>xKQg@H)@LIEGWgT4>+xWu=qtH?l0M zJhp!}FWZTRs}I+ly?4>2#MI6>j%(AdyKgS?e0Z~7sM(%vp;hvor-tk-lPAdN$zM9> zS@SJy760bC$7eEPj!U^Kq{hzM5_e=h^Pjuxx>qRNub;f*ZC6REf-I}SbtN8)DLc;m zH(Kz?)~09OSKBAQG7t0|o*kJS<@Z#%G{NXZ5l^Yk%7Cp0Iu~w>oVJspI=<%3%JYAJ zF8066^B}8i--p1Wm~HdrF6`@ksp)=l!{*h?+*uxQJv&^)tmS{OM9ejSQESn^O@CG| zvGI%Ee|yQ@)|oG==1w<%sj^R;^~0+zXVN}ct8<(bblCpF=GD!hxyL≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 zvum9EbN|l!ehRbsA8g^%Bb}du%ckTyApRtl{g-$~{LbH$4;8^53JHLs5+b*}nT$v^YF#)4fh<4*|9 zb-O0A%DXQ7&-+yp``<-sbpN&%IIw^9+4FIQe$Ne!Uu;^g&-#Ix;hp`itzS>OZ{N1B zZo8z^mm?P?7B#cQF8cyXEA|cZ-?W;(UL_NM{z$ugYBbY~Syyj;*tx8@bn{J(ysPV_ zZhKm4I^_QlJbgmpGgH{cO`k&CZfj>RI3H&8*Ri%R)pT7)Q|Z(zmW@9OKE$Vl312cc zJMs9wkK5ln)?fU?{db=7eQKJ+wLP(ZcH@yRj^dL-L_#+(+?_UoVPTGH@IeddrIHq= zm7km$sTVJb5fX1(((~Y@bmP;F{}aqnUAb9Yas`o$5`l z3J;&nxUl`v!K}#gvR#j+o0u;+wIaFb?+xbuxpy}2)jR)e&AR^qzvkIYwtL{foxd=_ zBCK1j_P9r@+|KgEPcbdwzAdZ*4p;d;OMhnPfAnRRlbYR^{^wKY6(78Q_0y!UyQjGS zu;e)L{J@Q6%idSCwf$3D@Y335`Pu&Ue~!kg{TO;}Y%0 zZ_0W0-&hN@w|TKnPKJ#9!`i3ltkrDofB;^fzf%v^PjM9Zap`+v zrPaIhdF%3u{{+gmmV`5LT&Uu>z*2gps6zBy;=-&S{`EIIAE%14v#nA)eMjs`%Y$Fa z`*q~^um9;3-?5#cz>ZnCFYx%DwQgP6`~Bxxe7;%y`qLZMX9npvzVW{c{`lZ*Tl~6a zhiTsoy`$IMe<>5TL3zc-%1csR^IhwHEU?qAjyid5>VJ#;EZegF-KYGDtv=s>vUPc& z`JeF0bGK%F);VN+x_j5D^|}iezW-BwaFch6(-ywd2j{=qu+;473booj0zb_de)P5X z&0+iy%W!UubAIH6v`02GTK5|t)s3C$eDs;nB=NZXyo`WnZ!Wmb4KH2y_|r^w+v?@# zE`6C-nPwSs?8f&U>kD@s$eWyYLDaRL@qjhso$8Y8*Y9QT-um_EZd%5L$BQ2_NSM4Z zT9#k`;lyk156w9%KHcAyWF-Cf=GTJQ!+rtIDpzlu`1Z8ugvxBYs|>2ESGC>p&Yr_u zyZ9iZ;U+QT1~J}MC)P8qloN=$ZndfSkK~^l_f1bO-4q&d_-hz*p_xSMq3V-KB@LDh z&yOiI&p)yFV!W)4%sIbbN$CzIQRY+GCmnyg-mfC%K+yd2RqJ=n7M^}#_M76Fy0nI+iYwGJOcIgV6+CKFYS(_Y?y6XRw?N;p!$G4rAt9tWhXKh}U z@U+w4o!R!8sO(*1Qs#YjdFESt4U45rn?5buWKzh@VBV`4_f>yM|1zG9^}hn1)%^3? zKkW+V873Wp9~^&vWk0W3x#s?gWG23idJer=Rg1^*bu(x_r&6gkRY|H(O5lIyd*T&@cP0>;CV}H=QeexA*Ml;Mk=T zPg*`ZTED)isP;+9_spZ`1261cYLaX4qHD1WpEW# z*%d9^9>4iLyJ2f8qru`{eug#gTbwnclRJ4W57d45S^fI!_lNtXs!N`ddq3JPRSyU~v*BvN`_fGRTYY;tMNj=!k9{=hb+*^BV^ufe1X>sD z+Eo3Iu?5WYQuDw^uRPWbH{Y2%p2?0 zHeBM&YCRJ0eTDf|?>}c5bz{Q(zlzP`Th&CkSbN$2;tc06l5 zFy+)Xt1r$aj~{2++-6Mvdf>B^m_ZU|BKbv_rJfhmffV! zxR$9-x=kp*al_9`zm~E)9I1AS$$u}k=a=Of$8UF3@}F(^v0%$*$p^O;Z>L>huwJn8 zbVX+B>0fQrmOi##9=1$Ne3JM=zU%pk$%_AVz4p&%{t#OKZeO(>JHz`MyW<)DOk=2T zt&9se{QF;WI|El~-M*C$Q>-s-{PZrR@oW5Z3(?c(zoxTu?&@H8xG8sz|I24Cs$aY} z{%o)8ZxeKneYmCrS~IdW6VE`++KGyG9%xULtz`Y@=4GB?wOfk&!@^}=d-t4~o3 z|0jf3K4Odz>$@rS=GWnMSE_z#u8pYM{>!j_lR&xlnXr}`%b5BlJa2YgxOL>#lh8A3 z?q~)7jgHyL9Tk^+xco9#&#mTHH#)ReuhQp!adpo%y$LB_U2j-?UcOgbzIFfWRo&aH zEt$UTJ^7-y%Ir(b&!dYRSahOSKJaxpy=}MrD&-YFniXUxEIL-Gp#9m@<)s$WwWYz6P9IwM_lNekdc}KN-z=&*B)ENlpZR_B z!xHQJc9h-Wh>9(?)v{jyCNt&Yk>$C}fseG^w(|YU7SwND)P3S(*r{aqzPZ1QC$`@@ z9@@W9exuADtC-hwPWG2}cVztfb*Ej#C-w3E1Fx^TpZsBWV#y!Lgsj6C(nU@CICPDf ztj}f?FMZ1R>8<_8HQf@L(|V;-+Z*H02tMC)>_HFfp(n8od@EHy@C#|nDZRdZukfph z;LotXpH{KUYcSRDH=JL+f?IIcyvwH&KG=UWy1v$^)AROXi+wrswy;<=i`}~Z=vi^W z{Vf;I)ta8!wsn(P)8X^UX4R|jOe-^d&G0#9pWE@BE-%?*r+)EaxX=CI!o{^~zsuac z^=tL+vlkYeHIZRxW{Xw)@~XY>kBjDy`;0RVa^ySYD4DU{@K}GFf$OicbkTa#AAh?Z z@q}03yC$vK=3wNYYpndsvgzTBeBqlbU#78qe3f}B`>Hc{oH*yCuBV^w)obV1xu?D? z=X=t@p!n&Ub?K~wtEDy=rkX69DZl!#T*dOHb@qloJ}&&}``e|xVTPZmz`|*nyEZ>b zVrXfo`0F*l`tM>ZmlJ{qMEo6|*PXcP_I%Rwg{&tWW-_v`Jr*n}`hbPu_}l!O9_oiy z|KFw_bGk!N(~oV7$w$YFE-}yFBwX3Aqx^p5wX&!0R~>oewZ?W$&8H(X&#!&%{J+8{ z)cveY-t4#XI^iE{d%{oc^k<#+rtul~FM~eYAL#-|d{5a_xGDW*`dLk{cc)IT z{J(F~{r#T~vdak_yq}nU+sQgBY~H7pwf#qZFB$cJj5MAsHt+nW7jtg)XW2jKU|6f2 z-jT0<;irPMzNyez{?hBm#Y^uz>+1UabiwLL|DqY*+wR)>b>ZUZ==;Sb*{>x*Q8vx$ z@^#RZM0nM2)8GFlGW?fnSewCB`Iq^`NuI6W__EGaex7`Id67il4aL~4d`5Aba~W)d zl>2!#Yp30HJ!^DykM!$6wTH?Qn~J{fp7&r)W{ADVCypa?PtCo@BA`9th=BK`^!HzG z$}L>W*m-A9zm43BtCypBZ|gO%pJB79R@zx4{B)J#nbnboF=kQ!g6DsYmNvR)e)7g` zt^-e1&j#-)8=m zkC)c{`2K6+w1W=KzprfE{G89W=Ft~jJzhh>eEpS=4H=G{>Ykx@!}8G6^m7xp?4K~t z_-55lF%iB+kK4{024v3K+5OBjZ@$~}h4&5h3w|2?{gJV-;)Tp~(f!6huIPpY@*Q`7 z;dAHeR$q~XYaJ6V1Xd^S`Kw!;Tf%i9{Ljt)JGGN8-`RHOzZm1b+0W~q=S&WprfGDb zWmUr*i3!{OEn9D1de-WK*_HH-wlO=G9RJ~We|O=^J(Ku$@O}+rFn=G&!W0^LJaO-) zNuT(oT)udMR)W8uw)*OGP#;?u+`?REQ1#W>y>1VK{i6GorGAZU6PS$;ypLbEn$Osj zedo^oN2Luv9NTg_yjL{7o~84h$~Vi!OgA|UlsuBPzUZ&BDeT>~NJ3erWa}QOlm)gw zjfHvs30?|6e2P)!_ZoH&&Z*b0#=0MCeer7I0>m*_32`;9ApL)3rB^E{jU!_7w?kd9L9y)A-T%>>rcAXV1TszVN^$jS!9H zt$X}y{pbJi6JgBEzq2Lr_L7~qmgmHL>MEEreSW0;ruRnuqUF;o+4jt|uQRa!Qk$st zphi>v?-fs`|5xl?mNfCLKgsjwrQo;zBZ6g9cj<8~()@8AD^10#6)>zj|zP z=(oTtDCAnmn}5f{L*SaC4Q{Z`kmR?L(S`gei<{=@f^6gI66At zV%OHvgzb`2kTP&0xD1@p@kf}?vfnMuWYN?`ANfO~uQSTsS`~46_NN(*SKjpN?c3vV z@qxp~gWw{9_p1Q1B{WoPvx?A#|U-?z>96zeH*D%>! z`YE#LR+Hb~a|@@>4%=AWu>X~MrJnE4E7P{F37V_=Yma5fgp@$b#SdROdoOJ}=`JVS zee1fgL-Vv#d`o`q+x%;O>pyK%aRv1Qj=%TbUwuYBjb+}~$c^ob%hC^PQFceDh!F zeyh`;UFUp%Y;*82%ZA(5JIu`$LVi9dTsL1>;bg-N*;^LVCvM$oDRJa)@1`^Ucg+|W zer#LJZ=-ggoH;@}{?0xfeg~^=Rzdqbo5KGqY8_5LdTz3i%~I>X&Bg^P`xoEYHZQ(d zN-TW;S$(6=x6hqC)BbO5xN+GrUw`}Nby-zr4eyx??q6KHHr{gA)~~(0&tACdb2I|cc0>7s2{ryjq>mO^%uY-MwmmKalgayoId^Y1ekB;{2Mw9v5*1pWH+*r5e81wVf z+w?hja?;w|%`S>YRQw4^xpQQ}rYGiV9?KJ+l^QZfuo=y3clzm}cg>n{YYwaQ2b-e- zMSR@s4%=lV8cz58y%#Uf^j7iYECx2_>s!`ehbY&^Qr}}Pi;!s^4G}v<$U+G(}MHW7W|tuw_D(KcX~#_{TE-? zw$6?ZS+!5+CG%53v81zqoj*VMys`dV-`XG63$`~LvAK6L({fpddaszlU$+LmM*p|g z*S7t6ZMZZ)UoNxrxzgOz+-FW+e0jZ}lHy!izbA zyBAyLwx+b!3;lY$z)|`IpO1OO-r}86bMNP-ty7Z{1hp^@etF9;_j5YKzt%P>^J6Fe z%-rb8^5?5aMdrb&YfnUEO08I19d}dU;^Z@%1Dy1xhhIzb&@x`R`cl?{j2)FGmlpS= z{h4LBTJbDby2LGuds&i~n-6t8u)4ssu+-zo!aY~ZCIy6Kre6FsJ2YcL;roVNFHOER zpQy^d!fF%5*z0JZo9v&l+DJU$r+*-4?UK;#96G*dmxjguR+%cD+L;jcnz45MUyYWM z=_>Vax}DztP?f%8=x@`|_j>iAGe*~fk7fQjT4eiU{(RB1m)lZ}&+obP?&pH{#rE-= zlRbk)nN7C7Z!uFYv=RRD@Z#Ie?fr9Yzbj?GPx5OzQ2y7)LAmK@>*Pz@rfRGxY|voT zVX|VBE%?myed$WQNr9#Bel0pLn!kR+gqHc)mR6S*eQsi$EjCeh!K$Z)|F3DwTF$YP zYTZ-YQg3VY;k?b}y1x?P>sB2TsGcMDYe)O%)_R3Vi&gGFj8EJC{hQDAVfw@g4FA_K ztd4NM>g=mt8h3f8ro7vvF+-G=@%V1YklKuL3e_n3w$voqdtrrSFjsDil+wDu9%xC^F zy}^9mwM~h0e-h>FSB=-4;l#zN*OZEBwZdZb7!SXB6&oPd)v+U}nGV!5g|8_blnl znCyPw9>X23Nk$z{66f}p%}^HOQQvmkPHL_wvt=<8e^Kt&&5t;K9XHw-CzU+!V9Xom zJzldm%w}S4WX`oo)0yk3Vfu8Lp=il+Bi4W=wb~C)^(t?#Z4UY*mvC+N)JLx$Yc!a0 z?)0lFWl3z@yK?{H2Q`uPUxL-o-Dz4>HNR9i>~8kX&*H^J2bO-e4L)8f-F3FcY_Y1v z=8B^+|6g966I1S)vLTo8vyE7#BHJy|n3a`xwX9FtOnsU9VBh;iMbG}7J1_XjjUjiU z%D(NoFJ?3E;FQ|(^KkRmTW*HVnYV2hOR*YQ7i_-m8?mm{V>2%U!@jS=-{-S_h-L6Q zT9~lw!ne))%%?`*c|Y^A>uJM9d;aX6(w}nfZXf47=`Z=u);yolZ&jA|@AeCm*~Y8> z9R2RxI5qI}#JRU~E-YyI#`we2=Q+!t9~alI%`Th0P#lSl2rHb&+;aMz89D`KM%iwSGrG zGpNhI6RONzl96O^M^a$Rug^|qiF?njaI%%?KHaCdQ0A5V_kZqL6)o3wH@#1Ka6aYH zy$M_Qh;RLnb=(vt`n2oUr`54>?Xy#uduL{aSlcbyssDFd zU_juWHG&^Z{~BIl2tWO$oXa!+_QA%zZ;U@OzGC0|;m;3+Zli!}UYh+fmSvwLpL6e< zv6xGt>{P|n&^>XrCrV!E=haMH?EH1s$EepE*?L#+;9BUI=Ls`9;B~Q?&f&i8~e<3uc~vYlZ|A) zr)6+cd*FueukDMzBU0zw5Uw_*1~Y%GG(d)VWq(*8Ce=+qTSIw4N>Aq@saOq1pTni=uM$ zO{KegvKA~quuXT_Llvp3Q9|*?V!f5e9Sl}&T779%qP)O#;p_WfF^j3kb4P6YA|4fY zjol)3_3CRcN=s8aTIJl+-J_yk2wjv+){cIA|CBr<*Ma7xZ+sZ?*xyCB+J!6M{;I#8 zk-zIxRgAgP{n(jIu(be@QP11HY&s&Q{ybF4+4$OyPo3L8 zedxSA-=gl@pVG+qv%l(|?THY7+|%gSFd|FQk_^jO6r>39316s&JZ zv3nbxNV>w@>A5Sb+Rg0S;(4|6XBK^kxi@9y9t-ur)A4V=I-Qf2+HW;&ip8o##e0kb z{EK>?iyQdQia(z$@ZkL3NB4HWcWBSs|Lwqf<{x4+xi78d*z;*^QF{Bsmw$vxMUVUc zyE|R5bmM|=E8d!XzG%hyMmFZ=zh8EZ&zt9ee!u3_+U@okx8F_t*%kd!@3>?0JcTOz zWyMVQHpi?DI(~OS_wtRb2^SWu?uh&PfZ1MYf;>A<2Lnr7T9@MgoI3?K)=M5Ln>%yr zRjHn=AJ;;CXIwmfOuqe}*rq9`|E!bRv{d1@X$M1Z=G+v6iO()ydL3`vcVua>ov)r7 z>%9w`9^}U<8aBQtUJ#Maa-&x!RL)vj@m+TR)pssunqT^zx#6C%dqTPFrHtRt_jDW2 z;nni@&zfQRRsN}dTXXn5X8S$MciZ)AFO8~Cmu{GJYTJS;*$INWn{Ai$@9ciNGJ(-i z>|flA|5n#_^hqqzN%|z}lN)*diNk9H@2BftKL77kePjM_x6d9==Sw}=__nycKX?9a zz73xZcf?B9s(dwI2yKXu5IA+8A!4G)3dc7NJI@I$-#M}2#-Fz5M}3X1*4^2X&CoVy zyZMjwP1^b*}`E5Uq&&{0}vOoLGXNSz+*B3bYGyD~0*w6Ri!^O30 z_g9u=zn;1K?1ib2qlQA=)>nOKlxO--f2;G7TaJfzY69;Eg>e6CVHpeZS1T$T-!O2o zo$8yq(NVrJe5S4e=drcx{5by9#Vjy&+Olrfu7j(SMfZ6A-Fd%PNA#)enU$2l8{Uw?JCul;mJ zw?=7?_vzG>&q2ELzn}2WkFiYrbEV#@{mf^M^>LeOc=WP6wte^$XtSX8dUUDRff6}o zBMA+CrNbW{+ish_yDZ?-ifNoHI+-V*Q4fAAzD{saaG%}s1!m8(zW0j1%9wNhMd0Aq0Gh6J^FX#6D{?FU+e`;@QhQ*47V*mA?#n&|J8#Nacv!t|(e(k+K zXP2VBC3RY~36bud=sP%mF^iJKp!zc8=ufAs{FxB}t^XrV* zTi-g0Hd=iB`KKX#*6Vnt`yX>9=b+lSkgQL&Y>tsniXPOlT~ zIr39v!vcoaL3aN?CNJOjB1ZH4C!6Yu%ooQaMvSWap;)Ezc6I?sr~xlo7cZ(dGL2 zVE4xU?0v6XQpI9^R_Y5J46nayTYh)$zBwjSk-mp^$kOccBO!1U$+SF1v6 z=P8-I4c?ZtZ{Gif8y>E5IC<*A)wpXDuWfhBXxjOWQ?9^e04?J zA_e2!f3!tdb~`FW2c~sBZkfM&;kjt3Del|%Pk$2ae4K5n@876Gu6*?e|M%o|o#zkF z`*~%hasOQP5AQ$!(iMHTQ+jS`vL9>s9d@Il13^31*tsgNyym?0Sm6mHW8;l-#WS+z zU*E{WzHHOYRiEUJ**itO+u!{mrZVPC*X&~}@+3D^hFvb)dv5iFOD1XAc2di4M!fp^ z@y+&wy~iyZclRDG%>R)8YT;{&AFhw%>}CWu1?L zL{IChr0l&A-2Fo8bYoAvKX%TVHFIhnOY^H>{v)?bUbnZ{L`M63 z_4?fRJmC0x>DeC-IQ_Q0u%vL^<$rIUdHPDHJaqo|Xh(9b;pEcS-fOk{6=po|w*RxM z`rR+9HxB#j?tZP`#!$aOz~-za!?Ry^Us*L*eN?aIsJS0`ph8FE>cqKA)#t4}7xn*3 zjlV?uuY>t(H*(CJ5f=VsbLGWP+h5MqQ_;$}ut0sLT}Ni(>$j(`zPgiVT&#InVr?@U z?;-1N@9Ot5{O6XwKU;<|>xIkWY3tu=P1zn7uljb$WJY1N#M3wAZXJ)1yWz2MNzRGm zp-QY`wioOfrTOjkG| zo!hJ#{R5426Nr;)yK`T<0a8QMToo^=3iH((2 zj15!&P20Jz;?w^1=cON2y%4fCn-j=pY*xwLEMzc;D3=itk^g`$mdPb|0P`@Y`8*81sKv5(F-W*4IwXJ-24(u!#JU=AXE_ zAxOez>mI*9x9+5}XMGE|^*tTE=PG z(y{B2-HkGvy^IU4nIHJSz`K1N>jzw;GvN1B_n$%m^8%pY5|yJmg(u$JMXz_vFmN+(Mb zg;Wxzo$ATCA}XTQ82+nhf%`Fe$yGTg40o(}Us-)*jl<2>{0N}DEkhN}oVNbH%X zvgdIz!YQKvPs~3c@$tj~&6CMCg>N$)8k%@6l!yBVZJQP!e$4wpCt4}R=xOr~R1rNr{R@Z}n zn>p>a+?Qcvbc7PyBmv&cR=ud#kneC|fUm zm67|ubjs(ISH9OUv%QW!K41I#)kOXs=ZpCAqJO{hew54n&PTq_reVHt!=He2j?H?3 zReTNdECv5TW42biwr+jAZT{-kV>e_?GA1krEoFBT{A2q!u6JY7a<1-~_9e2C>lx2J zJdmQ{qOw)^#q=jTrF{R`NliFYoP5}dd(x@!g4GAOFPY}Gq&!GxJ0rMZ<&_Pof8V9% zooDEHkivMo>B8bHo$_f3Dob83?R4-cJ+$0*{o;#qpB1-BhRR7KJ($rb5pDgwZBwz5 z>aXisMv;4aQdrsrp3FPPl6FU%AyAfa+o^~H3CYjrM_&s+VtP3%T6?SnAerFoF zA6XZ1ds2#yUaFksLxvSU%3k*Vd|4~KP4?&MW4nu+@)o#WSZi6&BH#m~F#|4lTPEWBTFk+_*TovZ61w3@Nc6?01XGJPc)u&1|ez zN=fojymd)JHTB#Ksg^UWy8KqkapC)}3h*WPzV2W+`QE(r!<0kjXFuFeIc4%-bA>Hq zn!#tr$d5<9Wa=-yVl?%k((I=v@2#xaTYK=Tqr-gOoK{h_8}ouEK6-LB_`%F}sY-`b zQ|+)*+XI*yy(JCUKY9k_@XhWmk8oc+>&ne3rx{#+UjOj$Mt)VT<6NU(e%rmS?8)-D z{yg%uFQ=%B*|ZL;77m#+S`LEywWQAbJ+S)2wOVw3ukW)72iJD92&_KeY~IblRIrLc z-bJ(igZlDq`>%TLWBl{lvHxabo9zewEvwJo`o4Jcs%8GCF4V2!$ui+wEDKR$=HM&lc|KYZH}bz1v) zPQp8u4a-Y@G6v>cIX-#S*ZlVaYyOyg__weoXUDBo9qa~L!T$3~p7u0`GKnmb`8D@v z!p=Q5#Z^oWAD9J_oe#96Z6d$!cb7{exc;VO0U)r=M+4oQ4;?hc&vN1 zappIJygmjCjROanWLQ2dT)*@61xtpCGVC)h+s*m&c4frk(46_(lUJU+{z6*U;z{{N`%g7TN?9ZBTnRlb^5y={o%42n z$er}@)eoPrKT~%V-}r85v*EcFvN^mslOFWV~tV#Dkv?9E;AL@NSEd`eqr$C-b#BekMs? zWEAkf$acZP;>Lt0M#cvwHfcq%edFWT_rJDo&HS|1!hbc2=h%So36V)Yse@M|SW>?-$oPYCXlmL=tbL|?&b+zP z&gQZ%ykjwKbHV?6V!D52?iXG(yY6#m`{R{!r%M{7?>GMX|ML9HOCM-&e`i@EBkuA3 zZuwzz<{!PQgg-jWynX7lfAr(7rJvtkdA8lEC;xw3jHK3orCj5g+lwNt-Ps+cBx)IF z-OV$dVVNNJPXu}_E4D* z{xZK#Y`G|~-0F^KL*mK3h9a8l@5b=rGnn z8?IjCoPXq`C_lrQcO3o43hti17nc8$X~l(qW^C>hqn_MR~+zv%n~RYoU}aE=$fQKlzawb+_g3-H<`m*q-(kQ zIG!YEK2>005B#t&`n_Gv#d4kf#qa;+iyyqb=7!jX!vD8Q%orzsU4KXM2J@*?heZNY z?mK3-URv*&E*U+0QSFZPM*epAYG-4E|`J$Zk- z#{ZAThVt`=WE74aZ~CR%pPn0T&-bTmzxV2&M}Iw9wCwviw#&Vij9JwOg}ik07hQ>T zuwg|ye{!-NJFnE2E0&=5S}t%vm5IFst`a(tOd3G{sAT3R}-?>))Gma0dT^HSb*c|7@Pv z`(e&uSK|Qb$U7STO4B44Jd#ndeeT2`VCBwfn!5fThjX&zI=he6AB-!N0{TQ!Gw-E8 zWsQ^hz)`#A>5^b~hA=LFky=LZQ^`-!}aNG1a zv4b1<{2Jo&yY^kWcG1J8M6H2?>nmsbuFrpJ75#X=*E-*-YGd~QICcHMiq6knpI*qO zBo#3yp61^m@aNI#cXoebGgW1)-tUv1r#ivD<$*J1>Z{;tTV0`LJaQL0( zoH=o&i#HwH*YfLT(Cb(KciqrsxVW%kLOgfb-vAw5YgVfehCS>DvZt-S`g`|E&^3Bf z0_%71Ntt9^@Y$~WU7ul3q{98z{2MRtuenrfuhyfUix09tZ?g0>gz3*d)zeUQYJKX|U$K?F4$7Y< zn^Z>!J~e;#e9{Wr6BTb;t6GkzrW>~I+hSin zUTstB_QNXEdD|>aj|%!!f8(E)$^XAS?wdu}cm1}!=y(5bwx0NY?eE7c0TZvUYu2jz zBJp8C?)O>c?>w%((>;*$sah;{m&lwpCYAaa*$SUX75_Qidu(QIdApNYPpC^W<5}{` zpRzmrK7Dz1gTu)-U2*-2=8MNn`^D|0-EThp#cO@CV&6G4|CWs(S1`o?+_am2zOVMH z3)SE6ekc8sQ+Q7I_<*Wu&>cK@y~iazQa_LuIAik-3#l||CKE18$GCAm)T+E>G} zq)#)h{kGZEe8`HK4ZrR$ZfDrTc;LKF z_-c1OtM3aOoA)W~`k`o@abdygX`ub$93SKvYPL5nIr(M7Rgc1BX?M=gUVA3jq{P^H z|GV{hr%!e8>YZC(di3ypvyWG9tVnD%opvzsQ0OF$Cx3KS&-M)Od}M5PwN+DPsr-S1K_3>bt)6%1 z>R;}qoy)?7;?4&RKJ4!vhAO5~S+hgXjK+&CxH=g=yWx=GATV3sDHvQA*J39rQd%f2w z-ZgPgPHkHC{kyAHUVQ3JZAtnYs&a)y$l}F0t z#iExVdBLfFD=77|D&%Wwl%8KA$^WhMd&#wu#A7!#Z6fVAtKOF>X}`wsr09;<AzZ3%*OD%-(g$&8f)9G zcmL;a*{XN1agyw$<4<>|AJoXdol~{Ss>kjBtPB5IbMjxD@?GG%|F})yyc6p$&u#g> zPFMfW@@c)1EH>+`qRsTJ4ezqry$=dZW5K;`*2RF5indwQk{?-f#u0yGeD@igvd$*t#yB ze)eQ@^P?S~()2D{PH9xHh|A#rdD+smDUt0TkIrXZqqS_CEtmYYnf~O0RM$L9k^4R}u z;x?bG%|aEECdhA=5w|;B`qHN1w!vKCf)CvKc^4Kq&VIouu^DtF+^rYep8m6C+Ow45 zKQr^HlNDdsGIw2?&G26@fz`X)#D861(m=N$Pbgt6<} z>WWW0^NeRQxJMuFv*JCLd&SYFrMFbbc}DbyjIFB$@4sGeC%@|4w~qLi>UZTB-`-{a zuyFm}=j*(aO8+Ol_?FH8N0nhe>jTLKdG2$Z3?b|ZOG;vb?nS7*E(*L{>8^NSm)`;V z2U0q2DGGIJ&s}A{zqwNIIYr~}sY~T`do(xdy)qFOIyQru)9ca3r?2uVG8d;A$)*?g zuy5bjdgJ0OOT}G(uI#CuSM`_i!2JDR-yQxh+24F`|Nmp}**;9;XuIq6UuW~H@OoqM zr08XjYMvb2w)Q}D<>l#B5vohCY!g4V+UCXcH&y%1ni$u$ykI!-?702}z9cL42Xjwf zeYHr|sF{uT*35Yy0>MR2^S!Ni_Onlz&wi@@e$&>BfGs~CpYq9^Tp?V_zCg`DdDXL* zALPO>u?QacRT|C472{^JB3HQMJD-r&+?Gy1F4KD~Vc|(zc3Ew5ej79EL*&;PmXfcu zlromC6W%0q+IU_-xM<`t6J6VY8>7B3!y(gR8kF>L9b zP138b%ZM~EsB?cf$Rrcv)9}9!9N1N`!0uE8!qrMCPveCW81pr?9eCtNhd3 z_FT)R@e4!4b><&8pJtUl@?4#IVZrJN^Y$cy!d-jbG7pBItPJ-vkF9P!zKi)RmsGR6 zrunH8KjzE%WO_^gx+^iez$~pc?d$VYP4m4|O?BP5^}g&)pL6UyL#(5l)yY#QQeOJr zvON(0+GU^9&XqaF7P@cl^D*Uo|5dbebH%zftBj5Q86Q8-RJNMMnrV&CelF<^et%`Y zm*39He|O@;pJ)tx@^{6ur!FRWcc=9RwApuDY}mc*{n^Mf%+~Ea?=?$f zCqC_(cz&Z=^Hq(1t5?r>epN2^gxDObFpiX}zg6y$`FxwUrR`g?taGB(yY1@Q=63U6 z{k(Ddon6ggwu$DK^5rW&PG|hFfuVY9pG4!M1K-z(lrda+uDAE(%jfx-pEey<$di3o z>A85-jZTGPRo(p$*YK{ITv;LX@-ssn+X3lmtFIpRugYy^i)H=tg#R|EF>~?Dx|5tA zx>SFVjK6h(>mbTOvo-bd$ZLaibn>;vGee-cv zK@el;8Mb1dRn>XROMY51NbY$1Qk_})rm-no=(IO?TIOYJJ+olB#I@5;{eR}V>VI0x zpJW>;o%MIkZqH@Y-oKFXNL}RhrTWeDdF<6fVR8Oq51N@|S{@{5?szQvJA=c4vFyIqe1eds#mmm=V*ixq^k`fH<>XSf2Ww{Vhfb4>V=d58j;d zRkO_G=<5$U>lqKeuz19m{&wdTQRoKt+;OaSx{)B$JGrNok;gV%dhujN@!E^?(%${xpINOP$kj2WYT^IF{<0~Huln!4HS3gbe(Js5@yn+E zZD##(LHpg_P2u15r__DD#T?Hv@xG(x{RRdHhW$#ivLRN>Y=36R*^2bbR`H}fGE?Zg z!uaQg%h~7u{a)6@zg{~f{gXlA5#ICSc}H!&9W+>1bM~^ZY`x%@?V80iFL-Z1`oj9DT-A+VZnMYzkz%Y1 zc>N^%*Ov3wPN*6FOG=saH}33b-K~uC#TTTmn)f5Y{omTl?`!_X^ZZX&XIXyH$mqlS zxmNy?d-*3TKd|+$Jlo6`%lPFA|4mSup7`b6)5hhZQ{u%=tbXOZFx0I2$%^zJpH}T( zwt725z`S(}uj|g9p)4T1{&JT?zgTz7-N0?vPF|FnJvq)R+2L!0+M&<$3eSB#zQ^ay zlMb8Tp&s&4vfl-cJ2Pr8;Ow!OTVloV{`uTQF0BUTfQ3KL8eWX!ycXU0CeUQh=CXHF zg;R^(hAf->)3rcgLNn8ykEP)cLFL8zxbnZBS${Azyw+PHyEFdVGcoqQ=ZBtsD|}!c z`?bHhnIVgRPrA8RhG8U&bBW)t!fVS4ANNQWeEK;tWzSZ>)n__Izkf?F`ue0$UaFm? zH`{B`p2j-;M;1L3{U@58of{e3tDKnhr9aQICS$ecA0_a~%`+M76b@WB`0;(e=p+8m zt80!Xn_-XG0ezkD z)yBIIA6nozUH9=m(+BPMWFLvp) z*t>Ohv1@a~Z%2JS$r5seF+Eyfq9*&XGb~0%@lOtPDhhLZcw9)I>TLO7O4EtEe~(*c zzrP<)M)!;|f%&M5fH% zuu)^%jBhs#FYaJoZ2kP&jV(u3NUBRMzV<0;?P=57k~ia1RVVCSJ}2Hb?Ms1TZ(XJI zpVf6d5mqZ=Mb74I3(U8lyJA^<+PbgvUI<&8GBG@v%$aGt)NU95!OryhC*PHK)wjj$ z{{KLfAy4qZ#I@h`mYdE$7Q(wM&iY=R|JkC7Qz!DT-*~=4^rLvs_4@(4-{emXnSV1( zr8;oF`|>##Ds|Np^8I6P9&6lm)E`$iH$ws%O19V!o8p06C8RDyQ%KFkiGS4%|5B)uQ&d=o~86< zpVjg;=NS?Yw?8qW1N&*ze+}&D1!yS>JwOEzNQ;?~&|f zW`33r%UZthI_xaHApN55_9Kn*`acR8KO?3~KFIG9?@YC_b^l%4Xe~c8X?Il9`R|Qg zI~X?<|M&e`Z#VPSmmgdg9Ujl>{io+;8TR8@Jx})J+~S;j``s3m>|5K(_p46)q0OAx zMcryrr=1-AWzU5!@6$haY<{noOQ*^7?~l*lS8_j4kX(D;=Aj?MY~h#MpY4Au@0Y*$ zxA@4{-~9V{4wQ19%Un+A^ZnoFqZ_^Cd z9Z$Ge&AcVsrswZ6rXL5F*Z)`--fvQRYtR1!ulSjEM7j8w#Kz8=CA;8Txc9G%AM2tV z-nC}@U$OpAwC=b34e#FjO-O$-0eEwgC%lGr@*WcRzux0vl zCxT_iFIjUVX$H?jl5?N`+`PBpul0lz%Pz%e#+cjrolDD)e$1`A z;r{1en^{#JH2d%Wy-xpN`6gY@9ic|uaN!{WwS1g)3wU`>-Ie^ucSr)EX|Al z&bYPWdh%Z02WFp78}&NeS1&!I_bX3lre#C+h3lLd;aO32j$CH@( zoes@b{1H`eT>Hwy_UzX;<|eCe&n|Ym{Yw6??~?t!--`chJFZ?N;d<7FhjBo$@+w{w)g>tDNZ-{SK>GhDt;KUn&ke_vEX{o(zbcE*df{%L-F zuK(UyFo2;a*pvUve#tA_rru}`Tj-N^hEM*b{_oSX-d8pK{I}!WllN?H)6R)V?2fAa zRD1IAr5Eno?)SF;-J9{fdwoPp=Ix~!n;NC!^R_Mj`tP^*ulx6}{q~eh`rPtm$@2TP z*Xvj7)wI=ocyKFNxL`U%|HHh3U$)&Pa{d#9r`caWaeRl*^lRH59_h5)E|b{B&~^7* z^W)8IYC-?!-aK}P@qrdY{=Blg&!>ZuCi}LZR<_0jfvU4=dAm!Kan~&#W`~{*=KWyynS~4+qRen$14$zM;?dtZM&Y^d$sBO zeRbCq~qYE@}F9jhgnOo%U-5B??Wtwk8MG|Jk%+t*G6s`bA`1+1zW#UMI@%#O(C_n8Mq?b2k60n0srR^AY>c;1eglUS9Y6 zcB-^6%jp#M+WcmP8=ZTSs~#Lws_MmL`fID4 zY}5LW-*8jEH;yS0w@-#lNbTE@4@)kXhf(S1XI)A-nd!PdfIF;y^4+dK;n}|4 zmYw+y(bqG2*>68vT)MP>t3#y3()bPgx16la;;z`Xv-I)(T@!k?EYUnr<6CS0_r_tf zm&aelNw(NE_zGHnywmaSy~VxCm!~c-iI@9uvhv^N-$i2V)2uq@?DG5~D|7B6Q`*Dw z)_vj2=d>}XPg{7OQS9EAxux@qou%s7C(c>Bu3_QnNt0~&-j#Q;Y>Q00`gOM{-=DjB z`#GPUc=g@-`|i8zUiv>azo&1Ub?fW4jm9EN%bX5#TF9K=zd!X!+w=LX1s@;o_MbP| z4DRx=Kb3p1>UHv+xg@`Gvgjx)jd7=ZpW0~CJSmU zGslw&l0Qx#jHHb|p3KZPH&7cJt}4TS6addiSVpf8Vj~t)2as3i-C3zh69mFJJrb z_`hP8@8z8D_mn*4W~^~&=>C+>Wx!{;OzXq-CRYj5>%Zc*zMAmk{q#!R($GJ_b@%58 zZJ)h{WAmcAE!8*A73J)AiH<3Z{K8yLS8UTY2@!--pkpZWU+v!O*~Ye&zG;OE_wFudR>O`64M; zWn=%`^4BlPCtv>lD=pkoTwQbSrHI%a);;pIa~obSi#0Ec7Gl}m7W?%rZ&O0`=RR*f z8WpfLVb*&{NHnF zq2Dj9tTq&R>8$_D-{yVtf6GO`ch4w~-Svr!v5voCgK@{vrE~8E%P{==e5S{B>eOp< z{!csHuz#{mZ(BY8toyw8rwLX}`u(V0ve)>GrFv!8k(VMrk{7P*eIc?|#q~AJYtAp6_)qBOqta#FGbHrwj%n_`SNG0Y`|!ed;k&Q%?#=yW@r~m~6oc6# z`z@Y*!u^GNdRnd9Yn77uCdKKTJ-zQY%MRnOP4&VDEwD6Z@7}LO8EfL-M)2%EoOD~VJm}kd|GGY_)6Rdmi{hBxoVjw> zY;xv}ujZN$9~~~A|Hplfa^IRYwgC#Wm3}l`d%lh%-!!)8ak0|Z_kWLk>7UEt^nUl> z-68&*8^q^b_!qX9DYsty^L>UtG7Z=LcE4K_-ptYT_Sm|A-`E^C*zSBbiJ70Zz}Ktd z&zEk zZ(-Sa&!YIs#yQT9O@wYfzMlO1xK66!;pF?5zDE8CeiERcuxRUw<2O!mDKLI#$`qck z_|o#v^D7S83f|?fx>tMi)N96?@V}N?e2p;{m)v_cS~R_1E`RW?`1Z5OG6~B2ne3`! z7v1=0efneB6gxp(_5(k@NBV7)zv+3%uWjRs{bi2v+4q0OY!!U6!ZLKB{eSC-H(Am5 ztd4(Qog-gooVb~FM;*)D@1J^i`|T@E+3`-?J?vVzdXt`NjLIdA7wo^yPrKhP{o~7M zzwp(+EqDD*FMR&__pBdBQQ6cp3@6`8OH21{j6Idk@JFp-_43&76G3(E^Df&@e|eh{ zb{kqSu4Da>s`EjzFYKeN5_i%*$?GR33o<_nXME9b_F1{TcJ0rPKR<0SKU#LYVBY=d zxy6B6jXVF{@LipIIBwIIopG!SroM`{G+iNkf8S2Mt${h;wqHtqKCOFRQqH@{Hs$eV z!j~?J-}^kV;~o3rJKZ_}cbs`^67r zU)^T4bbh}c>;FBQZ}(TOt6p&2{Me22FTY>r|MEHJ*orr&B{`J$Ki@rrKh~5cj{V!YcuB21FsfeGP_NwNg_yV>A z&!^;v7cvE~IqXZz%|6X(Q0B9(({)c>c<{@~w%z-_AAYwi`O4SGSjB%5@;~$E&i{VW zK(04Oz1VK%pN(TSP{jZW<_W+-(2OZF&9Zeb@%&o4e!h zD{yRMy&hNeV9}N8Yx|enIdJh#(DeS5<~mUy)~(->pP%)$ZHlJ(O4luF#oYUML{)^c z{ua4dC!cz$w#Pqs+skiNXLfw}E-9RR`v1?XLVGql_dm?({IzV~onysn4y!q4?9P0z z{aHOnEg_gi@Gk#3$@hETTxe`52~p@5|JA3JJiqe6m2<{+-$PFSxp`l_w`}+0t9-lG z_^rKIQWAZ7LCy9#`XwO+^ZSes-=6YYBX!QRll}c~h3|Y^`&#t%)n^}fX+NuxyZ+FA zE!Y2l6^6MRK3}rZ^H=<_@_*%J?rZO@D!I=YZkLOyS8CYJvO_{cGXM7`i|KzVFYf2m z*`sc9A#Tm<^ojP?Pi?0c)!DV%WnVBm{qb6&!s7V{ZI8(_{>Wt5Z}E25{y0!NQhW1u zeVzcz?WSx!%MS(&*SS9^2^(fDvEG(Y*=_DP0`y)eX#oJvMrfUCLuKtO) zAT_)?=Gd=O{dGTejB^(m>g`!8deY?Yvf1y9%3L25M9-?4+fePgVdf=)yW(>y9@@%x zYIqjht9bvkJ&xf4n~DubgP{JY8_)Mn)ykj4aya?7b&{)E{AwBFIrmSrZQT5OZbLrH zy;_knomcmN*?y=!^_=g~#`SM67XA8ZC*F8we{a?%t|NDxU)j&UFXdm|`><9rNVqET z&J3Z2xf6vO>WYfbyVu{odt*y=@9Jyst$rR>el|~ZyIj=&U!5mzciqtQ{}Z(0*S^A2 z`|8qe?Z3aZf_+VLdeXUt=Qm9Ge$ihr!*cC+i+b({(;4@q-71|QwMo~pAnFLHzn^<> z>u-KLouyy=81%0^Wq4b2zUc5{<$uMujvqIwnS5{8LvM%BfD7Gh_wp81{QOmNIjisc z(e-aw|L~d^+!Gf(d6PfxNJUg~%CBytysxDeRyU&$eRga=Znx|H^3VBP1z%d_`(M-* zJgmI`w0)oM*Q2|{y6PKRfB*Qt?CWl(DIS&yi`T5Z->I`MB4VQ14yok+lrV!EFy`dGp!G9N5iLu`i9` z$LxHumvIK$7g>C3E8XKTFTel$Pm?n>b5ruoyjyx@#h+IF?P7bDx2}jmVSD1+kLUl2 zG=x1gdN9 zjijsMM_0=v{)x%?81Vo0m3Zx)md{iQVrRdRNGWfacl!SRjrYy>m1T=g-o)>ku$%iQ z4_lk-{~PaDi=TVCeaShd55cp0E;rUSM;(1PtL>uST7HI$K04ZQJ0)^fw|T#=U3mX> z`kK3?kCvD}j@eL|@i$SasD?>Kr(XEQ`^kbIzOFL=b?@`-6ZOqe!3;iL`+rBjkY%&` zoWj4Bp}>NUjQzqzsuLK1XWG%u+b0vXx}fsxjV?>Z3#nl z^_jrFoz~ayo9OQnWUKkLX8%ER^T}?1wkwtF^Z&XjGIhN;!%vwT9`)S!+8DRx!=1Iisu!C{F?GlIQ~~>zgvm@jlezcKRNRYJ~+lwW0>H| zy?lAU>x^hgBeSO1Z#x)D`VM@msju&K{IvUivoT%|jdg>A(BqlW%oj!c*zk zu6dWu_GPZR?=IsT^Yihq*U0z(q_y6JbWbeMI#jj_7n|AoXZT1ItjPHC*%Iz2Z zKA88g?KHnF<6oi4(;44#tQ6lG_ht5q4L{#*Xu4ms{e}7RGLC7+dx{HuzI@(!ZC)8~ z^Tp4-%+0wu^Up_mR`#$l@0nckDCgk|6N68?OS|}f-S>Up^U(57oQD1(@to9)_w%*; z+NUipQ`+(8!b#!zHoe|=_4A_d-e7;w!EpZUd{d$OzcjC%-)yzDg=N33`<1-r1u5`0`?C#yuW@3B!BAiO*+z zal0}5f()l)?c=C-;eT{j_8M)y%Ceaiiz+9xb1GJ11c;J1?;R>*6+D#<#r}N=AEC>n{nf-VA3gdocTV6bWsJ!CO_SNeCF>igXrr+7OtZ*}|NciZ>-XRp`O2PX^dpfL~KCF(2zn zx^{p4Eyd%(Ek9C%Z_0nGelwHDsf+ufuGjbPi*BB8z5e!do5bUuHmjs}?g!)3ZEn3k z|BipN>%TWUZvOl5ewo<=*%@<01D6^&zSX+CJ?h;x!|FA@Z|^@1{_^z1!pZ7!9iPv< z&6d8eI^nu>b-VghVTbL`tIq3Lo3SiCf2%FO`}Pyj_&-0pmrZ5;-aVON9ovVt%CKMrxeN~(4Eowl!>4pwyvivJSWwzdq45K$b-MSjPaJ$0XYw(cpm>fDsx~m z|6H4o=~E9rpJ9ESZ$Ik+?KLyDy9#a&cz&o~Z_@e8hI^8$59ucy-7l&BYqzPSoy_$@}xE z_uPrzRPDc|I=hZs6yDdFbtl7YE*HZ);fdD4UY5K5KmA^(v*@?uhKAXEYvOnxutzWQ zdtD##@x0N#1eRiFo!@sOQ>&xo>H>C~osLHIo3Dh52XyZ}($#xcvX`@1u`5`z!sbXZ%^su%GL} z)ywOCAKBE)S*HF`mai${c){I&&HaoY>==yinhC8ud4nV9b=al54_*l#o^1E3F~-N> zeu7!vhSk}@Et>b2?3x|DZ-@S`=?&H2J9Ab&U>CUfSHZ$L&t`*_;Dfac`||E^9&p-S z#!z5VBDj{RNK4CGtF-d&d-<-Nh1My;``M1Yo?G$MR_&?}KYMiP%AH|T_M7_eoBC?K z8Rw4JaFq+LZ)ev^NM%`u{@*+F5QhABL1k~cobA~c($@eZ%&g*$TRlP zXZ4;g-J=pZe$_?G&e)E3JzUVjC`CW|tpUq4)@)tDj zxhKtKwH0T*@_6;n{||b)t(Xt=2iE)j6lky5@j!;PK(t}I-|lyxL7x73q#Wew=C{t(3m-5tiaoddqYg+4n zBq!9BF;skvvX+lb-o8n2(&nRG^@d87_d1-UrC*j`5Z6elJ`=EO&{=y zeSKnWerY7nX309MrjvY;G!Dk7q=I5|9n05=Pb2f_3|v`N{Pmbxm_nNPIoJ@=g_l|x7cCj z%_%Q(@Nmcm@jIW2dB0{JO^r@z_Fs6PL;s88`r{AEYNuRF7u(Qk7CCPYOKXX>_8QrX@0xvm_Pj`QMQN8j%k9?h@)3Wl1S`24INk58=Gefm%75d%t=30Xg@szB zVH3~&yuPjBk;sSBkGAGrI+Y()n6<6X^PPp?P4W6WA5L|>*|c0wEqwda@&c<}@B3xV z<7F=F)<1P^nr!lAi7%E3bJ^=;ZtQ#{YoV*&z)(LMlzL_U>*xvG{q^vFtjoXnt=*Tu z_{!grsV!q-keJJ~z*OPKU6bPf?c4s|Ka}vYhVQ`p1?z<5F4)v@rkqKj z&OW|>zU9aC^+7qtho`JJt;_b@7cuMo`}J3fimvo4=LeV8#^pQcihEXwnjCfqJi z{$<7Zeoook|4%uXoNM}<6>fZt+5i8+QO+Hl2NDn5U2^H|>h&sfGj=ECmA&-y4i0rK z$k%H9Wfpws^5qv|JazdZpWkkObgQnBfGQAXHCyou8+4Y{1b1&Z{sg>dq>iK26dMYEAGj?{u0=G zZ@>A9XCIi${(RZHsaF4eQ@oMEv;XfU>f}KK*Uz@R){B_twPABdez5?{?xxq@)w|A=)78! zdVJlVAA4-Gp0_`i4zH1JxX6#tv^;WLzb;nquhnhw%@Zz#{NJ-@{wtUAI&H7>>rWS!hU~1A$qktp zvo5&XZ0|D9A}8GkJO5UBUO8rX$IMUm=lVCxEr0J)-p)MxTl_Ecn9Kf4J-*tMPJVe+ zU~S5=7iaVC`6pSJo?HFvN`Bqd#>dC&GnTykeC%Vdww$q`<;)55j`fKPzGiv&ahA!i z<@1^C|Jh8dt2xZMVX-H}I@frE56q{{)FSjg+VV9eTrd3lui2mJLmk6vlkl(iI!`>a zS?W7+pV9wt*AjaUCI<8MYxXi7h;C3S^Gex0-A8AIh3$SnZ~fcq%1*c4V?zUPeW}+! zc)IwrSJuHb*H@@>-q2*&!`0M3NxJ$aLz!HLR{d2=^ZWJ_pC8emeS)b(Cw0F?Qqbp( zr8eKM=L_%h@cy#d2DBQmOhf(7me}=%>B|SerKe#_TM*INp zjJ3gmw*u80&#Q2j*~mM^8+<5V9xMLcv3kM}D|W{X+B@t1A5>@lVJCQJqEO$yKm2xb z7yl}7XywI4RxADbrTBW++PEEgH|}*b=n0))%VE9VJYH$ziPPO_8Rz!QY}?@Q#)z|) zwIcpbfAGuF$^*f!pS-{9etRN=^QYD61xsFS@88}xHODw-*8hl8|05a?ENgyd!u9uM zw!Pj_K^2A%YfkseN1ytXtKSy@w|8qZ$Cw{s&<4xnj z!nLu2Z?ygi9PnrUu{87g-?N)~IrU^d`tmg?a5N?O7kxezr6KmHoi`(bu%v-5)xKbD7&*_ory@jRZjKwRqU z_RH(sj;&MtQ+s5;tM=!{VpU<2;>|eiu zVLS5hXv5ppa_+Z(6bm#ZhJQ9^h~s}?dU@UN!>Q83bL!QW+o^DX zomyV_`QX-W#yboN%o*W*ku*h>$rqfX4h9TSsuM7b2L}XdXw=Y z!LQd|e|ekj67iyPH@_RtF1Ff(7Vjp{x1P6}|JhnS<_6YPJKU#i`D(fJr@qtM1a;oq zujcpX8o$@SxwMZVbN-L6)?;(s*ZuhrJKy)f_O1t;UzG&1yRHsn-C$vTNat+E91fEe z2lJjzWT@jfpuR0_vw66LLduK#V{a6IT~5@LMcf1#r?bN;z<%|AKH-fxRat@ULx?*GZ$E25`%z3ag2 z>>b?GI(F?y_MUI?>R#8Q&xUq?@27Ky_=*1T;lBORmC0he^$jES-8=jXl9ig8r^{J? zAycmD%PF6{crKL{L3B+=@mXN{yxZLQk428BJUEf{$N(-^;YhT z>4K6Bjsh%>0&gVqA|vZ{8l+i@mb%T^%pfY{pTyelzxEyLhLpx7tpC*xZpLb}A?>4@ep}F$k(aZ(we|J=iZPyU} zTH3is=bPmrJEQjdw=cVYiCxBcQ@z9}{C+;CTcQ4@;6;Xh$wz;Rr7D;xf9x&W!Ef2k z@Rp~v_n&&zJXz+FJhP6T4ewKKURxDDK`3wUn;#pWoBQlYxKn#{sz2)`&qkYRn;B{X z9qQhn6`A^`N7GbkORvTsah^Yx4c8gL<6Jj4^>Uu;`w_+ta{GqYmYX(x%V^xA&lvyU zyYHM0mqUtNO>FBb*7Y%n-PKw5Y{m4j?9Kwa$+9eImNx2hW*6Uace!=rQ$yUB@3W)& zI<`gVpO(IMJ;zGm1gAlm&&QIke=Gmm9J}XtjzJ^W`uXt<3r%GY_iqwQ{gO26*JPm& zQ@s0Se@|ZaP`rabzVN9z(~sEyb^abNp1T)y+<1KY#q?0dMZfA3e&{sZXDax*<#k>C z&0{Rz`)4qL5(~@0bPFR^K10xo8HrM0}7rU3AX_kC9$W$ z%T7MXG0tNyV7c#ZUtPme@8ri|JHLOc>+33?l$k-RqFevD2B)8#GOmkIYAoLDP1ox5Lk=^O3K zt99=s8eD7NXK5E5Uo7{vS<`?&IcD`~v`)l8Ju9u>_z3kPN`Ma8^AF!}9 zuz5bEsPOr-RCd?nTY5aFwk|jyZ1g^U-<*z@*5AA5vT{CKvd~^txv9LEt$m}Q)xM_6 z`ghF?HKo}c`X=q~?J8Xw<|lnT-%&sB|KvN>p)$&j1+#2K5BM|PxHao++-B3+vD*<~wmSA>fAfR$PL@l(WU42gym+-zd&%7c;y;|V zil451p#L#L|3ZV^;)BbVd|n)0lPq{wr@69yw*9;X-M>A>E(>d^JfH6ML zw_{G2=Vje=>)5JXsR^!5rtSxNYmYW6=1s6@KGu0> zp3_Qm*X6Ijd?W2x!)w+l#d|!yCEe@~eK~pmwG#|G_BG}_dMTd#{$!0o*`qgK-m~2f z*<|5WUFW&?$vI{AL-#u$Jj%RYo3_VYyszKpujFb5D+X~<_Kqj2N~LeqOw{g_+sYlt z@aa^(jI8P`ob!gE&6w-!Q%~gm;6-Eo;`O~!2Z?6r8his+q?e%nRV`T zAH&%O0UMbE)01a!D7)U--}RvW>}83zx35?(*o6l>{%C$G!oX*K)r7 zjoy6o@U+|uacVNqTC@UGi>_d}&QM{ffBRVRcJCvbk8@Y{R;+qqHfu(o|BKa2nPU|E z7Oyb6!sT(eR5jkd`};AG7R#>H4ePBh&SG-wn3U@`$Cpi2dqW)4yz_In8q8n4Xy)RB zCF{OTb=~cD^RLC!*PfsMylE*6=BcpxWG0xOW|zlw!)~IirFQeNgWr~K&zBc3DtUZn z;(trde|Oq=f?a~%oi3Zj)^K&QdR^YUg1;^H8nYM;cqZvLoamb%@b6&d1BPEtjnUDY zZ~Et)P4kc2=2$)PM;4?;T5P##(?0>hJQAonmFV=|nEr_2K@N+q zz>3U|b#;F=xi4j&uk<_kVTZxn`Nxl1M`XOIc=6+L1Pav9>ZF6p_X2Oaro>H6zzvDI~svk#B9NQIp|z3G0(NyoRpUu^P!c>eWf z?xLujajQ*h86=b*sQmF>GJElRzZ);VPVW7sX4OBPYtHgXPUmKF%yF`7d{I=f!TY>u zyTd*;OQ9_diDDm=EM4!4i#<3|=RITEOHQMn?L5g^S1U5+pPj-Yb^ngq+{iAcTc7Wm zv>j)za6G(c>Bg#0N9J>V@M3US^hRjo-*q0zmt&e9%=x6iaG&wPk!v~M=B>T?CiS#g zhQ0t_11KwVl&NfAv&Np|K(s=Ir0@RqF24G4YbUUHS#5W#*voNd;@z+nQaUfZugEq; z-dexp+V!SY=fo#G`@(SWk@U7sKT89?wxGSX9~Vq;c08`SGCZZAzo4yoe%%AX7dF49 zJS}o6y3G2?rgC@4!T^;jgDWBlPrm0g3f^o~yw#o*{We3g%JUq@f)tAvl_!)N--ukS z>*0L-a8Ir&F9SoE-@FR;hWJP3pFSV1o)Mjr%nCJ?)afv^I>+0o$;mzI{j|HyVia{hk%4}S7G`{aiGOQw7-KK6a-EjtUnXZzw^kIv$#7u@={zEpE}uwmSWe4DHL zne`@@ zcRN2x@;9F-WaMKiTXp0}ZJydJ*T#=M-3mJx{%|(TXZ^4%^ZMVXn|g2h9x1m1R|K+0 zCr;hU?&orEj?lhy=Z?N#`TXkjN0XjU`CYt4SM0Nt={$*iXWf3EXH}b;E?X&mxuJ9? z`t`Z(Z!bQ+tZ=1^<9pLRmvZ5v#zT)HEH+nue7jNVjbmg|-}Hx{-?O{_eZF9+czd_r ztLk^>H#FXNJh$S*wpE80TLgpRz2iF<)WZf#2kKd%by9w4->w9?3`8EHHjz8yY9=?v4yW+&^ zpncM}8zy}^Z^~G+#n$~>;H3j!E$Yxab^6< z1c3uuNsUSgrLUS^oV+4-o$J9$ZZ+R}mp`vfcO2TUZ#83uZtSG~-xuCbf5UU()R*pO zQXgt+t>vD|J}LZA_F6*w+PX=ifv-eAgtS!g_#NCfn~i}%TfOi8w1)o+B!&OFulO=? zbEw;X3&(?E$OD`&J>2L1ke!G8ueJ53C)p+aJ)W7~yJ13kM-95QAZ)W{_Kc%B{mvc>6 zmA&-e?pxKN!Kt%Fk1ubQ=PqUW@pq2ug!LC^tj-JbVJP43V;kV}(e66GajRngblG-e zpVt2$w!B_v@%OO4jC}nuo!~WuxsBLf8;X$`?=^!Nkh;nan~trd#;hm`TMb3o^n_^^ZD+6H}7}tx5_8N=PRBuG8}h(@{nP_{NKkd z$CPCl51Ks>2HhSxeR=Hn?cUo`j|&7dK)S2f?i6Lz-go&BEqu_PJ>*BEMely`uirQ_ z|IF^_ezf|9^tlhOnO1BNjc9k&4vsoMuj9+hU%O&s+L&%L@6etku(V8l#iPGz3U7i+ zm+CoW-!b`oZ~2YQvRQleJ|8d3{9j@t9kuJ#YO@R0nnBJprf*F6c>c2Nmm8M8e@>ih zZYx;3&hgxop!x-Jvo|M1`!O>#Fst{~GacZc;lok(izigy`478wgE!+It^?Pu<$ROh zp0;_p?#+3!jx}2$?VN3QHf`GH&$6HKL4Cl&cda>{f4t(>%dVKqAlE0By?f90u5-Z^ zvlgEz-YX}o|0TZn2Y1`f=YA>S=TBxXc==wqYuf9NcAw5VMaG|F|7bsL;em;H@A5@e z+h-(4YkrOU^4sn!`%9x{v)uc)rv(2?Ji2R#_KRu@le=e<5^nEEPz;cfu-W(g#j}dy zTczi%&3)&}zpH&_e4purb_I|6;ooZ?3py#@NUY&IFqzGBofu_ zGEwt6KD^d^czcV(&4^Pw4tf8r{J8vi;gb8^?h9PbL^nxm9K96P$86|sy)nvCQpcv$ zaq+8|kN3Nc#2)RH{aVVJoA~88-wkz9^rZUUqCkvEt9N^P0D}@ii3v{FwZn z?L$<8#P2t3+)c5Er5fTHKD0+~zS*C9Hcedr_JUMlzI~8X!n=LVnr@CdL)AS(5{uqU z5qfWVH72!C-|L%0Wth^LtpQ(ozfY{{+qM1qiRa0IEYI$k9#`72wWx8s?RB{exz3M; zJ&M=azkU~%Xk+U?`}^m=I}hzY-u=TUE@{f13%`xO*=266lZ%!OzrQ@}f7EY>zYnh~ zJuaKWZpZ$B^YXgiUs`wG`TIEdeAP8))*k{5UtPV^*beGFG-jw1J^-4hKC!7cl5HZR z0Jv7)_P|5`Up)JRsS|_>zYEq){$!sc-y1P0;oIk9wM%BVE){>JcJ=<-=cymgOls0N zwB3~7p7;5$r+=>~9(?|jZ&k6AYhK)G*$uf%qyBKqhAVyF`sDIc?!9+){`fwbQ}pBK z*7G6;eUM7jou#aWxkoeNxtIOp;qz#3?CdA;%gu3mH*%I<;KQ(h7W6* ze#W%?YqmY$%Kn4% zQ~D=vdT}j^Wkr^FhP2hzLmXMBE&pVsOAF(Y^yy?UT zPEZk@@bXSo#@}?7A9V|4b-zD~cl8pLT{d@C@4AWKHm>@jrSsXQcH>uOp{jNlFV}0Q z1Z2%!zb@IP{=J!3&-8^)*Ivu%ea~NVG4Y6goESg*ANQGF1Wu`?}^NOVMPGxGg!+O$nZV1RFrJpqJPEew`{^ysv|&0i1rPom$&|Exy&caNquj}>TV`SX`=$!_%*nA5bJ@kc+ywry#f!*kE3{hpqC z;im$$l+fut>-;*L@rU`ZsH2PAj)iK>{`rAf=hLdcYM1WZFtoXvQQf!e@UjQm#nWvc ztbX;{bkkz0@YdPQ881C=Mv2IF`E@U|n%5cx{?XI7jdM%}un8DHB#C`7B!msm19<&!vF}t~_ z=9pr`(MNi`|2IC`Z@=0r*1c0JyP#Hw>-_Pq8(lxl68CP2T_%0Oi&b-`NcsLNvotfN zuMd1uuC1J?qor4}?)~I*Kfl*LuG{z`U7bC?Bv7qwX3)gN-)H?&2>I@yZaU?q@Y;W! zzn}j;+@mYHlea=-ihjrb-L4-0l!(sL*cc&pDfRf4AxE*eyBD@ARQ%z=Niu z*9*V?XFu?N+4{{9a`V*h+1Xq#@Gk2ATe#p$l{TZL?3~sr&yDW)^8cAWd%peILhYSz zT~0G)ZHYaib2g{)OYef z-Ia7KtM5|Z%Ek%LKdKjO*>^==KI5qlz5F2=iWcQA*7k>3~e|T>yv?lPM&G~wd zzw+LW=8+64|B9B}d~2lie~RYQJNtxZoK4O-W$z#RK&d)I=6vtfvX3Lm7xF>hkuk$&+yWdSp zl`dSCb2crU@yEi{+kz~&XPjsHk;@S7yZhbY(`L^~ZamvR734O7H)46VTmCI(s5{ej z>sQ#4seJRYAM&mWS^PYi>AH!x)~2m>wSuRQsxkV=HU(ehI&rQ?XVq=N|7HJwh5h>Z z*~)+a-OYyT4BwmAzrXzN=DS_F)^88Rlsu8yJa>n7ryaj^%4TK9*5i$F)Aub9 zx_5`a%wmPG^7(%CuWypytbO(GSJlKH-#>^nrp3S5tMP1${=Gd;$pu#y1|5qzu`@CE z(JscgKhu9PAC)P+;B#dChYfFU27*fbTcz_^KdgPRc#flh&a+g8dz(#X&%H70?7rk| zv+4_*c(Vkd{rz*=v)ixLvmE&U_Ncx4f6GgJ7kIf`cjtEP3Op}Td0fHarl-N2={Fc1 zKEGaiW^TU7PVrCZZx?EGD<_p3ch`L@OGQsWACH*K%DKJAJBF6o!4dK7Eg8eg9u zu6kh?_m9IGU2(weWUZOg%kV;`6%W1_9CLVg{X)H@-ihB|9{rJ<+0*>+L6GtSj&HxLw#gS4 zZTRunaHHZ^j@m8Fm$48 zjyNcR<{Ng@3u=n~bY1mglN~$feI=n*x!W7#=c_Kbeae(&+r5U~#oq%9;!DnPMK0K1 zXcYQF@u%tWd%mx%QdKHuf1PmU#=PIEOLy&)_y+n>W`xLCX1QpmfW~uzpiuvihx;8_)4M^i3#k+;{Dw z)A7w7IVb-Xsm;~j_Nk^+RgPD(s5_F8iL+hd=uM}_hYWvqVLr}JP1ZZ%;k8Ui5_Z zXms$`#kHsW+%`COGYb9ZZt&N=-Jx(pHKy%e;=Zk>v;RK1mh_S3TmGmfCZYWQ9&r2? zI9lx5_3TYFSQHxV~~FuZe29Z z@sU~1ll$Sn%r6TFS<47{{!0n^ceYeo>Bi#cYFWqqiyzdzNS6BbBy?-}_77jLs=e*@ zD`b!jzQZuZalv~}=ReOkE@gahp8fXT44E>{|197x$m&$-BD0*cY4(i~at0jd)Xf*H z7yhtrp}=!X#XV)<3TKX}d$@TVr_g^_kKkY53)Z+TeXY|V6q~+j#Tuy zKH2N+Z{I(a@<3zvdw-_6EZSdu-54#UbB?wa?glM5{k&Gz<6Fgi)lKddueZGZcXLy( zMfA3`&7lmk4c*gny#?Md{u4Qn&A2D;R%v}*z4XoG{aYcf(gwN8x*>jUhmTn2j!9j7 z%KzRPCiR!{KG7(5c6n{{JxtNYZrjT#3)I)D{`-_Cc5+H@LiG*%@28o?6yyBk4ayF5 zJqw#!um6j+mbZD+EGJ9H@VJNxTeWS5$CI7#Bkc7AmRQ{PU?AKEg*8cTp zPkw^mqVRm%W7DoMcb$0lV87Vb?4!>%Kge@g__|_`=#x2x7Z$y|FyT^><@Ph**s~t; z@6cq}`FG z@SIHeyoFzGyZ$TQa=*88=ev7PL>bCjnHdiJ=XvmZ{hhn|Lw-De%CJ|t z;lB8Vh!;OL^h*7G{(bAudzLpWgZ<~;`20uo*HwmpnK#>595|>Vo3O;~ z&a9oUoXn=xeOSdTocV?KTI_@uyY`hiX0Kwn9U>$Aw{^)@{%f8O@_+nNW&L_l?cemK zwzb*YHfx_Mv{Ezrv-#X)f&XpC8GcLx^$HH&Q-b#T=1f|=TKa#E(kC{_W&A~d=1z3n z>bJ>Ys?M3vh*u#DSLfQ*+HZF~Uo*v8^-0!uUB^|oy-(Tq$TEEDVwBl1Z{=SZ#r4mR&sKeVX=V4L zt>}QBEdb`We zK1_h+prxu2B$_0izIb))dgqDR3^oEQT32$oPwy7Fa=mJeW&foUp{L(XuFJDN{PI(A z@3-Y4`rp~rEAEQ0Y<{EQzSvUruKT^s$JQOScW`BAz53^GSfI_qi-yOSMg1wB-}Bhz zGIK>=L#BUG$^6@=E(k0MK2dD{cfr)g1rz@pi6!;%f2@zP;XNR(ce_J@;~O8epSIxS z#jCyR89(fn`pKSka7~k(hUU+(N#ZL{KB{=+bX#Y$@FdSx@e=_W`ZF#6=kQyryeTt1 zw|80Ys!hTxV`f)A(EfIPk-fR4(DA1|9M?W>o4@tKwUzwKB2OiJnD}kVn!k6_CqC+! zalzw531hx@XmjK7RvxiBzUsdZrW`S8P~gy$fVtw)i&w|O87nq3@IQKMxz~DQ-L{2a zrl_heo#Cy^v)5zp4$E&^KP(TukrlLC+%R>M;9HehUpGAId9nEU-i2xBYRY^&1V5y$ zVmz_Y@j1iSDUAE#?D~H{KBhK%<|NBytp&_K4@_aLH!}X)efCXF!t$nl=l@z{|8JdR zTUy^_44z$%F?h5bJP*Zm_~O;x>5LV-8ThZ|s$IGxuv3q(_Z5fu*5|4Zy>3gbTo%^8 z?9-&C(&Dn&5xbA+TzP$i<^L~@`njE7zH%LV{`&S)Rz`b2vsL$A1)ml=$FyP&v(sj# zw*M=VlZ<@oA7o0M-Nh30O8iXbnVs^&f@gwH`AwKOljGpu^#z@^zx`^_zulsW^ zzLj;{W@^Vy@&8LJ*L~9um0r7V#tJ*#_v{O~e&4eHuCZWSYy9ocI~?S1v)r&^5oY|x zd;RV5WFBwkWt)l`uBC8%tUuSG1Bw?8XuL2m6x@Dw%zH`yAA6P!N^@D4o%0T_c@ow7 zF{NTs@Uy#x!Z%cz78d{C+S_7vbl$D&TfWq-YS6RQnChJHXpZ2V#tX}Ls29&$&`~4D z{+0g*C*PHQlAEj6*&qJ=?q`bfti6&D-~^JYy2;p0g4cPCv2Z`~S@2 z*yRarhnRlNTcNCAk=_Ct_~3T>Q^F3aPaAHBnaA-wh+@>6wOIU?UDiD%?(d3QYn+@e z%}-nXc)EsV0Qb|6FRb1$mMpl&@!?RETigcS;u}-BKN+5zXSmyIc9_I(yG*u&N>P75 zEYG-TD_5NFzAA?KZHMi5-kP>AH${YtTwWNi&15+kIq`x%`w#ciW-1&_cYRYBz*Umm z^B1p>VaPk(Y0(@vMaNB{bt53E_}u-|2V$CP@FnWF!y(*9&P-=7z^`;A7h z0N2`&SF>l@EiTy=UwcsQ{e1T4EQ}v`L5-iLyZ#p7LL`B|xTN$kE5o|!j(@bbDa7x0 zU;X>FQPJPRlD;WSMO$xd(R>-VrZ{m=k*n9%@QME7Yd3SO@m>3dHJ^P!uwd8SwUz&K zCdX}GC*kmX;@_A90jazE7JJMJUax*=-ff{GCD_;3sn#w(tH`x1z&bFi(BT-rz&q7QVf$`Y$S&?MfdfgYn*^C4Ek1Vm#;A zUz-#h&+KK@S@+J~?5I=QzZYE`mGPS%3x58q&+(t-LFeUlzfY%13$Yx02Q5z%_=|48 zIwsCsA>Ppbys2c7=$GSZ7rn)1NpdA*FPR;DEH}ICr$s&M>?7~Yo_LfPc|Y1%`ma>% z$jR-x&jcGbu8v)MKktM0pO=<8*Jhq9xNzj{=ScqII@=q$%XkCKn$r9VJ{}5N5cl@c zRqh|RZi$~gmEg`C(C=DsuY#dreJnW7<{g3z(^vQ04l|!Ox9a164u+izV*c;(aG7>8 zMs?oNb>a7`aykue-+b91JblBVsoZZvU!MtXYuc~D9Y1@w!r}k1f0;BF*>k@U+_r>|g!oYb9N6!pi>38}vSg-+HlJ>%;GJ z$&xV+Nm331EYGKYcnNBf9F%*s?P{++(}y^Qex|O3CncYlJQIRmR>oCpowr;%=lQAG zPwF)VYZmO|Occy{cBWf5Yq{(1q9s;WKR?}h;=vu!Bag3q>$GU>-KG1sd%jV^dQ-df zc(3Q57mMGqdt3jg>_v6R9Ko_PKZNeM&lgp=;TZ>O*S$SK zful?vI(t#way!g?pF_iUhokncU)NSW)oF-g`=#||>j{zHU5hRXuZ(`;VJUCE&|~LH zYld0x{VwxbwA`~+uTb2R(z1Uh|9MH?hVA!K7=C>AOZVJ=ZCAsblL;*4i#}e-PBo0* zq*-&#ac7+D&+F4C+q9kB^IhqmEceI#E^=HCw5R8~2(av)UI5Lv54K(HP49fLm$Twa z3rl|Al*tU&x<36amX0(F%*?v)Hf^%tN?o-LPMfctJi2tkif8+J=7dkvdhDsnPeZ+1z|PHMaA%*!P+f zNdnf>4sKIi#>nDWaIfS3AJD+a);r;Muwgn+c(V*I>YXI%e`AO)b?iT zTZUNedruiUe7|4+T)V9yZgu{3z1Pdbrk*IBSrssoU%TY(r-r8iYjqzy|NZ*s+DCOY zw)e~3xc`P`T&dr2?ar*ZZ!hIERcbw6-^cr|UtW1z@Y`f|zWw$;_e|tzN{IfD$sq2( z``!F$xgG*6yZcW-7T?95$z3fSzO3cD<5ByFmgs}Gg{Fp9?FjC%QQvpug(>p_3%*q$ zrFBoXR3!`d{8%4!+w9?!B+Aal$ zT|QWx?f5R3Yj|kWarc{+bLXTpt@xqe$0W(J^2z5JF(>*;HC8@vX_=C94MN z{+#Jzd#aS{N6f3=5^J04Z%um{{w{v^(R&jw&QJ>2>NrzO<6OVZ_xUp7Z?0VU?rzL_ zW~=M!Khxjpw)<>&+mXrOC@@F-(RX{$@`p0T?Q8RLIv%L0*f_E+jeYiQde*PAO7(~9 zeWWZcn*21Ms!Tf0b@}7Zs&zZuJp}jUHg_3_P1-dnKKl8wMO{C(Ht0uJ+_DpY_k3f9 zCBv2(^Y;6_uK2KR)!SXX7wYt^EX<}J{PJ3)mVcY>f6)V%m&J;EN;wM535M46Ws=+1 z=dI~}aBRv4mcB*b{Y`eoas8co>UUT`R*S8Cd(@xTKcCs8_lq9cd*gh6C8w1k>(@=O zhfl8E%3KmwyLuVJ?WKZ6(HqwPIq!b%5})W0 z&%O6rv6|jb`|qbkn0d+s{24#I0k_uQDMMQ88@hMomL`ifNi*6MDrs4SuDE{n!PXlx z;{A_BnS@T>m04@f`C81koPAC}-jlh-Em94IN;4iG5#P6YHPe%1jV%6vESv9Z6TjaG zVK^uA;B$|Uyk3MQYt;GH8iPl&oUcy2(0!WJy0-A)#0Ss!dNv0)1dBJ#_3&ZlXnHV5 z7&0<@L-o$ST^p4S^fJs-@!gr7d{^`T@|+WypP${IU^-!fYgYWm`F^D@zpZ^?o}m2x zsp%$Vrhj`J4gJ{y*ZjTZzG_Cc*cHB>UGj3#F6SrB@%>x4*EnU-)W3Hx)$M!#EVkhB z>h(Q~Sxe2@X8ynbqIur>nH+O|3cQH`72F3c)uAE4y`whw@dA##rU#murc3QQ^QO2f zF7#Psd@)k0@cP%6l8m1|6+6VM#=GW=ohW%5wySpE0`86J#~WUE`?nr1n3K2NmG5|K zecr@3-zV0H-m{Xct)FapZTX+qXG6<0Ox}d1A7e?{WO74o+00zWiFKtO8-mky7AxH_ zl({wQtl2bhVbu-I6MWCVUF|&`e8{)KX6u=r^f^1OtX0XYt=i4?JV?Ib(baV~=5{^r zwBBDX#UUG?^gpzYNiwLVey5th%?x#O`}sN?csXCL-pZ;k)RwA3>|!-uVvhNLGQBktGdjEPV3ibtFw9O+TW^s0$U5fYSzJ8^_F4coY;eW zoxAvd&AP;S<>SOtza?(fUk4A^pVRzUt_04Z8r#?Bz7apcE_CUij>=2_-Th9l+c+-$mlRskr{p9!kQ-2;M8 zQ6KN`rr4wAI=34XILi2;ZE)FRZ&yoSo^r{TLGSCN?c$IBFe!U~m^!6OP`foa>}Be_ z-SgAmEk2hS!IjUnP^ogI?xdwI8!O{}&-pd!sBJ382a}eGK~3MP^p@Teza~A~DB-!a zM;XfxpUx+7o9}AfRzIxG*!Eo6k87*wiN`ncm&?An(%Jd1x^o5_sKcuKuL|7e<$LsP zYwvQUhs;VA3Ew*ePfz;a9G7AK?@{rQd5bUDDZRaXT6O;9GmG z6!r%F{`tJOsyuh0rgPV?4-scWm%A_Qoi!=mi1&uvdxZ^||Lxw!YQJ1vkoIx?nUxmz zUT`s5J)a+L%}_M8wl>#Dev-WQ!*?dXr{FtGE;80xc;np_XPg*EZhBF_@jVZl!gL__Z7hnJ)WeqtgcVPH=@K{3zc8G>VZ^oELw$ViCtZ{si6S zXMSI)=$mo)+--9v@$TSPmbYT}E<5!@>g4wu9{Y8FrE`A}wY;ZgbK>~+ys$r8Yp*r< z|9x&JDt*OMDK!3JpYh+*WiPKV-_59g_V#q{u1t=vTN-xp?tkRC;rS09@S248(?P8U z>)FuUkb6cpyM4Zbk~vcZbIvcz1Xok>7mt%4o-=&D^H5b&QE`G1`y8%s#aCCqUb-;X zcyB}UcZG*JZy)ur%rAV<|5kshmzAAHbHlpHtai)4WS7YP{qsw#X7Q5MqEo&Fy_7d$ zK4>W`byKuX%E>N##i{zDRyOB9?@Q&Fpv^h!`Op&5>}lWDUeK~~9s4h<-Z|rZBJ1+5^11Qvga2vgdM%qK%JCy&<)wewv&G&2Sw1>n{MdBuy_tp~ z*WC49P45=xJDwq3H>J37|D4wOMRV#GEt>mn%P*5{zZke{zRILTFWIJg<1?h^Gwa80 zAyAgMJ;C}KpFQ7!UWRpFeupH?GAY{dQ(YMXWWY! zr}jOJN}a_J{zCot-7W?@-u>cl-$qZ}`1!2q4%@i32^I(A`;TurwMgKe{k&)UGgw*c z-iGT5Xhw2OR`g!@RgSfKmOpa^Xa~sl9Oov58#|#3v2%>`;%`^zG)NnC)CbR%X9&rd z_2u)tpBt8PxK*ifv#bo5GRN=gi61sgZQ||b-=CGeppSFnrfIgF^?Sqishz)FUMnfQ zch;x(!T(pAnZ(YQd-y9Lm9ry%af-u-9clp|?Y7o0+1B(e)#uOi_NMBN5XmDq) z__(Q;qbVUBR%g52*;w|&kf~CB!aPP@gXdZ|3%hpC|GwX!txz*{X~V^(@4Y6g#Cfl< zKL6QYWl`eMoIGcb1ZI!S6<_$xr`PV77T16ItLXfY1KvDYr|j)NS*j-8uNL>&^|#>R zsf&$9%Wf)Oe39b$?|Lztdy|#o5x0M}-<<4>Z_ml-a^d*r(3#;M5Om>dVc!*>$6uMFyAJ+`;<`StqLeI@Yn{5+oI zHMJivOYE7PU^i#-$6{HQ-iy3VUG{7ru4G={x;l)_QD9CJESnsV&2E=xJyFd#lX1nO zL$ybwn}3K4EtPn-B-eZ|jl$a?z=VGhFIVR5wsikkCynk!Xxj64nnR#Zc zRMSlV4ei-d`(|Vt)bUo&PmEvm|6bpx8$~id{;BMhh`%A5{pM2bP0xvK!KW%`eVx#@ zQpB!1@sQb~f94C9vQ^Hh{oANu!3^$!exD7^o2x zb{;?97_O%5bTf@-!UvHM!J15)?@Tep~rGmSS=Fim>ebRp2Qg*LL=DL*o@{bpNDA}m>s?MtI`IN75Ud2^=;%A+A z|Nm9T*gP&e*}c*Fy0zgHr6+TR59xk2zqbD51J(;`x~_d(9(8a1*O>duZDJQ(>{qbh zo@e)V*KTkt!5Y?^QUz5|?TkC*nt!BkT*tKA^u8_k)rSX+w#R8d{(gLx{Rhimeo0?U zj@B1hn>x+AzFs~2K+Td9^5zR4&FAKO_3>WhgK&-qIvp_#7nfdrzNLQRMX&!=dpRpz zyjIoUZFiAmn$sKjM^fl{Rk z#ekrTt54KEj+werYufQ?7qdgR`fG+V#ck#kb3YMk^ZQecS?RoR$p;;l?nhaZv>utu zvTE(Qn)gn)jj8VNonKG(uLcq+b36&H#Uc(LiE zP=@1zQmgus(Cceo&71jd=B~eYR{g6hdA4V9#R!ynQSM~l*cHI4n@spcoYgzE3pWh?*7RDKzn0KdqRh=o@FR823<<2x6 ztS`Nn_2K@#h5L8;SKKMEZ~d^X*Ud-y=!JVn3QRoRTA2TR_~xLJ9wpAOpgx0vfnfuS z_}o3u7hLpsu6_Asq(N7X%bTk*7H!7=rW&Nh-`&@@@p^m)-;&o~U%YK|Dm|{HdtqN! zoT+!*@!QSCnh{JFY+?eEKkqlllIQ!EZo95PsaE99%C7(I&u5k1-k=$fe`Na9i+?XJ zS+-$b!RJHAzAIJuWJiAJ*z|y7?YjeOLRc;+N-;2q9rG4uV3-(N^JyNl>fHIMzmA^V z^^Lde`1)i0Z#!zXUj82y=6>z?$3NeC%4+ZY>S8Rtv-gsRl!=tksoyLI0EeXrMYGhUEaVPIhBSRwQ0e{%@`KUGt=DGzN*mgPKi*nMm3KH1XwI`RRv zy8{h)<79X4J^lB}1AA$8KDWuPOkZo&H-BGT;IQ}N{L6-#$b4Ho6= zS7+R@;WqoJy+1ztRFrAxY!)+N-pyu4Yp#TAtw{fSIK;JdDnr7_GEb|+yEqvBIx#aa zGlszbfBKa=|)Q!Aj4A6Y9#o ztj|*j`OO?s_&0O1OVg{y_iNM+tnp@DRl2+PUwzS{4F|5hU1e_2`+M6y|5D?{alh|J zWKGzr7rP>|`Uh+C-@v^!o&ns7pwn#IWty;4`K0CBZ@s3Jih<;{9PR@-gp;ha*n}@GS|F`sO;LqB%eTNsw zXYPo-6nOmY?eEF2ofy6_b22b6Se2cu`0$^PwfVo7#KZM%r$hhjk(QY&dKFZ|Fb$dWPZ!ZhF7l`7C#GrmCEesyLq;F)}76>3i%g*46=2Wb9*{_^P8{F zYI`OB1n%T_oW^>8y;b9dKmP+SoY9bX4U;dowJ6^zvM@0I+M2alIai*qk{34q=W(KO z(!9i2mWF=|7#SEG+V$)z&)2t>Epn|*sf*JoV$l~uhU=Ki`I4Ue-2|2+8^ z%5O0HPTbYUJbi|q9xU-|W{Ev+to(d&W$nG94e_SthpN<$bM6y<{m`o2C-^0!0;3Ky zgMoS6F$RVgCyws^{zmVPrP;fp>pirzP~-D-wv+%ze0v{`{Msx@2^{V zl-~QWis9jza*3(@uOsDs^Cw)-lMK1||J#Fl-%C|LB%(GY+&#Qz%E2`z&Nrq+1TXvg z>EoK|_uJ1-^E$I?@y|Ofum5d+_BLHrks;aKd)N8G-{0;g#&R@#naIGvuz*?o{k_fF zlkY9MSn)wV=g9hJ0Xw6-=Uu&6e^v0ytJa-=(<^5jYdmaGU(Hs(X^BF_`h8+7e-1a6 zTI&YLmen3(u)6bLebR zrDVOe4lw18VwX3y%YT=AVMoovWz#hnI4ylHWnOb-c)>2kz`*e4f~)%bo2oD0tJvEXAOuRB+5eYr63_2-Gp()X%=Kl$q5ryn+FYw9dktXKMcwV^`fPLh`Hg?Wnk zE>D)HKRev}Pc8f9ZPW7=J(JgO^^>rBR+g-E=TAY=og&M_vo;-joF!9y<&SaCAOF7j ztl`!tOfs`HD*kMi=zBs3yp$Ok7!H`l8p-|nzxC9?`mN{o&)X^2Yd$e}$2Pkdo(%_QRj?XA zO1+#=)AMod^(fw!lYbB0*uO0K&BNz2XEom|&~%E8wmmV=eQF&?`Tg@!%0Et;Ctf-; zW2cFNMuk=7f|UpBBjSHVtoomC_sq(19H+jsH~R?~&OByFS`{DLG>|+vUdUvuw9# z{|Vi?g?;bq)K3Y%k+qUGsgv6dKM71d`@22x@0zcHXFpvx{GId3Fq^;W zeZKVCh0AYw-}cOU8xzkpnc=D9soyERU;l>w*|*oZ&eYQGXR*=jxw#evdFz!T_+Mo`V_hbf zzxa&jpZLx8OI{w2?){)1&KvNTZAsU|@a_EOs#7-o(qccDJb%{L`G%k4ZRe$ZJZRbU zc*8w;W+yI&1Is{73xnm}W$!DSm(&~AeO%Li`tggZu>36X9_#Y0#};HCeE#+N>c+yo z9SM7-rnLqB&RQ@#)cEGv#$wxJYuR^PZP+`}BS3bm{K}n^>#CjioUGmSvax8lVc_*h zcR4lY&k3B4Vt1BjsbvH`{_?Eh>c-W!jJK?RU!QKVCYxjb^6b=K3##(2xi7x1hcr$3=A_4tM2~(XXcW6b5ZyCF^lr8qUIx;T%vj(Vic73qrkM+sl zE;s)V*vn=s@!l`(!|UE}x3=fM=QObMH~7K(&q!PO(`L5+ZzVr{n2>#H8QZsqem@>= zT=jeFW$xau|0c)s9pC(YmWtx01&$ZjEZtasKx2)y4+nK$$B=={@h8X_WIu<{7-A1>#%gy(yk`F3;yWjP%{bb{+ZCPselhgRt9lr5@ z&HJNE1TXAzEZuqdqt&GH1qSzG?#1pdRNJQn7#4W$5}tt zY~1{R%`vxa2cKU(sqQPdHBI7B{*jQ_hZA4j__s#o@Ug8d{j0zF-hc7$K*L(^UH=Pz ze~V2A)lw4}7#I@TyvyGIO!j5_|MbI7nYq^mzdUiPT%@o{EzEy z&kJ&Uyw^TuJjhUeEn%-0XHVLhP2tV|zXpE(fB4q1`17w)1=jBPA98r{o?zui>#JtS z$DPwZqZHD=dRP7ri)HfB*&pPu*jfI+vY3@E*Y}bnII=<6FY4P{yQlltrry+En()9* zGA3>EjlXM7KQuMFwR+K8S?c zJzV--YWfxJ{4HjcI%kiI&0BAJ^8PQmEkOdCQ^zQ9_es$)T_Nz5zVX;nn5)9kf_eihJ=TBe0+CE)QSwi;u#IHG7 z0kQhF8E&@^&;58m0ZsLG4h5c$D)6Uf8X}1d##nhgBz5_y?&R?|Fp{I*Ws-RB{s86 zr^aQSkMTGAEZu7TemmQLX%)s*OPNY}_VK-HKfd;y_`UsB^*_FTc*T&t%8YMK`LFwL z3Vr3`Z~l?!ZE|IfG&9whKkKKyy!Q;D75}xk^Mc~n(vPA9--v{(5xtlVhPQx1L|l*!2BC)U@963;D5P2Em_&>K{H{YZuQwiQ%nd z*;bV#qu=&Buf$*dG2`FA(9>GCrvEygj7u8>#&cq}C{7F$uYV2!cGtWD3c#p5~{u=r`HrsaEM7Q9RO=sun zC$!#O^wFr{_F8Vn34B5f3=LDaf$Y`pjkAt>ZvQW8$MP7n$Ie>pbA$Gl?KhnufA&XI z^%EOEo}OiGC(k<8Zhjf?_vSv|+7=_D`Kgaj|7P9%>S4k@Kkk;7tyQ)4*4^@E%(u>V zeq*r9QMj`3uY&4=XFc^1!4>8_NZHNlH@MoUk4|cPH6-zF!?Pi!T?e7|H28IKt z_T8;6^IYujed>1cmA40rer&(`VArgJ^7qy5-0_?I^L^QmTA}Iu|Mu_lohreh-*`R3 zb3xhEgN299oUZ+esy?>wk1_XbhR46J8aC%N2bSKDkYt^oGSlSLvEyf&Zq!+?yYFY1 zvtwb>-`-QlnEyT7)FRt;(dfa9O!>|HrpGLvh04nFGmL`45dsGuq+DYKIpx46(Q~p2 zFGW1RPc2!pqFm?_51(K6`n73^cG3IyQSTNrh=H>)!+{5) z=k7XRTC8fj@lVB;CC%10M{_6bTUKcN;Pj+@Dw*-`{`$(!W4<9M#Sl^1T6})O7l+qY zDzQ_l>pjKUwdPbeEQx>hD57|m!S{dJu`(+P-YHJ_L}RORfl#4tJogg#phZ6?B4&WrGn0(=ML?=v8(UW^5XaV^I}vP;k|s_+|AqSC3z@o^wqY zOzM38FI}8`_VH4w@;$phL{F+)zBu{q5oy(n3>`}f^d^51mvYw+F59={eWdutLvac( zzpv?@P%=|Ris7S8$fen9x;1QLg?Jn0Y0t5axD?lW-+xX*bnmyzJ2*d@c;@TO+3oQ- z?Lg(Eee0Qe-G|A ziTmxzeBj*4Yphcw1ddHT^;xHPw(X0RhjuPDnK$J}uBW@?^vx6J>)ZeHxD?Ly{GZPy z%bnj>?vX!w;35OVlKBzh0lx~x*)``>PgpYl?V||pi1&{aT8rJYe{MZr)Vt(-q_|;0 z^;+&3m-nvajwoEo!y_qjZ0qe^4VU~)?w#Sa4YnxXvm`uYPQ#lb-};>8S#$KNav$EA zt+H41`@Chwi=sB`F?cv=$zES4#Bh4v-|4%&8J2AL7C-5pn~MItLpzyO|1K+)EndW! zup~yjZc(YMst`lr(n}0GbiVJK+-5dyae#$d34rQz3IhKeZn<2N-Q{V%i){wo>red#$xE5}QEua&$^7#=CTY-|-h zC#(3Y;$+Vf`UBXmnIAuU%t3JjM01f*6XpB-^QBj zyBK(cc^MKSI2+=po$ZMf=WLj)Dtr52VOiJB{~cV<->v_sce~b+`GB8Rv(xS1dPS{bj>4E5^xYZB)ll8XhF&sAe5-*b=w^D^+R|Z4Gk^f8c%ou$Vzr{~F zw^c9U!M~-KI!n(tvo*{O5n?#Qb$qJVV)sWo{i1f(pRrb%n;3gq=#R%G{x#hP3^uYe zOz>k)aQ9~5dd@fL?wKrc&IS=FhWTgr?mxDxW1&`h-nXdh8x=ralaw&hmI>GDomc7^ z9wpv*^VIcz^K4VL|C7Fynkl>Km@qUv)M2!Uy=1#vBSpIGi&Ch?_WeuL%Y#q#?YX+E zp|QGUiS0F4oes8!#!qMKw0IfPS|58ot=y;e{a@K@r40+OudomAf64T*-o=@j!9$&K z!)2>AkN#geC(O`4t;FNw`M<|uYXQVt-yDdYbT2dJ@P)Tq^%A5r7;adEefzH#;=yoa zsuxqkbIZWiV*P1f=C6GnVI;-S(ZnazRg|dlf@xtrOkDl^PF09s#h)9zh&KF2K#=f841g$Gn`SCz3ZxY zd&^~ChTsf_4ZrJS&QB_7DHXi!05V|X2kE13F&9P7$*R88cx~mS!XOlEQQozrJloV< zSDmpTBZGk&<^% zEBo*Jx=$MYj1a?0%jip<*IXqQe(YGW=6(sY z=8ICM1qJU^Ztjn~camH5>St^4Qq?!UN;qet|d ztj^1;*GeUn{`If;^{0*Jh1Y#yhHIPu2kn<;u%GlL@v#)!>OFIA-@I1(M&LJtPT)?R z7j@T4r_2!T)1K>PVJ?{YbBnG3=SbC3=Q+t8Lm8Lb9i{CS!M2xTutuk^ml({ zkD2n^Jg+_1{O4^~=7gO=U4JJrbZAelm#&y69B9T6pBdY3SSKea%FCe8%W`0w6hmvV zyLXk(@vS+>%hod`*#6cR{NJCuzLZgR0po_4l{{SUCw%dJt<<)v;GNtgxr|u%PR4Mn ze~W)r9-W~#5$uc&pNigJH?3Qop1IqbVVrE4KZ@m*@c+Ga8TqQOm=5T`OIa!sL z=4)QRVBl?d>XjP%!@TJI`)ztj2jo_n#O+s^#-OsW;N8ASae1-r8*jTl7MysIf#KMi z>5Mt$oDN(c>ocW!8xHM^o#fXaa9ZhJm|26saY?CTe7{T>rfE-QVc2}AaOo!-Z=35Y zE2b@JUfXR@X4&h0#EqFjVsjkZh5}Fo3EVutAbi_oh98zU`PX#(Kfd+)u7e*Mb$DjGb9>y$tc;vsT6vOE$ zr`CM%xMaSjTVhoa|BUvi>w!rJrm{WypRB?lAj`{;uqL0g;kfo%$CHbUU;0leap-Y+ z_T}fD-`c$A?MwQDtTtE2db}*peG&9?=g+WrdrOlmPV|LadEfA0SklPWP%>TR-fV?k zpk}L3;$OG?i?$3wUH`qi%^A)-{(tPb{I0#%SW9}?4t!cNi6J4(VqJ)oth|?T(Kw>|us|L#nwdv1O+kM+N7zt+kV`S8xHOPLG?pfa16AuZ-|LHui` zv=5W!&946c|Jh#WcYnXD?v1=OoBKK6lrJit`d9y~^p#?W;Q9tiw!#eECJaH{|Gm3a z8Rki??fNP3zdw6@DdWTqJPP}gP5Z7cYhZH#l_wrmOCH)?W8KoDvbSL3!TRWTf8Xx> zE`M^beemO@jP;8@O8q~3f#E>V1(2cA4Ba_QGot>)N3CH@ko>6r`$+~VO{=QkfIp4&A= zh++D(d-ugYv+VqSf65mh&+}75-g=glzT5k?I&ck#6vKfTsZ0-+bHCA>m-HuoR=u#p z>6`y&o8B#SFE8>`j}(U(+1Y9giaNNF@lnS-i{88M{QmyZkM9q8C+*wS^O;E~oRL9m zTI}_m*Zzy2lhu29ve5hHwn|}!X}k^P$KSnLzhg7+xu3e8{4tkyf`j*r0jQw4#PB2U z-QTmoY8`3rIF1tGoRBkbw>{ICz zee{2#2&nYGKE39aw`%O(BcCrabgalJxOaY6pAc`uj*Kr0bf?-XE_rG?RXW2haV99q zo>XU;lJ_TmmOkSLiJP&HUb9cK%Pe^pTCi+M>iM`i%b)IRy9g@U9T&Rj*lY_CVz4>? za>uz{4F}Fgi!*@BKW{5g9l78bXG6%@%M2TO{?Ffiz>YiOPF!>GJpIh;Lg(F?71o8Y zwc1bok_#!~13b^|>J#E@D5-eO#AF|AQQlH2=-^|*(6I4}FoXZJl8h%-Wl8gV8FZx? zj{H~FoKqb2ulRSYr+D_x^@;9!A7fT)Ol3Lnbm#Zad0AaYmu?Bv;A|*aa)sfB|E2d) z;*3XJm>DFztr!<M z4WN40=DZMR!;~dg7$z*4E`ClnHP1z4^D- zQvG|~z11QKjIG5pa~}PFKDB-m`+)*bxfCD~u66#i?yB|s`Kni%GQ3lKX&))hc*F@* zPxvt8Y-M>MIH@nvP0@P8RfgL}|NfgDF6O_RtYVvT^7$UuOUqB4pMHx$V|L+-h@Hnz za$YN)0%XEOx+`dF`dm+gRf(fgSfyVKVn zw6vd5U0?n4r_pqVHJWd0Eq=XmS^BxIrC$G$*HT7@#p=46W(;MXR@)2S?Yq{>5bOPv zReZy=PihVOH%-whOFQhlnd`Zn&dY<|YgCUstDh(W>hgW&^{b8h@N-lA;RrSXcdh0_ zrJmst;)Wru#lN%fyzyl0owp@M>!sUkr8En-OVM12Lc-C}ae3w*T+~bsbzhNGe z5Cf-X{rh`~vB%lwseNNUZ~#<31^F@@nen&3uyeJDG{gLpd;JZ=EJV_!=X{>L^ZP@c zi<{C@GZ>Cc^kQy^e7GaXv&zHfx@J{(DdX%P>syP{BgGj@TG<#BG{67L^DLK`TesPk zA<2Z{pXMRMbTfuiH|}H#o-^kMXCPaLOE1}$+wK4QUxlGfacZMt^PwFU$tS_vgrQ+pC|5!ns0m;tf(XvEY zX->X&xmVTpgO%Y&xm8oyp6^}o^}h*2)w(^KoV1volO7f>z4T(I()WLUuaz!Lsot;m za_zO!oTTYX%0Tqm=VyONaW?$(P7V9fC4N>&$6VR;it% z#_+3)jUiyO7sHt-rVl2b?BzA{J{P@rkBVb@&^hT_f5E!7f1Ka_O$!e@U?zI*Zt$hg zyncUuJ>%zoEEQt-dwk7@ERUrZl_!4jh~o)x$CBEyUQA@^)9gNi)2ei!Bi{Qn&O z?g%>W3<~ed5!5FXI024zudqw1QXCCj0EZ=%_GMttoiN z;prZI9nz@lm7Di`-if{cw=6M_xNf+--LooxXT9(Q8z}~dvq_u>-tPQfzIC5i_V@p% zjD#5cdkgw11^)LxZ|(ZLdGploXMf19)Y;1z@Gh+{Z;6oxsLYuL>ZR?Bk6Zas&Y<=~ zglE3~oZIJj2_$HP61ywY0>j_&e0t}43i|rl|L^Z%YjFMZKYG=4%LUF)&p(Y@d^um_ z|MY45SspMfEk658(IYjWqI=1ENRiR*y=y*rl)yGf?|Q|?OZ&APp3a=~&%8HjNgpWY zJs7rJSF-cD#3?)fvGdOFiN(rU%nNEBZuVfh+!%&R)`=^Xa?T z`a~V(7k*lt4X4d+qzK*hcv?BlgW-$cyT8j-{zkvH5-ZrY#D1F|(+wV8h6QQ!7y|Cx z{ja@Im|^*ev~BG_>TRlf&;7ortM_up8RTv~hz+*5I8D1>C^V{6BYHF!0 z_m97ac218LXUu55e$?n)`X(&;fWh|4|nD9GD{Vb{b{Yd(lRZD1;#v!di) z_9O<0j!&oD&QJQH`a0^_mrsW*yT7|1@LBn1G0&0%MvNayJb#zhyy;~NFf?b3`Nnb@PZx9%dt3pXuJ21r(&=)u6__3p3lq`JUMQ?G43 z^OCo1mX8*a3eloW|S9l(mo@;&e z$9@;)1=^6IwyCE+*R-ol>*Do!_m|(q&p$3X=9G=xs*nFz8!SOlpCWuzx|}heWMh^>AwH>m;GexiU|10 z_O#M%`Tu!Kx}WcudsLJ`MT#NT!teBbof2go#tu+Nw|5?+wmFlX@8j$JQ)G2t#z%`Y zUI0}<(-~vZ{=`f9F+XU!^E-N4&AHHzt0%q7EP40&w6|?;D~m(@QX_4hiwqrV8<()3 z|9oKT?_+cHG{2@c?oW$laDc>e-J*BW4A;GXE%*IrckKP&k5T`s3LpLd_{P-cyUpwW zszMC4(@w4VuyyBm`+L9AZY*Q>u)49ULx{6MbVBw2QcwS>CC#O}vrlk8@7t)yv>Keq zJs50U9$Vy0zqkEp)Nu*UhIRUhJElsj)@Gc19>dvMeB8Tg)5Vwh6Th6a%+LP%tF+)@ zj8^lkeO{`J2i6pTx<@MWUQeA^{a>_KxYIo9`le3fHQWcX7Bezj(E*o}XVzXjdOU;S zNQKPo%J6r8-+J3UUuALn!yWmU2bEiE{#qUSaL0MVsRI*0Eso4D9+#e8V@;?mdcR-c zrR6I9z&W#w*TRgGV(5SQqr!gbmy5c2!iyO{+~7EV=S=kUntf9P*4?a~n8^A0*nidC zstiJ>8OpS#HY$R<0WW@*z5Ba1`aX~Ir0V~kp6fTQOJ-g!daiWuPh$gfDF%m?J!kLl zd~*5S{f{5*=2Y*$8q_Ai+ptdlc-lVYmxom6nJ_Nh6lFK=Jldgg!~ zgMl+ML&l~EwhL2BJ>SoMTvnS88i!+PEp9*Y?UT!All4wIj4zglu(g_N{XO0KHSFP? zz)5|Z)-85foZkBM-hG9aJEQ6j6>FO=*Iaq7 ztoPit{NYdih!5XX7=CHajHr0`_r$IaMsINWzh=*!-{-x5WxuwH>f5Hru)3R#;lh>Y zstljcE%>&Rv4AiC*5aGl74K?ye!s3)Auq)6cZwGixY<}aPjy~)&)##p8m2Age*WuE z9gnRW*a1ul_hhg9{!{(m>@`!{ih_3sC(TQVIJD?veJ6`U{8A(1GobWjbKZW^m-E+L z55&Fu`!vcXQ|z+iB)+YBOsg~PUo$lv`C`iWVdLS+Zz7XTw5s2DeG~@?wuT*m_=KUfcabQi|dB%@ZzA$OtzhOcJ(=E^>VC{kYaEMmKSEYKk3U-*1Y@2*$$`|z2Bc6d&J@GR=ox7 z84Nl8S{py)Ke=~5H}*)w+$AM(=@|^5Iw?$!mtn!me$Ix^;xUhBoRZ$`D)7I5LBYF# zUj6^=M`bc&9sHM0Vn_h@p*9~8V({@^$;dEc0V9LSS3|}PFZf>7W;5JTd}#}f{`OKq z+Y*n5cNnj^ehGk<-k)qXUr`q9{99ewT*}C}E`U+kgrQ;CK2?UgB_EfWb-##ae(-na zck?JvYK|7aknA2IenI_d+GO=eXiJKdVOrIa$I7k6=QrssnsVy=au;R>H*k1+Gwd<{ z{%;-Y`^($!S3mkMC~|JD#!Jp?rC%g|Gw3{HoW!?HZxJ|82{D*d2?bb`FIaNid)I=3 zcjr%^Zj7=z`s2^S*P!Cy)ollcj2kjSP*zQrazf_R9bXqB+tvhpq;mR|+ zmTu$zu>dr__j2L2(kU5VmOMCSkpb*EJ5`3f$zLYs z-dXR@+wlF#z3(qAU$z?c{Z)ExRn^CKASo!5A?EOY%|Kg^Ag$MXJsFlfOpp3sziNp$ z*Ymp71$isqyK_D7yJXQjrEAJJKPoLJoVb_1$K)V zH_Ql0dI*}ZIQ3cQW6bhJcNr!uX;%5$y2M}XoNlq^t=H2k)~)@c0q)Ffm<0~ED5ec_ zf9$_9pY1^DB)ddNDoJ3-V9-&64y#^bknsG~Rw_6_HiO(yTB0Pqs8nj z1)70+@iXjQ?R=?U%^_}o%(EFn>KuatExzA7v~zxU!0}quzp2-c-&MT!|L~c*Ype{N zFHcLioqu*O|NGI!`n(O>qr?pY&WBp<-uPXTx4}~MoUGi>JHU z9sgeZ-oLx1Z=ZG4r9kdG|7K2_7isZb(ewSJl7oErUVBX9dOlC_WxeLy`ev=`@Pf>n zDPi}=`jzs$4Xaga@9pYnyp;*9if z_0yJ5mw(+_{C~yA>Us4i_U=!+$1HNrHsaE2)wvtbN+tbXQOXz*3r^-L4Cn42to?m~ z!9x9eT}tec3nJ&{uK4(M#>Qe3hG)~gm>ZF>Vg}FbU^Gd}xK2quZzt__9(qa|a9fv<3cVT9LM1coGjp_G)t7Px& z=dZ5c@Vj0n=GS^_kPWBS7%*?!5mY&EdaKFFYujcs+&D4s)8hC0W>x=}1=TFS3ouyn0w^^(l5dc@n`lv?+rc9_52#B=?yZ$i>aYL{87|aHU{3MYu}nM8idGi)MEhE z^%t(RvmCe}&2Z-5@xob49Gw<{DPpo2o5c8UeEo*%#BXcomnD@0(P`E|;ge8yHzSb~I=+2(XR=qvz zPgPIvTQTq6^qsz!TCce#Y`w_9Fe}KPVb1k~&nh&{8SExk*RL%VbPl#C*Y`ZXab0o) z-*&wP>~gD0{+(516u7Qs%Al9L_?E8V|M_o?cYa^F|N0ToEG^T{@8zDmPVegTeUtM2 zzn512v2?|M^2du+WpiSWFl^*W$XCsOuYDmUwP+V@}w{A0f_g zfq`M!(p@|c)I8_EdtkBBjN#p+FM6+)Aii;BPRL$)hAVzv_5QrrBMnP0y@(W(Vu*hI zi;KazVD6It*|97R%nUQ8WtqIL-TA$|tYA)vG=uyjsk?Wz=TvtrIUaf4Fu;Ui+q6>$ zCj6+6S!r|r^r7>YuX!-|{9b(Lw>+f%w`}Pwh8r*6{hu0A|GxA8@r~DaH83t_+^{u- zt?kT>V^h5@B}e|Kyyf!n&c#W6+tw)?UibRt{aT5k^R8uMWRMTToptZ@q$ejaJy4&d zw?Qu{<5cXc^PAQ=U-~-f-@eDm`#ioe7rg$gzP2FG_mU@QDr#eI_Eaf`*OS(5(Niis z^UuG!^xfaL*IXHdco`C=i3l^upWeHF>Eh(2HyAARzyAw+t;F`i#Pi%P4$t@J_SU;j zXV;liz3UD8gKN+I?=nw0_iQq#CRBa7ktf`E!fhemhGnN!|IRHHbWpvjVUVDCl*K`O z_y6#q90q~^{mJV~8JB){vqy(OIv#v0^fL+cCBV-}PGS zjaXF_Tg?L;vVy!Bdak@>(Avs&fOnEz5;))8^}bZR=Jkag3%_-89KS32a7MQh_cIDCUMA^)l(v;sI6hOCB%#@XM7sp%~OR*>H5K*Wz?gyxloD z>DzWaCB|~Esf4ua$({nH{Qp-_>59zK_)k z;vG$0#ur83|9g4u|9<4Zbr@*rN948ADM?5FFEtTjaG!F0*YPb=*jmrra0{}SuDSNP zm08`iZQEXjGg!D^TD`WL!R)ZKctVsHXT!S3|AVYJ8`gXN+EgmYT(WCP^4e~Vqd5#q zKK$CM_R`?BlF-ys3qDlu{B9m8ZkXVAN%5Mij$r1bwQGx*9>}ZiwE&f@92;he+;d=D z>8Z;2A=Xpe-6Btmx1qRVVvo|)v;WskE(tvHc=@MaM~xb821SaWYtRKvR-JZY0u@l- zCzjN|w(8jveaU#|6OCUAQ_TY$yn;L#=E!H()@boIY>yN-FljAr_paJjD!cT%`@Q>$ zt*Q({ybZlej0{o^h=C^fQy)IhEM9H#yS{zNbk8ciOyw^}LDd+imnx%x@<08h7a4xU zy!&guwp(Jsb8o8)yE=l-{MbLmk9juRfgEV0fnq*`At&#u6hpXoRouJ3s@GZ>x;>uq zicFX!BE(?s{VQZi^70D|37_{{e2Wqf*cE)qU3tFpR8Sv6x3!qvyJ|wItSVa$XlyI8 zZNAs9ZKZ;pyQ41gUUSvCbiY5Ffq^;5)5S65HQ@ojkw zcXVIQJ!Z<|_wdfiNpiWd?k|IPe&6n5$L`H=>8rra|JK2<0`>W(t+P+>wU58VIqBc- zB@5TJu2=ehUinl1K5(81Kp{P z4|S#TmvwP)J@1=PvZYkk+htY?-_GymPw)NTw`8))-lMzb@!eH>={xD$lY9Fo`u1E* zU%97|DJW?!!;auf?8B}$FpB+>hsFT z3z&`jbsySX>s`ae+mN|Zg`wmBad7VXW0UK=)9v5O z*5cz{Rr8j_PyeEEd)2d|txK+Z{(60<`gNz`f?yMdhRo|H%O?EVKC!=k-y1gn_?|m= zB0`UA&pmdkeOk#p?v(v=T$92IrsZq*&Ogo{A#PBx`r3uN>9G#;pWdr?zw}yl@4kX} zEWPWaK1)yXGt^!4GR<@T)Gy|f?oF<)pPp;!Afvgbl8J$VVM7wvbH9mSL_GQR?Z0JI zdhb~`xn$vz^Hb{UEWiJIr#e>})ca##U})HRXlJv^+*P|2KNL&7H!pl)#&0>PWbqRD zY4Y*mwlDTK)jDnH$^b1$WAF%jc&Ba>-{cZ~&vy3uF!}P;a!>vTJU;uoPUEFo+E+%f eqLEG{Nc^+^V$^INvew5N6c(PYelF{r5}E)VS#s$B literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..4110dc39 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts new file mode 100644 index 00000000..fc5ebbbe --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/src/my-element.ts @@ -0,0 +1,103 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; +import {customElement, property} from 'lit/decorators.js' + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +@customElement('my-element') +export class MyElement extends LitElement { + static styles = css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` +} + +@property() +resultText = "Please enter your name below 👇" + +greet() +{ + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); +} + +render() +{ + return html` +
+ +
${this.resultText}
+
+ + +
+
+ ` +} +} + +declare global { + interface HTMLElementTagNameMap { + 'my-element': MyElement + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts new file mode 100644 index 00000000..bbb7f588 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit-ts/frontend/vite.config.ts @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html new file mode 100644 index 00000000..6d7e08c3 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js new file mode 100644 index 00000000..639bc931 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/my-element.js @@ -0,0 +1,105 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +export class MyElement extends LitElement { + static get styles() { + return css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` + } + + constructor() { + super() + this.resultText = "Please enter your name below 👇" + } + + static get properties() { + return { + resultText: {type: String}, + } + } + + greet() { + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); + } + + render() { + return html` +
+ +
${this.resultText}
+
+ + +
+
+ ` + } + +} + +window.customElements.define('my-element', MyElement) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js new file mode 100644 index 00000000..bbb7f588 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/vite.config.js @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..99162df7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..0fb692c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx new file mode 100644 index 00000000..bffcb461 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/app.tsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props: any) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx new file mode 100644 index 00000000..05b14728 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact-ts/frontend/src/main.tsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')!); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html new file mode 100644 index 00000000..c8bfd4b7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx new file mode 100644 index 00000000..a50cfd08 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/app.jsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx new file mode 100644 index 00000000..41787dab --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/main.jsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..a2023cac --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx new file mode 100644 index 00000000..7895c66c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/App.tsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx new file mode 100644 index 00000000..a6c27f6a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react-ts/frontend/src/main.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html new file mode 100644 index 00000000..80aa30b8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx new file mode 100644 index 00000000..07142347 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/App.jsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 zvum9EbN|l!ehRbsA8g^%Bb}du%ckTyApRtl{g-$~{LbH$4;8^53JHLs5+b*}nT$v^YF#)4fh<4*|9 zb-O0A%DXQ7&-+yp``<-sbpN&%IIw^9+4FIQe$Ne!Uu;^g&-#Ix;hp`itzS>OZ{N1B zZo8z^mm?P?7B#cQF8cyXEA|cZ-?W;(UL_NM{z$ugYBbY~Syyj;*tx8@bn{J(ysPV_ zZhKm4I^_QlJbgmpGgH{cO`k&CZfj>RI3H&8*Ri%R)pT7)Q|Z(zmW@9OKE$Vl312cc zJMs9wkK5ln)?fU?{db=7eQKJ+wLP(ZcH@yRj^dL-L_#+(+?_UoVPTGH@IeddrIHq= zm7km$sTVJb5fX1(((~Y@bmP;F{}aqnUAb9Yas`o$5`l z3J;&nxUl`v!K}#gvR#j+o0u;+wIaFb?+xbuxpy}2)jR)e&AR^qzvkIYwtL{foxd=_ zBCK1j_P9r@+|KgEPcbdwzAdZ*4p;d;OMhnPfAnRRlbYR^{^wKY6(78Q_0y!UyQjGS zu;e)L{J@Q6%idSCwf$3D@Y335`Pu&Ue~!kg{TO;}Y%0 zZ_0W0-&hN@w|TKnPKJ#9!`i3ltkrDofB;^fzf%v^PjM9Zap`+v zrPaIhdF%3u{{+gmmV`5LT&Uu>z*2gps6zBy;=-&S{`EIIAE%14v#nA)eMjs`%Y$Fa z`*q~^um9;3-?5#cz>ZnCFYx%DwQgP6`~Bxxe7;%y`qLZMX9npvzVW{c{`lZ*Tl~6a zhiTsoy`$IMe<>5TL3zc-%1csR^IhwHEU?qAjyid5>VJ#;EZegF-KYGDtv=s>vUPc& z`JeF0bGK%F);VN+x_j5D^|}iezW-BwaFch6(-ywd2j{=qu+;473booj0zb_de)P5X z&0+iy%W!UubAIH6v`02GTK5|t)s3C$eDs;nB=NZXyo`WnZ!Wmb4KH2y_|r^w+v?@# zE`6C-nPwSs?8f&U>kD@s$eWyYLDaRL@qjhso$8Y8*Y9QT-um_EZd%5L$BQ2_NSM4Z zT9#k`;lyk156w9%KHcAyWF-Cf=GTJQ!+rtIDpzlu`1Z8ugvxBYs|>2ESGC>p&Yr_u zyZ9iZ;U+QT1~J}MC)P8qloN=$ZndfSkK~^l_f1bO-4q&d_-hz*p_xSMq3V-KB@LDh z&yOiI&p)yFV!W)4%sIbbN$CzIQRY+GCmnyg-mfC%K+yd2RqJ=n7M^}#_M76Fy0nI+iYwGJOcIgV6+CKFYS(_Y?y6XRw?N;p!$G4rAt9tWhXKh}U z@U+w4o!R!8sO(*1Qs#YjdFESt4U45rn?5buWKzh@VBV`4_f>yM|1zG9^}hn1)%^3? zKkW+V873Wp9~^&vWk0W3x#s?gWG23idJer=Rg1^*bu(x_r&6gkRY|H(O5lIyd*T&@cP0>;CV}H=QeexA*Ml;Mk=T zPg*`ZTED)isP;+9_spZ`1261cYLaX4qHD1WpEW# z*%d9^9>4iLyJ2f8qru`{eug#gTbwnclRJ4W57d45S^fI!_lNtXs!N`ddq3JPRSyU~v*BvN`_fGRTYY;tMNj=!k9{=hb+*^BV^ufe1X>sD z+Eo3Iu?5WYQuDw^uRPWbH{Y2%p2?0 zHeBM&YCRJ0eTDf|?>}c5bz{Q(zlzP`Th&CkSbN$2;tc06l5 zFy+)Xt1r$aj~{2++-6Mvdf>B^m_ZU|BKbv_rJfhmffV! zxR$9-x=kp*al_9`zm~E)9I1AS$$u}k=a=Of$8UF3@}F(^v0%$*$p^O;Z>L>huwJn8 zbVX+B>0fQrmOi##9=1$Ne3JM=zU%pk$%_AVz4p&%{t#OKZeO(>JHz`MyW<)DOk=2T zt&9se{QF;WI|El~-M*C$Q>-s-{PZrR@oW5Z3(?c(zoxTu?&@H8xG8sz|I24Cs$aY} z{%o)8ZxeKneYmCrS~IdW6VE`++KGyG9%xULtz`Y@=4GB?wOfk&!@^}=d-t4~o3 z|0jf3K4Odz>$@rS=GWnMSE_z#u8pYM{>!j_lR&xlnXr}`%b5BlJa2YgxOL>#lh8A3 z?q~)7jgHyL9Tk^+xco9#&#mTHH#)ReuhQp!adpo%y$LB_U2j-?UcOgbzIFfWRo&aH zEt$UTJ^7-y%Ir(b&!dYRSahOSKJaxpy=}MrD&-YFniXUxEIL-Gp#9m@<)s$WwWYz6P9IwM_lNekdc}KN-z=&*B)ENlpZR_B z!xHQJc9h-Wh>9(?)v{jyCNt&Yk>$C}fseG^w(|YU7SwND)P3S(*r{aqzPZ1QC$`@@ z9@@W9exuADtC-hwPWG2}cVztfb*Ej#C-w3E1Fx^TpZsBWV#y!Lgsj6C(nU@CICPDf ztj}f?FMZ1R>8<_8HQf@L(|V;-+Z*H02tMC)>_HFfp(n8od@EHy@C#|nDZRdZukfph z;LotXpH{KUYcSRDH=JL+f?IIcyvwH&KG=UWy1v$^)AROXi+wrswy;<=i`}~Z=vi^W z{Vf;I)ta8!wsn(P)8X^UX4R|jOe-^d&G0#9pWE@BE-%?*r+)EaxX=CI!o{^~zsuac z^=tL+vlkYeHIZRxW{Xw)@~XY>kBjDy`;0RVa^ySYD4DU{@K}GFf$OicbkTa#AAh?Z z@q}03yC$vK=3wNYYpndsvgzTBeBqlbU#78qe3f}B`>Hc{oH*yCuBV^w)obV1xu?D? z=X=t@p!n&Ub?K~wtEDy=rkX69DZl!#T*dOHb@qloJ}&&}``e|xVTPZmz`|*nyEZ>b zVrXfo`0F*l`tM>ZmlJ{qMEo6|*PXcP_I%Rwg{&tWW-_v`Jr*n}`hbPu_}l!O9_oiy z|KFw_bGk!N(~oV7$w$YFE-}yFBwX3Aqx^p5wX&!0R~>oewZ?W$&8H(X&#!&%{J+8{ z)cveY-t4#XI^iE{d%{oc^k<#+rtul~FM~eYAL#-|d{5a_xGDW*`dLk{cc)IT z{J(F~{r#T~vdak_yq}nU+sQgBY~H7pwf#qZFB$cJj5MAsHt+nW7jtg)XW2jKU|6f2 z-jT0<;irPMzNyez{?hBm#Y^uz>+1UabiwLL|DqY*+wR)>b>ZUZ==;Sb*{>x*Q8vx$ z@^#RZM0nM2)8GFlGW?fnSewCB`Iq^`NuI6W__EGaex7`Id67il4aL~4d`5Aba~W)d zl>2!#Yp30HJ!^DykM!$6wTH?Qn~J{fp7&r)W{ADVCypa?PtCo@BA`9th=BK`^!HzG z$}L>W*m-A9zm43BtCypBZ|gO%pJB79R@zx4{B)J#nbnboF=kQ!g6DsYmNvR)e)7g` zt^-e1&j#-)8=m zkC)c{`2K6+w1W=KzprfE{G89W=Ft~jJzhh>eEpS=4H=G{>Ykx@!}8G6^m7xp?4K~t z_-55lF%iB+kK4{024v3K+5OBjZ@$~}h4&5h3w|2?{gJV-;)Tp~(f!6huIPpY@*Q`7 z;dAHeR$q~XYaJ6V1Xd^S`Kw!;Tf%i9{Ljt)JGGN8-`RHOzZm1b+0W~q=S&WprfGDb zWmUr*i3!{OEn9D1de-WK*_HH-wlO=G9RJ~We|O=^J(Ku$@O}+rFn=G&!W0^LJaO-) zNuT(oT)udMR)W8uw)*OGP#;?u+`?REQ1#W>y>1VK{i6GorGAZU6PS$;ypLbEn$Osj zedo^oN2Luv9NTg_yjL{7o~84h$~Vi!OgA|UlsuBPzUZ&BDeT>~NJ3erWa}QOlm)gw zjfHvs30?|6e2P)!_ZoH&&Z*b0#=0MCeer7I0>m*_32`;9ApL)3rB^E{jU!_7w?kd9L9y)A-T%>>rcAXV1TszVN^$jS!9H zt$X}y{pbJi6JgBEzq2Lr_L7~qmgmHL>MEEreSW0;ruRnuqUF;o+4jt|uQRa!Qk$st zphi>v?-fs`|5xl?mNfCLKgsjwrQo;zBZ6g9cj<8~()@8AD^10#6)>zj|zP z=(oTtDCAnmn}5f{L*SaC4Q{Z`kmR?L(S`gei<{=@f^6gI66At zV%OHvgzb`2kTP&0xD1@p@kf}?vfnMuWYN?`ANfO~uQSTsS`~46_NN(*SKjpN?c3vV z@qxp~gWw{9_p1Q1B{WoPvx?A#|U-?z>96zeH*D%>! z`YE#LR+Hb~a|@@>4%=AWu>X~MrJnE4E7P{F37V_=Yma5fgp@$b#SdROdoOJ}=`JVS zee1fgL-Vv#d`o`q+x%;O>pyK%aRv1Qj=%TbUwuYBjb+}~$c^ob%hC^PQFceDh!F zeyh`;UFUp%Y;*82%ZA(5JIu`$LVi9dTsL1>;bg-N*;^LVCvM$oDRJa)@1`^Ucg+|W zer#LJZ=-ggoH;@}{?0xfeg~^=Rzdqbo5KGqY8_5LdTz3i%~I>X&Bg^P`xoEYHZQ(d zN-TW;S$(6=x6hqC)BbO5xN+GrUw`}Nby-zr4eyx??q6KHHr{gA)~~(0&tACdb2I|cc0>7s2{ryjq>mO^%uY-MwmmKalgayoId^Y1ekB;{2Mw9v5*1pWH+*r5e81wVf z+w?hja?;w|%`S>YRQw4^xpQQ}rYGiV9?KJ+l^QZfuo=y3clzm}cg>n{YYwaQ2b-e- zMSR@s4%=lV8cz58y%#Uf^j7iYECx2_>s!`ehbY&^Qr}}Pi;!s^4G}v<$U+G(}MHW7W|tuw_D(KcX~#_{TE-? zw$6?ZS+!5+CG%53v81zqoj*VMys`dV-`XG63$`~LvAK6L({fpddaszlU$+LmM*p|g z*S7t6ZMZZ)UoNxrxzgOz+-FW+e0jZ}lHy!izbA zyBAyLwx+b!3;lY$z)|`IpO1OO-r}86bMNP-ty7Z{1hp^@etF9;_j5YKzt%P>^J6Fe z%-rb8^5?5aMdrb&YfnUEO08I19d}dU;^Z@%1Dy1xhhIzb&@x`R`cl?{j2)FGmlpS= z{h4LBTJbDby2LGuds&i~n-6t8u)4ssu+-zo!aY~ZCIy6Kre6FsJ2YcL;roVNFHOER zpQy^d!fF%5*z0JZo9v&l+DJU$r+*-4?UK;#96G*dmxjguR+%cD+L;jcnz45MUyYWM z=_>Vax}DztP?f%8=x@`|_j>iAGe*~fk7fQjT4eiU{(RB1m)lZ}&+obP?&pH{#rE-= zlRbk)nN7C7Z!uFYv=RRD@Z#Ie?fr9Yzbj?GPx5OzQ2y7)LAmK@>*Pz@rfRGxY|voT zVX|VBE%?myed$WQNr9#Bel0pLn!kR+gqHc)mR6S*eQsi$EjCeh!K$Z)|F3DwTF$YP zYTZ-YQg3VY;k?b}y1x?P>sB2TsGcMDYe)O%)_R3Vi&gGFj8EJC{hQDAVfw@g4FA_K ztd4NM>g=mt8h3f8ro7vvF+-G=@%V1YklKuL3e_n3w$voqdtrrSFjsDil+wDu9%xC^F zy}^9mwM~h0e-h>FSB=-4;l#zN*OZEBwZdZb7!SXB6&oPd)v+U}nGV!5g|8_blnl znCyPw9>X23Nk$z{66f}p%}^HOQQvmkPHL_wvt=<8e^Kt&&5t;K9XHw-CzU+!V9Xom zJzldm%w}S4WX`oo)0yk3Vfu8Lp=il+Bi4W=wb~C)^(t?#Z4UY*mvC+N)JLx$Yc!a0 z?)0lFWl3z@yK?{H2Q`uPUxL-o-Dz4>HNR9i>~8kX&*H^J2bO-e4L)8f-F3FcY_Y1v z=8B^+|6g966I1S)vLTo8vyE7#BHJy|n3a`xwX9FtOnsU9VBh;iMbG}7J1_XjjUjiU z%D(NoFJ?3E;FQ|(^KkRmTW*HVnYV2hOR*YQ7i_-m8?mm{V>2%U!@jS=-{-S_h-L6Q zT9~lw!ne))%%?`*c|Y^A>uJM9d;aX6(w}nfZXf47=`Z=u);yolZ&jA|@AeCm*~Y8> z9R2RxI5qI}#JRU~E-YyI#`we2=Q+!t9~alI%`Th0P#lSl2rHb&+;aMz89D`KM%iwSGrG zGpNhI6RONzl96O^M^a$Rug^|qiF?njaI%%?KHaCdQ0A5V_kZqL6)o3wH@#1Ka6aYH zy$M_Qh;RLnb=(vt`n2oUr`54>?Xy#uduL{aSlcbyssDFd zU_juWHG&^Z{~BIl2tWO$oXa!+_QA%zZ;U@OzGC0|;m;3+Zli!}UYh+fmSvwLpL6e< zv6xGt>{P|n&^>XrCrV!E=haMH?EH1s$EepE*?L#+;9BUI=Ls`9;B~Q?&f&i8~e<3uc~vYlZ|A) zr)6+cd*FueukDMzBU0zw5Uw_*1~Y%GG(d)VWq(*8Ce=+qTSIw4N>Aq@saOq1pTni=uM$ zO{KegvKA~quuXT_Llvp3Q9|*?V!f5e9Sl}&T779%qP)O#;p_WfF^j3kb4P6YA|4fY zjol)3_3CRcN=s8aTIJl+-J_yk2wjv+){cIA|CBr<*Ma7xZ+sZ?*xyCB+J!6M{;I#8 zk-zIxRgAgP{n(jIu(be@QP11HY&s&Q{ybF4+4$OyPo3L8 zedxSA-=gl@pVG+qv%l(|?THY7+|%gSFd|FQk_^jO6r>39316s&JZ zv3nbxNV>w@>A5Sb+Rg0S;(4|6XBK^kxi@9y9t-ur)A4V=I-Qf2+HW;&ip8o##e0kb z{EK>?iyQdQia(z$@ZkL3NB4HWcWBSs|Lwqf<{x4+xi78d*z;*^QF{Bsmw$vxMUVUc zyE|R5bmM|=E8d!XzG%hyMmFZ=zh8EZ&zt9ee!u3_+U@okx8F_t*%kd!@3>?0JcTOz zWyMVQHpi?DI(~OS_wtRb2^SWu?uh&PfZ1MYf;>A<2Lnr7T9@MgoI3?K)=M5Ln>%yr zRjHn=AJ;;CXIwmfOuqe}*rq9`|E!bRv{d1@X$M1Z=G+v6iO()ydL3`vcVua>ov)r7 z>%9w`9^}U<8aBQtUJ#Maa-&x!RL)vj@m+TR)pssunqT^zx#6C%dqTPFrHtRt_jDW2 z;nni@&zfQRRsN}dTXXn5X8S$MciZ)AFO8~Cmu{GJYTJS;*$INWn{Ai$@9ciNGJ(-i z>|flA|5n#_^hqqzN%|z}lN)*diNk9H@2BftKL77kePjM_x6d9==Sw}=__nycKX?9a zz73xZcf?B9s(dwI2yKXu5IA+8A!4G)3dc7NJI@I$-#M}2#-Fz5M}3X1*4^2X&CoVy zyZMjwP1^b*}`E5Uq&&{0}vOoLGXNSz+*B3bYGyD~0*w6Ri!^O30 z_g9u=zn;1K?1ib2qlQA=)>nOKlxO--f2;G7TaJfzY69;Eg>e6CVHpeZS1T$T-!O2o zo$8yq(NVrJe5S4e=drcx{5by9#Vjy&+Olrfu7j(SMfZ6A-Fd%PNA#)enU$2l8{Uw?JCul;mJ zw?=7?_vzG>&q2ELzn}2WkFiYrbEV#@{mf^M^>LeOc=WP6wte^$XtSX8dUUDRff6}o zBMA+CrNbW{+ish_yDZ?-ifNoHI+-V*Q4fAAzD{saaG%}s1!m8(zW0j1%9wNhMd0Aq0Gh6J^FX#6D{?FU+e`;@QhQ*47V*mA?#n&|J8#Nacv!t|(e(k+K zXP2VBC3RY~36bud=sP%mF^iJKp!zc8=ufAs{FxB}t^XrV* zTi-g0Hd=iB`KKX#*6Vnt`yX>9=b+lSkgQL&Y>tsniXPOlT~ zIr39v!vcoaL3aN?CNJOjB1ZH4C!6Yu%ooQaMvSWap;)Ezc6I?sr~xlo7cZ(dGL2 zVE4xU?0v6XQpI9^R_Y5J46nayTYh)$zBwjSk-mp^$kOccBO!1U$+SF1v6 z=P8-I4c?ZtZ{Gif8y>E5IC<*A)wpXDuWfhBXxjOWQ?9^e04?J zA_e2!f3!tdb~`FW2c~sBZkfM&;kjt3Del|%Pk$2ae4K5n@876Gu6*?e|M%o|o#zkF z`*~%hasOQP5AQ$!(iMHTQ+jS`vL9>s9d@Il13^31*tsgNyym?0Sm6mHW8;l-#WS+z zU*E{WzHHOYRiEUJ**itO+u!{mrZVPC*X&~}@+3D^hFvb)dv5iFOD1XAc2di4M!fp^ z@y+&wy~iyZclRDG%>R)8YT;{&AFhw%>}CWu1?L zL{IChr0l&A-2Fo8bYoAvKX%TVHFIhnOY^H>{v)?bUbnZ{L`M63 z_4?fRJmC0x>DeC-IQ_Q0u%vL^<$rIUdHPDHJaqo|Xh(9b;pEcS-fOk{6=po|w*RxM z`rR+9HxB#j?tZP`#!$aOz~-za!?Ry^Us*L*eN?aIsJS0`ph8FE>cqKA)#t4}7xn*3 zjlV?uuY>t(H*(CJ5f=VsbLGWP+h5MqQ_;$}ut0sLT}Ni(>$j(`zPgiVT&#InVr?@U z?;-1N@9Ot5{O6XwKU;<|>xIkWY3tu=P1zn7uljb$WJY1N#M3wAZXJ)1yWz2MNzRGm zp-QY`wioOfrTOjkG| zo!hJ#{R5426Nr;)yK`T<0a8QMToo^=3iH((2 zj15!&P20Jz;?w^1=cON2y%4fCn-j=pY*xwLEMzc;D3=itk^g`$mdPb|0P`@Y`8*81sKv5(F-W*4IwXJ-24(u!#JU=AXE_ zAxOez>mI*9x9+5}XMGE|^*tTE=PG z(y{B2-HkGvy^IU4nIHJSz`K1N>jzw;GvN1B_n$%m^8%pY5|yJmg(u$JMXz_vFmN+(Mb zg;Wxzo$ATCA}XTQ82+nhf%`Fe$yGTg40o(}Us-)*jl<2>{0N}DEkhN}oVNbH%X zvgdIz!YQKvPs~3c@$tj~&6CMCg>N$)8k%@6l!yBVZJQP!e$4wpCt4}R=xOr~R1rNr{R@Z}n zn>p>a+?Qcvbc7PyBmv&cR=ud#kneC|fUm zm67|ubjs(ISH9OUv%QW!K41I#)kOXs=ZpCAqJO{hew54n&PTq_reVHt!=He2j?H?3 zReTNdECv5TW42biwr+jAZT{-kV>e_?GA1krEoFBT{A2q!u6JY7a<1-~_9e2C>lx2J zJdmQ{qOw)^#q=jTrF{R`NliFYoP5}dd(x@!g4GAOFPY}Gq&!GxJ0rMZ<&_Pof8V9% zooDEHkivMo>B8bHo$_f3Dob83?R4-cJ+$0*{o;#qpB1-BhRR7KJ($rb5pDgwZBwz5 z>aXisMv;4aQdrsrp3FPPl6FU%AyAfa+o^~H3CYjrM_&s+VtP3%T6?SnAerFoF zA6XZ1ds2#yUaFksLxvSU%3k*Vd|4~KP4?&MW4nu+@)o#WSZi6&BH#m~F#|4lTPEWBTFk+_*TovZ61w3@Nc6?01XGJPc)u&1|ez zN=fojymd)JHTB#Ksg^UWy8KqkapC)}3h*WPzV2W+`QE(r!<0kjXFuFeIc4%-bA>Hq zn!#tr$d5<9Wa=-yVl?%k((I=v@2#xaTYK=Tqr-gOoK{h_8}ouEK6-LB_`%F}sY-`b zQ|+)*+XI*yy(JCUKY9k_@XhWmk8oc+>&ne3rx{#+UjOj$Mt)VT<6NU(e%rmS?8)-D z{yg%uFQ=%B*|ZL;77m#+S`LEywWQAbJ+S)2wOVw3ukW)72iJD92&_KeY~IblRIrLc z-bJ(igZlDq`>%TLWBl{lvHxabo9zewEvwJo`o4Jcs%8GCF4V2!$ui+wEDKR$=HM&lc|KYZH}bz1v) zPQp8u4a-Y@G6v>cIX-#S*ZlVaYyOyg__weoXUDBo9qa~L!T$3~p7u0`GKnmb`8D@v z!p=Q5#Z^oWAD9J_oe#96Z6d$!cb7{exc;VO0U)r=M+4oQ4;?hc&vN1 zappIJygmjCjROanWLQ2dT)*@61xtpCGVC)h+s*m&c4frk(46_(lUJU+{z6*U;z{{N`%g7TN?9ZBTnRlb^5y={o%42n z$er}@)eoPrKT~%V-}r85v*EcFvN^mslOFWV~tV#Dkv?9E;AL@NSEd`eqr$C-b#BekMs? zWEAkf$acZP;>Lt0M#cvwHfcq%edFWT_rJDo&HS|1!hbc2=h%So36V)Yse@M|SW>?-$oPYCXlmL=tbL|?&b+zP z&gQZ%ykjwKbHV?6V!D52?iXG(yY6#m`{R{!r%M{7?>GMX|ML9HOCM-&e`i@EBkuA3 zZuwzz<{!PQgg-jWynX7lfAr(7rJvtkdA8lEC;xw3jHK3orCj5g+lwNt-Ps+cBx)IF z-OV$dVVNNJPXu}_E4D* z{xZK#Y`G|~-0F^KL*mK3h9a8l@5b=rGnn z8?IjCoPXq`C_lrQcO3o43hti17nc8$X~l(qW^C>hqn_MR~+zv%n~RYoU}aE=$fQKlzawb+_g3-H<`m*q-(kQ zIG!YEK2>005B#t&`n_Gv#d4kf#qa;+iyyqb=7!jX!vD8Q%orzsU4KXM2J@*?heZNY z?mK3-URv*&E*U+0QSFZPM*epAYG-4E|`J$Zk- z#{ZAThVt`=WE74aZ~CR%pPn0T&-bTmzxV2&M}Iw9wCwviw#&Vij9JwOg}ik07hQ>T zuwg|ye{!-NJFnE2E0&=5S}t%vm5IFst`a(tOd3G{sAT3R}-?>))Gma0dT^HSb*c|7@Pv z`(e&uSK|Qb$U7STO4B44Jd#ndeeT2`VCBwfn!5fThjX&zI=he6AB-!N0{TQ!Gw-E8 zWsQ^hz)`#A>5^b~hA=LFky=LZQ^`-!}aNG1a zv4b1<{2Jo&yY^kWcG1J8M6H2?>nmsbuFrpJ75#X=*E-*-YGd~QICcHMiq6knpI*qO zBo#3yp61^m@aNI#cXoebGgW1)-tUv1r#ivD<$*J1>Z{;tTV0`LJaQL0( zoH=o&i#HwH*YfLT(Cb(KciqrsxVW%kLOgfb-vAw5YgVfehCS>DvZt-S`g`|E&^3Bf z0_%71Ntt9^@Y$~WU7ul3q{98z{2MRtuenrfuhyfUix09tZ?g0>gz3*d)zeUQYJKX|U$K?F4$7Y< zn^Z>!J~e;#e9{Wr6BTb;t6GkzrW>~I+hSin zUTstB_QNXEdD|>aj|%!!f8(E)$^XAS?wdu}cm1}!=y(5bwx0NY?eE7c0TZvUYu2jz zBJp8C?)O>c?>w%((>;*$sah;{m&lwpCYAaa*$SUX75_Qidu(QIdApNYPpC^W<5}{` zpRzmrK7Dz1gTu)-U2*-2=8MNn`^D|0-EThp#cO@CV&6G4|CWs(S1`o?+_am2zOVMH z3)SE6ekc8sQ+Q7I_<*Wu&>cK@y~iazQa_LuIAik-3#l||CKE18$GCAm)T+E>G} zq)#)h{kGZEe8`HK4ZrR$ZfDrTc;LKF z_-c1OtM3aOoA)W~`k`o@abdygX`ub$93SKvYPL5nIr(M7Rgc1BX?M=gUVA3jq{P^H z|GV{hr%!e8>YZC(di3ypvyWG9tVnD%opvzsQ0OF$Cx3KS&-M)Od}M5PwN+DPsr-S1K_3>bt)6%1 z>R;}qoy)?7;?4&RKJ4!vhAO5~S+hgXjK+&CxH=g=yWx=GATV3sDHvQA*J39rQd%f2w z-ZgPgPHkHC{kyAHUVQ3JZAtnYs&a)y$l}F0t z#iExVdBLfFD=77|D&%Wwl%8KA$^WhMd&#wu#A7!#Z6fVAtKOF>X}`wsr09;<AzZ3%*OD%-(g$&8f)9G zcmL;a*{XN1agyw$<4<>|AJoXdol~{Ss>kjBtPB5IbMjxD@?GG%|F})yyc6p$&u#g> zPFMfW@@c)1EH>+`qRsTJ4ezqry$=dZW5K;`*2RF5indwQk{?-f#u0yGeD@igvd$*t#yB ze)eQ@^P?S~()2D{PH9xHh|A#rdD+smDUt0TkIrXZqqS_CEtmYYnf~O0RM$L9k^4R}u z;x?bG%|aEECdhA=5w|;B`qHN1w!vKCf)CvKc^4Kq&VIouu^DtF+^rYep8m6C+Ow45 zKQr^HlNDdsGIw2?&G26@fz`X)#D861(m=N$Pbgt6<} z>WWW0^NeRQxJMuFv*JCLd&SYFrMFbbc}DbyjIFB$@4sGeC%@|4w~qLi>UZTB-`-{a zuyFm}=j*(aO8+Ol_?FH8N0nhe>jTLKdG2$Z3?b|ZOG;vb?nS7*E(*L{>8^NSm)`;V z2U0q2DGGIJ&s}A{zqwNIIYr~}sY~T`do(xdy)qFOIyQru)9ca3r?2uVG8d;A$)*?g zuy5bjdgJ0OOT}G(uI#CuSM`_i!2JDR-yQxh+24F`|Nmp}**;9;XuIq6UuW~H@OoqM zr08XjYMvb2w)Q}D<>l#B5vohCY!g4V+UCXcH&y%1ni$u$ykI!-?702}z9cL42Xjwf zeYHr|sF{uT*35Yy0>MR2^S!Ni_Onlz&wi@@e$&>BfGs~CpYq9^Tp?V_zCg`DdDXL* zALPO>u?QacRT|C472{^JB3HQMJD-r&+?Gy1F4KD~Vc|(zc3Ew5ej79EL*&;PmXfcu zlromC6W%0q+IU_-xM<`t6J6VY8>7B3!y(gR8kF>L9b zP138b%ZM~EsB?cf$Rrcv)9}9!9N1N`!0uE8!qrMCPveCW81pr?9eCtNhd3 z_FT)R@e4!4b><&8pJtUl@?4#IVZrJN^Y$cy!d-jbG7pBItPJ-vkF9P!zKi)RmsGR6 zrunH8KjzE%WO_^gx+^iez$~pc?d$VYP4m4|O?BP5^}g&)pL6UyL#(5l)yY#QQeOJr zvON(0+GU^9&XqaF7P@cl^D*Uo|5dbebH%zftBj5Q86Q8-RJNMMnrV&CelF<^et%`Y zm*39He|O@;pJ)tx@^{6ur!FRWcc=9RwApuDY}mc*{n^Mf%+~Ea?=?$f zCqC_(cz&Z=^Hq(1t5?r>epN2^gxDObFpiX}zg6y$`FxwUrR`g?taGB(yY1@Q=63U6 z{k(Ddon6ggwu$DK^5rW&PG|hFfuVY9pG4!M1K-z(lrda+uDAE(%jfx-pEey<$di3o z>A85-jZTGPRo(p$*YK{ITv;LX@-ssn+X3lmtFIpRugYy^i)H=tg#R|EF>~?Dx|5tA zx>SFVjK6h(>mbTOvo-bd$ZLaibn>;vGee-cv zK@el;8Mb1dRn>XROMY51NbY$1Qk_})rm-no=(IO?TIOYJJ+olB#I@5;{eR}V>VI0x zpJW>;o%MIkZqH@Y-oKFXNL}RhrTWeDdF<6fVR8Oq51N@|S{@{5?szQvJA=c4vFyIqe1eds#mmm=V*ixq^k`fH<>XSf2Ww{Vhfb4>V=d58j;d zRkO_G=<5$U>lqKeuz19m{&wdTQRoKt+;OaSx{)B$JGrNok;gV%dhujN@!E^?(%${xpINOP$kj2WYT^IF{<0~Huln!4HS3gbe(Js5@yn+E zZD##(LHpg_P2u15r__DD#T?Hv@xG(x{RRdHhW$#ivLRN>Y=36R*^2bbR`H}fGE?Zg z!uaQg%h~7u{a)6@zg{~f{gXlA5#ICSc}H!&9W+>1bM~^ZY`x%@?V80iFL-Z1`oj9DT-A+VZnMYzkz%Y1 zc>N^%*Ov3wPN*6FOG=saH}33b-K~uC#TTTmn)f5Y{omTl?`!_X^ZZX&XIXyH$mqlS zxmNy?d-*3TKd|+$Jlo6`%lPFA|4mSup7`b6)5hhZQ{u%=tbXOZFx0I2$%^zJpH}T( zwt725z`S(}uj|g9p)4T1{&JT?zgTz7-N0?vPF|FnJvq)R+2L!0+M&<$3eSB#zQ^ay zlMb8Tp&s&4vfl-cJ2Pr8;Ow!OTVloV{`uTQF0BUTfQ3KL8eWX!ycXU0CeUQh=CXHF zg;R^(hAf->)3rcgLNn8ykEP)cLFL8zxbnZBS${Azyw+PHyEFdVGcoqQ=ZBtsD|}!c z`?bHhnIVgRPrA8RhG8U&bBW)t!fVS4ANNQWeEK;tWzSZ>)n__Izkf?F`ue0$UaFm? zH`{B`p2j-;M;1L3{U@58of{e3tDKnhr9aQICS$ecA0_a~%`+M76b@WB`0;(e=p+8m zt80!Xn_-XG0ezkD z)yBIIA6nozUH9=m(+BPMWFLvp) z*t>Ohv1@a~Z%2JS$r5seF+Eyfq9*&XGb~0%@lOtPDhhLZcw9)I>TLO7O4EtEe~(*c zzrP<)M)!;|f%&M5fH% zuu)^%jBhs#FYaJoZ2kP&jV(u3NUBRMzV<0;?P=57k~ia1RVVCSJ}2Hb?Ms1TZ(XJI zpVf6d5mqZ=Mb74I3(U8lyJA^<+PbgvUI<&8GBG@v%$aGt)NU95!OryhC*PHK)wjj$ z{{KLfAy4qZ#I@h`mYdE$7Q(wM&iY=R|JkC7Qz!DT-*~=4^rLvs_4@(4-{emXnSV1( zr8;oF`|>##Ds|Np^8I6P9&6lm)E`$iH$ws%O19V!o8p06C8RDyQ%KFkiGS4%|5B)uQ&d=o~86< zpVjg;=NS?Yw?8qW1N&*ze+}&D1!yS>JwOEzNQ;?~&|f zW`33r%UZthI_xaHApN55_9Kn*`acR8KO?3~KFIG9?@YC_b^l%4Xe~c8X?Il9`R|Qg zI~X?<|M&e`Z#VPSmmgdg9Ujl>{io+;8TR8@Jx})J+~S;j``s3m>|5K(_p46)q0OAx zMcryrr=1-AWzU5!@6$haY<{noOQ*^7?~l*lS8_j4kX(D;=Aj?MY~h#MpY4Au@0Y*$ zxA@4{-~9V{4wQ19%Un+A^ZnoFqZ_^Cd z9Z$Ge&AcVsrswZ6rXL5F*Z)`--fvQRYtR1!ulSjEM7j8w#Kz8=CA;8Txc9G%AM2tV z-nC}@U$OpAwC=b34e#FjO-O$-0eEwgC%lGr@*WcRzux0vl zCxT_iFIjUVX$H?jl5?N`+`PBpul0lz%Pz%e#+cjrolDD)e$1`A z;r{1en^{#JH2d%Wy-xpN`6gY@9ic|uaN!{WwS1g)3wU`>-Ie^ucSr)EX|Al z&bYPWdh%Z02WFp78}&NeS1&!I_bX3lre#C+h3lLd;aO32j$CH@( zoes@b{1H`eT>Hwy_UzX;<|eCe&n|Ym{Yw6??~?t!--`chJFZ?N;d<7FhjBo$@+w{w)g>tDNZ-{SK>GhDt;KUn&ke_vEX{o(zbcE*df{%L-F zuK(UyFo2;a*pvUve#tA_rru}`Tj-N^hEM*b{_oSX-d8pK{I}!WllN?H)6R)V?2fAa zRD1IAr5Eno?)SF;-J9{fdwoPp=Ix~!n;NC!^R_Mj`tP^*ulx6}{q~eh`rPtm$@2TP z*Xvj7)wI=ocyKFNxL`U%|HHh3U$)&Pa{d#9r`caWaeRl*^lRH59_h5)E|b{B&~^7* z^W)8IYC-?!-aK}P@qrdY{=Blg&!>ZuCi}LZR<_0jfvU4=dAm!Kan~&#W`~{*=KWyynS~4+qRen$14$zM;?dtZM&Y^d$sBO zeRbCq~qYE@}F9jhgnOo%U-5B??Wtwk8MG|Jk%+t*G6s`bA`1+1zW#UMI@%#O(C_n8Mq?b2k60n0srR^AY>c;1eglUS9Y6 zcB-^6%jp#M+WcmP8=ZTSs~#Lws_MmL`fID4 zY}5LW-*8jEH;yS0w@-#lNbTE@4@)kXhf(S1XI)A-nd!PdfIF;y^4+dK;n}|4 zmYw+y(bqG2*>68vT)MP>t3#y3()bPgx16la;;z`Xv-I)(T@!k?EYUnr<6CS0_r_tf zm&aelNw(NE_zGHnywmaSy~VxCm!~c-iI@9uvhv^N-$i2V)2uq@?DG5~D|7B6Q`*Dw z)_vj2=d>}XPg{7OQS9EAxux@qou%s7C(c>Bu3_QnNt0~&-j#Q;Y>Q00`gOM{-=DjB z`#GPUc=g@-`|i8zUiv>azo&1Ub?fW4jm9EN%bX5#TF9K=zd!X!+w=LX1s@;o_MbP| z4DRx=Kb3p1>UHv+xg@`Gvgjx)jd7=ZpW0~CJSmU zGslw&l0Qx#jHHb|p3KZPH&7cJt}4TS6addiSVpf8Vj~t)2as3i-C3zh69mFJJrb z_`hP8@8z8D_mn*4W~^~&=>C+>Wx!{;OzXq-CRYj5>%Zc*zMAmk{q#!R($GJ_b@%58 zZJ)h{WAmcAE!8*A73J)AiH<3Z{K8yLS8UTY2@!--pkpZWU+v!O*~Ye&zG;OE_wFudR>O`64M; zWn=%`^4BlPCtv>lD=pkoTwQbSrHI%a);;pIa~obSi#0Ec7Gl}m7W?%rZ&O0`=RR*f z8WpfLVb*&{NHnF zq2Dj9tTq&R>8$_D-{yVtf6GO`ch4w~-Svr!v5voCgK@{vrE~8E%P{==e5S{B>eOp< z{!csHuz#{mZ(BY8toyw8rwLX}`u(V0ve)>GrFv!8k(VMrk{7P*eIc?|#q~AJYtAp6_)qBOqta#FGbHrwj%n_`SNG0Y`|!ed;k&Q%?#=yW@r~m~6oc6# z`z@Y*!u^GNdRnd9Yn77uCdKKTJ-zQY%MRnOP4&VDEwD6Z@7}LO8EfL-M)2%EoOD~VJm}kd|GGY_)6Rdmi{hBxoVjw> zY;xv}ujZN$9~~~A|Hplfa^IRYwgC#Wm3}l`d%lh%-!!)8ak0|Z_kWLk>7UEt^nUl> z-68&*8^q^b_!qX9DYsty^L>UtG7Z=LcE4K_-ptYT_Sm|A-`E^C*zSBbiJ70Zz}Ktd z&zEk zZ(-Sa&!YIs#yQT9O@wYfzMlO1xK66!;pF?5zDE8CeiERcuxRUw<2O!mDKLI#$`qck z_|o#v^D7S83f|?fx>tMi)N96?@V}N?e2p;{m)v_cS~R_1E`RW?`1Z5OG6~B2ne3`! z7v1=0efneB6gxp(_5(k@NBV7)zv+3%uWjRs{bi2v+4q0OY!!U6!ZLKB{eSC-H(Am5 ztd4(Qog-gooVb~FM;*)D@1J^i`|T@E+3`-?J?vVzdXt`NjLIdA7wo^yPrKhP{o~7M zzwp(+EqDD*FMR&__pBdBQQ6cp3@6`8OH21{j6Idk@JFp-_43&76G3(E^Df&@e|eh{ zb{kqSu4Da>s`EjzFYKeN5_i%*$?GR33o<_nXME9b_F1{TcJ0rPKR<0SKU#LYVBY=d zxy6B6jXVF{@LipIIBwIIopG!SroM`{G+iNkf8S2Mt${h;wqHtqKCOFRQqH@{Hs$eV z!j~?J-}^kV;~o3rJKZ_}cbs`^67r zU)^T4bbh}c>;FBQZ}(TOt6p&2{Me22FTY>r|MEHJ*orr&B{`J$Ki@rrKh~5cj{V!YcuB21FsfeGP_NwNg_yV>A z&!^;v7cvE~IqXZz%|6X(Q0B9(({)c>c<{@~w%z-_AAYwi`O4SGSjB%5@;~$E&i{VW zK(04Oz1VK%pN(TSP{jZW<_W+-(2OZF&9Zeb@%&o4e!h zD{yRMy&hNeV9}N8Yx|enIdJh#(DeS5<~mUy)~(->pP%)$ZHlJ(O4luF#oYUML{)^c z{ua4dC!cz$w#Pqs+skiNXLfw}E-9RR`v1?XLVGql_dm?({IzV~onysn4y!q4?9P0z z{aHOnEg_gi@Gk#3$@hETTxe`52~p@5|JA3JJiqe6m2<{+-$PFSxp`l_w`}+0t9-lG z_^rKIQWAZ7LCy9#`XwO+^ZSes-=6YYBX!QRll}c~h3|Y^`&#t%)n^}fX+NuxyZ+FA zE!Y2l6^6MRK3}rZ^H=<_@_*%J?rZO@D!I=YZkLOyS8CYJvO_{cGXM7`i|KzVFYf2m z*`sc9A#Tm<^ojP?Pi?0c)!DV%WnVBm{qb6&!s7V{ZI8(_{>Wt5Z}E25{y0!NQhW1u zeVzcz?WSx!%MS(&*SS9^2^(fDvEG(Y*=_DP0`y)eX#oJvMrfUCLuKtO) zAT_)?=Gd=O{dGTejB^(m>g`!8deY?Yvf1y9%3L25M9-?4+fePgVdf=)yW(>y9@@%x zYIqjht9bvkJ&xf4n~DubgP{JY8_)Mn)ykj4aya?7b&{)E{AwBFIrmSrZQT5OZbLrH zy;_knomcmN*?y=!^_=g~#`SM67XA8ZC*F8we{a?%t|NDxU)j&UFXdm|`><9rNVqET z&J3Z2xf6vO>WYfbyVu{odt*y=@9Jyst$rR>el|~ZyIj=&U!5mzciqtQ{}Z(0*S^A2 z`|8qe?Z3aZf_+VLdeXUt=Qm9Ge$ihr!*cC+i+b({(;4@q-71|QwMo~pAnFLHzn^<> z>u-KLouyy=81%0^Wq4b2zUc5{<$uMujvqIwnS5{8LvM%BfD7Gh_wp81{QOmNIjisc z(e-aw|L~d^+!Gf(d6PfxNJUg~%CBytysxDeRyU&$eRga=Znx|H^3VBP1z%d_`(M-* zJgmI`w0)oM*Q2|{y6PKRfB*Qt?CWl(DIS&yi`T5Z->I`MB4VQ14yok+lrV!EFy`dGp!G9N5iLu`i9` z$LxHumvIK$7g>C3E8XKTFTel$Pm?n>b5ruoyjyx@#h+IF?P7bDx2}jmVSD1+kLUl2 zG=x1gdN9 zjijsMM_0=v{)x%?81Vo0m3Zx)md{iQVrRdRNGWfacl!SRjrYy>m1T=g-o)>ku$%iQ z4_lk-{~PaDi=TVCeaShd55cp0E;rUSM;(1PtL>uST7HI$K04ZQJ0)^fw|T#=U3mX> z`kK3?kCvD}j@eL|@i$SasD?>Kr(XEQ`^kbIzOFL=b?@`-6ZOqe!3;iL`+rBjkY%&` zoWj4Bp}>NUjQzqzsuLK1XWG%u+b0vXx}fsxjV?>Z3#nl z^_jrFoz~ayo9OQnWUKkLX8%ER^T}?1wkwtF^Z&XjGIhN;!%vwT9`)S!+8DRx!=1Iisu!C{F?GlIQ~~>zgvm@jlezcKRNRYJ~+lwW0>H| zy?lAU>x^hgBeSO1Z#x)D`VM@msju&K{IvUivoT%|jdg>A(BqlW%oj!c*zk zu6dWu_GPZR?=IsT^Yihq*U0z(q_y6JbWbeMI#jj_7n|AoXZT1ItjPHC*%Iz2Z zKA88g?KHnF<6oi4(;44#tQ6lG_ht5q4L{#*Xu4ms{e}7RGLC7+dx{HuzI@(!ZC)8~ z^Tp4-%+0wu^Up_mR`#$l@0nckDCgk|6N68?OS|}f-S>Up^U(57oQD1(@to9)_w%*; z+NUipQ`+(8!b#!zHoe|=_4A_d-e7;w!EpZUd{d$OzcjC%-)yzDg=N33`<1-r1u5`0`?C#yuW@3B!BAiO*+z zal0}5f()l)?c=C-;eT{j_8M)y%Ceaiiz+9xb1GJ11c;J1?;R>*6+D#<#r}N=AEC>n{nf-VA3gdocTV6bWsJ!CO_SNeCF>igXrr+7OtZ*}|NciZ>-XRp`O2PX^dpfL~KCF(2zn zx^{p4Eyd%(Ek9C%Z_0nGelwHDsf+ufuGjbPi*BB8z5e!do5bUuHmjs}?g!)3ZEn3k z|BipN>%TWUZvOl5ewo<=*%@<01D6^&zSX+CJ?h;x!|FA@Z|^@1{_^z1!pZ7!9iPv< z&6d8eI^nu>b-VghVTbL`tIq3Lo3SiCf2%FO`}Pyj_&-0pmrZ5;-aVON9ovVt%CKMrxeN~(4Eowl!>4pwyvivJSWwzdq45K$b-MSjPaJ$0XYw(cpm>fDsx~m z|6H4o=~E9rpJ9ESZ$Ik+?KLyDy9#a&cz&o~Z_@e8hI^8$59ucy-7l&BYqzPSoy_$@}xE z_uPrzRPDc|I=hZs6yDdFbtl7YE*HZ);fdD4UY5K5KmA^(v*@?uhKAXEYvOnxutzWQ zdtD##@x0N#1eRiFo!@sOQ>&xo>H>C~osLHIo3Dh52XyZ}($#xcvX`@1u`5`z!sbXZ%^su%GL} z)ywOCAKBE)S*HF`mai${c){I&&HaoY>==yinhC8ud4nV9b=al54_*l#o^1E3F~-N> zeu7!vhSk}@Et>b2?3x|DZ-@S`=?&H2J9Ab&U>CUfSHZ$L&t`*_;Dfac`||E^9&p-S z#!z5VBDj{RNK4CGtF-d&d-<-Nh1My;``M1Yo?G$MR_&?}KYMiP%AH|T_M7_eoBC?K z8Rw4JaFq+LZ)ev^NM%`u{@*+F5QhABL1k~cobA~c($@eZ%&g*$TRlP zXZ4;g-J=pZe$_?G&e)E3JzUVjC`CW|tpUq4)@)tDj zxhKtKwH0T*@_6;n{||b)t(Xt=2iE)j6lky5@j!;PK(t}I-|lyxL7x73q#Wew=C{t(3m-5tiaoddqYg+4n zBq!9BF;skvvX+lb-o8n2(&nRG^@d87_d1-UrC*j`5Z6elJ`=EO&{=y zeSKnWerY7nX309MrjvY;G!Dk7q=I5|9n05=Pb2f_3|v`N{Pmbxm_nNPIoJ@=g_l|x7cCj z%_%Q(@Nmcm@jIW2dB0{JO^r@z_Fs6PL;s88`r{AEYNuRF7u(Qk7CCPYOKXX>_8QrX@0xvm_Pj`QMQN8j%k9?h@)3Wl1S`24INk58=Gefm%75d%t=30Xg@szB zVH3~&yuPjBk;sSBkGAGrI+Y()n6<6X^PPp?P4W6WA5L|>*|c0wEqwda@&c<}@B3xV z<7F=F)<1P^nr!lAi7%E3bJ^=;ZtQ#{YoV*&z)(LMlzL_U>*xvG{q^vFtjoXnt=*Tu z_{!grsV!q-keJJ~z*OPKU6bPf?c4s|Ka}vYhVQ`p1?z<5F4)v@rkqKj z&OW|>zU9aC^+7qtho`JJt;_b@7cuMo`}J3fimvo4=LeV8#^pQcihEXwnjCfqJi z{$<7Zeoook|4%uXoNM}<6>fZt+5i8+QO+Hl2NDn5U2^H|>h&sfGj=ECmA&-y4i0rK z$k%H9Wfpws^5qv|JazdZpWkkObgQnBfGQAXHCyou8+4Y{1b1&Z{sg>dq>iK26dMYEAGj?{u0=G zZ@>A9XCIi${(RZHsaF4eQ@oMEv;XfU>f}KK*Uz@R){B_twPABdez5?{?xxq@)w|A=)78! zdVJlVAA4-Gp0_`i4zH1JxX6#tv^;WLzb;nquhnhw%@Zz#{NJ-@{wtUAI&H7>>rWS!hU~1A$qktp zvo5&XZ0|D9A}8GkJO5UBUO8rX$IMUm=lVCxEr0J)-p)MxTl_Ecn9Kf4J-*tMPJVe+ zU~S5=7iaVC`6pSJo?HFvN`Bqd#>dC&GnTykeC%Vdww$q`<;)55j`fKPzGiv&ahA!i z<@1^C|Jh8dt2xZMVX-H}I@frE56q{{)FSjg+VV9eTrd3lui2mJLmk6vlkl(iI!`>a zS?W7+pV9wt*AjaUCI<8MYxXi7h;C3S^Gex0-A8AIh3$SnZ~fcq%1*c4V?zUPeW}+! zc)IwrSJuHb*H@@>-q2*&!`0M3NxJ$aLz!HLR{d2=^ZWJ_pC8emeS)b(Cw0F?Qqbp( zr8eKM=L_%h@cy#d2DBQmOhf(7me}=%>B|SerKe#_TM*INp zjJ3gmw*u80&#Q2j*~mM^8+<5V9xMLcv3kM}D|W{X+B@t1A5>@lVJCQJqEO$yKm2xb z7yl}7XywI4RxADbrTBW++PEEgH|}*b=n0))%VE9VJYH$ziPPO_8Rz!QY}?@Q#)z|) zwIcpbfAGuF$^*f!pS-{9etRN=^QYD61xsFS@88}xHODw-*8hl8|05a?ENgyd!u9uM zw!Pj_K^2A%YfkseN1ytXtKSy@w|8qZ$Cw{s&<4xnj z!nLu2Z?ygi9PnrUu{87g-?N)~IrU^d`tmg?a5N?O7kxezr6KmHoi`(bu%v-5)xKbD7&*_ory@jRZjKwRqU z_RH(sj;&MtQ+s5;tM=!{VpU<2;>|eiu zVLS5hXv5ppa_+Z(6bm#ZhJQ9^h~s}?dU@UN!>Q83bL!QW+o^DX zomyV_`QX-W#yboN%o*W*ku*h>$rqfX4h9TSsuM7b2L}XdXw=Y z!LQd|e|ekj67iyPH@_RtF1Ff(7Vjp{x1P6}|JhnS<_6YPJKU#i`D(fJr@qtM1a;oq zujcpX8o$@SxwMZVbN-L6)?;(s*ZuhrJKy)f_O1t;UzG&1yRHsn-C$vTNat+E91fEe z2lJjzWT@jfpuR0_vw66LLduK#V{a6IT~5@LMcf1#r?bN;z<%|AKH-fxRat@ULx?*GZ$E25`%z3ag2 z>>b?GI(F?y_MUI?>R#8Q&xUq?@27Ky_=*1T;lBORmC0he^$jES-8=jXl9ig8r^{J? zAycmD%PF6{crKL{L3B+=@mXN{yxZLQk428BJUEf{$N(-^;YhT z>4K6Bjsh%>0&gVqA|vZ{8l+i@mb%T^%pfY{pTyelzxEyLhLpx7tpC*xZpLb}A?>4@ep}F$k(aZ(we|J=iZPyU} zTH3is=bPmrJEQjdw=cVYiCxBcQ@z9}{C+;CTcQ4@;6;Xh$wz;Rr7D;xf9x&W!Ef2k z@Rp~v_n&&zJXz+FJhP6T4ewKKURxDDK`3wUn;#pWoBQlYxKn#{sz2)`&qkYRn;B{X z9qQhn6`A^`N7GbkORvTsah^Yx4c8gL<6Jj4^>Uu;`w_+ta{GqYmYX(x%V^xA&lvyU zyYHM0mqUtNO>FBb*7Y%n-PKw5Y{m4j?9Kwa$+9eImNx2hW*6Uace!=rQ$yUB@3W)& zI<`gVpO(IMJ;zGm1gAlm&&QIke=Gmm9J}XtjzJ^W`uXt<3r%GY_iqwQ{gO26*JPm& zQ@s0Se@|ZaP`rabzVN9z(~sEyb^abNp1T)y+<1KY#q?0dMZfA3e&{sZXDax*<#k>C z&0{Rz`)4qL5(~@0bPFR^K10xo8HrM0}7rU3AX_kC9$W$ z%T7MXG0tNyV7c#ZUtPme@8ri|JHLOc>+33?l$k-RqFevD2B)8#GOmkIYAoLDP1ox5Lk=^O3K zt99=s8eD7NXK5E5Uo7{vS<`?&IcD`~v`)l8Ju9u>_z3kPN`Ma8^AF!}9 zuz5bEsPOr-RCd?nTY5aFwk|jyZ1g^U-<*z@*5AA5vT{CKvd~^txv9LEt$m}Q)xM_6 z`ghF?HKo}c`X=q~?J8Xw<|lnT-%&sB|KvN>p)$&j1+#2K5BM|PxHao++-B3+vD*<~wmSA>fAfR$PL@l(WU42gym+-zd&%7c;y;|V zil451p#L#L|3ZV^;)BbVd|n)0lPq{wr@69yw*9;X-M>A>E(>d^JfH6ML zw_{G2=Vje=>)5JXsR^!5rtSxNYmYW6=1s6@KGu0> zp3_Qm*X6Ijd?W2x!)w+l#d|!yCEe@~eK~pmwG#|G_BG}_dMTd#{$!0o*`qgK-m~2f z*<|5WUFW&?$vI{AL-#u$Jj%RYo3_VYyszKpujFb5D+X~<_Kqj2N~LeqOw{g_+sYlt z@aa^(jI8P`ob!gE&6w-!Q%~gm;6-Eo;`O~!2Z?6r8his+q?e%nRV`T zAH&%O0UMbE)01a!D7)U--}RvW>}83zx35?(*o6l>{%C$G!oX*K)r7 zjoy6o@U+|uacVNqTC@UGi>_d}&QM{ffBRVRcJCvbk8@Y{R;+qqHfu(o|BKa2nPU|E z7Oyb6!sT(eR5jkd`};AG7R#>H4ePBh&SG-wn3U@`$Cpi2dqW)4yz_In8q8n4Xy)RB zCF{OTb=~cD^RLC!*PfsMylE*6=BcpxWG0xOW|zlw!)~IirFQeNgWr~K&zBc3DtUZn z;(trde|Oq=f?a~%oi3Zj)^K&QdR^YUg1;^H8nYM;cqZvLoamb%@b6&d1BPEtjnUDY zZ~Et)P4kc2=2$)PM;4?;T5P##(?0>hJQAonmFV=|nEr_2K@N+q zz>3U|b#;F=xi4j&uk<_kVTZxn`Nxl1M`XOIc=6+L1Pav9>ZF6p_X2Oaro>H6zzvDI~svk#B9NQIp|z3G0(NyoRpUu^P!c>eWf z?xLujajQ*h86=b*sQmF>GJElRzZ);VPVW7sX4OBPYtHgXPUmKF%yF`7d{I=f!TY>u zyTd*;OQ9_diDDm=EM4!4i#<3|=RITEOHQMn?L5g^S1U5+pPj-Yb^ngq+{iAcTc7Wm zv>j)za6G(c>Bg#0N9J>V@M3US^hRjo-*q0zmt&e9%=x6iaG&wPk!v~M=B>T?CiS#g zhQ0t_11KwVl&NfAv&Np|K(s=Ir0@RqF24G4YbUUHS#5W#*voNd;@z+nQaUfZugEq; z-dexp+V!SY=fo#G`@(SWk@U7sKT89?wxGSX9~Vq;c08`SGCZZAzo4yoe%%AX7dF49 zJS}o6y3G2?rgC@4!T^;jgDWBlPrm0g3f^o~yw#o*{We3g%JUq@f)tAvl_!)N--ukS z>*0L-a8Ir&F9SoE-@FR;hWJP3pFSV1o)Mjr%nCJ?)afv^I>+0o$;mzI{j|HyVia{hk%4}S7G`{aiGOQw7-KK6a-EjtUnXZzw^kIv$#7u@={zEpE}uwmSWe4DHL zne`@@ zcRN2x@;9F-WaMKiTXp0}ZJydJ*T#=M-3mJx{%|(TXZ^4%^ZMVXn|g2h9x1m1R|K+0 zCr;hU?&orEj?lhy=Z?N#`TXkjN0XjU`CYt4SM0Nt={$*iXWf3EXH}b;E?X&mxuJ9? z`t`Z(Z!bQ+tZ=1^<9pLRmvZ5v#zT)HEH+nue7jNVjbmg|-}Hx{-?O{_eZF9+czd_r ztLk^>H#FXNJh$S*wpE80TLgpRz2iF<)WZf#2kKd%by9w4->w9?3`8EHHjz8yY9=?v4yW+&^ zpncM}8zy}^Z^~G+#n$~>;H3j!E$Yxab^6< z1c3uuNsUSgrLUS^oV+4-o$J9$ZZ+R}mp`vfcO2TUZ#83uZtSG~-xuCbf5UU()R*pO zQXgt+t>vD|J}LZA_F6*w+PX=ifv-eAgtS!g_#NCfn~i}%TfOi8w1)o+B!&OFulO=? zbEw;X3&(?E$OD`&J>2L1ke!G8ueJ53C)p+aJ)W7~yJ13kM-95QAZ)W{_Kc%B{mvc>6 zmA&-e?pxKN!Kt%Fk1ubQ=PqUW@pq2ug!LC^tj-JbVJP43V;kV}(e66GajRngblG-e zpVt2$w!B_v@%OO4jC}nuo!~WuxsBLf8;X$`?=^!Nkh;nan~trd#;hm`TMb3o^n_^^ZD+6H}7}tx5_8N=PRBuG8}h(@{nP_{NKkd z$CPCl51Ks>2HhSxeR=Hn?cUo`j|&7dK)S2f?i6Lz-go&BEqu_PJ>*BEMely`uirQ_ z|IF^_ezf|9^tlhOnO1BNjc9k&4vsoMuj9+hU%O&s+L&%L@6etku(V8l#iPGz3U7i+ zm+CoW-!b`oZ~2YQvRQleJ|8d3{9j@t9kuJ#YO@R0nnBJprf*F6c>c2Nmm8M8e@>ih zZYx;3&hgxop!x-Jvo|M1`!O>#Fst{~GacZc;lok(izigy`478wgE!+It^?Pu<$ROh zp0;_p?#+3!jx}2$?VN3QHf`GH&$6HKL4Cl&cda>{f4t(>%dVKqAlE0By?f90u5-Z^ zvlgEz-YX}o|0TZn2Y1`f=YA>S=TBxXc==wqYuf9NcAw5VMaG|F|7bsL;em;H@A5@e z+h-(4YkrOU^4sn!`%9x{v)uc)rv(2?Ji2R#_KRu@le=e<5^nEEPz;cfu-W(g#j}dy zTczi%&3)&}zpH&_e4purb_I|6;ooZ?3py#@NUY&IFqzGBofu_ zGEwt6KD^d^czcV(&4^Pw4tf8r{J8vi;gb8^?h9PbL^nxm9K96P$86|sy)nvCQpcv$ zaq+8|kN3Nc#2)RH{aVVJoA~88-wkz9^rZUUqCkvEt9N^P0D}@ii3v{FwZn z?L$<8#P2t3+)c5Er5fTHKD0+~zS*C9Hcedr_JUMlzI~8X!n=LVnr@CdL)AS(5{uqU z5qfWVH72!C-|L%0Wth^LtpQ(ozfY{{+qM1qiRa0IEYI$k9#`72wWx8s?RB{exz3M; zJ&M=azkU~%Xk+U?`}^m=I}hzY-u=TUE@{f13%`xO*=266lZ%!OzrQ@}f7EY>zYnh~ zJuaKWZpZ$B^YXgiUs`wG`TIEdeAP8))*k{5UtPV^*beGFG-jw1J^-4hKC!7cl5HZR z0Jv7)_P|5`Up)JRsS|_>zYEq){$!sc-y1P0;oIk9wM%BVE){>JcJ=<-=cymgOls0N zwB3~7p7;5$r+=>~9(?|jZ&k6AYhK)G*$uf%qyBKqhAVyF`sDIc?!9+){`fwbQ}pBK z*7G6;eUM7jou#aWxkoeNxtIOp;qz#3?CdA;%gu3mH*%I<;KQ(h7W6* ze#W%?YqmY$%Kn4% zQ~D=vdT}j^Wkr^FhP2hzLmXMBE&pVsOAF(Y^yy?UT zPEZk@@bXSo#@}?7A9V|4b-zD~cl8pLT{d@C@4AWKHm>@jrSsXQcH>uOp{jNlFV}0Q z1Z2%!zb@IP{=J!3&-8^)*Ivu%ea~NVG4Y6goESg*ANQGF1Wu`?}^NOVMPGxGg!+O$nZV1RFrJpqJPEew`{^ysv|&0i1rPom$&|Exy&caNquj}>TV`SX`=$!_%*nA5bJ@kc+ywry#f!*kE3{hpqC z;im$$l+fut>-;*L@rU`ZsH2PAj)iK>{`rAf=hLdcYM1WZFtoXvQQf!e@UjQm#nWvc ztbX;{bkkz0@YdPQ881C=Mv2IF`E@U|n%5cx{?XI7jdM%}un8DHB#C`7B!msm19<&!vF}t~_ z=9pr`(MNi`|2IC`Z@=0r*1c0JyP#Hw>-_Pq8(lxl68CP2T_%0Oi&b-`NcsLNvotfN zuMd1uuC1J?qor4}?)~I*Kfl*LuG{z`U7bC?Bv7qwX3)gN-)H?&2>I@yZaU?q@Y;W! zzn}j;+@mYHlea=-ihjrb-L4-0l!(sL*cc&pDfRf4AxE*eyBD@ARQ%z=Niu z*9*V?XFu?N+4{{9a`V*h+1Xq#@Gk2ATe#p$l{TZL?3~sr&yDW)^8cAWd%peILhYSz zT~0G)ZHYaib2g{)OYef z-Ia7KtM5|Z%Ek%LKdKjO*>^==KI5qlz5F2=iWcQA*7k>3~e|T>yv?lPM&G~wd zzw+LW=8+64|B9B}d~2lie~RYQJNtxZoK4O-W$z#RK&d)I=6vtfvX3Lm7xF>hkuk$&+yWdSp zl`dSCb2crU@yEi{+kz~&XPjsHk;@S7yZhbY(`L^~ZamvR734O7H)46VTmCI(s5{ej z>sQ#4seJRYAM&mWS^PYi>AH!x)~2m>wSuRQsxkV=HU(ehI&rQ?XVq=N|7HJwh5h>Z z*~)+a-OYyT4BwmAzrXzN=DS_F)^88Rlsu8yJa>n7ryaj^%4TK9*5i$F)Aub9 zx_5`a%wmPG^7(%CuWypytbO(GSJlKH-#>^nrp3S5tMP1${=Gd;$pu#y1|5qzu`@CE z(JscgKhu9PAC)P+;B#dChYfFU27*fbTcz_^KdgPRc#flh&a+g8dz(#X&%H70?7rk| zv+4_*c(Vkd{rz*=v)ixLvmE&U_Ncx4f6GgJ7kIf`cjtEP3Op}Td0fHarl-N2={Fc1 zKEGaiW^TU7PVrCZZx?EGD<_p3ch`L@OGQsWACH*K%DKJAJBF6o!4dK7Eg8eg9u zu6kh?_m9IGU2(weWUZOg%kV;`6%W1_9CLVg{X)H@-ihB|9{rJ<+0*>+L6GtSj&HxLw#gS4 zZTRunaHHZ^j@m8Fm$48 zjyNcR<{Ng@3u=n~bY1mglN~$feI=n*x!W7#=c_Kbeae(&+r5U~#oq%9;!DnPMK0K1 zXcYQF@u%tWd%mx%QdKHuf1PmU#=PIEOLy&)_y+n>W`xLCX1QpmfW~uzpiuvihx;8_)4M^i3#k+;{Dw z)A7w7IVb-Xsm;~j_Nk^+RgPD(s5_F8iL+hd=uM}_hYWvqVLr}JP1ZZ%;k8Ui5_Z zXms$`#kHsW+%`COGYb9ZZt&N=-Jx(pHKy%e;=Zk>v;RK1mh_S3TmGmfCZYWQ9&r2? zI9lx5_3TYFSQHxV~~FuZe29Z z@sU~1ll$Sn%r6TFS<47{{!0n^ceYeo>Bi#cYFWqqiyzdzNS6BbBy?-}_77jLs=e*@ zD`b!jzQZuZalv~}=ReOkE@gahp8fXT44E>{|197x$m&$-BD0*cY4(i~at0jd)Xf*H z7yhtrp}=!X#XV)<3TKX}d$@TVr_g^_kKkY53)Z+TeXY|V6q~+j#Tuy zKH2N+Z{I(a@<3zvdw-_6EZSdu-54#UbB?wa?glM5{k&Gz<6Fgi)lKddueZGZcXLy( zMfA3`&7lmk4c*gny#?Md{u4Qn&A2D;R%v}*z4XoG{aYcf(gwN8x*>jUhmTn2j!9j7 z%KzRPCiR!{KG7(5c6n{{JxtNYZrjT#3)I)D{`-_Cc5+H@LiG*%@28o?6yyBk4ayF5 zJqw#!um6j+mbZD+EGJ9H@VJNxTeWS5$CI7#Bkc7AmRQ{PU?AKEg*8cTp zPkw^mqVRm%W7DoMcb$0lV87Vb?4!>%Kge@g__|_`=#x2x7Z$y|FyT^><@Ph**s~t; z@6cq}`FG z@SIHeyoFzGyZ$TQa=*88=ev7PL>bCjnHdiJ=XvmZ{hhn|Lw-De%CJ|t z;lB8Vh!;OL^h*7G{(bAudzLpWgZ<~;`20uo*HwmpnK#>595|>Vo3O;~ z&a9oUoXn=xeOSdTocV?KTI_@uyY`hiX0Kwn9U>$Aw{^)@{%f8O@_+nNW&L_l?cemK zwzb*YHfx_Mv{Ezrv-#X)f&XpC8GcLx^$HH&Q-b#T=1f|=TKa#E(kC{_W&A~d=1z3n z>bJ>Ys?M3vh*u#DSLfQ*+HZF~Uo*v8^-0!uUB^|oy-(Tq$TEEDVwBl1Z{=SZ#r4mR&sKeVX=V4L zt>}QBEdb`We zK1_h+prxu2B$_0izIb))dgqDR3^oEQT32$oPwy7Fa=mJeW&foUp{L(XuFJDN{PI(A z@3-Y4`rp~rEAEQ0Y<{EQzSvUruKT^s$JQOScW`BAz53^GSfI_qi-yOSMg1wB-}Bhz zGIK>=L#BUG$^6@=E(k0MK2dD{cfr)g1rz@pi6!;%f2@zP;XNR(ce_J@;~O8epSIxS z#jCyR89(fn`pKSka7~k(hUU+(N#ZL{KB{=+bX#Y$@FdSx@e=_W`ZF#6=kQyryeTt1 zw|80Ys!hTxV`f)A(EfIPk-fR4(DA1|9M?W>o4@tKwUzwKB2OiJnD}kVn!k6_CqC+! zalzw531hx@XmjK7RvxiBzUsdZrW`S8P~gy$fVtw)i&w|O87nq3@IQKMxz~DQ-L{2a zrl_heo#Cy^v)5zp4$E&^KP(TukrlLC+%R>M;9HehUpGAId9nEU-i2xBYRY^&1V5y$ zVmz_Y@j1iSDUAE#?D~H{KBhK%<|NBytp&_K4@_aLH!}X)efCXF!t$nl=l@z{|8JdR zTUy^_44z$%F?h5bJP*Zm_~O;x>5LV-8ThZ|s$IGxuv3q(_Z5fu*5|4Zy>3gbTo%^8 z?9-&C(&Dn&5xbA+TzP$i<^L~@`njE7zH%LV{`&S)Rz`b2vsL$A1)ml=$FyP&v(sj# zw*M=VlZ<@oA7o0M-Nh30O8iXbnVs^&f@gwH`AwKOljGpu^#z@^zx`^_zulsW^ zzLj;{W@^Vy@&8LJ*L~9um0r7V#tJ*#_v{O~e&4eHuCZWSYy9ocI~?S1v)r&^5oY|x zd;RV5WFBwkWt)l`uBC8%tUuSG1Bw?8XuL2m6x@Dw%zH`yAA6P!N^@D4o%0T_c@ow7 zF{NTs@Uy#x!Z%cz78d{C+S_7vbl$D&TfWq-YS6RQnChJHXpZ2V#tX}Ls29&$&`~4D z{+0g*C*PHQlAEj6*&qJ=?q`bfti6&D-~^JYy2;p0g4cPCv2Z`~S@2 z*yRarhnRlNTcNCAk=_Ct_~3T>Q^F3aPaAHBnaA-wh+@>6wOIU?UDiD%?(d3QYn+@e z%}-nXc)EsV0Qb|6FRb1$mMpl&@!?RETigcS;u}-BKN+5zXSmyIc9_I(yG*u&N>P75 zEYG-TD_5NFzAA?KZHMi5-kP>AH${YtTwWNi&15+kIq`x%`w#ciW-1&_cYRYBz*Umm z^B1p>VaPk(Y0(@vMaNB{bt53E_}u-|2V$CP@FnWF!y(*9&P-=7z^`;A7h z0N2`&SF>l@EiTy=UwcsQ{e1T4EQ}v`L5-iLyZ#p7LL`B|xTN$kE5o|!j(@bbDa7x0 zU;X>FQPJPRlD;WSMO$xd(R>-VrZ{m=k*n9%@QME7Yd3SO@m>3dHJ^P!uwd8SwUz&K zCdX}GC*kmX;@_A90jazE7JJMJUax*=-ff{GCD_;3sn#w(tH`x1z&bFi(BT-rz&q7QVf$`Y$S&?MfdfgYn*^C4Ek1Vm#;A zUz-#h&+KK@S@+J~?5I=QzZYE`mGPS%3x58q&+(t-LFeUlzfY%13$Yx02Q5z%_=|48 zIwsCsA>Ppbys2c7=$GSZ7rn)1NpdA*FPR;DEH}ICr$s&M>?7~Yo_LfPc|Y1%`ma>% z$jR-x&jcGbu8v)MKktM0pO=<8*Jhq9xNzj{=ScqII@=q$%XkCKn$r9VJ{}5N5cl@c zRqh|RZi$~gmEg`C(C=DsuY#dreJnW7<{g3z(^vQ04l|!Ox9a164u+izV*c;(aG7>8 zMs?oNb>a7`aykue-+b91JblBVsoZZvU!MtXYuc~D9Y1@w!r}k1f0;BF*>k@U+_r>|g!oYb9N6!pi>38}vSg-+HlJ>%;GJ z$&xV+Nm331EYGKYcnNBf9F%*s?P{++(}y^Qex|O3CncYlJQIRmR>oCpowr;%=lQAG zPwF)VYZmO|Occy{cBWf5Yq{(1q9s;WKR?}h;=vu!Bag3q>$GU>-KG1sd%jV^dQ-df zc(3Q57mMGqdt3jg>_v6R9Ko_PKZNeM&lgp=;TZ>O*S$SK zful?vI(t#way!g?pF_iUhokncU)NSW)oF-g`=#||>j{zHU5hRXuZ(`;VJUCE&|~LH zYld0x{VwxbwA`~+uTb2R(z1Uh|9MH?hVA!K7=C>AOZVJ=ZCAsblL;*4i#}e-PBo0* zq*-&#ac7+D&+F4C+q9kB^IhqmEceI#E^=HCw5R8~2(av)UI5Lv54K(HP49fLm$Twa z3rl|Al*tU&x<36amX0(F%*?v)Hf^%tN?o-LPMfctJi2tkif8+J=7dkvdhDsnPeZ+1z|PHMaA%*!P+f zNdnf>4sKIi#>nDWaIfS3AJD+a);r;Muwgn+c(V*I>YXI%e`AO)b?iT zTZUNedruiUe7|4+T)V9yZgu{3z1Pdbrk*IBSrssoU%TY(r-r8iYjqzy|NZ*s+DCOY zw)e~3xc`P`T&dr2?ar*ZZ!hIERcbw6-^cr|UtW1z@Y`f|zWw$;_e|tzN{IfD$sq2( z``!F$xgG*6yZcW-7T?95$z3fSzO3cD<5ByFmgs}Gg{Fp9?FjC%QQvpug(>p_3%*q$ zrFBoXR3!`d{8%4!+w9?!B+Aal$ zT|QWx?f5R3Yj|kWarc{+bLXTpt@xqe$0W(J^2z5JF(>*;HC8@vX_=C94MN z{+#Jzd#aS{N6f3=5^J04Z%um{{w{v^(R&jw&QJ>2>NrzO<6OVZ_xUp7Z?0VU?rzL_ zW~=M!Khxjpw)<>&+mXrOC@@F-(RX{$@`p0T?Q8RLIv%L0*f_E+jeYiQde*PAO7(~9 zeWWZcn*21Ms!Tf0b@}7Zs&zZuJp}jUHg_3_P1-dnKKl8wMO{C(Ht0uJ+_DpY_k3f9 zCBv2(^Y;6_uK2KR)!SXX7wYt^EX<}J{PJ3)mVcY>f6)V%m&J;EN;wM535M46Ws=+1 z=dI~}aBRv4mcB*b{Y`eoas8co>UUT`R*S8Cd(@xTKcCs8_lq9cd*gh6C8w1k>(@=O zhfl8E%3KmwyLuVJ?WKZ6(HqwPIq!b%5})W0 z&%O6rv6|jb`|qbkn0d+s{24#I0k_uQDMMQ88@hMomL`ifNi*6MDrs4SuDE{n!PXlx z;{A_BnS@T>m04@f`C81koPAC}-jlh-Em94IN;4iG5#P6YHPe%1jV%6vESv9Z6TjaG zVK^uA;B$|Uyk3MQYt;GH8iPl&oUcy2(0!WJy0-A)#0Ss!dNv0)1dBJ#_3&ZlXnHV5 z7&0<@L-o$ST^p4S^fJs-@!gr7d{^`T@|+WypP${IU^-!fYgYWm`F^D@zpZ^?o}m2x zsp%$Vrhj`J4gJ{y*ZjTZzG_Cc*cHB>UGj3#F6SrB@%>x4*EnU-)W3Hx)$M!#EVkhB z>h(Q~Sxe2@X8ynbqIur>nH+O|3cQH`72F3c)uAE4y`whw@dA##rU#murc3QQ^QO2f zF7#Psd@)k0@cP%6l8m1|6+6VM#=GW=ohW%5wySpE0`86J#~WUE`?nr1n3K2NmG5|K zecr@3-zV0H-m{Xct)FapZTX+qXG6<0Ox}d1A7e?{WO74o+00zWiFKtO8-mky7AxH_ zl({wQtl2bhVbu-I6MWCVUF|&`e8{)KX6u=r^f^1OtX0XYt=i4?JV?Ib(baV~=5{^r zwBBDX#UUG?^gpzYNiwLVey5th%?x#O`}sN?csXCL-pZ;k)RwA3>|!-uVvhNLGQBktGdjEPV3ibtFw9O+TW^s0$U5fYSzJ8^_F4coY;eW zoxAvd&AP;S<>SOtza?(fUk4A^pVRzUt_04Z8r#?Bz7apcE_CUij>=2_-Th9l+c+-$mlRskr{p9!kQ-2;M8 zQ6KN`rr4wAI=34XILi2;ZE)FRZ&yoSo^r{TLGSCN?c$IBFe!U~m^!6OP`foa>}Be_ z-SgAmEk2hS!IjUnP^ogI?xdwI8!O{}&-pd!sBJ382a}eGK~3MP^p@Teza~A~DB-!a zM;XfxpUx+7o9}AfRzIxG*!Eo6k87*wiN`ncm&?An(%Jd1x^o5_sKcuKuL|7e<$LsP zYwvQUhs;VA3Ew*ePfz;a9G7AK?@{rQd5bUDDZRaXT6O;9GmG z6!r%F{`tJOsyuh0rgPV?4-scWm%A_Qoi!=mi1&uvdxZ^||Lxw!YQJ1vkoIx?nUxmz zUT`s5J)a+L%}_M8wl>#Dev-WQ!*?dXr{FtGE;80xc;np_XPg*EZhBF_@jVZl!gL__Z7hnJ)WeqtgcVPH=@K{3zc8G>VZ^oELw$ViCtZ{si6S zXMSI)=$mo)+--9v@$TSPmbYT}E<5!@>g4wu9{Y8FrE`A}wY;ZgbK>~+ys$r8Yp*r< z|9x&JDt*OMDK!3JpYh+*WiPKV-_59g_V#q{u1t=vTN-xp?tkRC;rS09@S248(?P8U z>)FuUkb6cpyM4Zbk~vcZbIvcz1Xok>7mt%4o-=&D^H5b&QE`G1`y8%s#aCCqUb-;X zcyB}UcZG*JZy)ur%rAV<|5kshmzAAHbHlpHtai)4WS7YP{qsw#X7Q5MqEo&Fy_7d$ zK4>W`byKuX%E>N##i{zDRyOB9?@Q&Fpv^h!`Op&5>}lWDUeK~~9s4h<-Z|rZBJ1+5^11Qvga2vgdM%qK%JCy&<)wewv&G&2Sw1>n{MdBuy_tp~ z*WC49P45=xJDwq3H>J37|D4wOMRV#GEt>mn%P*5{zZke{zRILTFWIJg<1?h^Gwa80 zAyAgMJ;C}KpFQ7!UWRpFeupH?GAY{dQ(YMXWWY! zr}jOJN}a_J{zCot-7W?@-u>cl-$qZ}`1!2q4%@i32^I(A`;TurwMgKe{k&)UGgw*c z-iGT5Xhw2OR`g!@RgSfKmOpa^Xa~sl9Oov58#|#3v2%>`;%`^zG)NnC)CbR%X9&rd z_2u)tpBt8PxK*ifv#bo5GRN=gi61sgZQ||b-=CGeppSFnrfIgF^?Sqishz)FUMnfQ zch;x(!T(pAnZ(YQd-y9Lm9ry%af-u-9clp|?Y7o0+1B(e)#uOi_NMBN5XmDq) z__(Q;qbVUBR%g52*;w|&kf~CB!aPP@gXdZ|3%hpC|GwX!txz*{X~V^(@4Y6g#Cfl< zKL6QYWl`eMoIGcb1ZI!S6<_$xr`PV77T16ItLXfY1KvDYr|j)NS*j-8uNL>&^|#>R zsf&$9%Wf)Oe39b$?|Lztdy|#o5x0M}-<<4>Z_ml-a^d*r(3#;M5Om>dVc!*>$6uMFyAJ+`;<`StqLeI@Yn{5+oI zHMJivOYE7PU^i#-$6{HQ-iy3VUG{7ru4G={x;l)_QD9CJESnsV&2E=xJyFd#lX1nO zL$ybwn}3K4EtPn-B-eZ|jl$a?z=VGhFIVR5wsikkCynk!Xxj64nnR#Zc zRMSlV4ei-d`(|Vt)bUo&PmEvm|6bpx8$~id{;BMhh`%A5{pM2bP0xvK!KW%`eVx#@ zQpB!1@sQb~f94C9vQ^Hh{oANu!3^$!exD7^o2x zb{;?97_O%5bTf@-!UvHM!J15)?@Tep~rGmSS=Fim>ebRp2Qg*LL=DL*o@{bpNDA}m>s?MtI`IN75Ud2^=;%A+A z|Nm9T*gP&e*}c*Fy0zgHr6+TR59xk2zqbD51J(;`x~_d(9(8a1*O>duZDJQ(>{qbh zo@e)V*KTkt!5Y?^QUz5|?TkC*nt!BkT*tKA^u8_k)rSX+w#R8d{(gLx{Rhimeo0?U zj@B1hn>x+AzFs~2K+Td9^5zR4&FAKO_3>WhgK&-qIvp_#7nfdrzNLQRMX&!=dpRpz zyjIoUZFiAmn$sKjM^fl{Rk z#ekrTt54KEj+werYufQ?7qdgR`fG+V#ck#kb3YMk^ZQecS?RoR$p;;l?nhaZv>utu zvTE(Qn)gn)jj8VNonKG(uLcq+b36&H#Uc(LiE zP=@1zQmgus(Cceo&71jd=B~eYR{g6hdA4V9#R!ynQSM~l*cHI4n@spcoYgzE3pWh?*7RDKzn0KdqRh=o@FR823<<2x6 ztS`Nn_2K@#h5L8;SKKMEZ~d^X*Ud-y=!JVn3QRoRTA2TR_~xLJ9wpAOpgx0vfnfuS z_}o3u7hLpsu6_Asq(N7X%bTk*7H!7=rW&Nh-`&@@@p^m)-;&o~U%YK|Dm|{HdtqN! zoT+!*@!QSCnh{JFY+?eEKkqlllIQ!EZo95PsaE99%C7(I&u5k1-k=$fe`Na9i+?XJ zS+-$b!RJHAzAIJuWJiAJ*z|y7?YjeOLRc;+N-;2q9rG4uV3-(N^JyNl>fHIMzmA^V z^^Lde`1)i0Z#!zXUj82y=6>z?$3NeC%4+ZY>S8Rtv-gsRl!=tksoyLI0EeXrMYGhUEaVPIhBSRwQ0e{%@`KUGt=DGzN*mgPKi*nMm3KH1XwI`RRv zy8{h)<79X4J^lB}1AA$8KDWuPOkZo&H-BGT;IQ}N{L6-#$b4Ho6= zS7+R@;WqoJy+1ztRFrAxY!)+N-pyu4Yp#TAtw{fSIK;JdDnr7_GEb|+yEqvBIx#aa zGlszbfBKa=|)Q!Aj4A6Y9#o ztj|*j`OO?s_&0O1OVg{y_iNM+tnp@DRl2+PUwzS{4F|5hU1e_2`+M6y|5D?{alh|J zWKGzr7rP>|`Uh+C-@v^!o&ns7pwn#IWty;4`K0CBZ@s3Jih<;{9PR@-gp;ha*n}@GS|F`sO;LqB%eTNsw zXYPo-6nOmY?eEF2ofy6_b22b6Se2cu`0$^PwfVo7#KZM%r$hhjk(QY&dKFZ|Fb$dWPZ!ZhF7l`7C#GrmCEesyLq;F)}76>3i%g*46=2Wb9*{_^P8{F zYI`OB1n%T_oW^>8y;b9dKmP+SoY9bX4U;dowJ6^zvM@0I+M2alIai*qk{34q=W(KO z(!9i2mWF=|7#SEG+V$)z&)2t>Epn|*sf*JoV$l~uhU=Ki`I4Ue-2|2+8^ z%5O0HPTbYUJbi|q9xU-|W{Ev+to(d&W$nG94e_SthpN<$bM6y<{m`o2C-^0!0;3Ky zgMoS6F$RVgCyws^{zmVPrP;fp>pirzP~-D-wv+%ze0v{`{Msx@2^{V zl-~QWis9jza*3(@uOsDs^Cw)-lMK1||J#Fl-%C|LB%(GY+&#Qz%E2`z&Nrq+1TXvg z>EoK|_uJ1-^E$I?@y|Ofum5d+_BLHrks;aKd)N8G-{0;g#&R@#naIGvuz*?o{k_fF zlkY9MSn)wV=g9hJ0Xw6-=Uu&6e^v0ytJa-=(<^5jYdmaGU(Hs(X^BF_`h8+7e-1a6 zTI&YLmen3(u)6bLebR zrDVOe4lw18VwX3y%YT=AVMoovWz#hnI4ylHWnOb-c)>2kz`*e4f~)%bo2oD0tJvEXAOuRB+5eYr63_2-Gp()X%=Kl$q5ryn+FYw9dktXKMcwV^`fPLh`Hg?Wnk zE>D)HKRev}Pc8f9ZPW7=J(JgO^^>rBR+g-E=TAY=og&M_vo;-joF!9y<&SaCAOF7j ztl`!tOfs`HD*kMi=zBs3yp$Ok7!H`l8p-|nzxC9?`mN{o&)X^2Yd$e}$2Pkdo(%_QRj?XA zO1+#=)AMod^(fw!lYbB0*uO0K&BNz2XEom|&~%E8wmmV=eQF&?`Tg@!%0Et;Ctf-; zW2cFNMuk=7f|UpBBjSHVtoomC_sq(19H+jsH~R?~&OByFS`{DLG>|+vUdUvuw9# z{|Vi?g?;bq)K3Y%k+qUGsgv6dKM71d`@22x@0zcHXFpvx{GId3Fq^;W zeZKVCh0AYw-}cOU8xzkpnc=D9soyERU;l>w*|*oZ&eYQGXR*=jxw#evdFz!T_+Mo`V_hbf zzxa&jpZLx8OI{w2?){)1&KvNTZAsU|@a_EOs#7-o(qccDJb%{L`G%k4ZRe$ZJZRbU zc*8w;W+yI&1Is{73xnm}W$!DSm(&~AeO%Li`tggZu>36X9_#Y0#};HCeE#+N>c+yo z9SM7-rnLqB&RQ@#)cEGv#$wxJYuR^PZP+`}BS3bm{K}n^>#CjioUGmSvax8lVc_*h zcR4lY&k3B4Vt1BjsbvH`{_?Eh>c-W!jJK?RU!QKVCYxjb^6b=K3##(2xi7x1hcr$3=A_4tM2~(XXcW6b5ZyCF^lr8qUIx;T%vj(Vic73qrkM+sl zE;s)V*vn=s@!l`(!|UE}x3=fM=QObMH~7K(&q!PO(`L5+ZzVr{n2>#H8QZsqem@>= zT=jeFW$xau|0c)s9pC(YmWtx01&$ZjEZtasKx2)y4+nK$$B=={@h8X_WIu<{7-A1>#%gy(yk`F3;yWjP%{bb{+ZCPselhgRt9lr5@ z&HJNE1TXAzEZuqdqt&GH1qSzG?#1pdRNJQn7#4W$5}tt zY~1{R%`vxa2cKU(sqQPdHBI7B{*jQ_hZA4j__s#o@Ug8d{j0zF-hc7$K*L(^UH=Pz ze~V2A)lw4}7#I@TyvyGIO!j5_|MbI7nYq^mzdUiPT%@o{EzEy z&kJ&Uyw^TuJjhUeEn%-0XHVLhP2tV|zXpE(fB4q1`17w)1=jBPA98r{o?zui>#JtS z$DPwZqZHD=dRP7ri)HfB*&pPu*jfI+vY3@E*Y}bnII=<6FY4P{yQlltrry+En()9* zGA3>EjlXM7KQuMFwR+K8S?c zJzV--YWfxJ{4HjcI%kiI&0BAJ^8PQmEkOdCQ^zQ9_es$)T_Nz5zVX;nn5)9kf_eihJ=TBe0+CE)QSwi;u#IHG7 z0kQhF8E&@^&;58m0ZsLG4h5c$D)6Uf8X}1d##nhgBz5_y?&R?|Fp{I*Ws-RB{s86 zr^aQSkMTGAEZu7TemmQLX%)s*OPNY}_VK-HKfd;y_`UsB^*_FTc*T&t%8YMK`LFwL z3Vr3`Z~l?!ZE|IfG&9whKkKKyy!Q;D75}xk^Mc~n(vPA9--v{(5xtlVhPQx1L|l*!2BC)U@963;D5P2Em_&>K{H{YZuQwiQ%nd z*;bV#qu=&Buf$*dG2`FA(9>GCrvEygj7u8>#&cq}C{7F$uYV2!cGtWD3c#p5~{u=r`HrsaEM7Q9RO=sun zC$!#O^wFr{_F8Vn34B5f3=LDaf$Y`pjkAt>ZvQW8$MP7n$Ie>pbA$Gl?KhnufA&XI z^%EOEo}OiGC(k<8Zhjf?_vSv|+7=_D`Kgaj|7P9%>S4k@Kkk;7tyQ)4*4^@E%(u>V zeq*r9QMj`3uY&4=XFc^1!4>8_NZHNlH@MoUk4|cPH6-zF!?Pi!T?e7|H28IKt z_T8;6^IYujed>1cmA40rer&(`VArgJ^7qy5-0_?I^L^QmTA}Iu|Mu_lohreh-*`R3 zb3xhEgN299oUZ+esy?>wk1_XbhR46J8aC%N2bSKDkYt^oGSlSLvEyf&Zq!+?yYFY1 zvtwb>-`-QlnEyT7)FRt;(dfa9O!>|HrpGLvh04nFGmL`45dsGuq+DYKIpx46(Q~p2 zFGW1RPc2!pqFm?_51(K6`n73^cG3IyQSTNrh=H>)!+{5) z=k7XRTC8fj@lVB;CC%10M{_6bTUKcN;Pj+@Dw*-`{`$(!W4<9M#Sl^1T6})O7l+qY zDzQ_l>pjKUwdPbeEQx>hD57|m!S{dJu`(+P-YHJ_L}RORfl#4tJogg#phZ6?B4&WrGn0(=ML?=v8(UW^5XaV^I}vP;k|s_+|AqSC3z@o^wqY zOzM38FI}8`_VH4w@;$phL{F+)zBu{q5oy(n3>`}f^d^51mvYw+F59={eWdutLvac( zzpv?@P%=|Ris7S8$fen9x;1QLg?Jn0Y0t5axD?lW-+xX*bnmyzJ2*d@c;@TO+3oQ- z?Lg(Eee0Qe-G|A ziTmxzeBj*4Yphcw1ddHT^;xHPw(X0RhjuPDnK$J}uBW@?^vx6J>)ZeHxD?Ly{GZPy z%bnj>?vX!w;35OVlKBzh0lx~x*)``>PgpYl?V||pi1&{aT8rJYe{MZr)Vt(-q_|;0 z^;+&3m-nvajwoEo!y_qjZ0qe^4VU~)?w#Sa4YnxXvm`uYPQ#lb-};>8S#$KNav$EA zt+H41`@Chwi=sB`F?cv=$zES4#Bh4v-|4%&8J2AL7C-5pn~MItLpzyO|1K+)EndW! zup~yjZc(YMst`lr(n}0GbiVJK+-5dyae#$d34rQz3IhKeZn<2N-Q{V%i){wo>red#$xE5}QEua&$^7#=CTY-|-h zC#(3Y;$+Vf`UBXmnIAuU%t3JjM01f*6XpB-^QBj zyBK(cc^MKSI2+=po$ZMf=WLj)Dtr52VOiJB{~cV<->v_sce~b+`GB8Rv(xS1dPS{bj>4E5^xYZB)ll8XhF&sAe5-*b=w^D^+R|Z4Gk^f8c%ou$Vzr{~F zw^c9U!M~-KI!n(tvo*{O5n?#Qb$qJVV)sWo{i1f(pRrb%n;3gq=#R%G{x#hP3^uYe zOz>k)aQ9~5dd@fL?wKrc&IS=FhWTgr?mxDxW1&`h-nXdh8x=ralaw&hmI>GDomc7^ z9wpv*^VIcz^K4VL|C7Fynkl>Km@qUv)M2!Uy=1#vBSpIGi&Ch?_WeuL%Y#q#?YX+E zp|QGUiS0F4oes8!#!qMKw0IfPS|58ot=y;e{a@K@r40+OudomAf64T*-o=@j!9$&K z!)2>AkN#geC(O`4t;FNw`M<|uYXQVt-yDdYbT2dJ@P)Tq^%A5r7;adEefzH#;=yoa zsuxqkbIZWiV*P1f=C6GnVI;-S(ZnazRg|dlf@xtrOkDl^PF09s#h)9zh&KF2K#=f841g$Gn`SCz3ZxY zd&^~ChTsf_4ZrJS&QB_7DHXi!05V|X2kE13F&9P7$*R88cx~mS!XOlEQQozrJloV< zSDmpTBZGk&<^% zEBo*Jx=$MYj1a?0%jip<*IXqQe(YGW=6(sY z=8ICM1qJU^Ztjn~camH5>St^4Qq?!UN;qet|d ztj^1;*GeUn{`If;^{0*Jh1Y#yhHIPu2kn<;u%GlL@v#)!>OFIA-@I1(M&LJtPT)?R z7j@T4r_2!T)1K>PVJ?{YbBnG3=SbC3=Q+t8Lm8Lb9i{CS!M2xTutuk^ml({ zkD2n^Jg+_1{O4^~=7gO=U4JJrbZAelm#&y69B9T6pBdY3SSKea%FCe8%W`0w6hmvV zyLXk(@vS+>%hod`*#6cR{NJCuzLZgR0po_4l{{SUCw%dJt<<)v;GNtgxr|u%PR4Mn ze~W)r9-W~#5$uc&pNigJH?3Qop1IqbVVrE4KZ@m*@c+Ga8TqQOm=5T`OIa!sL z=4)QRVBl?d>XjP%!@TJI`)ztj2jo_n#O+s^#-OsW;N8ASae1-r8*jTl7MysIf#KMi z>5Mt$oDN(c>ocW!8xHM^o#fXaa9ZhJm|26saY?CTe7{T>rfE-QVc2}AaOo!-Z=35Y zE2b@JUfXR@X4&h0#EqFjVsjkZh5}Fo3EVutAbi_oh98zU`PX#(Kfd+)u7e*Mb$DjGb9>y$tc;vsT6vOE$ zr`CM%xMaSjTVhoa|BUvi>w!rJrm{WypRB?lAj`{;uqL0g;kfo%$CHbUU;0leap-Y+ z_T}fD-`c$A?MwQDtTtE2db}*peG&9?=g+WrdrOlmPV|LadEfA0SklPWP%>TR-fV?k zpk}L3;$OG?i?$3wUH`qi%^A)-{(tPb{I0#%SW9}?4t!cNi6J4(VqJ)oth|?T(Kw>|us|L#nwdv1O+kM+N7zt+kV`S8xHOPLG?pfa16AuZ-|LHui` zv=5W!&946c|Jh#WcYnXD?v1=OoBKK6lrJit`d9y~^p#?W;Q9tiw!#eECJaH{|Gm3a z8Rki??fNP3zdw6@DdWTqJPP}gP5Z7cYhZH#l_wrmOCH)?W8KoDvbSL3!TRWTf8Xx> zE`M^beemO@jP;8@O8q~3f#E>V1(2cA4Ba_QGot>)N3CH@ko>6r`$+~VO{=QkfIp4&A= zh++D(d-ugYv+VqSf65mh&+}75-g=glzT5k?I&ck#6vKfTsZ0-+bHCA>m-HuoR=u#p z>6`y&o8B#SFE8>`j}(U(+1Y9giaNNF@lnS-i{88M{QmyZkM9q8C+*wS^O;E~oRL9m zTI}_m*Zzy2lhu29ve5hHwn|}!X}k^P$KSnLzhg7+xu3e8{4tkyf`j*r0jQw4#PB2U z-QTmoY8`3rIF1tGoRBkbw>{ICz zee{2#2&nYGKE39aw`%O(BcCrabgalJxOaY6pAc`uj*Kr0bf?-XE_rG?RXW2haV99q zo>XU;lJ_TmmOkSLiJP&HUb9cK%Pe^pTCi+M>iM`i%b)IRy9g@U9T&Rj*lY_CVz4>? za>uz{4F}Fgi!*@BKW{5g9l78bXG6%@%M2TO{?Ffiz>YiOPF!>GJpIh;Lg(F?71o8Y zwc1bok_#!~13b^|>J#E@D5-eO#AF|AQQlH2=-^|*(6I4}FoXZJl8h%-Wl8gV8FZx? zj{H~FoKqb2ulRSYr+D_x^@;9!A7fT)Ol3Lnbm#Zad0AaYmu?Bv;A|*aa)sfB|E2d) z;*3XJm>DFztr!<M z4WN40=DZMR!;~dg7$z*4E`ClnHP1z4^D- zQvG|~z11QKjIG5pa~}PFKDB-m`+)*bxfCD~u66#i?yB|s`Kni%GQ3lKX&))hc*F@* zPxvt8Y-M>MIH@nvP0@P8RfgL}|NfgDF6O_RtYVvT^7$UuOUqB4pMHx$V|L+-h@Hnz za$YN)0%XEOx+`dF`dm+gRf(fgSfyVKVn zw6vd5U0?n4r_pqVHJWd0Eq=XmS^BxIrC$G$*HT7@#p=46W(;MXR@)2S?Yq{>5bOPv zReZy=PihVOH%-whOFQhlnd`Zn&dY<|YgCUstDh(W>hgW&^{b8h@N-lA;RrSXcdh0_ zrJmst;)Wru#lN%fyzyl0owp@M>!sUkr8En-OVM12Lc-C}ae3w*T+~bsbzhNGe z5Cf-X{rh`~vB%lwseNNUZ~#<31^F@@nen&3uyeJDG{gLpd;JZ=EJV_!=X{>L^ZP@c zi<{C@GZ>Cc^kQy^e7GaXv&zHfx@J{(DdX%P>syP{BgGj@TG<#BG{67L^DLK`TesPk zA<2Z{pXMRMbTfuiH|}H#o-^kMXCPaLOE1}$+wK4QUxlGfacZMt^PwFU$tS_vgrQ+pC|5!ns0m;tf(XvEY zX->X&xmVTpgO%Y&xm8oyp6^}o^}h*2)w(^KoV1volO7f>z4T(I()WLUuaz!Lsot;m za_zO!oTTYX%0Tqm=VyONaW?$(P7V9fC4N>&$6VR;it% z#_+3)jUiyO7sHt-rVl2b?BzA{J{P@rkBVb@&^hT_f5E!7f1Ka_O$!e@U?zI*Zt$hg zyncUuJ>%zoEEQt-dwk7@ERUrZl_!4jh~o)x$CBEyUQA@^)9gNi)2ei!Bi{Qn&O z?g%>W3<~ed5!5FXI024zudqw1QXCCj0EZ=%_GMttoiN z;prZI9nz@lm7Di`-if{cw=6M_xNf+--LooxXT9(Q8z}~dvq_u>-tPQfzIC5i_V@p% zjD#5cdkgw11^)LxZ|(ZLdGploXMf19)Y;1z@Gh+{Z;6oxsLYuL>ZR?Bk6Zas&Y<=~ zglE3~oZIJj2_$HP61ywY0>j_&e0t}43i|rl|L^Z%YjFMZKYG=4%LUF)&p(Y@d^um_ z|MY45SspMfEk658(IYjWqI=1ENRiR*y=y*rl)yGf?|Q|?OZ&APp3a=~&%8HjNgpWY zJs7rJSF-cD#3?)fvGdOFiN(rU%nNEBZuVfh+!%&R)`=^Xa?T z`a~V(7k*lt4X4d+qzK*hcv?BlgW-$cyT8j-{zkvH5-ZrY#D1F|(+wV8h6QQ!7y|Cx z{ja@Im|^*ev~BG_>TRlf&;7ortM_up8RTv~hz+*5I8D1>C^V{6BYHF!0 z_m97ac218LXUu55e$?n)`X(&;fWh|4|nD9GD{Vb{b{Yd(lRZD1;#v!di) z_9O<0j!&oD&QJQH`a0^_mrsW*yT7|1@LBn1G0&0%MvNayJb#zhyy;~NFf?b3`Nnb@PZx9%dt3pXuJ21r(&=)u6__3p3lq`JUMQ?G43 z^OCo1mX8*a3eloW|S9l(mo@;&e z$9@;)1=^6IwyCE+*R-ol>*Do!_m|(q&p$3X=9G=xs*nFz8!SOlpCWuzx|}heWMh^>AwH>m;GexiU|10 z_O#M%`Tu!Kx}WcudsLJ`MT#NT!teBbof2go#tu+Nw|5?+wmFlX@8j$JQ)G2t#z%`Y zUI0}<(-~vZ{=`f9F+XU!^E-N4&AHHzt0%q7EP40&w6|?;D~m(@QX_4hiwqrV8<()3 z|9oKT?_+cHG{2@c?oW$laDc>e-J*BW4A;GXE%*IrckKP&k5T`s3LpLd_{P-cyUpwW zszMC4(@w4VuyyBm`+L9AZY*Q>u)49ULx{6MbVBw2QcwS>CC#O}vrlk8@7t)yv>Keq zJs50U9$Vy0zqkEp)Nu*UhIRUhJElsj)@Gc19>dvMeB8Tg)5Vwh6Th6a%+LP%tF+)@ zj8^lkeO{`J2i6pTx<@MWUQeA^{a>_KxYIo9`le3fHQWcX7Bezj(E*o}XVzXjdOU;S zNQKPo%J6r8-+J3UUuALn!yWmU2bEiE{#qUSaL0MVsRI*0Eso4D9+#e8V@;?mdcR-c zrR6I9z&W#w*TRgGV(5SQqr!gbmy5c2!iyO{+~7EV=S=kUntf9P*4?a~n8^A0*nidC zstiJ>8OpS#HY$R<0WW@*z5Ba1`aX~Ir0V~kp6fTQOJ-g!daiWuPh$gfDF%m?J!kLl zd~*5S{f{5*=2Y*$8q_Ai+ptdlc-lVYmxom6nJ_Nh6lFK=Jldgg!~ zgMl+ML&l~EwhL2BJ>SoMTvnS88i!+PEp9*Y?UT!All4wIj4zglu(g_N{XO0KHSFP? zz)5|Z)-85foZkBM-hG9aJEQ6j6>FO=*Iaq7 ztoPit{NYdih!5XX7=CHajHr0`_r$IaMsINWzh=*!-{-x5WxuwH>f5Hru)3R#;lh>Y zstljcE%>&Rv4AiC*5aGl74K?ye!s3)Auq)6cZwGixY<}aPjy~)&)##p8m2Age*WuE z9gnRW*a1ul_hhg9{!{(m>@`!{ih_3sC(TQVIJD?veJ6`U{8A(1GobWjbKZW^m-E+L z55&Fu`!vcXQ|z+iB)+YBOsg~PUo$lv`C`iWVdLS+Zz7XTw5s2DeG~@?wuT*m_=KUfcabQi|dB%@ZzA$OtzhOcJ(=E^>VC{kYaEMmKSEYKk3U-*1Y@2*$$`|z2Bc6d&J@GR=ox7 z84Nl8S{py)Ke=~5H}*)w+$AM(=@|^5Iw?$!mtn!me$Ix^;xUhBoRZ$`D)7I5LBYF# zUj6^=M`bc&9sHM0Vn_h@p*9~8V({@^$;dEc0V9LSS3|}PFZf>7W;5JTd}#}f{`OKq z+Y*n5cNnj^ehGk<-k)qXUr`q9{99ewT*}C}E`U+kgrQ;CK2?UgB_EfWb-##ae(-na zck?JvYK|7aknA2IenI_d+GO=eXiJKdVOrIa$I7k6=QrssnsVy=au;R>H*k1+Gwd<{ z{%;-Y`^($!S3mkMC~|JD#!Jp?rC%g|Gw3{HoW!?HZxJ|82{D*d2?bb`FIaNid)I=3 zcjr%^Zj7=z`s2^S*P!Cy)ollcj2kjSP*zQrazf_R9bXqB+tvhpq;mR|+ zmTu$zu>dr__j2L2(kU5VmOMCSkpb*EJ5`3f$zLYs z-dXR@+wlF#z3(qAU$z?c{Z)ExRn^CKASo!5A?EOY%|Kg^Ag$MXJsFlfOpp3sziNp$ z*Ymp71$isqyK_D7yJXQjrEAJJKPoLJoVb_1$K)V zH_Ql0dI*}ZIQ3cQW6bhJcNr!uX;%5$y2M}XoNlq^t=H2k)~)@c0q)Ffm<0~ED5ec_ zf9$_9pY1^DB)ddNDoJ3-V9-&64y#^bknsG~Rw_6_HiO(yTB0Pqs8nj z1)70+@iXjQ?R=?U%^_}o%(EFn>KuatExzA7v~zxU!0}quzp2-c-&MT!|L~c*Ype{N zFHcLioqu*O|NGI!`n(O>qr?pY&WBp<-uPXTx4}~MoUGi>JHU z9sgeZ-oLx1Z=ZG4r9kdG|7K2_7isZb(ewSJl7oErUVBX9dOlC_WxeLy`ev=`@Pf>n zDPi}=`jzs$4Xaga@9pYnyp;*9if z_0yJ5mw(+_{C~yA>Us4i_U=!+$1HNrHsaE2)wvtbN+tbXQOXz*3r^-L4Cn42to?m~ z!9x9eT}tec3nJ&{uK4(M#>Qe3hG)~gm>ZF>Vg}FbU^Gd}xK2quZzt__9(qa|a9fv<3cVT9LM1coGjp_G)t7Px& z=dZ5c@Vj0n=GS^_kPWBS7%*?!5mY&EdaKFFYujcs+&D4s)8hC0W>x=}1=TFS3ouyn0w^^(l5dc@n`lv?+rc9_52#B=?yZ$i>aYL{87|aHU{3MYu}nM8idGi)MEhE z^%t(RvmCe}&2Z-5@xob49Gw<{DPpo2o5c8UeEo*%#BXcomnD@0(P`E|;ge8yHzSb~I=+2(XR=qvz zPgPIvTQTq6^qsz!TCce#Y`w_9Fe}KPVb1k~&nh&{8SExk*RL%VbPl#C*Y`ZXab0o) z-*&wP>~gD0{+(516u7Qs%Al9L_?E8V|M_o?cYa^F|N0ToEG^T{@8zDmPVegTeUtM2 zzn512v2?|M^2du+WpiSWFl^*W$XCsOuYDmUwP+V@}w{A0f_g zfq`M!(p@|c)I8_EdtkBBjN#p+FM6+)Aii;BPRL$)hAVzv_5QrrBMnP0y@(W(Vu*hI zi;KazVD6It*|97R%nUQ8WtqIL-TA$|tYA)vG=uyjsk?Wz=TvtrIUaf4Fu;Ui+q6>$ zCj6+6S!r|r^r7>YuX!-|{9b(Lw>+f%w`}Pwh8r*6{hu0A|GxA8@r~DaH83t_+^{u- zt?kT>V^h5@B}e|Kyyf!n&c#W6+tw)?UibRt{aT5k^R8uMWRMTToptZ@q$ejaJy4&d zw?Qu{<5cXc^PAQ=U-~-f-@eDm`#ioe7rg$gzP2FG_mU@QDr#eI_Eaf`*OS(5(Niis z^UuG!^xfaL*IXHdco`C=i3l^upWeHF>Eh(2HyAARzyAw+t;F`i#Pi%P4$t@J_SU;j zXV;liz3UD8gKN+I?=nw0_iQq#CRBa7ktf`E!fhemhGnN!|IRHHbWpvjVUVDCl*K`O z_y6#q90q~^{mJV~8JB){vqy(OIv#v0^fL+cCBV-}PGS zjaXF_Tg?L;vVy!Bdak@>(Avs&fOnEz5;))8^}bZR=Jkag3%_-89KS32a7MQh_cIDCUMA^)l(v;sI6hOCB%#@XM7sp%~OR*>H5K*Wz?gyxloD z>DzWaCB|~Esf4ua$({nH{Qp-_>59zK_)k z;vG$0#ur83|9g4u|9<4Zbr@*rN948ADM?5FFEtTjaG!F0*YPb=*jmrra0{}SuDSNP zm08`iZQEXjGg!D^TD`WL!R)ZKctVsHXT!S3|AVYJ8`gXN+EgmYT(WCP^4e~Vqd5#q zKK$CM_R`?BlF-ys3qDlu{B9m8ZkXVAN%5Mij$r1bwQGx*9>}ZiwE&f@92;he+;d=D z>8Z;2A=Xpe-6Btmx1qRVVvo|)v;WskE(tvHc=@MaM~xb821SaWYtRKvR-JZY0u@l- zCzjN|w(8jveaU#|6OCUAQ_TY$yn;L#=E!H()@boIY>yN-FljAr_paJjD!cT%`@Q>$ zt*Q({ybZlej0{o^h=C^fQy)IhEM9H#yS{zNbk8ciOyw^}LDd+imnx%x@<08h7a4xU zy!&guwp(Jsb8o8)yE=l-{MbLmk9juRfgEV0fnq*`At&#u6hpXoRouJ3s@GZ>x;>uq zicFX!BE(?s{VQZi^70D|37_{{e2Wqf*cE)qU3tFpR8Sv6x3!qvyJ|wItSVa$XlyI8 zZNAs9ZKZ;pyQ41gUUSvCbiY5Ffq^;5)5S65HQ@ojkw zcXVIQJ!Z<|_wdfiNpiWd?k|IPe&6n5$L`H=>8rra|JK2<0`>W(t+P+>wU58VIqBc- zB@5TJu2=ehUinl1K5(81Kp{P z4|S#TmvwP)J@1=PvZYkk+htY?-_GymPw)NTw`8))-lMzb@!eH>={xD$lY9Fo`u1E* zU%97|DJW?!!;auf?8B}$FpB+>hsFT z3z&`jbsySX>s`ae+mN|Zg`wmBad7VXW0UK=)9v5O z*5cz{Rr8j_PyeEEd)2d|txK+Z{(60<`gNz`f?yMdhRo|H%O?EVKC!=k-y1gn_?|m= zB0`UA&pmdkeOk#p?v(v=T$92IrsZq*&Ogo{A#PBx`r3uN>9G#;pWdr?zw}yl@4kX} zEWPWaK1)yXGt^!4GR<@T)Gy|f?oF<)pPp;!Afvgbl8J$VVM7wvbH9mSL_GQR?Z0JI zdhb~`xn$vz^Hb{UEWiJIr#e>})ca##U})HRXlJv^+*P|2KNL&7H!pl)#&0>PWbqRD zY4Y*mwlDTK)jDnH$^b1$WAF%jc&Ba>-{cZ~&vy3uF!}P;a!>vTJU;uoPUEFo+E+%f eqLEG{Nc^+^V$^INvew5N6c(PYelF{r5}E)VS#s$B literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx new file mode 100644 index 00000000..a6c27f6a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/main.jsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..e88b655e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte new file mode 100644 index 00000000..1987eb09 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/App.svelte @@ -0,0 +1,79 @@ + + +
+ +
{resultText}
+
+ + +
+
+ + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html new file mode 100644 index 00000000..dd50e71c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte new file mode 100644 index 00000000..2a2ce228 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/App.svelte @@ -0,0 +1,79 @@ + + +
+ +
{resultText}
+
+ + +
+
+ + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..d229a1d4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>W,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>c,LogTrace:()=>p,LogWarning:()=>f});function p(n){window.runtime.LogTrace(n)}function W(n){window.runtime.LogDebug(n)}function c(n){window.runtime.LogInfo(n)}function f(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function g(n,i){OnMultiple(n,i,1)}function S(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>M,WindowFullscreen:()=>v,WindowGetPosition:()=>B,WindowGetSize:()=>O,WindowHide:()=>F,WindowMaximise:()=>b,WindowMinimise:()=>C,WindowReload:()=>L,WindowSetMaxSize:()=>G,WindowSetMinSize:()=>R,WindowSetPosition:()=>T,WindowSetRGBA:()=>H,WindowSetSize:()=>U,WindowSetTitle:()=>E,WindowShow:()=>P,WindowToggleMaximise:()=>h,WindowUnfullscreen:()=>z,WindowUnmaximise:()=>A,WindowUnminimise:()=>D});function L(){window.runtime.WindowReload()}function M(){window.runtime.WindowCenter()}function E(n){window.runtime.WindowSetTitle(n)}function v(){window.runtime.WindowFullscreen()}function z(){window.runtime.WindowUnfullscreen()}function O(){window.runtime.WindowGetSize()}function U(n,i){window.runtime.WindowSetSize(n,i)}function G(n,i){window.runtime.WindowSetMaxSize(n,i)}function R(n,i){window.runtime.WindowSetMinSize(n,i)}function T(n,i){window.runtime.WindowSetPosition(n,i)}function B(){window.runtime.WindowGetPosition()}function F(){window.runtime.WindowHide()}function P(){window.runtime.WindowShow()}function b(){window.runtime.WindowMaximise()}function h(){window.runtime.WindowToggleMaximise()}function A(){window.runtime.WindowUnmaximise()}function C(){window.runtime.WindowMinimise()}function D(){window.runtime.WindowUnminimise()}function H(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>I});function I(n){window.runtime.BrowserOpenURL(n)}function Q(){window.runtime.Quit()}var j={...t,...w,...r,...u,Quit:Q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..3e18a202 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/svelte/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,481 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke('WASDT'); + } + + function WindowSetLightTheme() { + window.WailsInvoke('WALT'); + } + + function WindowSetDarkTheme() { + window.WailsInvoke('WADT'); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + window.WailsInvoke("drag"); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbi8qKlxuICogUGxhY2UgdGhlIHdpbmRvdyBpbiB0aGUgY2VudGVyIG9mIHRoZSBzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dDZW50ZXIoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXYycpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIHdpbmRvdyB0aXRsZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZVxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0VGl0bGUodGl0bGUpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dUJyArIHRpdGxlKTtcbn1cblxuLyoqXG4gKiBNYWtlcyB0aGUgd2luZG93IGdvIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dGdWxsc2NyZWVuKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV0YnKTtcbn1cblxuLyoqXG4gKiBSZXZlcnRzIHRoZSB3aW5kb3cgZnJvbSBmdWxsc2NyZWVuXG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5mdWxsc2NyZWVuKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV2YnKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIFNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXczonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHJldHVybiB7UHJvbWlzZTx7dzogbnVtYmVyLCBoOiBudW1iZXJ9Pn0gVGhlIHNpemUgb2YgdGhlIHdpbmRvd1xuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dHZXRTaXplKCkge1xuICAgIHJldHVybiBDYWxsKFwiOndhaWxzOldpbmRvd0dldFNpemVcIik7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWF4U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXWjonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgbWluaW11bSBzaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcn0gd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldE1pblNpemUod2lkdGgsIGhlaWdodCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3o6JyArIHdpZHRoICsgJzonICsgaGVpZ2h0KTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcn0geFxuICogQHBhcmFtIHtudW1iZXJ9IHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFBvc2l0aW9uKHgsIHkpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dwOicgKyB4ICsgJzonICsgeSk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBQb3NpdGlvbiBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHJldHVybiB7UHJvbWlzZTx7eDogbnVtYmVyLCB5OiBudW1iZXJ9Pn0gVGhlIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFBvc2l0aW9uKCkge1xuICAgIHJldHVybiBDYWxsKFwiOndhaWxzOldpbmRvd0dldFBvc1wiKTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dIaWRlKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV0gnKTtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTaG93KCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1MnKTtcbn1cblxuLyoqXG4gKiBNYXhpbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93TWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXTScpO1xufVxuXG4vKipcbiAqIFRvZ2dsZSB0aGUgTWF4aW1pc2Ugb2YgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1RvZ2dsZU1heGltaXNlKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3QnKTtcbn1cblxuLyoqXG4gKiBVbm1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbm1heGltaXNlKCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1UnKTtcbn1cblxuLyoqXG4gKiBNaW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93TWluaW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXbScpO1xufVxuXG4vKipcbiAqIFVubWluaW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWluaW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdScpO1xufVxuXG5cbi8qKlxuICogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBSIFJlZFxuICogQHBhcmFtIHtudW1iZXJ9IEcgR3JlZW5cbiAqIEBwYXJhbSB7bnVtYmVyfSBCIEJsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBBIEFscGhhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRSR0JBKFIsIEcsIEIsIEEpIHtcbiAgICBsZXQgcmdiYSA9IEpTT04uc3RyaW5naWZ5KHtyOlIgfHwgMCwgZzpHIHx8IDAsIGI6QiB8fCAwLCBhOkEgfHwgMjU1fSk7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXcjonICsgcmdiYSk7XG59XG5cbiIsICIvKipcbiAqIEBkZXNjcmlwdGlvbjogVXNlIHRoZSBzeXN0ZW0gZGVmYXVsdCBicm93c2VyIHRvIG9wZW4gdGhlIHVybFxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBCcm93c2VyT3BlblVSTCh1cmwpIHtcbiAgd2luZG93LldhaWxzSW52b2tlKCdCTzonICsgdXJsKTtcbn0iLCAiLypcbiBfXHQgICBfX1x0ICBfIF9fXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXG5pbXBvcnQgKiBhcyBMb2cgZnJvbSAnLi9sb2cnO1xuaW1wb3J0IHtldmVudExpc3RlbmVycywgRXZlbnRzRW1pdCwgRXZlbnRzTm90aWZ5LCBFdmVudHNPZmYsIEV2ZW50c09uLCBFdmVudHNPbmNlLCBFdmVudHNPbk11bHRpcGxlfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQge0NhbGxiYWNrLCBjYWxsYmFja3N9IGZyb20gJy4vY2FsbHMnO1xuaW1wb3J0IHtTZXRCaW5kaW5nc30gZnJvbSBcIi4vYmluZGluZ3NcIjtcbmltcG9ydCAqIGFzIFdpbmRvdyBmcm9tIFwiLi93aW5kb3dcIjtcbmltcG9ydCAqIGFzIEJyb3dzZXIgZnJvbSBcIi4vYnJvd3NlclwiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBRdWl0KCkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnUScpO1xufVxuXG4vLyBUaGUgSlMgcnVudGltZVxud2luZG93LnJ1bnRpbWUgPSB7XG4gICAgLi4uTG9nLFxuICAgIC4uLldpbmRvdyxcbiAgICAuLi5Ccm93c2VyLFxuICAgIEV2ZW50c09uLFxuICAgIEV2ZW50c09uY2UsXG4gICAgRXZlbnRzT25NdWx0aXBsZSxcbiAgICBFdmVudHNFbWl0LFxuICAgIEV2ZW50c09mZixcbiAgICBRdWl0XG59O1xuXG4vLyBJbnRlcm5hbCB3YWlscyBlbmRwb2ludHNcbndpbmRvdy53YWlscyA9IHtcbiAgICBDYWxsYmFjayxcbiAgICBFdmVudHNOb3RpZnksXG4gICAgU2V0QmluZGluZ3MsXG4gICAgZXZlbnRMaXN0ZW5lcnMsXG4gICAgY2FsbGJhY2tzLFxuICAgIGZsYWdzOiB7XG4gICAgICAgIGRpc2FibGVTY3JvbGxiYXJEcmFnOiBmYWxzZSxcbiAgICAgICAgZGlzYWJsZVdhaWxzRGVmYXVsdENvbnRleHRNZW51OiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUmVzaXplOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdEN1cnNvcjogbnVsbCxcbiAgICAgICAgYm9yZGVyVGhpY2tuZXNzOiA2XG4gICAgfVxufTtcblxuLy8gU2V0IHRoZSBiaW5kaW5nc1xud2luZG93LndhaWxzLlNldEJpbmRpbmdzKHdpbmRvdy53YWlsc2JpbmRpbmdzKTtcbmRlbGV0ZSB3aW5kb3cud2FpbHMuU2V0QmluZGluZ3M7XG5cbi8vIFRoaXMgaXMgZXZhbHVhdGVkIGF0IGJ1aWxkIHRpbWUgaW4gcGFja2FnZS5qc29uXG4vLyBjb25zdCBkZXYgPSAwO1xuLy8gY29uc3QgcHJvZHVjdGlvbiA9IDE7XG5pZiAoRU5WID09PSAwKSB7XG4gICAgZGVsZXRlIHdpbmRvdy53YWlsc2JpbmRpbmdzO1xufVxuXG4vLyBTZXR1cCBkcmFnIGhhbmRsZXJcbi8vIEJhc2VkIG9uIGNvZGUgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL3BhdHIwbnVzL0Rlc2tHYXBcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoZSkgPT4ge1xuXG4gICAgLy8gQ2hlY2sgZm9yIHJlc2l6aW5nXG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5yZXNpemVFZGdlKSB7XG4gICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcInJlc2l6ZTpcIiArIHdpbmRvdy53YWlscy5mbGFncy5yZXNpemVFZGdlKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIGRyYWdnaW5nXG4gICAgbGV0IGN1cnJlbnRFbGVtZW50ID0gZS50YXJnZXQ7XG4gICAgd2hpbGUgKGN1cnJlbnRFbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS13YWlscy1uby1kcmFnJykpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS13YWlscy1kcmFnJykpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cud2FpbHMuZmxhZ3MuZGlzYWJsZVNjcm9sbGJhckRyYWcpIHtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGNoZWNrcyBmb3IgY2xpY2tzIG9uIHRoZSBzY3JvbGwgYmFyXG4gICAgICAgICAgICAgICAgaWYgKGUub2Zmc2V0WCA+IGUudGFyZ2V0LmNsaWVudFdpZHRoIHx8IGUub2Zmc2V0WSA+IGUudGFyZ2V0LmNsaWVudEhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuV2FpbHNJbnZva2UoXCJkcmFnXCIpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cbn0pO1xuXG5mdW5jdGlvbiBzZXRSZXNpemUoY3Vyc29yKSB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSBjdXJzb3IgfHwgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3I7XG4gICAgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgPSBjdXJzb3I7XG59XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghd2luZG93LndhaWxzLmZsYWdzLmVuYWJsZVJlc2l6ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvciA9PSBudWxsKSB7XG4gICAgICAgIHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID0gZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I7XG4gICAgfVxuICAgIGlmICh3aW5kb3cub3V0ZXJXaWR0aCAtIGUuY2xpZW50WCA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3MgJiYgd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcykge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IFwic2UtcmVzaXplXCI7XG4gICAgfVxuICAgIGxldCByaWdodEJvcmRlciA9IHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgbGVmdEJvcmRlciA9IGUuY2xpZW50WCA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3M7XG4gICAgbGV0IHRvcEJvcmRlciA9IGUuY2xpZW50WSA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3M7XG4gICAgbGV0IGJvdHRvbUJvcmRlciA9IHdpbmRvdy5vdXRlckhlaWdodCAtIGUuY2xpZW50WSA8IHdpbmRvdy53YWlscy5mbGFncy5ib3JkZXJUaGlja25lc3M7XG5cbiAgICAvLyBJZiB3ZSBhcmVuJ3Qgb24gYW4gZWRnZSwgYnV0IHdlcmUsIHJlc2V0IHRoZSBjdXJzb3IgdG8gZGVmYXVsdFxuICAgIGlmICghbGVmdEJvcmRlciAmJiAhcmlnaHRCb3JkZXIgJiYgIXRvcEJvcmRlciAmJiAhYm90dG9tQm9yZGVyICYmIHdpbmRvdy53YWlscy5mbGFncy5yZXNpemVFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2V0UmVzaXplKCk7XG4gICAgfSBlbHNlIGlmIChyaWdodEJvcmRlciAmJiBib3R0b21Cb3JkZXIpIHNldFJlc2l6ZShcInNlLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic3ctcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgdG9wQm9yZGVyKSBzZXRSZXNpemUoXCJudy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAodG9wQm9yZGVyICYmIHJpZ2h0Qm9yZGVyKSBzZXRSZXNpemUoXCJuZS1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlcikgc2V0UmVzaXplKFwidy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAodG9wQm9yZGVyKSBzZXRSZXNpemUoXCJuLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChib3R0b21Cb3JkZXIpIHNldFJlc2l6ZShcInMtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKHJpZ2h0Qm9yZGVyKSBzZXRSZXNpemUoXCJlLXJlc2l6ZVwiKTtcblxufSk7XG5cbi8vIFNldHVwIGNvbnRleHQgbWVudSBob29rXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICh3aW5kb3cud2FpbHMuZmxhZ3MuZGlzYWJsZVdhaWxzRGVmYXVsdENvbnRleHRNZW51KSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG59KTsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBa0JBLDBCQUF3QixPQUFPLFNBQVM7QUFJdkMsV0FBTyxZQUFZLE1BQU0sUUFBUTtBQUFBO0FBUzNCLG9CQUFrQixTQUFTO0FBQ2pDLG1CQUFlLEtBQUs7QUFBQTtBQVNk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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..3dd212f2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/index.tmpl.html @@ -0,0 +1,12 @@ + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css new file mode 100644 index 00000000..59d06f69 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/app.css @@ -0,0 +1,54 @@ +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts new file mode 100644 index 00000000..b68d7d96 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla-ts/frontend/src/main.ts @@ -0,0 +1,49 @@ +import './style.css'; +import './app.css'; + +import logo from './assets/images/logo-universal.png'; +import {Greet} from '../wailsjs/go/main/App'; + +// Setup the greet function +window.greet = function () { + // Get name + let name = nameElement!.value; + + // Check if the input is empty + if (name === "") return; + + // Call App.Greet(name) + try { + Greet(name) + .then((result) => { + // Update result with data back from App.Greet() + resultElement!.innerText = result; + }) + .catch((err) => { + console.error(err); + }); + } catch (err) { + console.error(err); + } +}; + +document.querySelector('#app')!.innerHTML = ` + +
Please enter your name below 👇
+
+ + +
+ +`; +(document.getElementById('logo') as HTMLImageElement).src = logo; + +let nameElement = (document.getElementById("name") as HTMLInputElement); +nameElement.focus(); +let resultElement = document.getElementById("result"); + +declare global { + interface Window { + greet: () => void; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html new file mode 100644 index 00000000..85991915 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/index.tmpl.html @@ -0,0 +1,12 @@ + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css new file mode 100644 index 00000000..59d06f69 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/app.css @@ -0,0 +1,54 @@ +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js new file mode 100644 index 00000000..4ad5a2ca --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vanilla/frontend/src/main.js @@ -0,0 +1,43 @@ +import './style.css'; +import './app.css'; + +import logo from './assets/images/logo-universal.png'; +import {Greet} from '../wailsjs/go/main/App'; + +document.querySelector('#app').innerHTML = ` + +
Please enter your name below 👇
+
+ + +
+ +`; +document.getElementById('logo').src = logo; + +let nameElement = document.getElementById("name"); +nameElement.focus(); +let resultElement = document.getElementById("result"); + +// Setup the greet function +window.greet = function () { + // Get name + let name = nameElement.value; + + // Check if the input is empty + if (name === "") return; + + // Call App.Greet(name) + try { + Greet(name) + .then((result) => { + // Update result with data back from App.Greet() + resultElement.innerText = result; + }) + .catch((err) => { + console.error(err); + }); + } catch (err) { + console.error(err); + } +}; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md new file mode 100644 index 00000000..15b2483d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/READ-THIS.md @@ -0,0 +1,4 @@ +This template uses a work around as the default template does not compile due to this issue: +https://github.com/vuejs/core/issues/1228 + +In `tsconfig.json`, `isolatedModules` is set to `false` rather than `true` to work around the issue. \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..5c0949b5 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue new file mode 100644 index 00000000..b63d187c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue new file mode 100644 index 00000000..3ab3df79 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts new file mode 100644 index 00000000..e57db594 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/src/main.ts @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json new file mode 100644 index 00000000..0b1aea97 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue-ts/frontend/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": false, + "esModuleInterop": true, + "lib": [ + "esnext", + "dom" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html new file mode 100644 index 00000000..b3d4289c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue new file mode 100644 index 00000000..f42b9d82 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/App.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 zcmeAS@N?(olHy`uVBq!ia0y~yU}0cjVAkefV_;yoe(}K%1_oBA%#etZ2wxwokg&dz0$52&wyjcx zZ-9bxeo?A|sh+8xfs!4Uf=y9MnpKdC8&q>qN}8=wMoCG5mA-y?dAVM>v0i>ry1t>M zrKP@sk-m|UZc$2_ZgFK^Nn(X=Ua>OB2#6Ujsl~}fnFS@8`FRQ;GZT~YOG|8(l(-ZW z6rhHuR%9Yf&nt#{KRG{FA0(r1sAr&$th^v2za+mnBfkLdA{0GvX$*}enQ1ue0m)z} zugJw=Lq%c%HpRZa*c}8@o|}u}jp7p5vJ(6{ibE<3QuTvUi}Op1l2cvFQu9ib!65+( z7c1xdocyBTg2d!hTO~t;a6o27YEFbpW^QU;ab|v=t&*XEkqMe~B$Bj+Aw)Ag+#m+~ z=BK3EDj9<{BBVT>odb&U(=u~XZIz0H+?^CWU7gJgEzQhyjr1VKfP&J>GdD3k)h9JC zy(Gg{31$I8COk6*Bms9ASO(%EZFT*i_rl(8|C7YztU@eoAIqB_Y*z zpmb|fkz3&FYvqwyT#{c@2^NAR_Tbb)2oJ)|$poner*n|{#AJ}~Y?TU%@>5EaQ&YfJ z!)1%}(@M${i&7oaQ}aq}l^oO3GV?M^Dis1i$z8!v&(J^*;#jzj@{H6xu+I#24Gnb- z%t8z;tW3?VOkh6K$Lbbvy0gON7KkhnZh<5z1qB6&4!B!zgfi4EHu|7402WL(`WOKT zQGirvfXX7UrXUwLJ1!f2aG3=vzwEdW1!HPnimg(SlD(ad_2iEX42(^g&dvcC>63v$ zV`AyV-QLWO0`2=%x*U}SMYe3{5IU;V<;HOKu)_==OAucT2~N$h7CT@4w^Oy*Yt*`P81c%ltEQ;<)>M#}#NU3T|NIdn|I@mbqz=LY!p zQ1>o*-x0y{=h{@ty0$MCPLZ+KQi+#x?4A9JL}!L}W#~*+ zah2;|!Majz`V0YEJ!RjEZ~ouk_o~w|f9I~l{9F6mKHg$2o&8~JqJ%tq+s9IlZR{53 z!#)-NHu$3U%gwd;ePc1NpT1U9iS)T^3*W}|W=x!vBD`Hq=tB`t@8=6OtY5pI&inhO zxP<*-=+9N&H*U7(S-y|?#a64B{((8OQICOvfwRCPvY3H^TNs2H8D`CqU|>*S@N{tu zshIO-Z{?iS@X+snqn9s}yBr((a*1=03rDa(QW1v=#}STGO9B~ZvZQu&ea@L6IhEZt zUQYdqDAS%rD^@)CprO?t+hDk0!V@Mor%N-7Co@P|D=yTY`{nL?`R8x;UXQDuAANW3 zs$Hgk_SL+oelPhgvU+}T{;TcRZe=sK2sm*lwg_xG_wxGJ?cZMSlG-ZU(lhB}ptJ)> z*oi~&wCnzLtUvY7p zBm+cpLMccqbA@<=IKvNVQ5U4MV( zYt?@%p~W1LOA$&Ye|i1OgyB7N!0cFYri#a>qFqkBYBObkIv~5NE;ipy_~U=oCyr;M z8RwW?e|>k$r82=yw-VVH6v3WIIeTIK>&=XF_#X(i-mSZ5f7D))^#y|hSgvJF)vwaM z!Uz5{Ke+nhT*|+-JLBFz)=n2y%;vU&S+ROnU97$Qf!z!;=1(?oGwi8M)lo{xJtPGS zqEOHM>-w2L9A}uf{lvoU3ub<=|NJT1^~9}Kcp!$l?qA1xpr7%FEQ7U}WevlFry~Db zbogZ9COGe3C(rp{FT**zBfL;4B(h`I&tFV^{*BU@r)nD7-sW* z+~U75l5c`Q5yu9&AD4W2{fm>~9{YnUhb`W|X7HQ)`s==JHerIB{w2WGsC;={#och9 z;R83rF}}xF7#pSs{t+&!Km>K+uhPFfCdGf{>sXfW&s}$Yc6`!gj>zu_1%|&$ZFwKe zWr!c=BPF63ke?7@?j{U=w)O}Zc zGoJmuzwOL*#gxN`c%TW&!)^aMb%s5B2VOJ!=ze}G$M8X@tKMmvINSoxzq{<15Bz4Z z$!pd7xol_L`$M9;#E@OU&`=kf&-$T^!Jc_R)WXyMxEspXT-eHS^8!3gvi#juXVzfP zSn!A|?wcDZ6ygtN3vEh-XH4lCb+Pii556<*$!XR9%g`Vm{6~0G(VCDberU#>dU5^h z>5MygwDtcnKHx3hdoSIsAlAuD2Ns(t%@^0dZeQg2z5ZN>&ku=)`?43ea^BnkcY$A_g!h3ISd~CyY*XKh>tBm6hWwZ> zy;WDY?%w~oi_Kal^umjXHO#+C_i`VQXR0{4BG+(F*}Ch$->m3WXn}h*dtP1ae}jhm z%m&t3(LDbxuD||!0HnYKmgXjydhK7gpVfEQ|IKbWUY)NGRQ_*SqXo-bDZLlhzven{ zp81C_L$rI2Unes|oXPdqZ>6^?woKrF<&HIqze@jBn0WuT&AhUW=i#26aqkxeN;`6R zCh|hl)is8{yXG-{aAR1{YG9aD-1f1&c<()Kw_FxQm3CNhxTfe=>E95B=gbvnR^&#u zWHaumy5c6_bP68iT1(@v-)7vye84~9Yx?_NmH*3oZwWYgNWv0lWb2pLzhoHRvlSd# zk!$Hvm%8ry?h23*yCUDlxj;%xGm*c$?AQ*-Gge$&k!#6gXLSAb-U5)Cw&31dP{(>W z?_U?s`9M1&`qBR^hUcIdIq?V{tIEsbuk$m1h-0{Knib7A`S*o0zxP*PX%lb~YloEt zZZ7-R9cTE%)Nr3+L+X)dGMxKOuD|{Y^6irg39uk>bJ)LbKktFx40G(VqWdQ7pZWT0 zoK2Q8hhjUQF|>+_bo^Dim-E1E#y?uu-rav3&iG>^C|E6RuD#;tgXD$mzPi}?tPg4! z`lYt&@;Civ*fZhtKhDT%c%T_wUjJH_p^n}6O3hmT!+%?M#=YlWY}O=D^kdCed3i{n zgqi-`^{WA|@`m-pW3VYt zLKd4rYV-+T-S)3L&srdPt^Y?n!-qvXss*B>Ut20*UH!SbJHBI%| z^XFB2^}(Ur+zhL@D<>e;{EN4yo&0%vXWaW#kX@f1z)J}Jrn=bqTo3*-yb8R%i6@5f zfhkDACKI@?1uv|B?VF+WZ-39%pXFcc81(17{`yW5lxUYG+Wrd=1p9l_nlG<^<$x00 zkq+NTzq-72*LRnI(!w;pYtVY(iNMS2U;P;Nb3ce#^M3zQdz0(0|9$|4jE*iWWS$7T zxc>Ds;~wq7FPn;B=_QBbS81(HgFV}azl*n}ihh_3a)S-b4XkP>)>y=h8#BjBrcP_YjdEK5r zje@g%rU^jHjT5_;#$WGeDzIzV?3R04>tPUsy>*uIiRR~%)orV|4&?m)FR5YpzG=qv znQ8lH2OiHYVwh9hz`?TPJmY+^gnNwgt%r}M$Cmy)82GhYM<3ScxF-8|*F1&-xdwB_ z8B!Z9SGQI(%(1)vI@U1D*(2rrVR=(cL#6p$Kf?}KKTmT>IcE8M`&ot?L5va$1WVV| zu4O6E+ZNxMa3OC(+Iy%N(jfH%xEb!x{-KUxdC#qB zp~tc{{!Q<%ufMTa?E+Uh3uC|Ja^=r@dEbw7Zn)ZA&LA*R&FcQ6In5m{wN_2m3;`?8 zGbKC-Qg`^hDV*hV!<&^X^KD+QI{iN8*1gGFnV@BRO6-O8uXP#ju|0Us07?m0kNqs( zdoRB4R>#%@`)f}tA7`D>n83D9^z*;H3Co(!@XeZ1CA)Dx>xQ!j4|7pfnK0Eubicx-&t~K$d zqp|$G<>%Q2-_M!7)+Oyq%&)~4UdjH?`LX4P+ZpbXBXRq`vpDLlEcg`o-HW@Ct20o4tl3SYM8@kW!`^6>pPPrSN>C|>U+yZL-9k7%U4qD@$d*#*R zZy>r})l%VP?jC3<+@! zwtPE2Sg+srX!g^IYD=VHnPS$Xw#%=CT|VTo&q;nBn*BoHK=re#z5M#6i|gwT9cDei zcOg8gQ`<$~E@$kCWX!+(bnynW@Fr!0T<8Njnc1v85UH?v-oSiaA$b>;+5MG%kuM6%kTa^X8msW ze}<@s?_6yzeZQ7$RYqg^h1CuV@w&6Icz;;u9>)gF^sDoi$TR+Hto|DN{a(rILyeE$mf5Cs zelT4rY_@6M@~5}6zFi905YGPUQALzU`=iQby+@5KzJxI3I%xj7U;6*@O{U8CNA{?d zGTd6pa8NSot#&1QPcRD~yTXrr#%Hn{mNVIX@5%mVcOg+v@ifzNXz3Jsl6U#lbc^Tr z)DJwK6Wq0G?uxlCOP5Cf$W?h4VNq~&EjPQ|Tl?sltAo$gD%c2qUiczr-Xi%UYr5C> z8kBV!FR)*tP3_Xsx0}pJy3A~zx3Y}mip_q{<1Q4QVurCA@9r0R_%|N=CrFN;j}4V zomkX-dFSz5^ zy6X246%QUb*SfWc-S}nN(;awfqea~2%!E0NWuAMV&9Rv3u&J$7tg&mu>SFGb(#u*q z^!|mi3VR-6AGKAwB?iyXsl ztKc|EI_VHA(~ex>Q+jOmQ(M-_9FdcAuH5$m zrMn5G$9Jd8ZMy4zD^~eg`o%i2sd@cjZx##wzRa+!A;w2N^YYm?*Z&nFUym&hHNRN5 zeCY#G{~KE$-!Jp?ouhrgtlrn&zvhAVUhRwTjTvf$RUhuZD8qPeXMWAYZM%=ZljhmB zmLWXH`t%Ej`hl&IpxQbnEmmO?sh#-mt_9+-MDa>jZAz%UBd&e05*-`u%VBF{|IIW`6R$jA1J0gYW9eGy9W%&f9YP z*6&Bg42z1@*D_A%C@Mb8lBvsJsN1q)|3c-W`+sxVpKrH3WmzuW;2)y&neWEuIj`64 zQOoX`P|5`zYSCe?-}2d_@BrVE;zxTY%+GDz(|PJN&#aD`AJS*T_PO5?3eg`g;)R*7 zwqEm(D!KV$O?@tlz@fNI`|u`(KbL-fi*?d_#QMm=H7<8q!~5V(Q=&FMp3Q%A)62i= z=X2`W8jk-m`QUh^xbyGLIrTGk{$D4le3!plcJbF^f13|p-Fy3;)ybb5_AS4>aMFE$ z-G6hxUt`#i`F|nr+nSBvEiAVgW!w9Uw?cK|9pJaPI|BZ`KzDbPP`#8&7t_PYlO&`OO-w= z_wSmo)Kqv-{hUqNvtuhizIw_O!mO(B_3PRjXVxvAzD;|}#)$>z?*47P{a$YO`v(cx zHS;c|Z*-dVY5v(o0gs=}w|Ct4Wqzp>=c(j%vgY4>>es(9YKpyVw<)_k^k?|#pIiU_ znbiIH$N$GWug8Dwy%Xfb0jX3|d_V5K-7o7rS^!<)gnpW*ZQz5iCNFQ4JT5xD02eGgDdTN89|(2g|kR(5S z-fEXwP2~k=qdqms+8xMM?tH4TL!~J`dGQ5R#h_dA=lvJIW|$O`s{5$cxyj_I)w@&5 zbC;Ur?6vJY^Xhw+RD<5FWs5gD+*@8E5KDR%vyxY^iieh)u8Bw0{wqi>}%!%@tQUoo={X z_hsdapE6$((~qsNYRIv(ov`e0v|yQr=4(-vB}v)G9cS3D{S|-cyKS7c+>G@%<=%!& z=PW)lS(DH1QT(nnWuE*$*Ji%0uf8+Q*PiFWi*^5^p1WCnTcy?%_V?6_C0u{m1phIB zS~pKsx4)@Qx%9XxdFhiYp34^fNIvv^ouyUuQ$~$_+x-}p?{oge^IwLQy)XFs*Rqsz zEMIMfem*;}liT&k@~`y|tJm$%D&TN-<&Zq&_7hz7olx47`+6Ox#hEUZ;s=|rRISLU z)&8{ox0zR5=;6 zddp9%Zhs5B{%2R^#@)|qgk4(&W1~(^&Ebi@JyC~a%_I)5sF& zP1O=e|0#HIvKfLoBpg=hhfIeyu1L z+IneYSFrXQ+pibv73#yb2p_O3-}YsG$sK{(|2@vH6dJlOEc_wsY8;w3tcnFn0URLwexZ8>p8dIq-f^^+{ja2>gRfVcgqUh zKjj*a?sIRik#fwMuio|lS?Kxs`P1r8&sErX_nV#4{`E^|vFFO`uP=Z5 zxiE))`Z@9TtkcW*oZoIg9wk($7?;q!%4yxAH&H6(CiC2t*Djdi^W)X$U7N(#Xk4w$ z`=xmDQpL8lTW%!Wk!0DsB4f?V)p^MiWah^&Pbn8@d-X3Pdd=s<{q5y>Elt(C9>njt z^LO)XHT!~7Z@yLetWr0-{++M4q^ha!3*YX2wQh%ZteSf;?C+eil(IGAdGQt(Zts3S z&+6ws)qDCaA2-}o|8>>Twz=;9g!cs&>N3*rm#)9Rp#S6j`>Q_G^764R=--wxzj(&~ zegCe;*9tg0b67H6`*xM25wQsHamc2eOz3bsk zxnr-FU1s?6}xX{=Bs^1fq>2h3By}#uK|2dY& zIvdYVzV}X+Gw#FdH*C*kj=AVr6@T~1|NP^|YDROxyS%K{;xD~#@n_Ce)~j4M>zqQr z!s_p_-}BZM|4-QPeNyx{+f(1qDT=;oJapq3pLKoAtAbC*c}}1C@Vs1-M|Scf)IQLIsiz%gEl`sJATT_DTi^kr2CI@m&?s?(P4laK7mK_p5q} zuJrTYZ}o4~?EC&>?d*I1XS{rS|Lp_6zQ;N@Z&d%@t$jRu_thB+VvbiX*2{mrHZk>W zfs=c6w&e3W`_A7lo30}x^Cn|o_bE<>t(#hZo}2dJzV!byt=Thjgcp3^DZgX?dvD(R z^Z&R$WwO6vG>GS{g5~$F2>tyNLCIb5bGGp1+peFkRBm~FZ1;>J`EAYyyzQC{tOsW; zUcDmyQ25;Rqx{#5roFd0H(^(d;-??E% z#hG<4-(G*5ywAC+VDe|HO{&*4^4{;O{&sI)!GnvxtOH^c9Vh-(Yx#WYoTlcVZ9g72 z)-2_m?Wlafkv*ozY;C;4{D1rYUHvZWSkI}bedO2AnJO&;n;u%^Cp`~bo4~L6RZC0$ zsP&_$&l!C)KU_K%-hKUZIJ4J|sn@j2`BrFoE}GoXbwusawIzDWy?xJ{qQ09y;n6Y%i zsSg$WHG#Whrj$+m?rfyqUdq7J@J23myU0bs1n&QtjMFR=V)og-%Rl$+@ygf25ffuK z-Q55EVm)JC{g1$CyNXBOboGS}a$c(pDAK7+Z{05M(VDE})qbb_flKz(eJ#bGGI?ix zoxob~`%q)|w|BdjuU*^lWA_z4CnM1VJqtxYMLy#zIaOD}P%?4L-8;wEcO=O9ZvE$9 zTmOI7Zn=_nPDSlwQU7Z}!E)}$)Q@xf1s{YgSeeBC#hASqrR$uA72l?`Oh4pM8oT)QuWxoy$2~Q9@5x0=H9x%W zqJ8a3di@;1gqxe{m)XAlkkOZ^C$N5{Ocbm7@eMf))^bWszEl7Fow++b#peloQhl;% zUH#W}c1N~NX3ZPMAmy%{CL|`kfQlZe$lUU90r%SsfAq+Kb>XSnHXA|^DvZKMZwMC;qMFo z4z4q1KeThz#x4CTkMezVkp0@eWa{3vbJ^#fp2N56{?d*e_VygvckQ1~f8{-0;qx}N z$H`XG?+OJj?yM+P-0R@}|L?y&{jp3&U76t}bs@P+Y&vgfw@=Qu`EvOF;s-e|1ul4* z+)lSX^INZ@-ZYExZvJkb1^LAb?u9G;J?@+T|HQks!Rrfr-FO-1`%bWuTO+#gZqtkJ zFW#`uZ4~$&5hrI@vpr^w<%9X{UzPsNEiV6eKDYdR+b^%%>B^CdE*^cp`}NPQkqmV* z*8WW27=KLJ()7R5Jg)esP)V=ACa(zn{nJ|noURG(x7zo4x66lohGSlzm$k2(dG8X( z%uO5{GfzZ**}8<|?DNF`j90x&T3@UD)!?Xb3|w$bBO`9bYONbLQ+LgOJo}cU>q4>A zUA(!g-xl}yd2gzZXt~+HwseKZH~mE%e*9UtUI}cvcJ8Rs!?SK)|60J=`oCm;&au{_buZsfefwPM*xS41=fgpr%Nyr5=F~^mTo$Jrx#h!l_tvA@$!{8-RA*pT2#<}oB8=Wf^mi_eDPdgW{J<}-g@>g=K`;Ncz&!$@H&zv=3&-O?6{c1g2clS+top~s8N#xeZ zj;`okSv)_cEt-2m>CrR=AFq3zM{Z6$?PS|;*SqL>k;$#K=f3`q_CNeE_Tg z;PJk6>bo6Ge4mvz9k=|xQv6QI+qtK&OFNy&f~>V#lNP7jG?~%nUiW{YrCZl93Okyf zYgo1?%*U4P6w~QttCnByy}I*r<*sWF6I!g3mVOCR5&kf7-sgJ4oR+89QU_Bs(2AxD(Fx;@7}WY5;CGuTO{?nydjHX!-H*Gs-`yL%=v@BqtT}V|9+sb5`SHzPH`6MP^IA7g&f7eT9b^rYOYYY`z_8sqBtSY^_#3kpOQ$g5_ zjT`Sf|4yk=pQF$>aoLo>AKJCt9E*EBbq-X|d#J=asTIc;FZP7WO z5dFXH*W7%z-reVWV7cY;iPskWHQO~SW@*mevMD!~J}lwhHZ`$$Lie_x=TEh~E8cQj zX?@pvcE#P#U*;{?D_?f5Zs&!hyxrn|&RSO1*4|yW*SsvMtzLMW=bqz7cP}}&T~gy( z;ljBLvEB@?9;<2p{BGPocV}wRnqP{79=l$-obmcNzc+Q^(j`{*yXHDbW%vK(OMTy4 zeD>F^Ylr1GZr7Lj@kR9ayGpN@)`HXiU$$2%obbN+fpJq>r5$_BpF^|Pr9QNCIwZ4_84uiUTWijzaWO>TZ(Pw)vt82#w>0VP_p^@QY2Y7zq2s&ZM4vsp zo_YpHuQ_!;?O0%G@7DP>a3{0F`IX;GQaxW}Pcvdz!|{I8#dq4`Q!gK%&V70+%Yys) zbLFG{On>Dt#ck!5J&WG0k7Zr3`uw%L+J<$h3s>G^SNEQM-A{NbW1#Bdt9FNPU7TQT zkyrhsZ*Bd*3vZ+2SRPc==Kj91^kCXw+m~+=f867Zsd9OF^HtTq+Wk3Z4SHrTbB*e@ zB~`DU`$@ZXn6` z*8Xs;(#20HKdprW<<%CfnY*y_(4>lOy-VJHYc6Lx^7N^SY;n87KcSD=BJpS9HaKm~ z4eoq&DTMv^O|GEZ@AcYy)Hv=>IyCjinu;$%6}OfJJ^g1=v~K-$x4&P1pH05%e%_)i zt!T}p;u@~ANx^bk=Kk6}N$&Oh?~{~QC+Ebx67i4;eEW4ymHaIiE8YY1_k?9LSUk_$ z|KwWjy8{Pg-)709;p+@XLvbW|H zv#;_S0`FIp#E6}DTlLwbuD{POtEt3SX|EPjZ%%nq{;WQES#Ia);h)z#D=(~!HVm45 zYkBKj(Uy-koVA~~$@y7r+iL0mH*d|x;>X^f|J3TXynC%}-f%N>`qIr#Hu!{v|9@xO{{t(J zeOu2sW4hVe|E}io*X27)TPBpAz4iMfs7br9^6il?iy3PC8e|2W|?HkE6=~x z8PN4ZFY1hMP~g+ITUft-DXMP}o4NKtm|vI6oS84`Z!OpR6vgRvTXgZM%9fj|ehrhD z70yobU_ZD%biQ>;TZ(|j#pqf4^Ur(EZw~1xJL`CT`l&gJRbB1}83VMqZbX(J+WOW@ zt4Me0?^Wim57)-nzN&bBC*k;&BlGPOub&gvp1Aq#&e(0QuCmv(xqUX=dwS`j)`NOq zYhGoWl$ov%`?37I&rhjGp7^3 z(zpJ10}W?OuAe)@j{SgrmhXIb=i6`9zFJ!@t9?G5am|@}vAq$Opa1wgNhD9c@+%+n z(g3g48?%aYrfgBMFP?3@@wS}YW`##n7tQrjS=H#(ed+0St;FXCZu_+RglPZXvbRca zxA$5dt5~OKkK>oD!xl|eiVB+beg3-K`SFW?%n@n%|6zCPt9#Lt%$;wMmGvox(d>2Y+?jH(BEQ@|RDP^XuP1)iulJk1oQ}0grSEk~H8Xqa zZSvK4&O2En_tQ}+5ALMfegA6x|ElTLU;0%a&tA7R$ePWeDBZpFpS2f01_RGuuwNJ_NP!rl( zkj*bGC3-zQHSp@5-R*ylJBBOnNtyjEW<~eXl^^~IOt(xF`1bVB-jv-_CmHJAyFJG` znC0b^rYkQ6?0KXA9^iWQtiqVB>rw674_YA?`npSQwMgAy-fiZ;@Bc^R+viuTTIH8x z@{(ib=fw{+F5Z`&zwZ5h=3O557Y5BNE3&rQ7tOl3-7+@Jayx?sXkG2A6}*ZqIWfoF zb3qF!i(3BdV%W-jj&q`yi{o9>^eA!D&yO}+hTZZg)!sFA*N4CxkN(u_f1C0`TX*$z z4i}e1(fhwWcJ;0C3R*&vb=k$6;+G!!ecrb|nQM=(&hyq( z)y$8FR8(UGayHj`?7AcMtmeOUu21xa%a&d*bea+$UAk7naOor0qx++D3oDVwvdcQ7>Z*CHM9hdW=GH~zhHvT@53u!-LE_M z`n%&-`n-My?OMOIxV!k@)!#lnY2TOCd|hWYY3JX!t7rZH-@7w+w*7|{bED^LEA?N= zz4<$6SD)>@G=+{M&oxE=t*m8!{=F<&`M;~W|LdEcn+mU#diCvFbMDZqr{>S9_HG9) zg5!v^wx8W1;N;PG-Opz}&x6fOIoEGrt~{}^$udFt*vn1HW=EslJ!dDZ3QVzjwA$>q znHSUbg(1ub z3YYD=oo5SAy4uI@F*;Nm@wH}eSHm_JdwGWvr5Cx~e;KE8UU3PSE^8e7^5fDKzfwYL z|D4>tJb%87bhYN3$pvvn{}5X1Iw`yAc9TMQZlt@b*je+7 z|1WK-_$g7!VOm-+hx`58>1JGWo}AyBb^qEEiA(pS1pddn8^8ab4O(#L#E_74g$*>*%0G>poqM`{Zp~+vhUKlj zs*20XEGqa$*_xed0eep;|y+(jJq5rU+eWnoF6BB zlkWEJym``uRdnLj&kz0z)qi`V(ACay>y1olY@qm;m0uQ}+wxfK9P^3eTgPyrn-rU!^L&_p}te+x9phA ztP@&E3=i0!Rqge5&*e~Tsfb{iAmDUjSHgo2%e)F^6<74#S9>V`-?EP5<^8onA16NF zkTTObsKfVsMftDLxzR%Ho+Uf}-szZOvi8na#r)R>AIjJaSFoz?a-A~0zG~u*g#MEq z7arNioL~C#3*SnIYe}cm_*(w1GB)GApZ{U)ZB_2CthUh7FTQ&P<{BmCi%u;nfbYb7>0p6_w-hK@C|0D%7&icId@FM3G-9md-%}>0=a_Q&)vNMk@+I^en zPJUb;_8v5({AA6A^4$KiDJ-n! zYO%AqQ$3Bh+lgx5;#@E*$7S)9TRrJwNB3tri(h}8r~U2f{G8uevZAhr*X9`nByA4i z@#jv`|F__tdNBV4xA$9jFItk!S~<~C``cDyg*m|+4qAopnj;_EH}_m|$^6^(pLAMF zT1o{ED=c7L(V%bpamHM68B@!TS?oDXHPaeBe}>-{vKC)?USNIvJTZayp_dow`OWO} zEXk^H7oTwN_qlBC=b_uqsHjxNT~gomr%v>vsmbSm`|YxvITVj<;;J_W6)5b-U#l&T zXL+#xZ@TUu2346{t8(`(MppbmoFdQSXMZTUULUjdK(5mFwJl!jq+3hXG;))*X377W zuqB}5!!3ux_Pr}NFWmhi{^g$~D`F1*FzLFp<X`T2EN0ss`sU7+6t^Kuh60IK>!2P0M#X zK0G)yeSTE#J*}qYKXT))ESc!zc_hGd%`IQU*67Ye)eUPbuHJ5n$l<)s+oZkz|NHau z3T~;*zFsVmuWO_?X2=T}imu<#u{Za>*VO-i4b5&Va$PZ5wC3`owRc~pe|Eg7n^wMO z{?0r8tQC(-G*hd2iban6;#s+Mr|jC^teVp^C3`xpR-_M z?37DK<_2fJ{8!a#Tr$OGN!a#9S}U)-`y#nc6}SuncKHy zvRxFuSR7YAI%hu5axZ25nfG!&i@uxcGPPt*P4LtuO4pZ7S3f84^vj0T%oRCrS$A7G zZ;*evMeurDOz(B`eW|~n*<1Yn5qmsOO5XZ9WAe8Bos&K9iZ9oGuW3EGx^c_-UGIHw zU#z?9<8$)6B!lloyVOwYc|V<(y6%!I&TZab?{Le_;@;8!zqc<<&lCOlp5fnh&>Hs% ziEE6OYl5n}l0A7vRbdU?j6cP+t!qwIDAnD%YnPNYoR3h%dd}GK1r)Qs`xGSt;ghhdE0*$AF?RfGBek|?asG7mG*%r_uE!}KNCAS z`D*vqy4$Un%-(XmICbVl*5!pCjeb}OovbrdvD0SRraRPxivd2Kh9i9Y|#igZ;_H(Jy4c;ZS+x)uL?K|Gnz3u#|vfnZXYreUP{Eto1POo zuAS0}<~EP+-w=>x+Si-Hv&4JO)Kd?ZrcF;x&)dE)ucu>qa%A%9g4i~y{QB`2- zT=A86zfHMa?Dq8MUn^#Xna^_x!}yzgORu zihAzQS- zJzqblDB?x(oLT1<%wPS1r}FmIQk$t7>H@b8wZ7$yJHQ{4`K{jTrS;W2-#-~IH~-SHf=1lQW;Y^}(j!B5zMmH$BtE zwd(csH<{aR`ZSja{3&g_+9bhfzHsLE`r8?26z_Guxjq)p3VXlaR6@zhyLQ{(cTw*OW+bcKVK3eIBW0)e zd5g4XhZZk87SEaxTohXx|HkI$BxBcj>p2m1vG z>y8~s_n$K_xj*?!)We^e7Nu@S92wHjf2|S+mk*XQVJGu7KyhQVCo$_;3B&)Fb8atr zF3o&G>3^&w!>=7dVh-U?wizw5-|M9Ht2;1Vf7_M=q4T}7SN;BcXrn}4{$_j8gG*0r zIv*zSW1phDx$NKb$BlYzUTduXzh<+M7gNmqHO5Qmi(yQ7Uo>iYq@pr%lZ0A67#2i zlbIfO`j?v5O^JUM3UmD?`Q!$CFA)v>!`=YekhtF#v^(fYL8PtyV$j?+*T=S#Gs7J| zEN7VX^#7i!kEj1t?%C01rPo>G6&dmJyp(=V>8?^v?FqAs7Yk@D{q(!pRZ{gt|5c{4 zhCO+XdHFZDP0G016k)BU6&m2@eJ1ID?tJgEmGe3l#2#8-eYAPe+SYwsk7_=9E!pwN zQEA#?%UU&bu+3~+Sy*KwB>%qwkOBZroeC%Q}v-1DG6$|DnuRniX@S@72*)?Kc z^Q(NsO26H{@^j^e?lAShsHZzFEZS38aina|g{zC~HNQRIzViI9|4{^}tKJu2->I9I7`WPcdxZSc3y_j?N9nP_JciN76wI1FHPT+vU_iztw!2X7m@Vd9k8_k;Z8B9E~r*d zdf$3_`^#)K@62D;v+r7875{tppvO+Z1Dl^!?alAI#^c0cX#^b$G2)W>(9Kjco8!`= zoL8pa(fO>?`Z5w`()Lc&qxn zOJ08VC;k;YyifOROn$n4PM_DC>2m)I>c4Cj`1QO=S=~l>=@*9S)`q9N6V`F?GgO?6 zSzrG9RO}=Hr)kp!tph==--{oQt(=)GTfo`yxN*~itZmCb|Cgh^`}r5E32O?SWE zF#8STZnxUY+h25W@<}RN{8e4ELhq|qsofLz8&WK%{;anztGXR;n{xZvbgqIm>kco_ zzW#bD*OuO}J7qVg^7MMia+K*$lDE%UKZE&H-=r_kBHEo^)_$}MJHO|6dfSVSQZuHS z?OL{Bjluf4ufNu%Kh^iouBwtLx&g zFQ&^vR@>VBT6u&&Km$rJe<4g3I_7M4cTL-r6hl zzKpfu%B7}+R~GlWUnVxK(*89+&hTxy>dG11O47c8uJ-NwZ*=r2N$uKewf8y9D*#dAK;xI68A{)_J31o2IdUV`P)Kly|8tX%eo z-BvZ9tZ?3MW9{esN0k=~1*gB8ob-E}|F*x*Cs{g=`0hk?I3?3)90^x%Nlk_ z55MhsQ}gfY^xphBjs|sx*d*g~6Zu#l`9y76rqVZysi08P!7$0|%tu41`O80*A1S`v z{HO95XTs5XrIOqGZa)3s6}~EH?lkfL&LYLz)=R~DTwLWHZKK!cUF;yrvhmgYtgIUv zH{bBZe&J{R$p7HMnJY);+dbVe^K7)*v3h|6AzO6sO?|=QdHMh0xu3sDT6>?5Em>4z zVd#?_Hs|&l&iWMxt|%Ia`(5Yvc)xgGpWRuW=!=}HukJkfVsu`<#`@T2W2L|K_OrVF zSGyNiI&nlsfqlfmsBqvslLhO6nN`(#j}||=&cx@z{g`nTL&6QUjlE(2e$>}m?dfX| zd#kx`M$}Xd1!>E#xl305Uz+;t&CDt;h6bHqYrEytPM=8l)kyY-*3NJ`L=Gi=+i{`D;6(z{{Od^v;X!PAzQY(9;cAKpiOVLbUK9>URhTb zkjnb2C(Hl*=X282WgnckozgQa_1V|rz4z*S-+gKk*tBJe%wbUd)b=>{``to@1KbQX zyd6wO-AiVNG6*cX6wt(eB6!=^eF|!GgO7VeWXD}ta>D%WkBkzVK=*@}w=FJhm~TE; z{`sxzA#KkO+1^;O=;XCbgJsXpto}S%r-VIti-DE(q(`lKxf*W@f68kV*05&ok9K@> zTOc{y-TLIVZz=WmLXKQIGTT#M-92yd@WsYl;m7ukVSlne3$st`obp?ftJBz-Gp&A~ z_@!T)MNdbDwVe$rSa-+%NwU()i;Bt)$Nx#co^8h7`sIH?%e(GZv&+qXq+c*9&|AG$ zaQ@VqB8QttH?8?2+)%#mPb#Nk%1?=f&Qk@PI3jEJWM+NSl7w>W5} z@iTn5ST!TrIcuL#)2uCfP5!M}zp!G?;@X1)D2^J;SH zX8n@*#J=9gN%JhfHoRIi`S3pf(`UYdj*i$_G+m`-!qaxh*6pLL?BBnim%3lG+hN~w z!OL&|*Q7))&5h<<_xzf>;oYuJD{frb^Fm|ImI&^b=gsCyZR}mtVal{t#b`Ij>$|hB z-zb|UIHBwLjq4U}8?QCysftYr&RyBI+a>v`+!NN)puP9qmv7w>_WZWT-WmUHiSjEH zT|c}nzw*3r-_4&(yjE>?KCt(~cMCHir5l-wM|Pb3rtfpUVCCaO)=ZPKSMW3>G?!gi z@o$OXuRGUnq}d!>$$Tl3<0Z$f=ML-tEI2Lr!ChZ;j zhdVpt-miMPUqrEGjSgg2QX4nlyZtXRAJ6t@DTrD+WoEEonC!-{^S`ck@1CJyb@-k_ zTdwuLTF*0X#~IIDTzMgg6n-qzQe4lcXQ_SZ^|L-c#toS@Z<76O^PY7rHuv8vb>Q42=R;jL^c+_$XO2*J z5Hp>=<-FM3xq@%XR(|@{*KqXR)cSRAm>&kq%t}|k$8op6(Na@dUirt@GTmR^=d@>Q zPL#-*qjLI8W%1s7?qSb@S_C$2+Q6Zp*dh?*&@i9ngT?a?M-&`#o=Bx0T*kV_x4SRh z%-zbP(9=%;Qj+1`A9f<^xEEb2<#;ABck3e4LM;tt@0I`gJT9HiP2Bt7zy+m!q2H6- zG=!IDZ9f}wLRMUh*H+~H=Q8Dvj1`}ol9!fB{5bv7?spl>k5?xz-~RvXNAB#p6P9nh zel5(=POZy$Q~Tw+MlqAZJ?YwY_ow@43p8%o_WH~J0^L}S4Wak0+0D&;;6Lr#=KdeI z(_OpkYxf?pd!C!KJaNXyOUX~;|8ALJ66~06?qMXx@L-p|E~^IBU@Q#NJ5CrD^m=HX-N;t7aaOmxZp>fH-aS$`w&jRi{dr>jw9>dA+8agI z-R$zy)ys9+cA?|n7x@?P&7r*Hanuc`MqUTnzTevU0*(U(WKtqaq({*L(;XWhRmM_z44t(wC$Mum+W3%0I4?YZ=}NcD!#e)H3u z*Q8De(#lzJU;kOnrsuDhs%`bW_AT`c(+>Fq!OyGqp4at$-6F8b3(}8I;SiU(Q~x*e z@$CJIO6S=GS_D-@TO9QGv_DS#9rA`DaLdgpMX?QM-A_->_Rv~z=~JV}vqS8ROK)*p z=Dfi1D4|(wlI-Ub*5Pads!X8*=KVL8i+;RpsM){tZTy?`%XxEz^KY4?&$!Dkvp4h8 z|LRlkX68n#9gBa^aPpYdW~=7y-a*pdO1oEon7`NGY_Y=5wwIaV^@q~m3Vis!Cbwk9 zhwtax>#mk9Ib_B z7K$xv#HPIsp8_hx{XvEJdB#0=>c2U8x*xW!v)d9Mes}rb<)M#?4?bTWp#J$~pjUJM zp%rH@+nQI-Y;O_!+uRpYX1&(o``)Zv z{~RB^1yi=YxTv}GOZmB73=`~EFE#$OrtOYpsfIV>txVy4XVdl<&GWdn_35Mc&#U%6 zhvXE|gz%Z5%_<(82m75rRLUOPBIGGB-F`JoWYiWhzh8eCFIm2Ju(`g>@%5?iRZ$KC zxqhze=kCwz>fge2LTT-}ohexj%#+UVTL19>rEk7_CY(+_aq{G=y)W8gwD=h9WtGlL zYluG2zVxKH@wVCi`tQ?L+SmQ!bobAjD^cIuJo`%RmL^M0y^LFzj=L}Sd9${zv|#OI zH_PCdn{}oc`L2z&+E7X~KQ; zzc;($wAVClkw_@2|62L#=Z4GNYnWZWYxZqV=`HzcpLyHu>RM%`H`%YnM3lbR1urss zyyW)9>wYqPAG|q_)%|d)-#MNAl;TF6`Ymz{AExY#d;e%@{wx8fFm*^})P8Wb`B^*W z1IHPAUS<>&YT9dWvwE^oEbo?}LWkyC*&x$7FN6QLbANis$7s9X{(Px)L|LBYlaG8Yo~vD;;VT4(dL9VACA9#e*Sy%g1Mox$pNJ^ z7Ww+lE6r$cnzc`8*Yv#2e#=!KJbzZT*FI|2G7iO*TnF&cUPUwZR9=3wp6Q3|?pXJB z>4S@v-(+5q>*#9^x)Sf6bh`8W${*KHFSS&j;g$X}Jo;n&btZ%%UQR^as^m3Y}xDhp*{Oo-7?Xy&eC>V zYos6@+$@pLP(R!s_Qx)`DEvMM=&+kQ@yVzRgcB`IX*uj5*Tk{{MqO>UFOceJMv(3)h#WZxY&e-<* z)0dAnfA_1bcq{d)@-Kt%!Eb@lM@+sQ;hSdTcU+KM->&57JqRQYq4-tMm7J*Khkw_e|F>W>x7t=>N= zcj>E^_Qd6-CtRL8{Slbg{$QO@_3F*v)@rKG_j>iB^W5Bu);~-SA766&U!S(_`tQf8 z*}Vcz*CZgBn7?Uz&a7IqhW^e4OrJV-&1GVk!aC3X+WYOl+a4Y*PX! z;=hr*F?oe`Gn7brWIM$CjkiYl*6ir`C&c|2cayaKO)Ei%ay|?1y zVGhNVzeZ-@BOfPhJyUP9;s2`l68AqbG^DpwKC+XNbBUWWUzF=&g+gGy<8zILGrHzW z9RGTHx#iMrF0GY+O}|E}syl44T=wtv>Z8fGvs>!CE=@G~dH2Y{_LWhd)Aw*s{Pj($ z&Z>2Lw$F!~>hjiqKMHTpuUzUNH|vY+zP)LSS9E7QciC*-|5)Bj@W7QnMOJ&n|3-$j ze*E`io3OigX2+~!3IV3_XF_@>{Wve9{mN{P(7NfhPMv1(rKY1>*u& zubm&_??|6?wLG(Nl8g6cZ5PG#+h2eGnUkmaMql*z<>#3XC0geFSLfKKvAp)z{yhKN z>DD=anQjFNz7{#r+b~;v;!ky%y^q(u^qst4_rOW3S#Rg+eweo7#f1y4Z%dZkbKjE7 z*6=>x;JWU&z1(l}vgP33@B1EYGM-nX-!Q+VA>-rxBg>-Q4>0Ii z`2N{flGa_L8e+3-fug9@sdvv-}=D9s}xxcPTq{yn=TD;(U>TyN8_~vhJ zU3rUa72-CFJ`tL0G4*ApPLagzYkVTnyOUPbKD5k#7iuJ@Huu!I^vRtr1)*4EKde5tkQnoseZ^k~N*`^QTHMS}6AJ+bzdCMf$hr zmYTjhf9>1gpm1Qh><0D&fAsHGety1W)gi;_cJHRV7k%)*^uQcBed`LV z--o(yYG|Ae%$a>C@ACiBDf?8edHYTH5O?94fyefnnXHF5G0b|?*_Zm?Y8B_Sw^}!H zj-BoPc668gs;5d z;ldL_pQib4zOUW%f3b?no?V{Pjs-IbYjoGu&ztmnXUF7_B~cI8{dbNRS`!se)p%1? ziv5(|?HSwk?!R5Gt8wt=9vPN`&f*#32mhR}|NG1K@$6-rKGr-qXI=R7^1jE18R90r zHCgiV-$glntF0!wqD)ujdka>j)&*{u9xms>x=DA^^-|v12L)NHZy&$p>UDhfzR*)_ zbLS-eR?V%yl*6~x|JE9&CEET|{s=Dp__>uK_gG7u;DVBPzR7zT{N}&@y07rZav`S^ zzgi%jmCnk~%WiHDY1&@)H$9Bo`o9`S%GSNw>sB9Ky>4G#EZ@@2hpQ(uKG;5W(UEKG zRKCW$_IdlUAAYKI<8i~!`FkIB?Vo>Z$kqB7=k-_r zDuae4Q`_CedO_{(l`r?~`Tz3wk)I2XJNZuUIR4y{cWF{*S^f08D<>=48(hiOSmGw* z`1SwwGheIT+rHV%p_nok>T;exzn(4bm$LZ2)9cB_Z5nZfrVRR8+?qE7bCzYrmvCHn znNqyn(OI=u;M;pfmDB&G2HoC#e%nWlj_;gLf*HQess7mdepclbWiRK;XA>H{{Vl&v zXZW+M`8L<|u(tAog%+_VH5b}XcMIr$I^#xDSEhA$=f5D6C~F3%K$|7rTDNw7GRS2r zyy-Ug+xEmd?!-}jrhzO)t}-qd($+1lTaRa|<-T|Q)9clr7K&#SrS^?t{WSshQ7 z;I3YOWa|0)gU{y_`+s6nIsG+p;?j2^OKx;~Ow{<(=yqaS*C*byMHe0yN?fepeI=oN zr|0gfm5$YGwqKri`$ly}{kf@|q-{bUnS3+}|M+d;jwb{)#OVdYNSzUiW;Lt35QC<%hzo{kO#!bSx6~*Xw_*y}`CS{!ul%&VfWn zmf!4r+*1=6C;V-QW=MH>C;IpI{w0fB1U9)%JrVO8gJM==#IFQ$t?t=lA!sA9Kx=ldUgR4J=jIZ2WTj zI@SQMV1wtk-f-0OzSZEo_$Q(MRn~^fj5*Vq_w~)Sy7+VtLsFXK({7hp#oTwJdj2w; zoALUqp6wH34#kvaNA?3&Pi!|Iuh(zr=Q7CbW@Zgp`aJ1Wf@02-?d>Ypp7C#KzGNXO z#;`qJq0{*w<8Ri83CC7$xWDt-PKA%Ps=bRBHtAU0Z%a66xjo)R?7@cn2X$3)xy9l> zewAiBZQKMJ7zU;7`_CH8TRQfO`MouaYl(bQQ^cU?C8hNF?fVi{t*rT5Zr6M|biX@W zzEC&xe|QYvmZ`sfSO3r3c&N7hu=xJ3AJaQQhhx6mV>RW$73o@)IM?%AAFw~##Vldxrw)Fq<^*;`=Z90`H>!2d?Jh(4?_Z!7W>z4ihxA#@Xvo~$M8Lv5N?c8D+OJ56b7n!~>c!~_e z(yX7ii2U0UWZ;~ zuetH1bw1y? zBi#6T--iWk&UbpR?rbn!#CW%iD_U9n(YDT}qNL8Uh)dG09t;+dUI)rIiOeyG{#WSaIwU&-H*OS)w)yP|DJiThY z+56wa*Z+Uqoc|+o{?CWTyBYJV4hiq)1f94mGR-;dL;hd6h~K70i$31-xfQGAY%i>E zd-?haH`ct2F^l@jzG7ckfV;!HgbzD)KCVy}Z{06G+rISE@9Q`ED(c>BXVj37E-rfJ z@RHAm<&|Q4&40rL-rYA%BK5@| zPOQ8rx>xqr+zY-7rPi-Z@e{5puPU{gqw#kq-)iTBeqvK5r|B+YoRe0nvB1?O#NFlP z90}d5N74B^)Gq6*`^+eif1oZ``;1lNM=?V^v%q0}(>T#to~u_c5f$&f9J&1N%)7h~ z{Jk`%&$y}m|0#RkpKkuI5BB|LTAsI8H2>!%{rW=2eRDG`rwErBGc^bYCY5W+DD1af zpzZ!_#gU)0ndJMHxBpL7{KS3VHg4W#8z<#U*Y9mqUa)U@249=i@y!$`rswq!KkDiH{&&9z9Aq2BmoYyOWDuWMd2jo) zpgP_Il94J7%Wjw~Hq(+Re7Ydy=_>0hS_hYQ@lV?FHujG5%LfnpWPY7`p#5Jtd9JA5 z@wKb%qPyn3nsM`6?$%in4A46Q+Ispux;5JWU3>BGeag{{EnGrVoXQOXtBNsz!&eYfRhFcg)^2>E_PcDbmHSco|;pxo7mR+2>1T zO6>Kf-x&=a;n(G~v=+aaTda_o?Pq^J^k$ftTJDoK3`=6WKdZ%VIC1*tzs1MUF2KAAA$8+sP8JSnNxj?YlQeuZK>(sMRNZY8TU{_cjcn3v3Dn z7uTL%C|K|+s70lKb)u});;D<*3Y_~mFK)WfuGdrM=#*;od|RNEXD{IM^y#^VD2LE( zyTi|}bbLDF#PRb@1+FnuOY|@QJpJU@pUkO8s@8n>6K5!&o!FTX!Pm(X$W`a;x-eIA zfwcaaHz}G+t+fyR$zk98Y=_2EmT4%%Ges_(b!UMI_ap20qCA>*CT@5&#qjsO02`jn>ik8J;y z=1kyh2tVIgw}vOVOKP6cvDCKu$p602#ouh-I=g3bv*g4zdBT2jrx}eFRU00$yd}F! zd(ozSr=RUwxKOu9Qmo5tn|RgEr#BKLEH_P2pBg?vv?c7M`iDh}kN5xAe|#R4jSU1w&la?uZMeA zAFMxVUwd0R{)2D>Naex@%SW=GejEdQ+38+_LCw(#=Lhfh@S*@T!B9tmL=d9wQ5 z{q^zR&YtWjIxTZ;>LjN%-!Dt@dF{+f|2Adu@&5Z)r&}a~(x@9Ki5gU#oB8~&KU)mX zg1jF*ZdVU<6`L-Qn$a4rS|W5_I&7JXsoT;P1@x+P=B{;JK6LDv!+ zrXKtFmaS*{=WQ=Im+w5kTX+4MS(mOZH!bX7x$(gLboQ2r9d64$nU+i$rSm(rqi`&k=Usbb)e|fC&o$R{UWm`K~ zS=t@fM0D~-!VSQk8=^*Ght;pz2l{0vu^3%^@g94LOU>nit)DBokr zi#t`EX7XfZJU{n0$L9I{_TD$$#ig^gH^11&;H z($5rkf>Lh*#|*v(cLkg8XFl&+&7jX@$=Kl1$szasp2xR<{P|~0L+ZBZUpOu4${fPl zAhJA1yP-)@i`)5V#)Vg#5C6AX+&g7^?ZW=vwu~doy7U$m?%BG0)9&-LdLD_Xb!miL zHP~;>o4Q9{+lKJ1it3*Owzb|;c-=9leDJ2`f{hNOXggs z!{^Y4->tTL@Adq3v1b0+{XUOB?e153{PWE5#Iw&oO#6QS-?8#LWzQ%7-OYG?_RY-< zF+cX-tvZ}r?P35*|NR-D2+@eCcve}zpF#hQWZBKQZ#nTVjZPj5$PWuJc6AhO3)DzW zTI}XrZklDxY@?O<)5}BKUdogE+}q$4+Ic}w_WW5}aQwvN%FfWhkedb>l`|7>*L~O4 zni_u4ego(3`=LMIe0>)7Oi?s2Pq-$jgsoPjx#)I`*4N7m_>Anbw}t*_t&3h%kk<7k zaZ2_%*}06r=6n|qU(~qvpK-=^72%^ZznX_$di_dguQtP%4L*CF>#oeJx~X2W_V0y; z%OwmcyQPeGzGeD%?$KK@)!T6!W7bB>3JcDkdq>i*=Hl&je^%t~{L$$?_h)R{57GL# zr{xV#AMEpH*z?Iff9F5ZbemVnc2O$tT2I^k?u_4O923!SUWP~dbbOZ1SB3qz(lpn| zd<>hmE|=G8dB5+UJ8t(`y`y*Lsh{n?otn47nltM_-rIh5vtO1E&-_|$=)@U%;c%_H zoB96i$D8geJh)#|!*y=?hwRfQ7Zle_i+fsppxCp3>FLk^ub$Yh|Gjwjz5gK+r&s2= z?#N}g+0JnO*TLxg9eEDVK((gLqQv=n)(;bTKn;)Y3>Eu2g%w^%IAo}TMH zV^Sv&{{OF7L+xH0V;1Aq?ONU1@^Xh(|NbADDg9CGY3-x4sG;5buVf6 z-ANb1uJinSb<0Ci-g0-&Ta$gZ%QS!eO`N2o{64!~a>~`fLp80x#N)QSS@VwZN=Ao3 zsM4pKzKxw~{!X&mUhTQwm?^XU;O(~EPJ0~;pC7hH|@V>;k(^Xp9V(g)JzZQ)Eip0wvz z{LZi2!uM{se!;JA)&)PsYaX^T{8MC*Zf*R{Rlk<;SH#>It?%p4FHYNKw&&Z-NhS{G zFCJ_CBgWdh@6-3iEA)=d&)xf}Y-RhiR6&Nt|Ku*EBnHpPOSX1+)w28}*VmnAJFUd{ zGi{#8+_zENe9`P~?O@9!?dW1vQ2 z#gl`HC1*MLlXrYL^Ld~60oRDH>n0lMzGAbLUB_wot{`D{!rIB(*Tu1?22Snl&=0=U zv}tNa{NlZDd=@vmFYPZ=ZRV3cZ`v0}P``4?| zn5*p8g2;lc`=9*oj;&0Wxw|#l=YLzzmKVQt_!`#Qv^^`)&T!kkt$ic&TJtM1#~E#n zRi}manI7)F@lL2Rw!;1rhv@X1=fw8i$S6_{-0ojdX}$9IyLaDaEEjo@$9(Tw<@&#$ z)n$L)=$G~Qb&x&3;*juvxrX`7A5J=$%-Fqc%fHf@sT0*?n$Gdvm=%AFL6+aivGwWP z_{iH|HLI>$YZbdUxR>g+Bt{NQ)3bOe$OOth_6#3lCRhoIFeI1Wynj5vcY%3Z#6}J-22Gn)S4ytml$6{& zkK^unhM7Vkl}SqlZlnujNI^ zyVv>mp0DdFh_##?nxLoL&F0bD$eUO-ui&rv)#&!~A4`J1MSV>C_TtlS$6%E^z0I4R zo!I8Z^O;{LBl>&olePB?eokqZ6)|1^g?r&y-v71j?tLj6_x-=SeE-u=`3Kf@$5sU# z+`IiwlX?Bi@ITkiebDu;j<}cJcV2MA#V~%BHTT)Vzr1yxA#$#Co%~L_D~waVzR$^c zd%jrnZgn5Si8%|b(t9hOeq5vYemjFiQuNuvBReW-m^3O5jvsv?d4`oleh8nrcFO-y6!@%_MY~QjUv??yfOAGlFt1U318JBAsNt= zqP=~IN7x-twQ#E#{10jY^JB5o9+tuIIq55pSAbotj>8w^&8YK z%;t5w?r2s2b75!C&T!e+uU4;#5%oG}nRE8ay2&aoCxf;~Rp>2F@VK@n`?dJeeYM3= z$Nd;eycgL|bMr0jI{A&G z{jb&o1m=8Mxzd%Fny^jnBWAywCA# z>hHRxl_lMsR`FK@=T1GFyfH5_pvLR5-5u{+J7Q1Xzxu~0@2F+dF@r^}i}Ri2S>q?a z*y5TlfBy5UKPR6%P6~axe0r_!)L(Nh|M)lg`<`!?X6Mz;dVYK6w2ddK-8pu)#7^CL zkZ1dprg($H=j-mDy$h8BqN3JX5e~)4OoScQ4*M`S-9S?%cR&=0}r7{0=5J*myFkZ>=&8X1bQX zw0dQ5SCNDKwRIOn9$lTXWY?9cpA_b|c!XCaSARXf^Rl|>9FMp=;a6Uy|4eC#Nk=H2Ue^M%*kHQ$q!{!R2(?v}l)zp1O7b1-SXaD4I`11sPB zUrr70H1t)tr5&4n3N={NkUfmWhWgB@<(AlyQ{SGK1srml=qM1eQyK~Z!>^6SIuO2*jb-((0wf)uu=Mv`430u2bOMA<|S8oqp zUjJxEHT&;WW1Gj-_p0wk3r+NyVUT#}u+X+=vpM@6Ky}E!iH!F7MwQ`5S=Y_@nznZN z*XM6Us!cO0_uFXeFSdQQ*!ir{-TlFvnjN=lW#0Ywh9hr9`=&LL@6V;5_byg5__jkT zb!*Q=rd|462U3?tt65b}e0HpK%SwY&=4OA44lloAquTafJMZ;vmt{H4D#uxSl$@sA zOZ<7n+c9rJ>iKB5=%uIG5*+;3SE^ zF>~@t18%;weONfVJNHr2tswQIZj0qU%AC8;a5K!R;)AkzuLih%z6L& zibwDFyvetFWo%y@aLAqS)XU2ihlS_=Se4Ld(XWz%l|#xoxk(#x8UXHSYMnGc6mH+E}!+JnZKLw zOyoGSF}2i0-1v7bb6@TG>h-%-6e~eJLb9d$UTHd04L4$M)snS#G`{23J9OP4RUMS2jgld{TZUT3Our7(1 zo*&qF%cw{8@QVX04$MB0?+}o6q2%NowH<=uqA&L4JPX=)vtoXo&;1pNnWfLAf0Vy2 z%*nM(Ox`??F(7lwhwoeeroO%U+O|KhV=LdO@Rtr#HeY_b!^GY>t3seqd1(zxZS2?W z3>zG0OS;TvD{Q}iyJ^l@haINpw;jAIlo9*&%TqxgtNXzjl(xj9K$MTT>O;ImAk15YrIt8xCPaIZUwuiIdrQ%)W^S|CDZQ14` z0rgv~n?m2}{1NOB{(iz>h3e!*20=AOt}Y)xUoBf4dM-odo147!!ZXG~FTb>ThPdpU z)6;$>P-u%)$pWr>)7Jb^aM&w9>*Ffs)Ryu>sWtnr|JlWK?Xm;cR*knw&$ktEJ}d~G zq_s|Pi{HNQcx-PUPkrjy+d)hFGdtL4roL^s-LP=&g-prCpCZ{7 zzy5z?MQYrP?{_@Be)t^YIJPA5gydX3b-xJt){Y40bIJJ>i&GzkBmR}OHlgcf^<3k&31e} zw{++xo(nz1!>R=6FX}8t$pDo!%2{ zmzOPj-Ehvl&UMlZHr4FEm%gt%zuT?>932vlR@41vFffSEExq@j^M?QCi}$tbb~aAd z3{qaocY>GQ%x+bq4p(|x`ihA4`bMs4TNbU|lE&q~?9Z!eQ#%74-Q#mVN>9zUe35n7 zc+=9D*SjYcnneAzcQ`n4>$;B(<@AuTY z+STxHo_6)Ut^9Q>?LT`rv)qU?O=h)vtDRM_c>VKtv5#0jeE(;2%Pv{s2tqY4?7zdovd*n7P4q`|Jp1C^2U>tAJt$9>eF z^oE}!=G#s2npDPl%nvp)$d{aOlb_EhwD6RyZTzftr>^`eX4s_5_|kN7i%sA8y_1b( zW}Mt|Vu#(j^?w`=UXj%P;lALlW_G-q%c@4}S?{fux7081+51?@ZN*mq!aq`$KQ~8b zOSN5l-}Wi$_TRni?C*c*zpr|~eBlG0<=xw-hpIcs_TQQ*TgBXPp8rii7`wKPoXCp} z#&;MWR4#q6eE)CT_q*6Y!zUjM8gyeT53$6QT&w)Qhv7U!z*N@u9sc_@#dkfLt;sdB z@W2DELrv!wEmHD|Dtlkiet!~whF7a|y;FTi#?P6&6KYbIn`d9WI6?DtPxR?)FF3=N zRm9iS#tBM)GI(;}`~zFzgBOKXtbeT7aH@YhXC6Pd?HUuUdn+!jGK`&SHRS;utdoM!-g z!{w0M2R{9o>tFv`bpJKQJ@OB~yxsn|cmDrYamFA2+`LV;{mNJ;W@Y>8|1Ul1@M*hV z^Iyyk|6!VSilO}+zbwB*PyWB0zth$UzKCS{ouEA_A^T3$r=XTj``_+GFuvk|v$Ottvft$SpI>l>$GzY2lbwlvJTkGlK0GR>Yjz#ls^GFXjCcClH>cwB=a}nRe%a#5^C|zx zN~2FkA^X|2h<})T{p3Qyo-HkYuUCikZthv< zn!iLeFYe{JQxo?nJ0E(zVD8+FOU#bU7B-4mce*H|>KVt2Ij%_-rM;m&k9)TFEI-_~ z`E&eJ_4meqXUg=%7fSr9eQ+eKc;1K8E&A`Zdrm8>?fAQ~Ip}x$er9|AA1}|%y3sMM zqbNdX%8%dcxc`0jmjC&D<3e_^a4^(cxuhL(fIC{T5kz@y86w6ES|r!p-MZmb3`m?9FFp&zBG` zwegctpV=L8Tv>5x@tf6qZfrDoWh|5V=~%Q~#h+QX-&c7}Wxsf=#C+GZ_;(6#_>@(f z%Cz~EYvvYr6}Ej`a_W))*@80-(`%3SUjKBF7o0~XG}L~+)xycp(0$J8y*tC7kl+P1 zu1ZqAi>IFU@qE+cdZhN;%dTZd_pB<&k+k$l56}>b;%nya@baIw{rOoH-{N^Ij2T}% zwb)SHA$Qwv!c)mT#lLqSL5_1PrdU?@55Ay|8pi-ol1Oi`SR9p?+Y5nsr^4B~}k~LpH?|tzsm9Mu?Ib{dm$?V$aU2(d= z=-%9vj$pRS_jkOwZIyA_?fm>prdjGb>hh2CEepTT|9{c<{eLDo^OAc{Ha4HWC+KYT z?hOb3>A3SIAIp|LKfh(;jN0W8b3b&ngX4qy z!~0VE)Y%WV`?KF$&QRKA7FiY=zwr4izL`nwyMhkvIDD{7R9sV`^U#VPk(@~{oaKa- z8U7wDySa*M{feG-UT6Nji-_nQC3V=6+XXcKZJEPgAb$FT2+8`Re2I1=rrI96mGcO?;q5!P@PO%_sSe zPyftlayaz7|AkzUp7z@j2jq`=FbC-U++!a9FSP8*VH=SRA~N-dgzE(k_%r^9j+=LR z(c0;+&;Gp8_3GvAz(*_$TOB7&Kcyx8`jSy?o}-OI@b|x~FPEC=7vA(K?pAtO^7opC zo`3j~?G>A+&aCpyRMJn4Ixfk6FK)@_f@}H`-nSoJxxT#b^UR0mH~F8}yI6U>q1tbL z-S79Y<)4>NZ!*r>zhOput#x1YcJ_+dMoFIGUwS{T6uGwXgngz+!{@l)>u<(Oe&}Yc z__qCi!C7C~&EQ<4&|LfLQwt}fp4IC;^2{IJPg{O3q3A?Uc&pFKz{SdIGL*Hl{@L7X z?hmMLHAs{M}sf6uzjYEhRck~I7`(fNQZgYxkp!9T0^82hac zYR#$kdAwA8*EB_os|Q}3l8mg-e(_VfXY=u`0YW^pGtORk-==DPW%IIWIvag^c>6ER zlgYod?$7Ln_qCi)?f)RMGyd4YXAUP{S!a9CTM?F-9euvy)zt7m0mpABK75zG{;25v z554OdKcsrOUsF3AwyaTc^||wTKIt`Q7Mo04`_}bC&4i*!okw2p>s60ja{b@yH%>pJ z^rjyEvRe7vQ)8*ytzUlGZTnoR^YEkBt3w|@Y@2Fvk25Iiea$jXcZMS!4Jm8V*WG`+{eJbUn9>JGyMJLZXQ*v5<{U!4>%cKQ)rp;f!tUK?1 zW)@|~ABQB|%usDTe(hXEOymc1=0m-2vOe|GOCElRNkn*J(dHdE2q9t@V`B>iRtC zX{k}heKMOHPPE2*)P`Qkew4@U?0ZfA%**6!9qRSwMLMN#Jzv}u*P3s)UQ$f1cuAG$ zf{W?qajWMzeDXR~Hgm(B5I;%(1KS?%XVp7zez)lM$JP0}KWjF;dAQv2#K%pO&tH!C zJFWHI_C33Lo3|Sp{I&c3-sktqwLhz*q-xn1*58oqtNr}-{hwy%t|U-D(JrarhGEsA z7I1rbzu}GjcWp%U0*gWdJH3=N8`e}xXU#CyIltO1Wch~RLnT++M85iTrta~LOIv0E zTMJNlVe%VyKHl@v?;Xy4+4)pp&%K1RJTK!i*Bo=4I`ve{QAU@;XBF3EO=8-XTA|10 z!r67%gEK7R$@D}+^w`}Q6lg<^x3kqparZ1oLv%sVDBMcDtx+UYj0F80^|aeK)d_x%U=Jgx_e z<~}?bS$+5ZzFBL&l)s&R#=Pif$)-tmi+^s_ZCP_tLLl&S#fkHOeNBJWb&D@ey{~0? zIr~KBxuQ}(^D>r@MdB$pB^Eul+FqFddGTtC$gp=TC+0}pe6{~G*O%wNH0tCx=UG;s zpC4QGcy0U(m06MH9s1HAvvR8KSN#o@dLsBP|I0~!mM8lnu6kXy@>>XxxYHGXIElT{wZ_b!TcZ8`gqOL~Xx7o)(Rg^}#id_6qw z3pR87(|UcajlnGL>W<71-t!L&wshvqi8q%@itC)W@cWtTD{7-AwbgI``$Q&Ipm*h! zAI>$FMLI`qwtSbr^X$fg-rUKu49f29pQhy|M%{XCA=U7)EZ6tgv}woJ{hnk0bMfc% zKU(_bKh+d`QqlW;XStm5VSDC+BcH8>Y^xm_-$#6(qNjcL*46%pg5?i-k4o{&>gphn9sl+f9zAEG%El zXqs)^mh!sm=*9*Aj%IBLUp{B;&)?D(RZ+=1O+P7k?+%;Ouf5!B=d1E{mFLqLEEa#_ z$Z~f3xx^-4ywr5wukico((-TCT+e9UV9Mz0RukPJ_1{O|n$g0x;k(3}^zyd&AMe-i z{`Gff3Aof#X08rd#won*;iAob|5O_4RfX@$u_iEv@`TQe`p{_<8Qv&3VoqY6DEA~ZYQmfu+W{=%#O-xcZvuI|&b+>#mjg#;E zvrQ#O3oBR?l1^C6ll^p9b?W(xncse`&9;B>TJiOJ8P*40W!LnacR$*tS9?>^@hn45 zq2$DLEBk{jc}CN=|Jvr}o$|bM1y4!0^R2SZ^A)>l85_du@6EpdPx6PFTX)^F{GF$sXGJG8{LyzQ49ix03zT z`{F?F`;uSQ`gh6vGUkceeM9mc(+4Kzc|Uuv$NueeF#)$68VJ3pMYM{8Tq)Dz#fPn{+i*=Rq(h&#Twi|OjB zr&Xmk?2}GpT4=15SuV~n_m(eLuAo)!M8Wn?d23f(-S#Z^I8W*N6*r|^19veNo_@f5 z?eD^C+6$w~!v4=ucw_tSmEFDz)o-NNZoPD9RqYf*X_1NB1EcdR!VWw1M46^3oc~jO z|7yp~z>t6fhx@w6{PW z;~rnV^XJp`_zz3wKP>XUUnU**{|9$m09RaPz=!SPw{Df+zq}`!S99Hdjrpm6GICc2 z$nLoKvQ|GYbH$R^F%K%&O8%Vr@%)98RxcB_-VaP#%KjnOPEgd^q{gS{-mb#<%*N}U zbt|+#%gy1|luPPgfH%FmOK6D_C9<3 z{`Z61dHcVA+3AyR`tPFhgOA;nYjQ11Bh2bHZ=8DEQEq+OaYruJP0hF0RfO@zFJ=N42T*}uz`ROr<$DfVd;}UFznH|JSCx2vJkj>Al ze%*Zir0gRuHfLod`JVN53MBbxJQDTo`^EWpt;wBJ{zqQduCUi$`2KID{kyP}*Z1EF z^ICeB-=Am3zV9o;_x)sDU;T&m|6)da<_9v*Rtk9?+0l6DSje?~N=?U1t@loGpVpr! z(l*bXsprv-@`ZUj(f?~@3VSa zZahl5wd3|8)uj4Fqd9eI-rHMx7VX_LcklZrck6%6lFt9Dv>^T>`=dQa*mitp<^9io zYsS&co#w|3{<&>%(>8N2%rTwUbGbaQLo8MDa&&=0MdZ>c`|r$@H9nkQ_jl`ii(c>u zT|=UC_8fzU`wo6SZ}%&B=>zvaJA)IvL&PLDZAi1PjPjqAp3D|9XUs!LFJ$F-$(I1<*o^20rczwx;S#48Uy&`voYfDN^n&N*eHugVL%w^*M z=Q|Z$|9jSVn{5*3KA2s(;w#M)CfCx3=GJgv3*VcmHgIhjxcQpR=msIl$j5(yZeX zHT8GF1L4exb2sfx{4>+$MON@(Nx>KQF5lbG-=!p={^RJ2>tC5#t~UJAIc4(s>H8~@ zMnQJdzf2R>DY~d47_WWY!*11z>P0zQi|04Zy}amLYiQGyj`MXdlw6PL@a# z@ryZzp$Fr=3YT7HdnwJk!pmwt`$dtX71>8WWnRdOjZA$kxbsb8MSKNY^zU1u;uH6r z-F&q9`kejWqK~&b&X@UexQ~6qL;F10QvDsCmO**$?n{?{of^2`BIoy&kC*o!(dd&2 zeq&r&IkSGk&kt{T)Jzwy{wL|*woUZ(eCwZU^?wLl)7^e)*&?T6=QWeVR<%99Znw_4nmDSqjax$T+nC$t>; zI;1`x_~r1}{g}t*qm~zc9bxCG;A@!wb658Ly5>_=pvIwHjK!H9c8P~-o1V`t{W6o` zpX3F#9NU~8b$ipE=`~_o#KQDyQe&r{nkCkmxL9}Zjzta&k1zGTqx|^X!QM|56QWG6 zg#47$40;oBV|&n%H4?wHr)6=5n!j1hxXJ27MQZbcOImCRVeGo{*CY2caX8FT^{sqX z`;LpzzN*gcg0x~_;phC94Cb z?ro)ou07j=R$M;zdXxFD>FQG_OH1r=Rk|Qh;QFG+f6LU|_1~L&t>hie_N6cfJi8Kf zcy+eG(yPvT%Kljo&x)PR3jh3dOHcOaD(i#G{bJ>A&s}#>aq`1hBm301#U}d8PON?t z?a5ni$Jakcat*V2|-YLcw`SX;|_UCFW4 z#|=)b-@n}{`|)S5?4%dv6~Z>F0<1(HRl0XYwmFMlnsTn?d_>*)1zSVw4=J+Vx$dZw zU7V_#Q!-=Pyldia|lPw|6`*lw=Q{$KmLGw$SZKCb_pHczX|=h*+`>8{cTM_Ep1 zd?=YRdA%&lc1h#n@cG^cD{cC_52)i+o3Sg<`P-~VfF{%Q4QP?=?+A`>P) z16*dExBHdD@ZaUWyJ~9Xs^6xylIgxTVlBgNd1-2IUX}5^&FxP9t_4~LIUn5rIphkoQJZ?WmM!Dd7WI>STY{%3?+dat_P>(8=y1y=LEV{~58ZwpaOjBg`ijM$ z#6E@|HktS}Bel3XCnD>~f+u{c3g3)NGg^#JYEHTD^fA<0f0S)S0`xRc_US+UdfsLB@PFU7zW?dN zkiNxIRqDvs54MRNz3Iwt?o9iuHvMVabdCJ-KP%>3`H{ZUY}YSWhRtSvMrZFmzY@8j zCtK{+n(6Z|ilk%|a<@vZWBK62toLtK`M$R*;4I|au#nF*@z7t!^Y*`AoR|F2&;6+7 z%>>QzWt&wp6L+0@u>a==tp(vl)5ojSJPe_cpQmA-YYebV2!i_NE!51Rx@FrN zIruM*z1{sqtg%I1z;?y~*`Fl5@9nKS>WWU&7}H9Wr5yC1x`;Fy8c{j5VRzq$W; zGS(ReH_Td;^wn~W+4bq!R?%Tsxdh&`x@VsVl@xd^@8)G3vvR3Oh>UgvS6U!vg2+$L zf4$~U@BTM`w7%}V4)4kJ+Ry9cw`S$8>DX+vj?3!vi_QqSx4RGi4?enif#hF3{_-V1 z{>Ql)pX2x*RS>J0T-UNSE;dxSW1hF8tz~ttv+`=U%1577Zgdnrjr_cAS9a<7V>a5| z4!f)GT)rZ_D|=@0WBa>e2V@t!)G6%$I``ZDRMT8j-amJLMXUD*PVW7?L^8EEJ-YY6 zq%Ew69=_MuZ}i}lQP0r}hyM4j5sDU;yf)P}S!S=Ih0(PbH-=sN=lR`UY;F2y!=8p{ z?KK&*Dva5a&qbBIovkgH>N>68uxeSylsQkNr=Cncq%l{nAacnc<~;oSG`nlW< z(%TyK7w_7TR%7`tXWy-+9f$5Ht=~1Z=$G_oV2C)ti*}tnW??vg|JJ@FTl3F%GjsNQ zkxkfg)+_T#p~q?6*MA<>rry*`bZncq&yB(3cksPLyK@Dy(>62yiDtOI_m#2S_wMzT zZyw7{7qU-0)WXSmr(HAePzyiry!vl}%pbfN>JqlBO6p+0_0lm}S^1b~TSCuy7O{{5l_=GQFny z+o|+aj*9z=8{2dlB>QUurhi)gG&MJ|kmse`w--+wYP&2X3LkiKy}PY^UE9*!;h6H) z)sr3s+DXTL^m3TK@Kn!9na1g7A3pp$!{A+QZ(BvM+q5dl@3S05Z-)zaNj;4;Il*_f z;Ow?72Ko1{Wm`{MD-?PEwbzt=OwKp*j+VX?V$7*It8}a4bYN`zQqSXG*KYJL%(%ar z@6^251GgfMYTr9J;kwPA30vOhoRRGnjjb2>nR%}%_5S~*=J$Rb&9!@d_~Tyrk2UAd zeW{XI^5x{*NUJ(S+j-&2>=k?uH@5O~-d+24OYe8y<;s^gdOr6&-q@19-uc*hLH@OI zi_cWNS@?(b!0EFEZ%*GUyqXP~a^jTU;4eSZ;9*_k^ZB(`cys7iE-0wW(db>OxgjSaQ^WecGrx=L@%hqG$F}duJY}+6;;_fWq}0BtC1E@(7AWY4 zDv2)N$6q7*g=NhHBTJ2+Kba)gOV+RWvialogom3I4l%YfZ;Ci6cX7j%x7Rt8r1Gv^ zzj%pn(V=5~3`b|Lyd-?YZS>4~a1n+AK zR{1&a>wI1I%T2*DsfV)9&X2NLo9kNc6xW{@QxF-dc4VQ8TZVy)xiKOD@psXMaKOS3op|I|yT9)+B%SCcMdP}tI_Hvf#}tb0rb z4bLnh^J^r&Nat$3De#;t7UH&M^+8J+hAV-`O|DhRTd)@0tFT-0nc)QUEt#8v@9ut^ zIc;h7`-$ttj;-_azfgVj^^UtY_I>|yFgmX4tnd8Lg!Crf!FJ%UrzkhcUsV4g6enSW79i~rZo!Q_rCpU z@9sOt&c5I}=5kSP>Oz~oMXC%-au+PFT>K{^&mjHJZpr+!0X-$Jeq7q#{dD^OZCia4 z|E^^}lA0XnZeF@uDly5(?ApJasr#CRjz14*dxa3)#izZ&`|;jxKat z{og9xu;*4l$AQ2@4QJi5zD(~ucgFGv=j}+I)BE4>B<$&ClskFinC_HMjsHKbo9%z6 z^wpQ0Hh!OTnS54%mOB=gohy*IFXA}6X~Wr!oW9z5uMf^;xaD8*)wb)zuD7+3B97aB zonM+_vBS1VnyaW#(qO%Wh0_Vc!~bhe()2C|um5g0k zqS0b=*7&-qPx$6(8}_mP1yo0}i6`JZ3RD`s^)cXOC9JLKH7jbgW1 zC0|_PbK7Ffm&<%-AA_k?R2=J3(O3JoSaq3v(e8UIU|p!8TDs2YVKMKNZEx&y>aTV5 z^DJlD&OAMhXZO2a(_SBjB-;<$*ZE%gzV>}#?+(Y;f0JLg{H_&FQD@)0Wq!e}D=(a% zl**)D>N$IHMnqw7W8~~p2QF_hyRf}d&;9uRJ0FEQFH1*$NeHX2k9fM|k~)jT-`6K9 zWp2K@%xJ$TrZn2GS84O%*#GQb-tM||xL9QK;pA{9d4bgVQy&Z5nr3SGQP*Pe+pO4| z%$1A>;`e-CA6NeNt@=EvXN(JWzdQf=%Hj71N-ryYktvKlsK3d#Vb0V$Z9C@K?*G<% zt?hRQW9@T`aVI$3 zUVpfSQ&{d}!41nYXa@Ssed_y%-vUCX*w$pMvwQgQw zYio2~{;u8R@!_SoslxWK|0eGb<=6c(@#)#VD#YE@Oyh;u<5>>9|8;b#pIo@`{N9iL znAEme%HKoXpC)?y&0VZ)c+P63%6-EJ7mL%~g3{_TW=`AlM(meBK4Zp7)x>KNy>`4Z zq00ZH=I@+x*{nHk-c>Uf&D?7Vs7B013y!PUSUuxFA3@xI8$5NZTe_q*i zX!Dophqs06E5{x7+{9#kGDc2q=gPZY)vtK>MWmVORmfl2wz&F<`(xG1m%?hUZ`-4m z@;v9nWCcra|0I)a=g9h#2`PWH`Rc+d8Q=1-mexor^E?%btJ?nb zN#OI|bKI4@TUsLLrkqn`*zxk*g)5U5sUnOF2;f+d7W-RakJtf*&8V zoI<8u(44-iFjsOD*G!|;6IwS}+Y7FrpK1{G@O9?NDeI=)({Kq3`}1(mu?ew9Pyd*D zKT1vW%7T*LBInNtPI&&l*W{U@#;T;ul+<)Kl~utj1utnnx_WXVf6t$F#bIlkPVv|; z(ERbQ&Ykm$LzvyFg-!eJ<}sPFztips_y6?%=c&1Be`Xgh%WRssVcX%Z&646v_vK4$ zTemXMwZ49T=T@O@5`m9uFWt>!H$0W`S|C{Al-v5|9Fw%|${Ou4%OuQ_YzieKW4D>T zDxKQzJ6GpPG}}u1l`e-hm-v7BEOFqkUYNRd>SD(7fR;SX7S-2#2cPxFwoC83$mnX6Fh{KN4ZlLq?Kqn*g}(Er?OzqF*kZ|RqG$56 zt48a;?>`;(qX&ypDy!p;y{s=wn?5b5Z|2SSH3viUZ(c7|_nGm*pt*L}xfV`-i9HYA zEOzJlwy5b-Y-GphU&%95PR@9GGN9M1PGYSU-Q z>)MQZ-bp>*RFSXj|3|sIX331#C+{-PR+7lAJ27qDy3#FbHfdeowh1?e7z=gm+TJPmt)qW^yZb`EK>U@?dHZGAfg0U5*8W*f zwEoWYnYib&=*1|plG3nWI}HTpR7)>9!TfY_;gVC^`WSDS{VXp%)VWwCX0b+5z^1#M z3sX(zobo)sl)+Ps; z@=dgk+jdOlSwHVF5&o&u=Q2+Cn^tpn=Y|7}E6&X|Esg18YYjZY`Bl8kU}F5%OPBMt zJ16q;yb>t-!@l&-)%W{e?^SSXn)tK!Mdw$aEec!$C^gunbwE7=YPAlea;K6IpBrzY?tr1aLP+o9K7k?&+sFa;XbF%oho9R;6-rONF0wbHC1-Bwf;I<( zZ7vgTdVSdUmSNTUw2KUdznx4<4rQe+Dq#AX=<9X*L!`*tU0%C|&M59op7(23uJ*pi zQ-3MMAMgC()2}(L!8&o8CiBUz+j@^>r(T`=Q=zTxn&p$b9%XmLO#Z|xi^jxVouD+U zxmfS<>Tl8B{OfpLy5`-n|6;~5&A)8^j(dj=cKu`Adp7Lc2H08v?xK&=lXh6kOV+=f ze9G%n?pAGH?RBZbYojk*-8p5trN_62#j`5s+ZdHVamtFPDX{JU=X)@`@j zFaN%AE_Vs{^65VhZr*f8*G8Y!C~}YdzC6={nxNxW%Z@fnKR(zrRZp_%^-Kn_*LOJT zC(FB9_1ug0k9XU=|M7~39G}n3V&a?g&6>pXC3cC2nECZ> ze*aNs_!sQ>lTSgbbEeW-t~b*To!qcAr*BGf*b(8mI!7NKYuoqw(&g2)US%Odvz4U6 z=I5ARaIrjDaHZ&CdnEgD&qWc(3!+zly2-URwAJIa$)&}LD*`!tT%K{Q-Pg~?^6<4+ zr`wBZL1$}HyDHZwxbHII-IKd^|JHLi4aLIbRvRxicX8YEaeL3bwTIu>tX16aw;^HY zI_?v5WAb)Euy-ckE}B_BF%ypYgvOWG?^tE!bT;=PB!_ zzyIv)tA5^T>-kZ1T+yIUEWu8u|8at)-Y17M&ZVdNSkKMBc=}UR#h2$1O5q!=4gb_$ z&R*16VoE1*$!VV%9|T*)=hS}TVc4IQc3-SV(kPGN%GIE~ z_a$CP7l#_G{&-V6r|o0yw?1PnpJaB2XvL0GjnbQaS31pjvibG#h?}>sdtSa;S+Axt z^U=yvNfB$cQm#xedd5@2mG2&|ugxpFO<`eLMGBi>dy{o`yX1jgp~o2u@6NsHXIy02 zJJ-=SQbzKh!~UQxnK4}(AHEm+m9)d=^2#sL$IKZjqWIFwXKkMF%_nT;nJ?wX&9_@V z(*AJj<%*o}H=kF`$uQZfZU1}Ui?`j%Tq5`PeKU)?dylK|`Te%F#gO<{fa z{l(7HKK8EjInuCwO1f%>YLWN7Hv$|s7iJh_MfX&m-gww(_wz3YpX%>^w(K~wMe}pE z_wKnl-}iipy_d=2@S6QhvQ5l}bt%E~S3c(qoE!2lr&%s*HCxHo<3E4awxwT};Cy+w zlIfWYr=9Q~mtgTgg%b05pQ{4e+b#!o2r+j_*4=MN_TTxb%Nx{zZ5PdXX)LT(!c?PBi24Q7a8qW57;kp0Gyj*96;1+(PqXug% zx{6M5F@F{owJj+sQl8Db#=~9D`q|oGGw=Uzx_t6ww(WhfC+p$;QrBKb-n)YL7p|FA zS!2!ceD!(R{7SxO6T=sH>a%Q+2Me?zbrs(j7o1M?9Z)}atJ^7#^<*KZe zT4j>;b7o=XBj2n!uD5+*)SMuCC+)?t6P){n?_B;pQ|V^K~XMdV`a{V(&m!J&k zx3Bj0h4ymU-RQeoD%-vzf3`@<3EsO?)J`v!GP{UOP)ONj5Gq45{~Q$nFn9&da0{$8ZC{@>sS=VjTZ zcs`%qX20(_GedI>*Tc0%adtgUKX%TMTI9bY+j_IbwNIigKF(9E#a)UL=2c#7E}gZj zAfe~}y$!}Tiy8KR+nHbac`s=1mb2Wq^ZSI=YFI!~^*1~1o3zG{XYUjYZm%!Nt6kyN zrZK;Y&!I~#P{?>`Pj~9lRndhi4?H9G7e=hoPG!uGxFo4C{rj4Zl&(x$hCBu3r-4r= zTswcv<8Va;r(5HP+fPi2uBDWuwBOiyaK0tSm5Byf#b>5VTe7cie7)&X_N-l>bjn#m z?;XjwZDnxY*r?9@hvc`9+qe2#Pu?7Nbmf8SP01}z#T+ebb+rBS5_-SgZ$8GFwy3y` zcg6J;i+sY)rAO5rk5|aecwrc~U~NUwiGPpgWE|`HboIN-(v_kDGE!IO8S!L&>g{=a z;TXrI6FOOszq0%)i8*yXCDG~r#+O|!b7ok)TU)e`@xW%rKbM~Gd3sj<0H|}cX~Ovk zVYM2Ohpp-J|6fn2;N<$pUT+>{%VsuZ%K{eZTKSmkQyyHIdar4l(7`V{l~EkIb4ynG zgf0;=%D1s*keZvTYHY#Supw6IvWa`qYA&xu3H;yNl4|zOJoMtohZEN8@47x+vOv-_ z`jpP&YoC5B*v~q@)TCghr2j$AgKS|R&7QfbzrXzcbBaJ-`v;p7&i@a4UQw-i(=%P= zvgY$E*L@&Qjkjzxm(7w)#lH-Z|xwCVpY*F>wY@4D-?__F2p;{u^$0 z?cejqljKxxOK;m4_dPdTVryypnS~4{%g@!`G`d*vetTK!Uw_{JIUR+Sg)QRNRnyO3 zOel?HW8c%W-~3+XqpR!pJ-nu0UKKm7@BCB2(>d>Ze!N+KRJ#3t@$SuAC;ZCUd)Q)| z>+Acae2s4Q{ipLh%ELdboq1WCAv0jpv@N&GRs;(4?w?Wr#--Em?16mU%~M@d%qyGY z4E~;){E)BNmj8gi{mZV?>kopWsAxkz-z$dxl+==G-ud$L;0 znooUpP4@pD_}nIiJ)<+wnakaDj_1rL`z1g8PBV!pWk`8$r{Q;W?|H@x1v_8Pd~o_z z*sGYIDV8t2cJ6=96aCfZ*D<$)VK2<{858yyJ-%_<`SEu9_=cS&t=|%AuOC{l*kIFz zvT1=wbi4{ZH=Q(}swf>kr)2t=`=CHyr@!u{dOvT79Me3tEVtoz z#rtJ3J##Os${h=H`ZsTWkKOcOHRGqI+5U|3QA%}r-|zIRE=yi7^;TJKug84-P1y{= zbuRDj&2u{^bne7;1}*)WJxy;EZJtJQ6J7#>X zg;PGY;-cmA|D_E3L%IH0Gpzh%m36>3^8~Ntx%Zj3S6Ll$nKd`>zIOW>p)FTj3w9YD z>}y@SUvloMHQ5|HxE!at`lj9Vexzy4WArp)YEI}Ko7g(hxh?=9ika@*m3!|A$WOD*oV?Ye&_Ej+P1bxn7N+hhI9YinMJ9Q0de zA^)W>uyo3lpuF0frtf$De)6)}KWyKOcR4nPyY&0G-|p;X_O5zAe~Y~BJmmvz`ht_? z{;8W3&c2et-m8>hbL_-!y+@6gtnCB$t@u3Q)aqLCnS%dke!hCTaZmInH_5cVQx9@D zIA+C6X?HmO>9ap?*_npvwhzzdTY-zaD+Y7o)qN@q4sf5h`@f&@Ll8rJy+m@pcH_EV z%pWIc_}`lHuUA!Z7c|ql=W+2Cu0)x^s8ms&!mnuOD1{hE>j8d$OeNs;OcP zQ|8B9%)RrC?LdX8?z0n%7#+IYL&Mm;vKLIRRAmq7EfCN@oyhJOck*0CPN{hK&Z%|{ zQ*QPi+U)Pl+>$c+s%x>_(=RKG?#-Q9(6Q&=?&Fquzh|zodaSIit-LH-{7T<7cP_41 zr?O18&QX4B@ag)k8TS1Oj|->lI(0T=-9-ITg^)Q$eH%6kpH6E&{a-gWy1>RkX0lOS z)#I|<-Px=ufv$>spQJzccpCaER`6a()YLr5(6ap#F!jj3m#=LfMm|3wa^%d9e7C5D+ixG6XvJKmx>2;Q;ji}T z-}@w!B)94WEn?c(!S#Lx&$F|Ry-zfjdqi9RS$ib(gv&vB$%PJ2vKO|u^e*$bnt!8z z_tVgMt3EYL{9Did?c~82ADxGJdkXGdx|hnEpTJR?%eQgfmVcY~9{;^=)9Hq(i3?7y zh1xJiOEzEqeQ`$2 zZs)+C<~vhvPuXO+GLPFK{<+(y6X%{vSQg6WtL?uyulD?PU#>{0|7#zAo3-GZy&rpd z-S_5>dghDAEb{k!KC(Kl^zqvGi>><>_h!yq_(ss&p@$)2p6-+Lhb~T^fA+-p%@vn8 z7!GbW&U&2oal@srvs-I;XK#Og%v)Kb*sI~v>zNGavVY&br8~Xf>5K6HD%WiPc;g4! zy`41`r(3tP&%HfcS!p4EVA>h;t54(KChX^UaI^mTC-ZyY9eyhkqN8Vmwqod8J^$0M zc_3f&k4e9E#%iR`g%#=*YpS|h+>%^=z#V^+wq#X-etX{;`sYj(>uNkNwb8CT;K-~IFxV%hck?x(cPi5j9j-Gd%XBP?cu>LjdY_YJKQF`P1aXh{HCQ~T|KX+c)a)GnH`Dg zosXVAfA@WbaiL|0-;TscCFA-N7nZ#@o1?;JRVcS{)s*{ZDxUniI4?VM;r)u}fa9@G zwI#i$sO?{-dt&Xj_8HCL%sXfO{PHs(e)Yu7TVI_w;@pzPdoW4vf53`4Io8upn_H-+ ztkM0FXYy^?meUdICb&*6dCahJx>>%_5x2J*7Z&*SdsW}x{OzdIOh$Eo**zbZzTfka zlhtDJ-uUo+;UzY4j2B-nQNLAPr{LyV_&@htQ)}3J|C^?rYEM(b`O3C$TJ!YhXTk0- zuWiowaZFz+z4y<&-(IFKf|G5ghp*tzHadNdZ-pS^we9I;eun?wRY9bx(vda zRwe06>G{XpeCVs(ddG3EWpAJB4LGM(-+QSnt3J&qM|%5O*_`=|2Sqm;zy3b^bpG>`Q}^jQOTL)v zJB>46_rMGpuSt?}k=2hrGh7J_J$-Ld=+Z*n=8D(9raw7bV938`d(Hk}jYr8x?(i8M z*0pjvB4F~oGiuf)r%juFXnm-iakYMG=(&8IS?hb4XDMEEdcJuMXWYt;v=;?8?To(W zuF1E5dxpjA#gth&JOPjGi<7Puarz%;pVi#_+ul0wk;VP~_*>Iwy61ZTyB>b(^__+} z)3>Y_uItr#k)ryP?b^`{*{2V`Z|z^BUv=~A+LdemXI;6Z^t|Zx>20rAZ?v9U-?~ZW@mkBbdl>q?I4V2mDOKK_VcLCLFlyEdh7Vh^ zEDrxZ8>RV5#1k zPR8{N1#dRr`*O@4RB73*+OXEuXT}GGX7Rbj{}wasxzn)z&hmy;bGPQ_uakPWrss8N z4UgSNz0^-;O&=KpV}CBH37aLvsug)vX3q1O&?`<3b))>W1N^J?2|Vy0IHbyO$+ zzVP_$iq6J4+Zy<pOS9^)_9!`*!BxqI1g66)ooG9Iy{~y~D~W?D72d zN{|02-;=pAV{MzClJw;J^S(9gduwfdxX18luDO@9MzGf0?QJWZS4djC)!lw|-CGa& z%T@)ID=x-wF5Z2sLBW1vuk@>`tor-z5|0=csAl_ju&wx3Z#7R8RuDi+@@N-h(!9tf=bJ9DV7E~_3D7Ki%=ko9B zN9Ui)=UZmHy->XK%+z}VtPX!R)Rcdk^HJuvz(uJPkwP8Mw`bXGm=CPC`PQ4igI!q7 z=SRokZQG0z4>b$Km7M$8uh%X7K)YeZ3P#_V>lC_Nm*o`gNGy{tKdP-E8u2y2^-|#* z?q2apFYn&Ck-k{KCWVW%pjndw7-i`-&~ab1QAr*-lK5o93D%u{mbb zex219O&dHerN94nH+R3N;l!`&6SfrX7P3pezP)R@Z$PP0;e5{2ybt1;*}2~JtLI4S zOaEis-g{cA_MzFyh0jhk@0b1_yZB4{{&o6?PbYUtzlvV{Jo<1_c>Jpq3eT`XN7D*9A(gK@zox!&+?N=fMrRiZ_+78&bJyDMX8x@pO&{U48f z`T1V@oyEuY>Gw)rhZk9L|Fe^^{jjxe&BDjp&F*tVPhEbo^yB0S{f90x`##Ivu=n|i z?moLiiKc&*rYpPTmoj)%Cd+K}39veUebv>ZD>FYVs5-tcmt~Hfb@xIB?);8)36noP zyC0sBvDeMbVK;lQ@YI^A-{p+|=y26NG`{zv?R)Z}7EXD?8?*A&eJU;->ON=r|03HT zy#{^eB37x=Pkqb%^}R0r_?LG6l=jT8w-u{-w72hhwZhAHo70k#jEQURw3Tz_&JF6^ zcI$|j#{2a5hts^(%{lxQXqtH3>kYd(=Ua|zFR#=21KL{eBqS`;tbSg6#jO#$EZ}qg zTJvWUWjX(HZCHJGj-2C4oj9A5U6nasdQz@@U`e{^xoMxgWa~m1qd$KuS=O}VJ-nL1 z`G2ijcNs4`&tB=)HurlrZ*Sdi4tCyo?pN`f--abs zKVRLqbn4u0o>HN0pQWMA-?;4`PeacBJ(t$3y~o>K<;KmOZ(6m(w)$rDUvtwVOV>*O zT5bN@>h2Die&ncYsP_KFK0iN@Jww%_hW>@o>@uA`HwHTAcL(NipcF+IpXMFITp@y>| zMmu(X zPb7PM^(sG^x@=9q$kUvUTIMdZ7X|PyiN3${<8{$Zk3yfCfAC;iE9m(3fxSzr`ia(8 z+NDP(e7oNB-*)wlQ~eK;o$tB$-JLaGAa}wy)vn~Sgk}HJ_DO#6`@JUCNbc|1bHaT& z8SRg^#!Pz>T-I(p&B8_^SzMF(N>Qlcxo-*;w?WHg^!uEN6qidKBK&)YY-W*%w2 zIAh%bzJ|4hF{e+QdiC3{MB}aXl*_+wTh$!5T>VIU()4Pd>R_*(PnTZ5Q}RA`x!?TP z?@gA>J?=flZjVgQ{YNtxU7Dxy7nC%W-RnOZd10!5>L$fE_l=UT7{A^1rMBg$;HxDz z@2`AniSN^T^6#J^zYg;<&+YORQg&;$&b1eK&3~v}u4M%uzX4x%@s{KqzKI=&KbzLg zbf2_%%KJSPzbY(L`O4bvvlYC#thf73Ke+Y5W47!7r?A|g4~vS={hz(ff^nZjhqfGt zewBpQtbgmY4*blTXvHdVdr^iyr$x=|j~05h&v&?St=P}Kx^&Io&?l!iYb{)3khw$S zv-nF%jf*F(pQmrgxZ29Jd2$Qyi!&8xro=5s-)rTrWxH?cf-Uc*ZC0Gwa;|E*Z^+?D zMX8fF=g6#l<7GUnCrZ<^ge|%|sO{34Jv)u2zs)@#w%u5DPWLtEl}h`LwF<@jZo6>o zNZ%Z;6HhwR5{fon@rpZ(C>^~o_?99C<>#MUhLZH9C z&1T8mmq{~Uzp{T}X`FR)=5${BIro$~cd0qd$=DsTyis~X!}Zy2M>G7`%?ekZS;uca zPhwGV^Dh?->$FSX=1V&E?T(x3@#pgm#v(PtgK95B${cLID^@Rm>-|9{rs}co`rYsP zCi|!F{5<30eFlZc&CBEOAJJf3ew<_boYfASiVy!>utlTkoy%{7j1Rm_g6?mBtM+B8 zeW|j2x5Vb1`@h3;InFTm@6_8K`XzBq2s_hd?o+GH&y+luw>X>O$8y#GSF}jL(z&kl zQhzq{tg+q5V=VP|4!0e<<86=0od1Ll7&7etxpI1JnUt`a&yIM-+3VGPDm)GzeLm;^ zM%Ev-%==EuZPjz2EEEZU(S%&QqvYY7n)!`z-LbVfMQP+crF8G3Zcs%J6#n;{L9;yn7!$ z4B(Bdhz?J^c)Mx;*>g`Mq|MeG*t}_N_37xDRoh&6Huw8AhwVFc=7qHO6Gyeqo^8Lp z4tRD(8lL~ajP zTzt5AqAJ(S&BoIF$NhTiY|{2P)X!LSN$B{`I}O)AY9GGZ8+m2h-4EBBRcEpz{Gw4Kd3x%#X%;p0>N9KIc>QMe@GYNz zZ1&twuYRs9yf#~|)@M zeC~e)Lw!JlzK^u2Cc8uMorsSo4t-|k@|rC9nxXyLCo8EYr;;1Rtj8XHniFpFah9dn zp7o122g&)*`L;>9?M=hxp7|HUIQyA8c1Eu-EZ!?IrO-9CW&7i7RSk&^LbC*3xxaK- z^E|KA;KIf5hDXWFy19AMUqeL$o~vh7$Hv9VrrWtKI(^RQL8!Xvgeob~_?-89FSqor z>{z_D>&NaoX#>I6tG6z{$0`2u%r5`7@+o;Kf3knIuDj#Gyeaf|hvWUtj}Od0S@-_d zc59Oxiqk)CzK{}B|91yV&WTma-XEWAbxwtELD%J{R}}MXHY=a(ovyJm?Lp7BqF$%( zhj+B?Seq>(dh~~TZJ(^_GRe*rv!-`^f1$eeyo<@oJ5m21>53Qbv8w#_<)e6f?c>Qj z7Ke*joC{iYO6JO5{AXJ1HtW%Zoo%;G&-GN)|0-0Q&=vk;G_E7|Ak8*?3eoR zbFP`nsiQAu*|eWo@zfx;{<`+Q?x2U0leVRY%w@Fe>~nhdy)-B~{m(_y6x-hJOE32O z3X3h8d@ohoY?a1$w)?Z@_Vmv1UwV%t@{-BY>8DGTtsa|RSy_1_gY#7Tv}0U5A0@{b zJ?~v7v$BY!jc=`7-_r9t$edjcju(Yixc*&`qZ~aSHpkth5BjF`3yfP9iF-Ng3;GPZnt;G zUfv3OvHP)A^roYt_QwLly48(mxnEygwr{VOdv>st+q!e?xvSXM!PWvCyDWXGGWxTj zYF=tbuFvuNy35_}Ez6K|d>?VDKy%B7*Z+DZeTZp&a73S_KdN!1!Hm4_m%rlwC{JOt#r#Udng`w$@p;m)1#9vI&V32-@)7D zPK@KJry{4?Thz;`(s2-{!8}0yp8e0socL_Z!ga`e(e9-L#Mg2 z^QVND=IfOYc;o->O*_%EWlwE?RQ2ie6ItKfNSN7IaZ+W$x95rB{~iBa%~wm02&leX z#(YRnCM`s9+rEetsq>5(kHbu!S=^wEC$uzcU8`IZb~|7Q6;H2KlXUH$9y>J4**KkRnz zm%qNS{7?(0G-Pr{kzIU#@xNq-Jxp!Of1O#V&8-~ZYFOjFX_e8j{KKa_nO;RmOl1r( zX_Qzm#kS6Ci`ETgt67&Gt=RU|)G9Vwbos?;oO7?tl{YWBdBFHc?UO!zW2Y+_-1k`4 zd{S^Tm4AG?XURFs!2f;GVWByD=7{c;dXvRceDmVMEB9LW{-08rZg^$4=D*v2baRc? zS-d_NJg5Jo!8_dt|3nuT9BW^>@zOh&4Cx5F?9;CfAA0OnTXHDV#9^66I=dRvMTvx< z-6axpjwWne8+~ZY?9GAiiUc%LPx3@Q3(m}WR@B3B^4qhtuk%j&%$1J0vCmocaJANy z?HXStuEYw3Pr1rzP{j7amosZdZyrm6&2O1w3r~eP-SK#}O;`2YoxGfdY~X&i;62iumzEYRPizezPI_K*Oz1E+5eVgzHv#LP_*igM@wA4EPu=5M=|vlynEQ= zWhL%fxcg1gYF4P9*!)Gb?poR9iaw{rl*GTw*!Sta zJRz{)OqRTqvi1@eso3*szl(PtW>1{E=StzBKQF}?o?7l^;>iePbW{{l=AH2Cl2MDn z{d$Sh^3q45&#z;7w>xT*=+_T{DTlfy=c~RH$>!;i%2bJ+?YJhpe22mLHw+1?v)6A6 zKJlw}+t=1}s;T=^7oDFg$t0^XSM}S;tu_ir#kVm|-Pf~jo%6rKANCgtUQcbP;!QUG zCveNzPD(|Yw_iQO=8IoT8c*i`!>jgeZ}z+$DWlw;VwTr;t8L$fT@tcKX7yIzdx+0JP-aj=rcL1Pcl%OeKcAkD}KqR z_jaWpeu3*j#yJbauQPshsm;B7?|!rLsb5tFN6PmKD{?Q74`NYo?s2^*Uh}79;>$8E z?}`h*UM*%?akl8+FPX{$nYA)r{CuVHzol-i+V}h_^N*64XSotu+s)KB#w6d=ie5H3 zpSAGc%=`Bu@?X~U1U}w>D!umP+Xa(%U#RwAZ#aCGp-%3=d3oEqKeg@W%@PkO^S^W6 zKg;0ZLRRtmOF!o)YzUtgWOx03tAJV7znOur_D`<~^t9pNI_$yNCtNf8M08gU|ElGe zukNm`J{F%W$Hs8zpCEpr*&HT)&Iz_8L^(a|JiGe)ahS& z-RC84*&UcEsC%u!Qt$TpIY?OD3YfZcV@s$1NMU{?~!OFcqp1u{{X?Sw$yZYJ9 zoL}sOPwdEfop;OQPk79xc6P^||bC z8%+M)n>Q=?a8uxv)|bDxAD)xH;JpKz(-dFMW2~o7$A9@Md%Vv}zIXDAPYyq_-Q4r% zJWu@Rz5Cqv|G(e+h&|r9NWT2`!A_GCYg$v%_omoXZ7Vp&QgwLMl%mi1F|~(ZPF~J` zu9tn++Q%DvvJY$$pEJMGdy1p7f6@!P=bUdR-g1i;j4ujh4(+Y4x^VgR%<0WS`GOD1 zUOX1wE_p2W{&kZVzgj|fin&OBvvK}pygz1Iz5HFZi;}lPR!VtZc;Q^2a9~#8`yVCV zak85|mQ6^18p``?R`)Car!!uL+_b3Tu;6^)$}q3+%a4z%?L=6F)okuObbb{ntY#DP zV7mRwV0*>`stk6^`76(;hnl`}nw8=d|3P=c+LUMy;qbhjbJjL5uK21cwTk&{>4H?g z^$a{+8{SPkK4Jc0J_Y609iJSs`Fhu-_1u|m)GMi^;SjO2XlV<-%a;=Cv*HymWI6Xt zJN8@B`c}-j>|^WX*lMb5KkwuZ`SEO(^5d}MXHQf-d%x$E$*K8LRY#2XKiqqKS8Y;; z%+KwC()#N>UTOY3>v7FY>{Y`YpSF!PJ6@bgT*M|bX-{0<+Vu%PE|*PTksf~Qx5vyl zzrNKc)BbAqEwWj0N26Arcf#6f<}-Edovamu9#2zvXJ6>^?sm%Jxs|IHDgTNvtGyrU z?rkz*^R8 zygz?FoQx@3Tcek*{`VUHl;XW+)O&!TmQ_3fIO5N9WE!_}s zE2`~DKVN^x>8D3)xhL&Ex#VhjvBLx&9;M#jJgf&!ZvsH@^Vwdo&EDk3<}6=p_H}ze`6;d{*De2!dH8>RzAU!z zM!l`@fuw!9iz7wZ!?WDjOEqhEEme$`JipGU$Heq-Tez-;;N_WbFW+Mioyg~>aOL^M z#FQAe?d>}r&7aK|U6R@sANFj9{KVj<WcPJi2)uH7?7yyKh->)QPA66uqBUru^> zQbziXL*TAipH;stD5z#nnw#~+*Ngq*Q?5Tw-uLs25|)~KU*0PB`u_1d*FIjH>RQ_( zd3)cnJkJx$U+iX1DETq}l#XN8^_h(RoKe69Mxt|{#h$I&93>Yk!*Oq@zY^H z>E-4pJY}Wj?e@r>Zfw-ItNQa}X$cO=IvEIUHRg) zuygb4M$wFmvm!h1K3e`bGQ5{YNXy zdo~Eo|FBu&!0q2R#cdwXHrA4RsJ&$EshI4EyMCRw;1>wD+&%T_Dw|D)m)HN>K26Qx zCqHvfFaMg9)@i@*dBh!bc(O~qGWD%}@qxm9>+TjNi^)Z<+xuqoy{%pmQ-0dH)~u^& zPP%_AwwK{W-R?CL8ooZ(m)7%H+;@1Z?ZV#e|7?Y&rw8A5a0)eBXPoOZd7tpL18sGu zUp(LRMm{-9DmVRKmT$qQdzaV$?OmP!C&qZr!L}veSL^ib`FK5S%Wa9vLfgNb-v9N$ z_Qr=jru(Jd#Yn$d!yU*V_I;VP-}21UE6lu3n@aaYep;6%$nY?YX}R);i!(}gZurBe zu=>7{UF9zadyOUYk4?4m_pVQM_xdAOsW9|(WOuG zyH0)Tz8)d9;gkBV*j+-Vi+p=0Zfi;@O*;3%gms(wgu5@&owkQHRZBjxDcv%CNBKtk zZL2k<7hg5;;F~)2(|r-w)mZCP-|N9G)1?xmvbIx@_ALh&yTBp{BpOSY|SR|-O84gvy2A(>Nw6Ir1LlHaNiJ$j8xXqN(-Bb&`IkaJXvdIxj8HsoGE3?RRLc zRN>c~KDkRiM)S6U=E)!x_erU*^CG7y-<+h{^=K}OzSSNE<7R13LGvaShnQz)=FGHA z|99^2z16>?== z7H4JOJ!AU1>y+`S_3_@%3{HI7%~Kcu+pwIW;Ki=iExZcHIarnd7HWRHyJVN5Y{Y|$ zPa3X7e%&zX&&p#SC{_#t0agpD6@RxQ*wcdukLbn}@O)_WyG`s$s~rFuf?g`e&)WwuZdPjfHDI>N83$+YvX#d|^_QnUne1zSpyM z`mmY0Sx@krdBx$$>wxn=-C1=G8PDE$c|(?k{7UbGn?4`$sF%xnb3{6Po?eDpYeng!*y?<}U znNNkCJ~uzkc6+bK5dG_$jqjbMv87jbtg189J$SMFS*^HBxOeHJUHYbutc~j)=gjo% zou(i#F=&yz-<`a||4U|de=3b#_Tr>~dCb$t43{<9Snv9O%}L!|6KNluX1i2A;FI1C zyNT?!ONwswXfr%`!!B3z#h5?m{hm<9<;!zxFCCezyh!2$`(D*O5*@GH)~xC031~B6 zNw~>)sFtr@JZ@Rj#g)=;_xtW&T*Yuz`_s8fowE;|zZ~nkuz|gy+^zVS-WK__>;Alp zmd~i%xv9tLxWT!}c?=!j_#A3h$MHOrJbkcF`Rd|NMmy{HGWZX?Pr9Z4!1#RV!e+ME zjH+|{HaIrxiT&C-J^nj0Tg?UrcHwFxRoU)oJl=9sexF?=l@X>q^YqD{!v~nl{2Hh8 zoLSm?XUiNZUW0I--nkhe&q{*?4)yi(

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B zZ_VC6Q;e(Mzlq@3)YTWVKBj-^=3|QmX3svd%uMvP&~=IVuWtt&=aeqpW!@t7qSyVl z#l-sdJyD&03xBZ%m_OmkzLze?Gv$ilgPcYiDTSsx92t9ZHyFPDxqDlz)cG|JQ~lJ` zYL~y^c^ET$AOG~NvVzZz5B%IG|1;{-yz~d&P6acH!sPc})MY$j6}M}?W#6=02KCi3 z<_o??O7fQmz3h8Ads?~f#P9xhUut(6s}x#pib>*bby5_ybiIlV7YBC+B-r94~v^H2OZ@w$L z(T}G^U(K281MaPu{No?5Z<=uB?azDuM72+FFTJz{USdNH^0w1|4!H)gHF ztPA>?exx(}OZb0nT3Kc@TWnZKqTNQvW<7(yuTIB*Eo!diIM91w)6BWNPKG=szouW` zwApyU)0rNQL1`BHCl?u&^dwL0c6%hGP!PR9YFp{qm!Fn(PHmUiS5yD!s){-wpT zh6`@G#I&E;dEi*M#cbQi@Y7Yv&C}+}$S}zrKK=Q!s@8*;3dJ?jWd$ua-OOW7zIauV z*O+T^L#*V8AK!w;2-8cU?)&`qpVA3^y??HTqnP5uwxr|w)tVjevvxh}m}9Z}t)SXL zMa6Tf|8{@jwc?1nWfA!O;RhS<)QZ2iaxAU=*Zk&Nta9nHzYuREB?zx(|^x^ky6RzoeQw-j3#awneZQjzeO5aNF zlyCWWok<~8^2-j#bLZW!6xy#zJz6gKS*PjEPTkLG<#+g2^W4*K_;l^L@b?{zaeuz; z_$kT4s#CG=clYj7zIK~+Q8mLJ z@dNvB?cch!SdmrIdQJ8IaDfR%Q(L` z`N`~HD`HJQ+sFttV5qSRPZjCuVcFz60JCS++1gE0s&yDmox842z-ESUe z*`iNsYaG?`_dmLDf~)-BO|}&}?N(=g+}r7AdBW+xvE8dXv0V%+&QI1#&F%R7O^}mCOP_^>pvs23ac|FZ;ZSIs?Jm;?_ zbK8`}w2yjs(mvep?4EHWJ>(qgl)w8t_fDIm=D>3?E$KmotZb*@?5oCW*`z0!Jnlbo z;M^+S2;>!u!({OD8fYJqbE~?$`__p4dklwlJ!E&V0}@ zFVOaDoUzpGX-;vEW>4FyFiAE1YfJyqV~)9>Yo;Zaq(dwX+y*0Ci70#W| zzo;e`^=#6*$N8`K-Ss`^@O0~c2Y+kaFHfFaGg;<{(#z%3 zzHHheq8`mO;cM;eRTmplb0*x}zT?W@cB4<9&euI?bhrO}pffoC={F9Y^-te9Uo|#( zm%H_2j-Scoy`oiiX8#W_2;D#Pfq_8njx#o&&-sbZwJdjgw<15GM$6QyT2O{zrrwUb zA1K;n(VknV1u%5Bv{J*tp7mG*DaBQB(`RdnE$L4wdU+&v~y4ucL zFu-iXUT4hr zcixE$2Ns`g`&qJAkJUA6iCe~Awe_`W4B}po*_3pyUA^G$9TM>JKezu%C(%QV|Em7o zXEhQxdbqLgO?A3Mrs~yST|BkF!cJ&i4d2mzclegVZ!zE=SrUW@@RNJa` z^*Aj4(w*CRs%Sxc;~MGR*Rq~leL2xQA^y~fC;a>??(7T`wYcul8`gu0LAFn3ereJhpfqmsM2V^Sz7yoY~lD{xmMjeyMcHr}FbV zUmaVp@P5wy3WmI;jNKxCPFr)fPG`&D@?!XJxSKiS)VjaB?A~{uGBLis{J)s&i4SKg z-TvrZi__b#+8Oo8hHJvt{Ek^Ov_CFg?)T^A-`m#tSCw_HKD@yYyWi*Z??Cqde|o+~ zys+9bb;#^QnB)wti`u`>%7&ljk4%yr4Y) zyw2+H=QI9(f6`#$S$^>4ZiYYp4DV_lT#Nqyp)orD??-Ok3kw|YYsT8lzrMgxd_vvd zr`P``Fxu@g+EeDs)?md@6C0DYp^5$GwqrBXf6wiYPv2ZpCEL4DsIGl4gNKIcoht=j zp47}$`?4v6ZNuZO3)J^rtNL0f_;!0?tjr$I*rbR`ej$@L`!8&XVU%={Inj&;|r|BSa23%Kp{H%_7I?UU~6?lmvXgCFjhI`ehM_xl=K&vC_U?Z1@o`&<3| zb3w0L>;CAU|CRn{3;($4y(FyjRPn5Zl3?k{JZTR=M9;6_fOmU za!)zi@<@y7YQOjA_vmk(aQ|mJ2Sb+h!xeTW`(F8Q`U$>1{B!4=U($EvUhMn%d7k?! z>0RlQro9&X#s65D;rDmRl!y!B6Wo&u%2#h-deMuQ_7v3}}-tYK+ z$JLv^zB|;ad=Hi>6zMa&a_+&S#pjtT_#5tnD!}T6t&%1$qL+667nU}8VY%pj#nICB zTCDGxKR7Xj|N5Wy*1SR6`(UW{X6?oz)r8BoQ?wal4z{(lEzwF~E?Qi2(tzaz$JLe7 zR0`8%!VU-WB+WBirMN38#oC|mc05y^PoB+}hi3{8AMyRIZjo!{WH{}n41?o@ncJ;d ztRgS+%vows_V4bK?px>5m8)f08KRz@Wu2(o{i6TGY@WaWbbk3B*nIVT@18JE)~&OS z^Lot_ee^u)yjii0ZEhf6A@hM^##DBWbDNiaFLUiRpQA7#WMB6U1?MZW4zmx;e63f^ zVp3VnTrYfeA0yM91HWF{7p-%C7IWqOlbToImEOOvm9J?i<$Q9jnk(Q*<+17c61R4j ze^@x1Au7E4+uaQ^-se2ez4q%{lbzZyWvbxo-)rlw&nf)nQ|&rg`RUfDty@~Z?y7ma z{eAU{Iaa&(O?zst@Fl(`x8s1%T&dq{YSR<{?%itjlC36Y+qLV91uSajs-8Cc&s{ag znv-quJag&j-(O#>VJ)#aaQ({l6>$zvi)Y_-cdC#-^k<9C^O+~JJOAhi%h#UzdARiK z<=199^CM2Y7vJ?zar^8G-&QKR?%T<8i%qYnisQg}h99keqoe)fG7{N%t>Sl;fZLu$ zzs`ooq&LJeKG2#ymx*onCWi2JCptIi?I=p!!PU{n`oI2^^~a9yYd;-1@?LAo&z%pw zrkson^eT;tY3;l|^~~w@xpjGFALo9$J(cxo7teuJ2j6|)U0q@v&9>mroh>uoZJlZA zf2F7H(e8k4pPt?QwYf&ioy|+K;?o)T$#Y5<2Q0Zd|6uxamQUGb1`XyO*?q0AOlFjx zUM{6^{>$G4qZ5B#Y+uTIT+Oa9ZMVuUo~MiSFZb^06!#Wf{dRM7so9Mse^t)uJ)hL* z$ZVC)Wz9b&J)Ayzs9QnO*rce3qzbZoi^qA-0 zVQ_Icm3y$XYTxX_($t9`mb$c0wh}dtdu22Ci?X`@iR#xsb*!6r$VbDyK1_&)i!JC+@(uK)F5@%-9^>gQ|Un3$cu-uT&e{q0N7 zYW)(g-P_{d@xZTgi=El0(&dG0_cs6K`VsrOu(9^ni=1y?;*S4YQ?w9rf$) zi=5o=zwYis@j3g%_FqwE~=#056sW&|X z=S#bKuQ~lDK|!76`N2154v3f=7G67e&K!@?&HeJcUQ{K; zcuDSEJISYqtRI)2OFt*hwwfI$I>GI`X8v44I|LZYqf1va7 zdWJgNCd(Urd`joU8UNSJVwI^mb8B^Ot?`7rDGSaEZ}MHvm{4Jwe5C*1Tdt*Lb1n0J z)asu-!EF2Bd9`CY_k`*i}+eKM-KYq_qMt~_7l-XCB8^QCb8pM~vm z|5tA?f;@CS=P@Nc-c39dj0-q+p7yNEUncnROb6zD7Vrn)J5m z|8~8o#SL>5mbxYhoY(eV>DRlOr|fA}QAfzl6B~Wnj1tu(7cr!Cr__@Cr zW5B_`ZMDWT>P8HMR_h(E*~?J$^~{%LyiDg=tdf>Ad;XJKU=*r8nThYB z^YaSBotEnBwhP;Syu_cMtds7>b;0=Nv<}%~DbLq!o4mjBzH>gCuJ7d!1@q48mAut&NPlR~=wHvr*2l?l#g--Nm{`#Ji#jq%@u%l= zm)#WYc~#Am`0J~5_t)>=moB)+n7fUoVgKo=OZaQMzjGcn5C8h~TT!w#t|E<-% z%UpJ00k_xm^XX<87Zx~9SKRyGl%3~I!i>erFW!e{oNGBZapNQp&bqYT{8+xE15;lI zt&5p>m__JiKFg7Ud+7X6whxdm-!kpi=Q8}m(n=@t=eLLs_M1-!U8iJPvGwLq7$~&@TqufG#*sU|90J)KgqU9C-tP^ zMwwssd*3@rzd!o;G1G_jMK6Omr)ll`|K>?=POf$E`!yFmdiL4fJ7$(UetF%)1*mZD~31Iqml`1BX=0iB}X~OuQA#d-A%;XMWb(cYpo9u<+<&4)ex0 zr}}@*da)(bJ^j*a?oawJS6hlcyHeb|kyY-MPJ(L+pVYc|%>(;FdrY$5YFNE1@nrtK zayn-%=Yii0e@_36j#k&(V$jUSIQ{B(Q&1Q;>xKQg@H)@LIEGWgT4>+xWu=qtH?l0M zJhp!}FWZTRs}I+ly?4>2#MI6>j%(AdyKgS?e0Z~7sM(%vp;hvor-tk-lPAdN$zM9> zS@SJy760bC$7eEPj!U^Kq{hzM5_e=h^Pjuxx>qRNub;f*ZC6REf-I}SbtN8)DLc;m zH(Kz?)~09OSKBAQG7t0|o*kJS<@Z#%G{NXZ5l^Yk%7Cp0Iu~w>oVJspI=<%3%JYAJ zF8066^B}8i--p1Wm~HdrF6`@ksp)=l!{*h?+*uxQJv&^)tmS{OM9ejSQESn^O@CG| zvGI%Ee|yQ@)|oG==1w<%sj^R;^~0+zXVN}ct8<(bblCpF=GD!hxyL≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue new file mode 100644 index 00000000..29c023fb --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js new file mode 100644 index 00000000..e57db594 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/main.js @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js new file mode 100644 index 00000000..a30c338e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go b/v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go new file mode 100644 index 00000000..e182b31a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/generate.go @@ -0,0 +1,215 @@ +package main + +import ( + "embed" + "github.com/leaanthony/debme" + "github.com/leaanthony/gosod" + "github.com/wailsapp/wails/v2/cmd/wails/internal/commands/initialise/templates/generate/s" + "os" + "strings" +) + +//go:embed assets/common/* +var common embed.FS + +//go:embed assets/svelte/* +var svelte embed.FS + +//go:embed assets/svelte-ts/* +var sveltets embed.FS + +//go:embed assets/lit/* +var lit embed.FS + +//go:embed assets/lit-ts/* +var litts embed.FS + +//go:embed assets/vue/* +var vue embed.FS + +//go:embed assets/vue-ts/* +var vuets embed.FS + +//go:embed assets/react/* +var react embed.FS + +//go:embed assets/react-ts/* +var reactts embed.FS + +//go:embed assets/preact/* +var preact embed.FS + +//go:embed assets/preact-ts/* +var preactts embed.FS + +//go:embed assets/vanilla/* +var vanilla embed.FS + +//go:embed assets/vanilla-ts/* +var vanillats embed.FS + +func checkError(err error) { + if err != nil { + println("\nERROR:", err.Error()) + os.Exit(1) + } +} + +type template struct { + Name string + ShortName string + Description string + Assets embed.FS + FilesToDelete []string + DirsToDelete []string +} + +var templates = []*template{ + { + Name: "Svelte + Vite", + ShortName: "Svelte", + Description: "Svelte + Vite development server", + Assets: svelte, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore", "frontend/src/assets/svelte.png"}, + DirsToDelete: []string{"frontend/public", "frontend/src/lib"}, + }, + { + Name: "Svelte + Vite (Typescript)", + ShortName: "Svelte-TS", + Description: "Svelte + TS + Vite development server", + Assets: sveltets, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore", "frontend/src/assets/svelte.png"}, + DirsToDelete: []string{"frontend/public", "frontend/src/lib"}, + }, + { + Name: "Lit + Vite", + ShortName: "Lit", + Description: "Lit + Vite development server", + Assets: lit, + FilesToDelete: []string{"frontend/index.html", "frontend/vite.config.js"}, + }, + { + Name: "Lit + Vite (Typescript)", + ShortName: "Lit-TS", + Description: "Lit + TS + Vite development server", + Assets: litts, + FilesToDelete: []string{"frontend/index.html", "frontend/src/favicon.svg"}, + }, + { + Name: "Vue + Vite", + ShortName: "Vue", + Description: "Vue + Vite development server", + Assets: vue, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore"}, + DirsToDelete: []string{"frontend/src/assets", "frontend/src/components", "frontend/public"}, + }, + { + Name: "Vue + Vite (Typescript)", + ShortName: "Vue-TS", + Description: "Vue + Vite development server", + Assets: vuets, + FilesToDelete: []string{"frontend/index.html", "frontend/.gitignore"}, + DirsToDelete: []string{"frontend/src/assets", "frontend/src/components", "frontend/public"}, + }, + { + Name: "React + Vite", + ShortName: "React", + Description: "React + Vite development server", + Assets: react, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.svg", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "React + Vite (Typescript)", + ShortName: "React-TS", + Description: "React + Vite development server", + Assets: reactts, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.svg", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "Preact + Vite", + ShortName: "Preact", + Description: "Preact + Vite development server", + Assets: preact, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.jsx", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "Preact + Vite (Typescript)", + ShortName: "Preact-TS", + Description: "Preact + Vite development server", + Assets: preactts, + FilesToDelete: []string{"frontend/src/index.css", "frontend/src/favicon.svg", "frontend/src/logo.tsx", "frontend/.gitignore", "frontend/index.html"}, + }, + { + Name: "Vanilla + Vite", + ShortName: "Vanilla", + Description: "Vanilla + Vite development server", + Assets: vanilla, + FilesToDelete: []string{"frontend/.gitignore", "frontend/index.html", "frontend/favicon.svg", "frontend/main.js", "frontend/style.css"}, + }, + { + Name: "Vanilla + Vite (Typescript)", + ShortName: "Vanilla-TS", + Description: "Vanilla + Vite development server", + Assets: vanillats, + FilesToDelete: []string{"frontend/.gitignore", "frontend/index.html", "frontend/favicon.svg", "frontend/src/main.ts", "frontend/src/style.css"}, + }, +} + +func main() { + + for _, t := range templates { + createTemplate(t) + } +} + +func createTemplate(template *template) { + cwd := s.CWD() + name := template.Name + shortName := strings.ToLower(template.ShortName) + assets, err := debme.FS(template.Assets, "assets/"+shortName) + checkError(err) + commonAssets, err := debme.FS(common, "assets/common") + checkError(err) + + s.CD("..") + s.ENDIR("templates") + s.CD("templates") + s.RMDIR(shortName) + s.COPYDIR("../base", shortName) + s.CD(shortName) + s.ECHO("Generating vite template: " + shortName) + s.EXEC("npm create vite@latest frontend --template " + shortName) + + // Clean up template + for _, fileToDelete := range template.FilesToDelete { + s.DELETE(fileToDelete) + } + for _, dirToDelete := range template.DirsToDelete { + s.RMDIR(dirToDelete) + } + s.REPLACEALL("README.md", s.Sub{"$NAME": template.ShortName}) + s.REPLACEALL("template.json", s.Sub{"$NAME": name, "$SHORTNAME": shortName, "$DESCRIPTION": template.Description}) + + // Add common files + g := gosod.New(commonAssets) + g.SetTemplateFilters([]string{}) + err = g.Extract(".", nil) + checkError(err) + + // Add custom files + g = gosod.New(assets) + g.SetTemplateFilters([]string{}) + err = g.Extract(".", nil) + checkError(err) + + //s.ECHO("HERE") + //s.EXEC("wails init -n " + shortName + "test -t ./" + shortName) + //s.ECHO("HERE") + //s.CD(shortName + "test") + //s.ECHO("HERE") + //s.REPLACEALL("go.mod", s.Sub{"// replace": "replace"}) + //s.ECHO("HERE") + //s.EXEC("wails build -debug") + //s.ECHO("HERE") + s.CD(cwd) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum b/v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum new file mode 100644 index 00000000..69c3ba18 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/go.sum @@ -0,0 +1,4 @@ +github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc= +github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA= +github.com/leaanthony/gosod v1.0.3 h1:Fnt+/B6NjQOVuCWOKYRREZnjGyvg+mEhd1nkkA04aTQ= +github.com/leaanthony/gosod v1.0.3/go.mod h1:BJ2J+oHsQIyIQpnLPjnqFGTMnOZXDbvWtRCSG7jGxs4= diff --git a/v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go b/v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go new file mode 100644 index 00000000..b5dcb509 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/generate/s/s.go @@ -0,0 +1,306 @@ +package s + +import ( + "crypto/md5" + "fmt" + "github.com/bitfield/script" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" +) + +var ( + Output io.Writer = io.Discard + IndentSize int + originalOutput io.Writer + currentIndent int +) + +func checkError(err error) { + if err != nil { + println("\nERROR:", err.Error()) + os.Exit(1) + } +} + +func mute() { + originalOutput = Output + Output = ioutil.Discard +} + +func unmute() { + Output = originalOutput +} + +func indent() { + currentIndent += IndentSize +} + +func unindent() { + currentIndent -= IndentSize +} + +func log(message string, args ...interface{}) { + indent := strings.Repeat(" ", currentIndent) + _, err := fmt.Fprintf(Output, indent+message+"\n", args...) + checkError(err) +} + +// RENAME a file or directory +func RENAME(source string, target string) { + log("RENAME %s -> %s", source, target) + err := os.Rename(source, target) + checkError(err) +} + +// DELETE a file. +func DELETE(filename string) { + log("DELETE %s", filename) + err := os.Remove(filepath.Join(CWD(), filename)) + checkError(err) +} + +func CD(dir string) { + err := os.Chdir(dir) + checkError(err) + log("CD %s [%s]", dir, CWD()) +} +func MKDIR(path string, mode ...os.FileMode) { + var perms os.FileMode + perms = 0755 + if len(mode) == 1 { + perms = mode[0] + } + log("MKDIR %s (perms: %v)", path, perms) + err := os.MkdirAll(path, perms) + checkError(err) +} + +// ENDIR ensures that the path gets created if it doesn't exist +func ENDIR(path string, mode ...os.FileMode) { + var perms os.FileMode + perms = 0755 + if len(mode) == 1 { + perms = mode[0] + } + _ = os.MkdirAll(path, perms) +} + +// COPYDIR recursively copies a directory tree, attempting to preserve permissions. +// Source directory must exist, destination directory must *not* exist. +// Symlinks are ignored and skipped. +// Credit: https://gist.github.com/r0l1/92462b38df26839a3ca324697c8cba04 +func COPYDIR(src string, dst string) { + log("COPYDIR %s -> %s", src, dst) + src = filepath.Clean(src) + dst = filepath.Clean(dst) + + si, err := os.Stat(src) + checkError(err) + if !si.IsDir() { + checkError(fmt.Errorf("source is not a directory")) + } + + _, err = os.Stat(dst) + if err != nil && !os.IsNotExist(err) { + checkError(err) + } + if err == nil { + checkError(fmt.Errorf("destination already exists")) + } + + indent() + MKDIR(dst) + + entries, err := os.ReadDir(src) + checkError(err) + + for _, entry := range entries { + srcPath := filepath.Join(src, entry.Name()) + dstPath := filepath.Join(dst, entry.Name()) + + if entry.IsDir() { + COPYDIR(srcPath, dstPath) + } else { + // Skip symlinks. + if entry.Type()&os.ModeSymlink != 0 { + continue + } + + COPY(srcPath, dstPath) + } + } + unindent() +} + +// COPY file from source to target +func COPY(source string, target string) { + src, err := os.Open(source) + checkError(err) + defer closefile(src) + d, err := os.Create(target) + checkError(err) + _, err = io.Copy(d, src) + checkError(err) +} + +func CWD() string { + result, err := os.Getwd() + checkError(err) + log("CWD [%s]", result) + return result +} + +func RMDIR(target string) { + log("RMDIR %s", target) + err := os.RemoveAll(target) + checkError(err) +} + +func RM(target string) { + log("RM %s", target) + err := os.Remove(target) + checkError(err) +} + +func ECHO(message string) { + println(message) +} + +func TOUCH(filepath string) { + log("TOUCH %s", filepath) + f, err := os.Create(filepath) + checkError(err) + closefile(f) +} + +func EXEC(command string) { + log("EXEC %s", command) + gen := script.Exec(command) + gen.Wait() + checkError(gen.Error()) +} + +// EXISTS - Returns true if the given path exists +func EXISTS(path string) bool { + _, err := os.Lstat(path) + log("EXISTS %s (%T)", path, err == nil) + return err == nil +} + +// ISDIR returns true if the given directory exists +func ISDIR(path string) bool { + fi, err := os.Lstat(path) + if err != nil { + return false + } + + return fi.Mode().IsDir() +} + +// ISDIREMPTY returns true if the given directory is empty +func ISDIREMPTY(dir string) bool { + + // CREDIT: https://stackoverflow.com/a/30708914/8325411 + f, err := os.Open(dir) + checkError(err) + defer closefile(f) + + _, err = f.Readdirnames(1) // Or f.Readdir(1) + if err == io.EOF { + return true + } + return false +} + +// ISFILE returns true if the given file exists +func ISFILE(path string) bool { + fi, err := os.Lstat(path) + if err != nil { + return false + } + + return fi.Mode().IsRegular() +} + +// SUBDIRS returns a list of subdirectories for the given directory +func SUBDIRS(rootDir string) []string { + var result []string + + // Iterate root dir + err := filepath.Walk(rootDir, func(path string, info os.FileInfo, err error) error { + checkError(err) + // If we have a directory, save it + if info.IsDir() { + result = append(result, path) + } + return nil + }) + checkError(err) + return result +} + +// SAVESTRING will create a file with the given string +func SAVESTRING(filename string, data string) { + log("SAVESTRING %s", filename) + mute() + SAVEBYTES(filename, []byte(data)) + unmute() +} + +// LOADSTRING returns the contents of the given filename as a string +func LOADSTRING(filename string) string { + log("LOADSTRING %s", filename) + mute() + data := LOADBYTES(filename) + unmute() + return string(data) +} + +// SAVEBYTES will create a file with the given string +func SAVEBYTES(filename string, data []byte) { + log("SAVEBYTES %s", filename) + err := os.WriteFile(filename, data, 0755) + checkError(err) +} + +// LOADBYTES returns the contents of the given filename as a string +func LOADBYTES(filename string) []byte { + log("LOADBYTES %s", filename) + data, err := os.ReadFile(filename) + checkError(err) + return data +} + +func closefile(f *os.File) { + err := f.Close() + checkError(err) +} + +// MD5FILE returns the md5sum of the given file +func MD5FILE(filename string) string { + f, err := os.Open(filename) + checkError(err) + defer closefile(f) + + h := md5.New() + _, err = io.Copy(h, f) + checkError(err) + + return fmt.Sprintf("%x", h.Sum(nil)) +} + +// Sub is the substitution type +type Sub map[string]string + +// REPLACEALL replaces all substitution keys with associated values in the given file +func REPLACEALL(filename string, substitutions Sub) { + log("REPLACEALL %s (%v)", filename, substitutions) + data := LOADSTRING(filename) + for old, newText := range substitutions { + data = strings.ReplaceAll(data, old, newText) + } + SAVESTRING(filename, data) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md new file mode 100644 index 00000000..6b7ae9fb --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Lit-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/.gitignore b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/.gitignore similarity index 100% rename from v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/.gitignore rename to v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/.gitignore diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..4110dc39 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json new file mode 100644 index 00000000..4e27c9ee --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/package.json @@ -0,0 +1,25 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "main": "dist/my-element.es.js", + "exports": { + ".": "./dist/my-element.es.js" + }, + "types": "types/my-element.d.ts", + "files": [ + "dist", + "types" + ], + "scripts": { + "dev": "vite", + "build": "tsc && vite build" + }, + "dependencies": { + "lit": "^2.0.2" + }, + "devDependencies": { + "vite": "^2.9.2", + "typescript": "^4.5.4" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B zZ_VC6Q;e(Mzlq@3)YTWVKBj-^=3|QmX3svd%uMvP&~=IVuWtt&=aeqpW!@t7qSyVl z#l-sdJyD&03xBZ%m_OmkzLze?Gv$ilgPcYiDTSsx92t9ZHyFPDxqDlz)cG|JQ~lJ` zYL~y^c^ET$AOG~NvVzZz5B%IG|1;{-yz~d&P6acH!sPc})MY$j6}M}?W#6=02KCi3 z<_o??O7fQmz3h8Ads?~f#P9xhUut(6s}x#pib>*bby5_ybiIlV7YBC+B-r94~v^H2OZ@w$L z(T}G^U(K281MaPu{No?5Z<=uB?azDuM72+FFTJz{USdNH^0w1|4!H)gHF ztPA>?exx(}OZb0nT3Kc@TWnZKqTNQvW<7(yuTIB*Eo!diIM91w)6BWNPKG=szouW` zwApyU)0rNQL1`BHCl?u&^dwL0c6%hGP!PR9YFp{qm!Fn(PHmUiS5yD!s){-wpT zh6`@G#I&E;dEi*M#cbQi@Y7Yv&C}+}$S}zrKK=Q!s@8*;3dJ?jWd$ua-OOW7zIauV z*O+T^L#*V8AK!w;2-8cU?)&`qpVA3^y??HTqnP5uwxr|w)tVjevvxh}m}9Z}t)SXL zMa6Tf|8{@jwc?1nWfA!O;RhS<)QZ2iaxAU=*Zk&Nta9nHzYuREB?zx(|^x^ky6RzoeQw-j3#awneZQjzeO5aNF zlyCWWok<~8^2-j#bLZW!6xy#zJz6gKS*PjEPTkLG<#+g2^W4*K_;l^L@b?{zaeuz; z_$kT4s#CG=clYj7zIK~+Q8mLJ z@dNvB?cch!SdmrIdQJ8IaDfR%Q(L` z`N`~HD`HJQ+sFttV5qSRPZjCuVcFz60JCS++1gE0s&yDmox842z-ESUe z*`iNsYaG?`_dmLDf~)-BO|}&}?N(=g+}r7AdBW+xvE8dXv0V%+&QI1#&F%R7O^}mCOP_^>pvs23ac|FZ;ZSIs?Jm;?_ zbK8`}w2yjs(mvep?4EHWJ>(qgl)w8t_fDIm=D>3?E$KmotZb*@?5oCW*`z0!Jnlbo z;M^+S2;>!u!({OD8fYJqbE~?$`__p4dklwlJ!E&V0}@ zFVOaDoUzpGX-;vEW>4FyFiAE1YfJyqV~)9>Yo;Zaq(dwX+y*0Ci70#W| zzo;e`^=#6*$N8`K-Ss`^@O0~c2Y+kaFHfFaGg;<{(#z%3 zzHHheq8`mO;cM;eRTmplb0*x}zT?W@cB4<9&euI?bhrO}pffoC={F9Y^-te9Uo|#( zm%H_2j-Scoy`oiiX8#W_2;D#Pfq_8njx#o&&-sbZwJdjgw<15GM$6QyT2O{zrrwUb zA1K;n(VknV1u%5Bv{J*tp7mG*DaBQB(`RdnE$L4wdU+&v~y4ucL zFu-iXUT4hr zcixE$2Ns`g`&qJAkJUA6iCe~Awe_`W4B}po*_3pyUA^G$9TM>JKezu%C(%QV|Em7o zXEhQxdbqLgO?A3Mrs~yST|BkF!cJ&i4d2mzclegVZ!zE=SrUW@@RNJa` z^*Aj4(w*CRs%Sxc;~MGR*Rq~leL2xQA^y~fC;a>??(7T`wYcul8`gu0LAFn3ereJhpfqmsM2V^Sz7yoY~lD{xmMjeyMcHr}FbV zUmaVp@P5wy3WmI;jNKxCPFr)fPG`&D@?!XJxSKiS)VjaB?A~{uGBLis{J)s&i4SKg z-TvrZi__b#+8Oo8hHJvt{Ek^Ov_CFg?)T^A-`m#tSCw_HKD@yYyWi*Z??Cqde|o+~ zys+9bb;#^QnB)wti`u`>%7&ljk4%yr4Y) zyw2+H=QI9(f6`#$S$^>4ZiYYp4DV_lT#Nqyp)orD??-Ok3kw|YYsT8lzrMgxd_vvd zr`P``Fxu@g+EeDs)?md@6C0DYp^5$GwqrBXf6wiYPv2ZpCEL4DsIGl4gNKIcoht=j zp47}$`?4v6ZNuZO3)J^rtNL0f_;!0?tjr$I*rbR`ej$@L`!8&XVU%={Inj&;|r|BSa23%Kp{H%_7I?UU~6?lmvXgCFjhI`ehM_xl=K&vC_U?Z1@o`&<3| zb3w0L>;CAU|CRn{3;($4y(FyjRPn5Zl3?k{JZTR=M9;6_fOmU za!)zi@<@y7YQOjA_vmk(aQ|mJ2Sb+h!xeTW`(F8Q`U$>1{B!4=U($EvUhMn%d7k?! z>0RlQro9&X#s65D;rDmRl!y!B6Wo&u%2#h-deMuQ_7v3}}-tYK+ z$JLv^zB|;ad=Hi>6zMa&a_+&S#pjtT_#5tnD!}T6t&%1$qL+667nU}8VY%pj#nICB zTCDGxKR7Xj|N5Wy*1SR6`(UW{X6?oz)r8BoQ?wal4z{(lEzwF~E?Qi2(tzaz$JLe7 zR0`8%!VU-WB+WBirMN38#oC|mc05y^PoB+}hi3{8AMyRIZjo!{WH{}n41?o@ncJ;d ztRgS+%vows_V4bK?px>5m8)f08KRz@Wu2(o{i6TGY@WaWbbk3B*nIVT@18JE)~&OS z^Lot_ee^u)yjii0ZEhf6A@hM^##DBWbDNiaFLUiRpQA7#WMB6U1?MZW4zmx;e63f^ zVp3VnTrYfeA0yM91HWF{7p-%C7IWqOlbToImEOOvm9J?i<$Q9jnk(Q*<+17c61R4j ze^@x1Au7E4+uaQ^-se2ez4q%{lbzZyWvbxo-)rlw&nf)nQ|&rg`RUfDty@~Z?y7ma z{eAU{Iaa&(O?zst@Fl(`x8s1%T&dq{YSR<{?%itjlC36Y+qLV91uSajs-8Cc&s{ag znv-quJag&j-(O#>VJ)#aaQ({l6>$zvi)Y_-cdC#-^k<9C^O+~JJOAhi%h#UzdARiK z<=199^CM2Y7vJ?zar^8G-&QKR?%T<8i%qYnisQg}h99keqoe)fG7{N%t>Sl;fZLu$ zzs`ooq&LJeKG2#ymx*onCWi2JCptIi?I=p!!PU{n`oI2^^~a9yYd;-1@?LAo&z%pw zrkson^eT;tY3;l|^~~w@xpjGFALo9$J(cxo7teuJ2j6|)U0q@v&9>mroh>uoZJlZA zf2F7H(e8k4pPt?QwYf&ioy|+K;?o)T$#Y5<2Q0Zd|6uxamQUGb1`XyO*?q0AOlFjx zUM{6^{>$G4qZ5B#Y+uTIT+Oa9ZMVuUo~MiSFZb^06!#Wf{dRM7so9Mse^t)uJ)hL* z$ZVC)Wz9b&J)Ayzs9QnO*rce3qzbZoi^qA-0 zVQ_Icm3y$XYTxX_($t9`mb$c0wh}dtdu22Ci?X`@iR#xsb*!6r$VbDyK1_&)i!JC+@(uK)F5@%-9^>gQ|Un3$cu-uT&e{q0N7 zYW)(g-P_{d@xZTgi=El0(&dG0_cs6K`VsrOu(9^ni=1y?;*S4YQ?w9rf$) zi=5o=zwYis@j3g%_FqwE~=#056sW&|X z=S#bKuQ~lDK|!76`N2154v3f=7G67e&K!@?&HeJcUQ{K; zcuDSEJISYqtRI)2OFt*hwwfI$I>GI`X8v44I|LZYqf1va7 zdWJgNCd(Urd`joU8UNSJVwI^mb8B^Ot?`7rDGSaEZ}MHvm{4Jwe5C*1Tdt*Lb1n0J z)asu-!EF2Bd9`CY_k`*i}+eKM-KYq_qMt~_7l-XCB8^QCb8pM~vm z|5tA?f;@CS=P@Nc-c39dj0-q+p7yNEUncnROb6zD7Vrn)J5m z|8~8o#SL>5mbxYhoY(eV>DRlOr|fA}QAfzl6B~Wnj1tu(7cr!Cr__@Cr zW5B_`ZMDWT>P8HMR_h(E*~?J$^~{%LyiDg=tdf>Ad;XJKU=*r8nThYB z^YaSBotEnBwhP;Syu_cMtds7>b;0=Nv<}%~DbLq!o4mjBzH>gCuJ7d!1@q48mAut&NPlR~=wHvr*2l?l#g--Nm{`#Ji#jq%@u%l= zm)#WYc~#Am`0J~5_t)>=moB)+n7fUoVgKo=OZaQMzjGcn5C8h~TT!w#t|E<-% z%UpJ00k_xm^XX<87Zx~9SKRyGl%3~I!i>erFW!e{oNGBZapNQp&bqYT{8+xE15;lI zt&5p>m__JiKFg7Ud+7X6whxdm-!kpi=Q8}m(n=@t=eLLs_M1-!U8iJPvGwLq7$~&@TqufG#*sU|90J)KgqU9C-tP^ zMwwssd*3@rzd!o;G1G_jMK6Omr)ll`|K>?=POf$E`!yFmdiL4fJ7$(UetF%)1*mZD~31Iqml`1BX=0iB}X~OuQA#d-A%;XMWb(cYpo9u<+<&4)ex0 zr}}@*da)(bJ^j*a?oawJS6hlcyHeb|kyY-MPJ(L+pVYc|%>(;FdrY$5YFNE1@nrtK zayn-%=Yii0e@_36j#k&(V$jUSIQ{B(Q&1Q;>xKQg@H)@LIEGWgT4>+xWu=qtH?l0M zJhp!}FWZTRs}I+ly?4>2#MI6>j%(AdyKgS?e0Z~7sM(%vp;hvor-tk-lPAdN$zM9> zS@SJy760bC$7eEPj!U^Kq{hzM5_e=h^Pjuxx>qRNub;f*ZC6REf-I}SbtN8)DLc;m zH(Kz?)~09OSKBAQG7t0|o*kJS<@Z#%G{NXZ5l^Yk%7Cp0Iu~w>oVJspI=<%3%JYAJ zF8066^B}8i--p1Wm~HdrF6`@ksp)=l!{*h?+*uxQJv&^)tmS{OM9ejSQESn^O@CG| zvGI%Ee|yQ@)|oG==1w<%sj^R;^~0+zXVN}ct8<(bblCpF=GD!hxyL≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts new file mode 100644 index 00000000..fc5ebbbe --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/my-element.ts @@ -0,0 +1,103 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; +import {customElement, property} from 'lit/decorators.js' + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +@customElement('my-element') +export class MyElement extends LitElement { + static styles = css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` +} + +@property() +resultText = "Please enter your name below 👇" + +greet() +{ + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); +} + +render() +{ + return html` +
+ +
${this.resultText}
+
+ + +
+
+ ` +} +} + +declare global { + interface HTMLElementTagNameMap { + 'my-element': MyElement + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json new file mode 100644 index 00000000..2c98da9c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "module": "esnext", + "lib": [ + "es2017", + "dom", + "dom.iterable" + ], + "declaration": true, + "emitDeclarationOnly": true, + "outDir": "./types", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "isolatedModules": true, + "allowSyntheticDefaultImports": true, + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": false + }, + "include": [ + "src/**/*.ts" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json new file mode 100644 index 00000000..fe874096 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts new file mode 100644 index 00000000..bbb7f588 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/vite.config.ts @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json new file mode 100644 index 00000000..7e9beabb --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Lit + Vite (Typescript)", + "shortname": "lit-ts", + "author": "Lea Anthony", + "description": "Lit + TS + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md new file mode 100644 index 00000000..282541b9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Lit template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html new file mode 100644 index 00000000..6d7e08c3 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/index.tmpl.html @@ -0,0 +1,14 @@ + + + + + + {{.ProjectName}} + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json new file mode 100644 index 00000000..9feac19d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/package.json @@ -0,0 +1,22 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "main": "dist/my-element.es.js", + "exports": { + ".": "./dist/my-element.es.js" + }, + "files": [ + "dist" + ], + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "dependencies": { + "lit": "^2.0.2" + }, + "devDependencies": { + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg new file mode 100644 index 00000000..5e7e6678 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/favicon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js new file mode 100644 index 00000000..ed65e222 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/my-element.js @@ -0,0 +1,105 @@ +import {css, html, LitElement} from 'lit' +import logo from './assets/images/logo-universal.png' +import {Greet} from "../wailsjs/go/main/App"; + +/** + * An example element. + * + * @slot - This element has a slot + * @csspart button - The button + */ +export class MyElement extends LitElement { + constructor() { + super() + this.resultText = "Please enter your name below 👇" + } + + static get styles() { + return css` + #logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; + } + + .result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; + } + + .input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; + } + + .input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; + } + + .input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; + } + + .input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + .input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); + } + + ` + } + + static get properties() { + return { + resultText: {type: String}, + } + } + + greet() { + let thisName = this.shadowRoot.getElementById('name').value + Greet(thisName).then(result => { + this.resultText = result + }); + } + + render() { + return html` +
+ +
${this.resultText}
+
+ + +
+
+ ` + } + +} + +window.customElements.define('my-element', MyElement) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js new file mode 100644 index 00000000..bbb7f588 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/vite.config.js @@ -0,0 +1,4 @@ +import {defineConfig} from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json new file mode 100644 index 00000000..168769e3 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/template.json @@ -0,0 +1,7 @@ +{ + "name": "Lit + Vite", + "shortname": "lit", + "author": "Lea Anthony", + "description": "Lit + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md new file mode 100644 index 00000000..2841bc40 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Preact-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..0fb692c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json new file mode 100644 index 00000000..f54f6f95 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/package.json @@ -0,0 +1,18 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "preact": "^10.5.15" + }, + "devDependencies": { + "@preact/preset-vite": "^2.1.5", + "typescript": "^4.5.4", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx new file mode 100644 index 00000000..bffcb461 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/app.tsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props: any) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z z_B{@2GkZPv?408U<$C^t^P2e2Ek0TMY}N9Me9@*MJ2rU{p3Wf(*e?i4#nZxR~jlfBomd zw{siU%h*?bc=GPve4Cm_U*b6#rr%;YuM$4*nZnsu`OEdH7F;uK%Dg`FRn$S%=1{iv zd-sX?F(w>%kvd&&LbYv$r`L?9Y#%*Oab|AW$8DAIvYO%iY=*WihmqZ=GWie7-1w?e*1(FF&2v+$#S%#o+bal_#rzg!u>TYnt4Rk1n#qf#W&H8=kGUEDOg#9{c>nPOmkyrXr0npWamM@WFY7`SHt>9T_94^c zz@(<~xocGyn|klhRO>$I=W>Skk5B)vvpmi-V;Y(-@osw2lcb~0v_|2*<*T$Q86R2L zT{Z;27vy_4PffqiG2q#R8C`exxW(VUxoGionPrpCeM`^nIeq%8oBMRH*{3Q}H@$oF zR`&O2_xV;9@$2O63SV7T|8{PlXvXG~XWGrbE>6-;zZYmfThh&u-EHdj&)=(lJgW*! zXPMHX7 z+~thKURKu@SLy}#%;@-adXC<~Mo0Pi3oQ*xzS&#ky0)F3bFcrT z;D_VlQ4<``>sQIuCPRa3X@5-pCmV=8qm1eyAv_y5AQ*vzdE4BAWj+!q#^W$S2n{GYJdqE9%y*DZkmCtXQEIjSj z>T7%B&hx1KJzDTriKqA7`Sbh!ophhK=A%szYX`X+7rNuDLWDz?}A z7kB@u{Zw7FGeZCC>&E zCm+kj!=F3ev3!tY*uSqn`}LVtv9t?M{cpBi0Eb-0g<>!Jviq^O8U95v=J6ksUpR%; zC+gt-AZEY48{-%)QlBQ@yfGnNxo&R5{~)iu=V!-l{CJzu&!8f^b6L7w_Fb*_Y{l&V z($)4T?>L)k@ZovYmJMZXOE&uHrC(5ueJ&-=5F69?FGAnGX@keTfCVwvznDGOZ>`w= z>jzs&;$^$+)HU5#&i;CIOIuS#e{SKs1*fI-*RSS`&$Bd(wmD{nC5N$2~J;Hl2`BFw3PG&CRGw{1=S-uE_^Z>$-% zJScd1I^dqS@&8@_EKe}zsYg1ySGdocmmVx{v9I{e>f_~nNo<``U4LJko5^oinf5(a z&}UI=d3f!%OIis_J{^wyq`EISJ^1yUmPM+4}P{={d5oKexm*KDn@>$oQ^A6PAa+3U3EEa7>)ozwV4*almmV;qb!;>vTWIa4i>R znBn*Co$T$ZHS2z_uj1`n5H#=4sgINW*Kx<4efnChfrqd6N9f#__bqEnQzGvioPT+9 zb7tn*imA?@)xUmwUAub6OXUknF^A+B1PpwPKA651+$^Vk!ge~dV@g1VD z`^UHVA2<$bu;|H4-3PbMd3U{dvDp01mq$S#(i!-E@6BmDd$4f!*=M_X_v{ot@YCnO z3dtkh49p$pH%kWUOMfaxUdxfl+*OlN<`mdy@qi$2_FO|F>b5CwI`91&apU?Z4HowSJ zaVVd&rc#=No|&Tb)PXSJN4u4XPY*aOEj$eaN>YQ{qbop+LT!% z?CRQgwI5sC38eR>|-;GI(|CY{r0k6fk^!|-U&ixuh!JoCr&=$VlH)Y zksp8Qj#a{`0q*nJ3ZxtE-`&5p^qUj6@rz5#KF;NpGRe5GpnH;C)n8xz#)r*IAEYU? zo%#JHImX<}ZH=PDfdw^OLNjkA{xwIDKCEgj3G&2aUU=1 z+f}{G1ljA)b{@P_8P9y&LPqw%_sYu$d*3G?)D)7nyfUxxuC-kKui5_Z-~DxnWcYjP z^-JU3@Bbe=H*^ZktxOabg{`0uD*XLdz_~Uei3O_-sHGPp}l`x{>=-Xyy2>@*IEU|->)5(Sea>gXa+K7 zEIe}gtws0!ldm2mT&~s@`Q*oHIqk#E4^15JLe!_q-wl4ipTgJ9mQ=Fs{?Ck-BU$S_ z%BL)8Qw`X`bY9JRefzfOrT>>q&tYwhnYXjP`uV%NUw`qg60Z~HyCd7Ni+RDe>rsB( z|F3f}uubxQaJw|-yQ0J8y-a~8dj4H9VmizJ<>A{^dF< z7sZz+7})-Qut}jRrbx?0_E=R>y>Q>}+3Rn9JZAKxaOSHm55Ef^`qMq#^L^mGi=X0n z{#IW$GkCG*g(t&*rUU-(@87C=0ZxC5;OTD`DE-+p9BvON5Pr~>+LF%n|9Q3I!6{7w zGtVE2+@VIE^_5mUy#o;wfLWuN1ontyiY#RGEZ=Y79$H$S|fl275raiI@BRgWwb z88(K@SLhbL>MhG8#VPPw`twSszkg?HHSEZ8VQk*(yZQg@d$D3Z>n^f7-0?A3J$uE9 zd-ql5oC;%@bLX!0ub;=~*&UIN&bs2Bad_dGqW9D1TUF|wi8~Rfck^Qb$zIr}+$o|k-)GJC5y;pL(I&*gZI zmz_MnCr@VM1jgrD#$VI-Oia5x@rCrA`$sw23U;+FpFjJFosda)!v~`qjSs$eomeO+ z_G$}bEdQ@*8R7@>lW(a%_zY?zPiO0W53MM^fU4IjRvvk?2W@rBw#Dw|Zg76cEEq7$ zZ1rnKjVDo!(&xL1Jl?cDVoH6wp-`?^@9e+t#`ml`&-3x=nlq=%u}<)H$-l%oDck?V zL@wX&CZA`&P+FNIE_k8&N8QTCJcAXAKX>g>RDQa;TB?MP_wvoBI|P$gSKasluM1?zM1!TbG!e%s_#MyY$wlsGTgzpJdR^Ru)(^9 zh{iSNYO1AkURI0uG>3CvSCOBd|8{rKgWV;|YA-N1K2);Fidz-FwteeTR=Ks0{xI~( zY+NAT8xawCN7&`{nTs;(vd^FXv}i(}Q*89Sid_s>H*D*SX#cjO{{1ceUxjlcudq$n z|J?DuQLVsbJI4AQ_1W1gwIxk5YO=wNycd@i^vBg-);{~@utQ}mbEM&#(nUKy$~X6v z`2KKXm~m(F3I+y2f!qg28!Q@LFRH0tVRv?u&i2I>XUPVocUZ)&@Y8#C-GAP$zenEP+|Jt2vBOZ|^sV6=)_U=pdynSHPHP2~VCODt1torp}%>(g=yB3)3s$gyZg7SY8SRjmVCVU;|d$NE>Lxr-}`UbUj{p#!`UJyB2D!f z7qHJLoNIM{mFtBgo7=TFSL#|$O*Yi9?-n}o&fGG3S7&^YzQ@&hRtyF$w@bIp&o8dr z=Q#U(V)b5|lI?P{-2xe&Gf#QF_ot&&o__Ejo7w9&uUL6br#f%Z=Sz35Mkb`rbanQa zXyCKJKfTNJPd(?3l=n%=zXi?_5h^utq| zRX_Vc;NeZtanr)D-#7m7B%o+reT1<7PwNL73+~+3zJ7UbyQf~wRUUk zQ|JA;7puRjIZW@m-L|F6`Wb!ZCH`V-n9us5`1kg0a=R}a;@MS^0qe6)S_JBZm1-Yu z=Pr=`&RqM^DXo2tyk$U zo_b=Rn_{h*?A7l+UEz`18t&P`j@v9JySZ-2P%r!5SNHJaa{kmt#zZmuZ2yjibFa5< zkE?(5@3FPLP+EGroOgoJnLWX*+6rY2cTO%luyy{{vP(DL=d|70KT#ui_3CZ4>*^VP zckp#bv0rQay0`OlMy<0=xEYiD|uz@rv)xH zGf7hZl=E|M-HUsPyEm!)pYgZ;S|;8Fe;d?0;NA5E+)9gL zkT<)*e=PZyKu?ytg4OTyFGT~GZ6Bm7EIy)mdfv6l>qR|t_^RxeoR{Giyqaq?Mf7)O z?B9LY`(GbTKcU~c$@tircZLrh)e22$SkVx^SzNKzut0syt+VGgD<6KZS#WMck@mLx zTM9Dw{{ML?Xg2r$sSp1MU0Z7N=_aW3+8ea)M9JQe1&Z@n*KZPG@SkV(`C$IMd$r*V zJForFfBR%#;oQAUMUNI|AD1=xRUPuYv)Pk%R-^sYuN%DPvHUmMxle7446tL4 zRClh=m*hBAYUCYVDR3c5Dnj|j>GZ|A%T@^$z1YtzaDKDeb2o-lM;4wvcHH1sj%~Hx z^=CJ$k~i+$WG4AD-Fs!`rU@li`}1qkR`nSy-m4NQSGwWJ35T;+U!ShuoHxZN;oA0N zc1}yC&D^5C>eV~he%rrKKJMK+o$as6r((s(zosvB-hcah+`q22JT~t51HFCGasBpB z-`%sl*x0$2(O6bzMI}~wleZQ*T2|fCEx$C1ZdyLd%E>?UTjTi zMa6u_uc7Hv&b-ssh`+ieY`x?6AGhN<{jW*73vN8O>&sTXS^MJaF5L6opVMqE_T|&% zGULVn&+3+4*z8c>mwEWW{hRx@ZY^KfD*5HkrB`=6AqCcg?*6(j_jbQyKDC>{CP;w! z86$hPNq78p7yt8rB<$okdjHM8WEF8#=|}p6gHtS-U-4vQ*7v?&zO!dC^Na(A)7SU4 z#))0?Tb;0TReAo~ckm~69`sS;a zsCCyfV>N_YQoh*y%8DqDi&K>S8PC2=v_)ypJ&`ZsNkPw!tq@da_;BIdx#`=|KfJdI z`?C90ja~^;=GjU{zwS6YhWnpSiO1D49ncHdHS@`ik_B74uSH4SXDdm+;B~&V`OK>P z%;UT4Y-^7movT;-ch0Mm+@G2I%L3cOyso`U4|%?IPxb%1Th(8`+j4E`1N+9kao<-Q z_I#vO{`cB5b6?)x`!{c0_KughyzRZKebXxEm76bj?VHndL(i#NU+?voE%PE8{>AcD zoqN&F@Q1BI-yYPBf6cu8-mgWV`Tpm9$IQ(kgTI-eG$_mR#@V4Va%c?}rsSLj$a@pubdgU~>vc>hb_jg`9qOFmpaMJkpEVF|S z4O?g4PW>sC_se>Tk@WhA*GGRvm*f~Ie5qku{rYcZS+QnNQ@y&~f}`b+tpAGtdaHPO zUR`zh`xoMJ)xQMXOIjkOv$*TldW-#-o05C)wDrc_-y7G@xB2{-V^=}Dlg{nAmTxwE z47vNP_{ib)iN4Eie!tHAxx-DJ|KRtnPik7^nXB$E+|N{e$+N0Nw#wo4rycir442GP z_NFRcYkMme~rnf)SbEi3~oqXw2WERcf0of<^>-26r}I2 zwoUD*w+tQHYG$Ca~`)+hd-;<%pa zwCPsHvLu5C=l#V$M4oxNt02_uVn{mob=CvBrmV01Chfm3CqMR^;f!446NUXOz7csnIC-?J&Devqbg_VcOHRsI#da2^eCn>QKw*2Y2`ONivUWcvv z8}{A(Sia$J?GWGNLY~|YFG)=PI#LFPjG1kuxaxuImw8KymYI7@`f)F0 zM@-q=zt<--n4SHV{_9cEAKQ}Uo-Hk3U!9TdxBq+PTORk{_bq%k&8+QblwPlUCNsHt zS;_6V{;Jw6I^^ z;)fc8yupLtmCND}a!Vg@m~-^90O!Fu(qIWSVKy)9FlB^BC?K%yOS_ z`pWyVxX&CrN^93DZvOlE@HtIGW_h;XrM#s~mx7D_zBu&v)Z+VZ)|cP79^Iz&sTllpnZ+`o>@^`!HtDmb)3vRu3_mS{_57qktf#!}X99GtL zJn84={r%vq?zdNYZm-yblLw~m7j53h%rt|k?r$7xqbmDTuC&^p?9G95cRt_pclUM` zErnC3FDk#;kj2-c^y}sRm}{r^usqOat(ecapEDsm^_)znAIp{Q&S1BGiLal6ZmxN? z`iJRs&{l8uHPz;N;aY`z!whOkch&_Ue%$>6FO8*9W;hqt429OlPv$Rs8F*|ND1) z?;cdx|NW`yyT6-tYM;Ase1E21GIuUhz+9e7el{xer*pRm)OR=7cPkXg3GR7TT5#Oy z58JN`<$Y!!Iu?t*No25Rejr}=N&CA^BPiok@nypO>@L6m;e%+d4|UAT=JuXkq5s)l zQh;S?A%pQ;ZT(D5sfP8Iv8~}xDn2OxE@8Xd=yG~>9_QlpKsUV}SqAS<8FO#Paq=-e zzWGt|!}*Fl6OA;5CkwC4Y);}lvN=zrNAy?tch7(W+c^KM{$rT6=9ll5w9)0N49ntDoPAOV11|lD#zL(~t1&zR_zfFs` z->-giIqgSwn#H>Y`2{mwULSlT^>?q*gL>sjW7O!&ZK{!BbF zV8gus-*;8aV&i-4Sn*YMO2zw{IpW?8)xK59$4}3?xBXn4`MjdoQ|~4opTAFw^}oy7 zeHRTk8?i)g*;jWaS>HRG_iNux)8G4_@0MTk=IYT!n^rTsxITM-Tx0Xu%H)4LmMkph zID05P*HAV4X?3N{xp}S|8{QSpA&YzOq=tw zslq6qZT4TET9!w=IVamH|J+b!Kg3g5!j`dfZQbR`VcX>%qy+MMH|#vuce>e1JHD!R zE`NS$z?UtWVN9`hYt#4Z)$z%S|23Dqz4e{M`mbE?qt|V{YqMc*@pWf)zq>3ant$F+ zs}?Nyeab=Se2KY$mmp7Ec#%X!b(G|XCok{v+tpQlkKMXA?C#FZs;_trv@ZWV$+PdH z^z0vNTe{~v8JrZmzyAC_>8IDf1)ZKhGvmmCpnp}<8TNO^%4SMb?^V& z_-xi620P9NX3TZ(W8-&K_ky!W8zOu7%G(!wkk$C%ED<-MaVgJ)(#&as88>=(I~JVz zX_(M(^yUenhEPR0-X-el`?f}wYX%&we?Q|v?;EeR@$XqW7_5p5EKaOUohY}8wJI0a63`M0j>=jOW~W{P}a7W`9M6d+lX@A$?qZlB%8@^2?VHOsFk{*_lQUE#Q z|8L{(cUF*Mq3y)KgQ5C$p^lb34>rt{W&3bxXT07O&#Mx8i+?kCNhfI7TK-%f>-O5v z&9o~=R9&}AnoE1L6Pv@rbDILpqcSdNq^J~L3H#xj{f?{jgUs#7Wz}pua>QQ0E}g@> zbkn3g46FXEjeFpzca5>M;l-&LU94em~lYs!mohH;@YNtF@6bM{h#ljZJ2SpWs7verA)X~^z{Eqr* zs(A2?huOZchSlGd6#5P%YDs_8Y?N@mo!p@Pur_nsz1yY&=2ks_Bt*h)?uof}+2->5 z)}oouHwz|QsD1r8kja0Vt1{Q3Yew!3*Yx-FA6R<*@}pbTRp#ro?@gWidO4_Q`VYFO~$@@u8Ldk|DDGdxo_QCu{&RXaU4Mw-8 zSC&;iTP!7;cp%r@WRF+t1HS#w%9#`Vgs-{HlFA8Yvn@8|d6qQitK0(%h7D^JzxbJK zpT+v_34iIEv%MB4o-jB6zgqRdSmAcfitqD^Ezc-SQQZ|F7t_tUzO-U`R=^f3|MIX6 zKWmJA^A&+_4S+K)U1 z#^0ag-`;0v`S5>fFyjpN$%V^Tei!_`iY<}5SIqYM9{p&$?t8BvOG{Jn;asIIxW(6E%WOV5;{v(kvwzMz^P@;Q;dqnvh0V$gmEU$ONSJTk z)=?iOdNoq>>6y9rZT@}f+`Czyam7EeLbT6Dzg{SKYd4{rjMM zncseHV}E}M^NC&VM+^nNWtHxJzj$x(de5>oakAgDcNTt|m%C-@=NGoT)-pT(ZS{@v zPVXpX_{gBM=Xpl`j4P>mpNk)zar?4o@8RTYZ>N-A=h>fmAlJU?eQf*@(5Oc3>@A5M z`Cs_=zn-<4anC)T?IPto4EZb{rW>g{yye-MJTGm_@8pOSv8DWspZ)3{#jwW-&U2R9 zne=MQg}J@6Co7%{NonSuewewpdY5*mW5m;qX)zif6}GrBpPP66bU^at@~x?o>N^)L z-0F3y;-<|5pYK&aul_z;#QY*_=`Ot)WkP%l*WAl{QKz+h5Bv4_;r(a!^u|{KIoo+Iu>baYlNb=Ce_q`n?DJvEtMi$5ymfzX`)$4f zs26)*X>Rh4`#%4lm&bp8m3h-)C+mj841DW()~`%1Wx93e#KW1tdG17=Z8qSz-pr#)wlSp6t{{_w~JuLH5zDl!3?szW95d15sell~#w1wuu6#^m7F3zF1cV7ItAgofY zIb}KbssQsBT^}b-J;=PREyHTQ(e$OWA8pWE#3$Y(XehQy&*BQ--i?ndjh**zoz7IR zo%UlHqy4{a)qS;gf}o5&ov{`aBa9Eq8DowftK_dP9Hck$|m&mzs~Ce)b{n z_}9*y7soev9;@T|R#WTJxMrz%-Rwo&QS&_SgT@H&{5<=3{r4lUDgxwqZcTr6$m->* zlfoK_Jm=o>SNzT1`Sjs>Is2bX2ln|luHTm|*Zum3|27WyK(lJcX@VLb)>U=AU&>Up z(KckgqLt$tW!49OdSCoDnAE85Z)0zLbjQE!EsI5bpOmsoTFAegTsq^*Lym^;3_rfg z?|gnElSj%V<3ib-9}Lw<}TAG4fcf;sc$XWlj&vLEJ5C`ey_*r@zn zLwSp;h0v~iahvjV3zJAhl2xnH9J(Gjk zrgBf|h0l?k&*Xcor{p~dEvo(CaGfo%&_JasC~eNP&w6`>h39^KdgScXH0K9}%=i9o ztM2O+*zMS?7yRo;V{^Umf%gnMg63bfo0zsma>ANaeufLS?wTZ~L=rGwbSz`$x(? z+z*nkl@I0L@GJUutDgUZU*!wt3sua%A3NROrX=aPyM1%j)Fn*rLWcJ>W;lWfLmur#R{>@8!Ub?^` zZ%wJ}dmpJuPn%obg}sq|XZJXH^0MW-k~gXD5qy$A_utMwzM`Me^DCh!zV=jyR?UKTg6_!c)s{Pd~s#*16h6(7wyd?KEg|JvzGYkHqQnb{E8 zcAR0)Z})eWW$d7(bCH+S`DFgA=l*b;Er#*PzUJd1yyvfVFsQ#PU%kkqc42fy$A$=zn!(+UdZ59q8oqsBKOmmCNm%CG{2I4 z{fzrG!H%^eb68)*WamMzb$$-;m!TY+MDZH zAMCCF`EK#|Bv3pESslOd;msxcx`*ED4?f|TF`fU0E~`bxfl#{$7XuH49o2p3BvyZa ze*fM@RfzPuXDB4?<+UmPI-J^uAoHuc0${| zbrH83E|i|)v-Cf|srZP)`u#PXX{*b(BpUtpGWU$Tb-LqqKz+B|*XTH3N8Ngc!@2o8 zU%zk%HDw%Kq}$eUJOBUwea{;&AHRlI5(bA8oA+M1e8ut5FUf}+ZYta=p4&NZ^JGEM z^!Qi5$|aX<`5bSwZpI=*qtg2_ek-IOGTdyCZ@n;6#LTUR<0Mae*!!9S{yi)7eyxd) zUvJd*YxA{5b$_P2N3pc`@Dx}ro|b#&>i+JqF1`bMPm1)e{rO8e?c2HS_iDe~aQX_$ z44s$N`DOm(Uq7(^)*F@wb)CQ0C? zVu;o4vx=W|7y16=u6zIM+O9PFl{I3V4{B_r5;DuHBrNW8y^=LuY1*V zVb_Z{`!Ahp*u1o4o9nUl3>F)Amp?fnd^~=?$gA_`xsQ`UjtUoBuZP!WRyPZ<5S; z%@6PY`>;_t9TXkUZFO(ziOc?-{J!?))&^O#2L&_dGBNN;Y&g%$%YOCmvZ~W^*AgmD zG%!9JDi=ArrpiX3c1mk|Dgr^Vw)TE!BoAlpW(49drE$ys(M^W@40u^DE{=K^`Oeh1~=Tq(n#Qzh%Wr>J3`<$>VkyQaLY;oZde zF(#~=>*evnQmr3aPq6LH%ndBxqGuXCe8{&T zlHt1PcJ;C!A`G{8SIbxZxiYgntk1~q^*^UQjfSV+e){rl!VQg1+e@<69dds*zp2t$ zG=1jV)FsjkO#1@kneREKZTx*BF4=O=zOT3E|15LQy8b0M`QU=}1$R^Uo(9i1y8ru? z-C=*x2jcZFZcKa(3WLwn&gEW=Ir7Cn{tI)sbiw9>eBx6MYa91VRR~^aKALmA!tcPn ze=m22E>=5N@%{O2|Gy>n(t+Iz8r|6QOc@$>Om}#8-g?IW3lGpaF^|9Hf@&4!`mK(W6N-SZ|6JP46o?OHrG9mv` zIAeg9W$l;Fw{L}aS6|PNH9L7bKPn^E@*v+v4fme5m>bDW5;}Y1Z-_)bu)cc!v~`)h zUF9q9<>%MsUrO$7wEMDus-y9vXWxRi1mBs*baqAd754&*GxC82ZzjyEywAHi<*&^z zRaq;?h2EN_V)7Aj#}0gR`yr-LUm$W~@2ow`mTwXJy|V7|(YR|dUbnCITabcQJB zznhJ0iVYZ20+^CcBt)0HJ-D_=aRGD01xD_}411**d<{w?R>T<>oI79f&GxcrOTSsz z1^i7KU34sTE$;q=$?|9_+#z)+?P>ae$IFQC)w`g@fFv;T(RtBi~oe! zW2a3E69UdnOq!|uq~_YoV%uFOHvh8GSDw9)-%p+aR2_Uiaq=?z6~_b8%D*CN^=_Id zHGbV1vi)WG{*~{7q|cmqGWVQcgMR(jA1A{PyvaJh{;|<*5yeO6?|ih|?sjQzQ)2lf z%l^=yRs+r8+~r~OteiIeWwKa1eQ6nIy?SDi+Z+Y8(r2Cu{vlr%Kb;)2i*Z4=nuSA) z`m{AuxPITddgB%iXEP1Gm!~|<^DhNhe*5%Vjv-UTK%R)YF`S3khS06BsYE)F`s=VBFANw|r?#xciFxowch!neSC>VmUBLC3!i+lK;U! zr#bAlVyIu^vzxV?OffHiE}U8 zU-Ru)!2VQf@58D`k7wWBuAJNUY4hZL0hW&HopX?vp4GUsR2H?}CQ`%Z6;Z^==gcJ1K)X78s5ziOQ{z215-{kizchAXdv+I-es zkXPTZcv|B%|JTnN(^foQx9z|ZAe7?Vzck)e_9RAi$iSE?OS!WmnoIk9+pMK)P?Sxx?yqi*# zCfdu?f?JFUcd3A zVgdK9w&r$*n3v8Qtr#12GA}Rv>UU}9q4q2}mXZ&TFV?vJoY~JOve3rkXUEeGimPXz z&xtAbXHGO0yCrpLLKsW;=2tSF3-+jgYV6BrWA6IunwrL}AuX4)!%g<t>cUo2w?y z__F41VdUoC|7KGY8LnO4^W_cACg!X-!Y5uTW@|_t|HS{}bLl1&5TWR#!$ z`2I)txD$)&)Ay)xt#p-bRKxt}gLU7& zme+j@1p9druk#ayW%Fx4ZVg|Tz|JVcc1rh}nM@65`3{FSC4ukH+H>V@*#3lJ!9-Vf zX46#_4Uhk11r*E*nD#WYamPYm_IIn#7{1vje6=_AN2lDrtOM5fioRc559)(VSFQbY;NbtWXZ~s4|GclE{wl;3ll&1ssr}%d$of6=7wVc{sL`vR zSbmCgT24zIr`*egm!^ydZf^SbrTO;qdxw(M^mku=!8_gY@b{VTSJfF@K3jY8Oy$(e zv+7E&$xPAPoLn+(&rPO_`yOuNtE{)`e6&9{{`VTobrqM-?%J5NorP(t^X2d!2M%@T zj^0HH_rIIJQj)!}?{3bd6jtlhws>vU_mzL=#>*U6It3=C*0HZO#HtlO?F&h{JHj~)_T5( zi>q^o%(dwip^R{DL;7H1m{;y_`}Wc zzT$MO`}^Yy9GmsLcl|x)T)%(Hr~a!a;)0J%|90Hcqwj8iFyESz3cqUw(~p@io;Jn# zR%P4H^XC~tf8SpB{;E97kDn&8PbZ%8;QSHg?qIh!!815!eU2o9aQ>R>)5J_PMdxYx zmrbcyC%n75T&_0h_p>)AcHW6x{5ZGTIp$uFZN+1!*j)|lbR-Y|NX$%_Q2An$^VGwo zACA1d+izc*_Wo_qn=iL#IUhb98@VO@&-&ZEH9^Au94ri{AIv>1a-7LpQHh~%wntIa zGSR2s&rj$){aCeYk6gTZ`4+y9^Zw_hZnNKW-a&iz^!dkp`KA5;%_}+I`e(+mRhyFz z$TRME`#?7Sk1;5nPg=ILu=ql`!~aLK!sBw&%$Y4>UZ^k`?>XUq^QeJ=T*1-qGqR=% zKZBarvOiBeFxioPPFPyr7M{ZFHtdce<$a^O^*cFS}*ajbprxnDVB4JuO*c z@O4v(g5B~pakdXmYk-RqtG>&UCNGSZf{K#*DMA1A-_{#DNUxJDy;%CO-f6#D?QU0x zbAMj<7~P+IGxpij-t{p#@bJL^Bc|1kZ@+T_TW=?hEmtl0ISIwpU1hV}aI>`X19!iD>Dyfbbz7&oegE_EGOx*#`rsoC z`=&2V72BArYP7iV*{hO?8|{mq6x>|YFU+6&-ey~Pf$a3tZx0H*W}Fdod_(zy#(Xtn zrd!7RdFK-|AI~YBI_2sQ&Ia}0%2riX>P#oXPXE}MQzvgye1DE&mjBUOfg2~E2r|sG zw|2U)U%P%$wb+qw{+m|r*?i86Q#fM2@!@KoA8(oC{~Xc-)u<;g9tyC0F>_gb%}ai% zhHz$!Jxx24A55G2@apTE%Q%@?7&sPu@7uTT?()V+c2jwkAFS!SudOQFX2KvoMeh$^ zhg&z(mxKi>_bQ$pU{0**%Q~SWxz*-EwXJvNpF7=atuAc1Au76PvvQ=R(T_UL1J?Iy zu1{|(f<4m*{+;#7r`WDs*dD5I(Zb}yxt))5%FivHKk@vEZ@F=CQ?;9B zf3wbWntk>3kF=M^SG+8nNs-q;AUEJI&Hm^7X9p^1cOEQ%?#C z$eKL8vQd4T|GYcazmt5Kx0EmQ{(s})*_V6ccD>%~CadG7JK<6!dt#2TYe99gbn|QG zmCX9C8m#W`@87dbI3PN8t*gRH_qVU)ob0w$SGuj_4J_X^r6^Nv_I-70mIjN5moAyl zb}YYN?pU$-fxyNFyRJ!J&wovoR=&M=fBC;J>H;N#>~njMS-p6>Q9--ZO#7nv_Ukk6 zH#5{7Ylz?RusgnjtC@{=SIUc+ZHE`6&#e2o^mlwpo4J%L_nI^J0=U+d*+})UN?kbo ztFm(PoxtnWNiHeUZz`?$R9QYXF0hi+IroX>u#?T@EQ70y3;xW~x^Q)&bW7UJHTIQ_ zsi|^~?HQY;;-v3NxX;!5b@0ezw$rr@dmo=Im#vflS*r8$n>7F5WQKbC*TN-XcRU?q zqbExT>#yC)_SyHB*RRXd?_O=_XDsOEifwe|h3WAL^yj&zo~HnXR-w}1Lg z{euAuR;5<|tU3Sl=Z_N$YGRX~#EAtK{Qq{&Hr~GSmxG%7mGF`W-xa^-=6u}7^yR7V zpS_FLPB`=MA;VNz&x;Q)&C$}Szc#J$#g&52J+X6d-2Htbd3jmAPT%vNKV+QVPi(x* zalkS^LMh`SU(xK={ib@iD_;qn)buY=%9tJeeD85;;f1*_Taf$ce zZ<8_@C;U-ta@@z;x8cL4EB_vqFA;WO*cP59bBYswN5FoT2esxk4?ov0eY<1kHN$kpey$sgU-w)-V0pKr`F`65-%^2= zyS3cA4%VDhxT?`GP5oMH`HQQoUJ1t5oQXGH@N2Pf^F@YRE2pQVS8lFlyCWg4{9TUu z-p|A3vOlFjxh(S1TXVTz>Px5mm-Xm<$l&H(Hh=RKJL6|YucrTbIi-eek7xYUT%F^_ zw|RdQM_MMttO~a95*6ey6quQ|YW8H6wq4&VcQ9(p* zjb4;5*tUYZn@`p_;rE$)bIWaa)^7fkzCc=5|F6&1<==U43zY^~xff<|ioaU1`RqM5 z-p#g+Y*$rzSOIG-ppO^aZp65sU`rn71+xLQ+(OXL74*y%w-CFnc z>G~?pS8dIciy1zDY;iC#sZdB)*5C_BahSoAVD!LB-i+bKglMBJR~Q9)7rpq|c0#hZ z%j^Y{;g@qi)0#Il{SPY-IXv6;vyRH=ApYtrnKHAu3&b1B_x@a`+@AoRD!yCyc;R=6 z5Bopt<#Av=U~m6K*nP+S6lVM7Z0olE=XyHPCi{fddxhN7TQld{J%4IdbhqO9mzj|MEOnhO>XvKQ&eqNO$;&yU1O;*K1$wC(}6beW$?J2m8a*wJA4IIu&uoV+Aa!g*o+{y)348D&@sxEl^@e_qP+O{jL~#mTx1x08}ju(3W1zIw#>_^_e8LoIRPilUB`Fv1EoPg8sKE{gc z{PNbHzWOzQB2}#9cW-;0)Peht_Z{L*Tfm;UwVpe{w|curulv1l{c|@i8P8psdffT9 z^z=f@fOo&@R|?->FU{N4Q1fPHVOxt}^9`OatBn_0xq7|(a_$>r!aPQm(0kA8zud2i z^^>hGs!mUT|K>Y;I>+B{OXXw>{3}-3ys=0)(AAVz^W+bsjh^NesgSc~dq3a5xtiuG^HbtMV^jB!{&MiOrb&IlGw&kS$uUlB$b}#MN%Im(I;q-!C*FR;a zF#B6vu;%k)&93et%lZ2r?aDTE<-C&=)~{)!;CDMK zU|Y7l&M(t~EQ7S>EUrtn2_8R9m=8$0tgq)}n4kLG(fl?uL+Cn-8($CXeR+`m+lJuJ zP0UT{*ER+7ohe{Bu)FTXjfvo4X-E}%Uh+e^@dOqZgQE@;=JtNpKN8nAXYsxGbNek_ zVm8X2UU(oUbM1e%31>97^7A}RVZDAj)!e;&eYkVA3+vIPyt8{HSu3Pnc=_HU343t!ykB)xUca}x%FGur{z)G;-k&|)&3xCn zyPOv)(kC*_sbYHKyG-rRq_+>e4Z;_(U(YOXN{C`Q{B!Z0!lGk8%U^cAxRmsZ=g;-$ zlNRp1-*?}f@y{Mc`{KLL?aUV`v-9pcuqE@1Ov%iP`SHJBt!BJqGuJ5~@1Th02RDhh zBW=q396mM$tEV1gPW4%zcEQEUV_iqA%!x-6ThFmi?dP%a+*_K!?H2Z7NpuwZv%}vj zCagWPC+zLDx!Q+!=h>D$+32zbl#CyNk}=N#eTfg{4Kf|f8{_B7Oyf{z$cZ{^mz!dC zSf4$r^;fp0|LO1h&dM(R-1qfv&hkrY%m;t8Upag_C7tNBwuxN`?(} z`|npPSnyu3R-TpPxsUg8n^_U-;}=eky|JRg^y{pq&ET!xTMqKjmOj+d9_y@;yU z_fEZXv*;d!P>0o<>GD$)*iWy1Fk6}7)tR4jw%b=~ocs2I+{ENQngK-FM!0 z((txvP5=I>uZ|?LE_BT)m^tZx&%wIGJm7&WO2gB}4t}_wD=K0@You179&D zOxyH{-%t4W{y#atAMBV~S8(~+`hV5F-?b{H@<`seaz8fq2IB+^RujeZD~f+|Z8C4V z{8OKKU(VTj$Comy)#<1I#@GB=`S-PjjmwAFr)PTCs@_zZv0PlYXV)f;-o6vNjvT%n z*Xg^Ym|;cm@yj9XjaGR=#}D2t{dotpUbXY~Zf~JR)!xOPu{N<{@9y79nRm@Qwh_{w_a_d)AM%T^n=CPo3AR~k}KTFc>1(EM^&8N%1&9cRmTJNJq;9ICz^kH&9ten zWGtU~`L?Eoe`h{kPiM7nT>A>)E7dhV0q6;QXFd1w4184)i&wnmRfCm%M&( zvrofPg>9P_rgL2qO-Vl|#O{4&vB-icn~L9bK3?v(_WJ$%uOeTBzn@_tKT}FyFsNkG zR>o3>k2w`mu|;y5Tu*3j+IoAXvT{dW+vD^y`+q-H-rc@^=HpZYncS9bjtldwj!$O( zD#!fm0$;a}*p@?EZO%X5#&mjl)$8esCbl0lS$EyPwCsf|>z8{E!d2GT`%e{6Hvmg7Qyn17mq=K6ni#UU#gAEwQk zCjBI4!q&Lc4adJeD4opuw3zMp$LRjMKUqM{xtkZ?u>1%${!_k3FyY5R#l4#so>RQZ zTVQ-9)ZuDGQOK0$MRI4{6wcR1ZR30p6gRb1nSm>6|Me%46XIv4i#WL11TH9__+`P4 zax?dK_X)}(x0%yQS!^njp5M!VGiRUU=cC_`@il66&pUP4GHh$1i{fUhqPRNteSetR z0{Gc8YG(DX`~LpxhnZi0nOaRglk5GMue8}VUTCuG)6fg2 zsto-vPd{0$kx}WW$G)CvL8zU7v~29B*k8rv*9xYnobFn(=9F{EyRRLaCgo*S`fATr zZhdRKDSg_j`*Rr-tS(#@@JYG1;mwO|hJTg~^Y8E9YO3bV##<$p`B7WOo zQ)S@0z31kGKmQetcMCae&?t$umG)s6`pFV25$&8x9T@PU?L(Jo)6qX*`!;Qz|g zocn0+IkV8D_1iz(G}^`dMB+iF5!xQ&hud3%2r#{@J z%@MPY!_oTg;@49;o87J0 zJtyCGy8W~&=Z^b9qd49CZS&on)EWM8HGBu1dwc2Flx8;GU)wT1t6OAT*zQ^XVb%3m z)&~pp6*pA&GcxEiCS}B>GdS?}n%!z)RA16RuY@=GvCYhO+44EV zuYcMi^?a*mcX>4g8Qso1%b1|jab4d!dLQ#$KBE^_%Qldf;^`~K}M?w+n9^6=n;dAfq!KWFo)O_2M|T)Y2wnApCBS<0b* z&!{V&T;kCqaKgO8X8tyl%Tfpaw`b08=$~J|&9RwnZuh>{_XQUgyr1*$aq0E_LYtir zoUw^|&~P!+i0#CI%WIbBd~-85+f+3_{Z>@puA6;Z9d+NB8mK?*ZL_ht_Wzspw{J!t zt{-Lo8nfM>`Nv6f*}b1%<_Av&)npwngU#i32_1Mp<6*vDvx8ida?5*%cR4@XL$1Vs z-CTWY;n(SJO&XqVsAoT|Q+$2@S@B!(ulMP6&;I{4Y1{41HJ9H{n=tp76?5IXci-n! zfkhWNUx^r8bbl< zk3F_HJ;{>sOI@1zl}`&4|8AW3Ca2i$&+N*dIkg2EKa3x}w7QZ0M|NlM0?!9eUkNr` zyrww2^~+(a6R)CQyMK>tkBgJPtMF^~Z{vG&jCH>LxVD&K%08wC%NhP$`nPuN+x+=w z7dW2J|HZfOpkwnq+h3Ef-$`JI>wWp9@o<}E)PWCD@-~MJo2P7_@0+pNI_J>__j!kZ zGh8?zo0<98X@B(l*?fz{&OJ~|{vgco@0G6mdl}}N3mm5_*1kICe4q8fcb*@wy%$_N zc~JGjcjL1i{onWacOTf+%J_Tz3F~tUpI_vxy?N_>qTb@!j`|zd$0)Z2q#OTeX?%SD zl7ss;!z9+J0l8+DpSQk^x&F`=@5=v}??%tK#C-wzePgTK72U z%=vQ}WiFfFa4p{aH)F>9>#g67K2-TUkiEP6e+is?(DUfx$^oGOK0RQdQo(u`mxpVFW0ude%~;U<%2%M zpD+K`u5F(uIjxz^w*H0WFFtnOs=OEe@zoDp+4gK?*nUICFd@x+deFLOkN+7xkUM{3 z+QHBs=5n4F%UbUWF-R_G6k_|J=5I1TMdAMp$$!5dDj()F$hh#-WB#s>7s{nU3!zVz zcK$uK?Ch;Y3-AA0-?cTPEw@+3U{~dQStcvyaDz1_-^lbY1X;dC-$0<8)^$wuy7rwC&TY z-2L)h;Jstho&G&%3+p$CVaWPByW_F4`|aFGr_X#i^3r(zJ-f}{#n>k5t=4X6RByf} z@HKs}+?|gPe}B&S9j4wmeWAnllX+9uUssKGp068y;rr=to<90jJ_n4SU;m_>k$+mu z=hVkvD-XBGI{n(aLU@s#_iO8=;`@(VDo5}0y~Xh}BgUq@XEIzzw)RZhw08UZ z#`#tu*Nb>xeV4iLY1d1gss!bN<>}|lFZXBZG5`H{`*OMhJ4{exG@{ z`RVU#8j2!w5C19kWNBZPUZeftIhT6T%F9+)?mu$t{`>jF+r9qii>w`|Js5_kWI6Z>+fJMVWa=lLk7AoKB2HE+w! z{{j0o!@r+f@+ZCVAJ1hw#`-Pw+1j5SLA!RAJ!Ft5xp}EQuKck#gG}5^Sv`&I5^pvz zvM0{yS9dXxVkn7kkz&s^_)?v0c8QJ)`x_V{HXIguyTaP3i>s(wz)bRg&74@aZ=23??d5-y_V%n} zk#$r-tQUjhtBTeSij3K|hc31V9I*MndiSQy_x8xu=ue*iS?fUIP5C?bc7ER&yxY9s zmd+xFpG>?NVfTug4poWUy%BLcDQll7->#6aul!o!+4R8fFVl3Vu6S>AXAW2AY}0S= zZwZtxlm5JpyU%9F-r^I_X4@+CA3qjqz$xXP&L}zIz466P=89Fy%|Y}3hTAfo4rGjr zyIr$BzF+=bRQ!IP39qI82VD2Fe==dSh9m!vRLz!U&p%E2bMseyKJ(YQwTnY#KbTK2 zS)bnA$5_GN5Dz-==+{ooq6-VWyXP$iCD86>yQ06o;i3;7Wc3L(TmbJWT=a+i3zvA&k>#}*Bzxbp~UOZalf4}5KE5kqG2KlemZIUjm z&3nEIlsfA&wV6cj;P7IucUf?5_6x&;u=FNovH3sw9VQ%neMUQa`njSU6Dy&TcY9OI zFEw;rXg-trZB61zx2N?rpl0g)TXoFVQkzaNJ-vUoxK{l|`_q$Y=MKO7C+%S7kjt`{ zZx7oZewXWY0?Oil_UfNxXKZ#jBfc)#&0xoDnTzl zK1fc-%J#=^rW9t!eB+F-4KEHX=3g{#k=(RjE7CjnF+NCV{B!5u+O@~$U7p0wyXypa zR~6HTjnaJA9&;vsj<=d8&~Z%SLYl;@&p+c$?QVS*Yuc`vaydcX;KBZy!v#z{QYDd> z((|mo>|Oex|Lg~|1I{ZNIsS|H?Rj1JJX<%$n&QklkGm8kFuS;Pip;x6Jlw>k(*c?MP8lXw6W)O#&O?g zrt|XO*Cs#z5s+~c z%C{IltY_Sl{{PxF+w-*_o7rM(N*MPYc5K$;1+6*PH+Ya{{MnZE)yI~3ZtQ2zt(d!# zcScshne)0*JJ|NfAE^J@rd&R!YT0Ykj0+36{pas{d7+!c z1cY5^-SJLFR-LJtWruXepZ_x zs?t=c6`DdhJ}V@<7S2$a>f>bCGV2V>32WwsYCjnJ+6}%g^M;>C{@=UzLBu4DVdtkS^B!MH5iberD6i@()TfwC^oh?srpRX2nzc zZ`^%O3G`uEkuzGwOxy}bJEwT+*`BApN3yw>L1&T(zU z)K#0W87?T@)c0sd;@o1E*6XwTqfW?3%)B$5;jiK{X6F0bV%DB}Yi8WcW_z{7v-g-| zvtIbF&&y`dw{~a0qctI#yI?g(9M^-$vK>>_zBIL8^hI$^(O^TyqOk&jZv(^VESwSiwBF`8bNpX+5fXWo2whxLD$)*e=k zlZ^QO$Gz?(qu{|^P5IgE_UqopPP3aH*~xDhBI{E5bNAKwJ6Zd!6O6Y!Rdtxp@FAGt z-j{ki= znZ>Za>g7Y{+x{yVn%Q`(yk4A}omVHPuwVDU^$&}RnLnI*78(;>+n;dJftC5(&y%c- zVG|`e4!7@24`X2tU#-gdaQd%Hp{su6JhPc{Q1baN4u|Vo7$vy>T&)dz_T}B5T{V9` zJnxG=-C7)Xt$c~ZtMk$Fi+1?BG&KDynDxu*a(KJ``?!xqska3_m4y6QbH;apZBy=o zyW#u`=CKR@o?QHAgP+&WH_hsP_Phs*zor)dh%XTkESUQ1ZrJ-^2j7=#WG-*dJH5Je z(>$vK=Ktp1E?<4V;!A3g#s2bZ9zk*c&oGvD9hK%VTYJpgW4D4G_p-GjRm~jp7YZ!q zS|pcc={Y;L>5D{zIrEQ`PqV&u-c3uput0sb-rI*385cx7R!^__8s2f@bVJpR2Wyoo zIvwWCdwY?EfiaK$!>flZ5+*NBEwRqu^;4VSr!0g1)vMdo&g^%2a6`R}?Zsp+@zu-= zOdOgRAI>UL+NbWay!_Jfzh8EJy510X;g6fqtIZr4teXS{R@*gP6TI+h=~Px$^>?*T ze(Zev_1Dfh)8?ucnudHn&U|ap*e~rKbM}LF_+<- zA;W`8kxf7K8f%Vw^Vk1)qqhmPF+{!d-JX}vo-=>i%@8MK7<$xC=9sU>xw$vu{^xJ# z4S#E@Bl98gQxqTbf1WFPE$fAJrtNq(`(Q4EmE?wA?K5BZo~=IOeShHv7w?i+m)`UE z$l27rO0KV}`u!_n|AM=(9XGLm(Tz9HrK`@^eBjgdw;Wo*8>faZp7d$U zWab5X4_*A;IPai_amAC%Kayqr+&-RPw*S^P;qCpo^M4;$d^>&ryhgizqld6_0g`QE z&dmwj7TT~qD5Gn~)4tPJu71*KT2Lg`V4iPzL;093^T#!M2l^e0xg!3WTA$WgqkcuS z;;!Cyytv-=2t17UBTWs{*O|wzH=;je4Gn5#jt((J>wkbj@q43sm|3G z7Mz}@x46(E{Qtds$O8C#W_|XWF62+|s}vVEwlt`W{bMRl}6EAF{f5{#b5s*1lobr5XM9i3VGm z`vQklwkcn)ewllo=>x+C*8ev%f1KIA?wbC>-=DMMY} z&ZyqkGudMWOCtMEI6_Wq2wKFy=f^Ww#yEzA^$gw|)0QS^HmMr?o&56eJegUaE=%q! zXI#K;&3d#!$kB_L*K)=cXU4~;a`b)n6uCKcerNftRe9K)@sP^{E}`t5pUvx~9ipqa z^L)+U$Rr39*Tw$(vF^Nlb>M2j^RuSjjC()*m1>>%Wx@0l+dL#3ly4qdwauzDhUMTH z?)k+V3a{?_H0|qdIft)*3i#p~@1GTjr!?Gk#3@85*zV{Y3PEH2a~g zvz{<`d_DTql5KHJoVeX5rxo)~Px~iwz@NF|anaUaU-FENGcJfbP5&7oV*=W~+C0x{ z*W;t+^{PB4^to&2&EFr;uzdOcb*+pGgM2bBc=UeW(X{I1rhxCJH#E!}j%l~QoAOWS z=SS^*yc)WUDndKn#tMs9mc%=~XygyiQ_N(!_0nt87C}ZseJ{(x_sZ($=Ets|FZ}&V zdXT|}hZp{9I9*v>S6=<^p<{Y|>fMHY`u9Hz9p3ztYe&zIV{JP=t*?*XE^>y^==0Ls z4i^5O!*3NWn!L)&$U||~`zJR)m)E>I^UeH4SdZ(3(4Sogrv8_gwHKVS`LWhCc}9cg ziofspKCHI+(RW->geUwi45slQrJ z$SmrAT2-|#+-08R=amo7H_QxYYUGYQYI7I+J2fh{w$HhI>hm2#k2j3T>%7l1 zo@gv!ShG%szvyQqOWP^u>P`RF$UnO5^q)JT`D~YF)K8@o*Y@+v*?--5ex6;mt-!jC z&8@NKn=S`sUrl9cb5!5ewK`o@C&lW*hV8%RZ=J}zn&9;zJ+&|%HcE8pXELo z%Qt*W&OW-MeD2eL3-3;Ud#zHeR+4>CQ^QIwoU-*}c zGp)bl{&3#Uy}yJ$E%Ll?#qfj6k@@+zyNBNL{`p;Yc0KPkZFb8;OZxcPUWc%KpZO+h zU(VNg=M7%GJa}F;S0(VUZmYW#4*y`#GPirP=%6{-^Ss z{?3j0`D({x?vsw4PEXknNPeE3e56ETu54(&v9pZqrT6Sy44-X(M^>#14*$FJzS{-) z^Kl(jomMXz>)B?%4w9?;apa}G{sD2z2i(&A8~0zk@Q)*I@|V533?I216(TF!uP<-; zWg7S-GN$g4BF~>MQqENyR@~Q}Jh$AyHeW`Jqfg_JX&mE@m36*{*%hyqI9aVPjk)+m z(TAOFU+K=M-sV~Cv7bs>`;UVQppvDR>-T+BJs%~`|3>`ty=tEWb(&38N2A$%W^Afn z_w&iS(&zKON0?2HPF<(a8UChLhC%#^bLnl-M>$u^dAWYh^?vrXcrRx{unNQGiMHM9 zHy2+Mdgw6w`pL+roab171U&V)xY20p#+~~%zb<+*@4Wo&>ra>4eP90P_~hHkvXLdt zmWEO>&pjG5*4q^3*ZfpSci=gimelT|mcM3UsYvCzEwPVQnU;s?*`r<)>+c7Z|4o;!8Li;g@i1Rg-~DcbrOVU8c6Kd$ z#y!TVMk{3gHMnYrmxeqSJ+=Po)m(1VwdF!a74IzrL-bg7*49S8-@E9gB11mI2jkOM zUrhwJq2yv!9~Xl5r?SQNePK7h^M!|@y8CvzezoK3pA7TF9T^@R>X7aD_P|2@p88zb zDbpC;*cP9x?U;^Tu&F&*lp&{S$$odO_m{T!rIg`eyg*iRz`ZC zqZ#D*=Q4cQ%n-LfX06-}PUaYOBw6KQLKgF;j_Iq{pV> z&y~OPt&6`gG)wDm{~*4dSHUg10d9(R!SG$Tp7GHIm=CUORdEo{ihfG=h_tK*;@a3WN}xyhPx@=vfodR?dGn# zi()gypI<4coEd*9xa>m08{^sML|-u0HrgMV{P}t`i%SMi;xqNa2?aYppWab*zI0bj z!*YU*9U(dqsxpA54E~{C;me zBTKc^6$i2Me=`mSR;yRDPd~T7h;i#LTZXP2))|d_PL^*%PJDm;+xgd?+e!~LRi1>t zYyF{pKO#;0u)E|3uOj_T3)Lq#&Dkn^>e45zRY9-oHoVVNELM{jvu*rPTB@;S_5U@} zY5mIfCHMDRu^2UQ&N%nz%V?Eq>=v7*RR@7q>N&&%HC5SD2n&lUz{jn#=sm{6oUugHdPZGYaIfteF4y z4CC3I?TcC$$=u;j5^4Rk;&AIWLuG0X{foyuzvAibEW zqSfY=4%1PN--~m&j+o3}ckeyNAIGYTT^fq>r>#$2)4Wb%#Zl)M*H|N_7d^S>-uE_I zocS7Gif~Z(f?oS@0l%8+D$Bf47@ErNM3c3 zYba-MIpueOJ*~m_Q;~GU&sEZe4`R9_4gN3GpXn1f|KlvDe|djTJr9>la%nij`Do7c z*rO7+_g_C2u6URK!B>WVe~Y$SZM=PkXO~rG52Q|b@}it?&yUj=c0R9T`%%qkGubic z4);67Uh`eEMe`PkTu@oyw8P+>{=bWA3(mM6alX`0Hq~aDVDIM>lO%u4livURezEZU zkO{Wpb1YeG_?NA&ddI-Skh$_-gEP}UmI|Yp3;&#PEnHDydtg1wgo8D1PbWT#i7J}$ zV=c=+Gv@6=b1l5QG>^ZpesZL$dT(9dG{q-BE{Z<1T>E?8+sWlt1@Fz~e^_r*bft~G znKAR?X}9*+c|M$9Ex#uEW$y~OX)E#cSIN?uv#wiit-7swW9Ox(lD_5z+W+n;242ps z|Mldh|NPn8_;&7*lrW1t%2;JrV$^h(RrB7dXObsBM}79Zl2Ei^{t;v5KYud*p8xLZ zdwWXso1a^R&a?h3wtF>u7U>`B}i zRa>-uresO!MG4SUxm1bh#oyoW|5(Z}O-bnct=FJ-2k)19g{TQro7olOJxfzd_g5q= zROk$^ziOwK8dtb(bt}szj+|px*LY6jWHC9QCGmT9nAXi1Y|B#vq#W{JN1V7LcQDdv z!H(xV3^xqENAm?V7R%iXIB4>V;q2U<0lk02v;}jlYE>q2FS5zK;&i8f-d&~zUp4so zW$phScz!PD{r8#+Vf_~hWEdyBY;=q&JJ#rN>3>ts+GmLlnqRK>Hq3u|@f3%T*revK zXR5S#QyDpXImJo&KNsC3ZUDSN8UYF6xKQJf7I@KPRs1#AO?X z`Abe5`u}zBt0kRW1-Z()1?*CBixz9kZ8?5!o^6Qv!Hyn@VeLY|L>iQqmb2l`rp4;6Vbc^kSH$&X+n6-9$z)3QL=QOC9vdihk-{1K) zVT{wbC#GsHZTkIlrrd_->kdB-onso+Jo)mj_lzY+3m!-KvBktFdEK#AIm^J%dV*bT zv;5W`e!l93z`2=%|z-xTM4m1)JP@I>2-wO>9c z*xh5=a8e`V$)fX7{+f1Ic0Mb;6d3tS^4`V;yB?P1IiIfGS@W)mqaf$^orV4K)|K3+ zWxg*qXMG!>c76V-)@hscp1x8@Z?_UK`XKfBmsQ3e)#ug)R{!?}Sj88yu0Fy&-}%Au zsVaZZHrMMazuxTiaa&Vdy$Hkd^K<_nNI&lr&A4oj**cpUYX6>H{cgIfF6#c}JBOcJ z9CMwZHRg*dF+w)Gs+8 zw=DF}^P@E%tv1WKHtf0F@4PuG+OgF!`hbJRtM5znw7h+b;{KlHQ}13nQTLwC?M*i} z{`-+L>8$tp(ogBELK|f`Icp1V@-lA=REj;T*ZAJ=vCBH!58JoRbh`L<)ovZ1+f$F& zgv<@PVcyuVVsV@K^?aT6`iHmZ>Un15fB9OJx3})Wz4P+xwg2B-wO_xw_`dk0^_A@R z?M-a0`C5XGH!IxrW%u0Q`D@ArPZK7EqVR(%QDx+gc`_1Rmrx7D}*7Hx# zTt%Jz(`1zyw&Z`@Gm+`jj!SW$gS|t3E_tQBR{ga1*ROnGSI)oO*0f};`;Y&RmmOw^ z<9;AMZS~b}dB(;sPAxVx0$1D9UvB?)|Hb;lv-z&wj_#7%(5~9>oOwdU2}x%01Mh#Q zbv;~n_EqMmGf(}0++w%<{*dSN_oaFa6}}f@HSIN10bo z)BnHWlu%gr+Iu_u3!}>`E@fSRUG(RlyZ;p9*I%dmonM;Paec+nkIX-2^E=oWd{nG1 zykk(1efXd4_dK4imrRpRi2rzcHHR~`aNdiCq_b&%S2W$ebn2n^qK}@fmhIAC*T>b~ zTvc!FWRiP%x&7yp!prwp@Y>9l?O^NU6qxL{)#sk@``f#BlpE$g4PCP>E;g+0#%uZc z7h?n~FTF3^-C$k3Xk~EB{cb*n_%bEup!$+oH|EvP&fl?jv2e--*UQTp_6Q#E*AHKP z{+*d|^Ew%+!$qJL_dJ(hXKT%MQugujZ)wt>km|^LxxUfi+Y!mggtl^)EnjVG(~_D+ zGaCDsUECuW@-@uF^$yn@W2e7fZ>LyG9TcrN^>ZpN+*!{k$MVVReTeyo3!TCIHbu|g{9DPw{rB9l?rOKEufE@Swa=bSaLaws z9Um9fnDotaVYik{-RHlhujk$zf#=OX_E}HAFym9L&nzFS_{jO^e{QgJy|nMr;+XqQ zn_qvG|9f(!vHtU)9tU>i|85Lu{FznGaDIc`xf&OCr#Zs54Bv0F|M7}-|a@_y)pVlv%&#~7!mIxg<&scG{XzQ;Rpj7&4xgof5 z`GR}F_dPG#o^x+#Nzmt-HsRToKjMoXyv(X7eSe~Fip2E=?jH?w&kDWYz`p09*yk6Y zf7JSx&S13ue1Spw#?<0PZSvQzue*}oesJbN>)I0z%F@Sb;;XOpH%;W2#{Fwo@qOV9 zGQ1xm^q39AFFs%>;#64q-*}DN&#E-Dc}n{==Ue$$G&Ox^`5eDL$$aZx{q~<5_x^L@ ztck7sC-Nk4d5<82Vc<6R*v+ehAKdtM(|Nu{-K%MB@((A~oQx{JrP;-}{hpTD_49A_ zUaC*p`bsaf{dZo`FYUXF{HBV(RcG4GcPZ@FS_OIUl@VrB8l{cFu_l=LoN_{?U z|2fz0qFMX0&T|W!n%uXa|9i1>^Yi#~fo4q-O!=P`?*9^8%ylF3azhf+=69d}*w0%Y z!e1>E`BlpCu?gdYOY_7RRIZ*kNwjkA?w$8vMe^lwH)!aG)#qe0f1cVIF#rAInTL}v z2zzBSY)`gQe_#)qGHb4 zGxn^`JK5%z2tWQ4SKgePje^jjuhoveY9|X4I9hcn9YK7WS?Ezwp@RDZ{`BlF2My`f8AvXUF)-K?zb%O z5DA`$UmOCv7b-Gu^!@qh>m&YUoBy$#I`6l|!tdPlPX}uIW$y34cKBb!gcKRh2mZVC z_w`%Ls-ELrxBFG+z0d`Iebb}#ExC<~(#r!LGA(&*`KEWhLglK}3f!CBzs;S|zxv9Z z35JIjK9t{g_H|k3gBefOO+DxCYr8S zUmCGHdge8G8-ZK~&yR28=h`#Mf#xl<^_U8%pC+QCaHph8s9=H4UqVQ(i zbp4mIk526Q`10G^uxUoj4^)oC{q+0sU{{FRwM3SZn00l1;rvCa8{d~cXOfCob(Qtj zY{@H;2U1NI?EiGljd#O^n_aaw!Hb`_i2Nw#xm9<%=;yVRo#&>1n&>~*=5G?);RTz% z82>-}{YrH@q}>qCLjE~{@3HOuD62g6~3(g_^t1_*7TDT z9cEpdYAF8X(q)T{`!2sKyD-^Hp8dmQhI@Nr*7kvuF~8JfP%#`X^Y>Qib^Fz4R)3we z=1wxx_w%ea9UoTj$vNhJxPzxEPB56QOMm)(YX;%v4?5;OOTWr+Hvarm|M@>$-g4h$ zThQL2SrL1=*sLc~EPQ|TR#RqUuW-hqwqs3m1WOEG^uHDKzy0j$p*3sdeq=q(43AR& zkyRpi+Q+CuVo{Aq)J?txf@u-gH$DIU@q-=n_PVKa3a?*j3*q0>_oMpC+}}EKJ}ZJ1 zZZkCm#5qr7lsJ%8GV8-;fd>bZm&;Xrd9(Ac;lX9!zNH2n;kkA7-wP3Axrs|Y^XmW0 zK0N)TPU(cuc^9l$llBXA&e}F5u+LP(s_l2c$KsGzOL(q+m~%XNb?KEavi*hsPRi)& zq+biK^pUZzes|7&`}w_09O|FifBH|5XV`JzNyRN;DRV2Aiqbprq8`7NZ9B&&5c)4^ zcGmodg(uGW)gF6%cHj2Wu)hpf6BoUGw=djXVybrS+=bU($}+6k&Aab`qrZ(U*8^XM zx}u#?wmU$ndP^qHSOAb?xR`|4;a)_T}f#Up^7@KN0rHZKdRlZL4zG zO1K)f$eiW(ayW11yXj?@ROpdZ7j~A=r}JEY>iux}_Q8(%|DILL&M!Kr_sqSO_wq`I z|95AQ2 zRallWO76mbR)xCtsbATcc^tleo6(%osSwD0)?v%O$0r!Be*C!kIiIX;-77I+9zLGd zkbsVX~~#(rjm8;|1&G!vY%gf{rXR%&lgJ9O@7_+Sk?OA zek;Z!r-KgGo!l<^;p9)7^T&*OriZb;R$dyH&rvYDf<3;9Vab-;qB(yqB{qj%H`98{ z!~FWSZTi6l%jcY9{84W>S9rrM(2&6_6SwD}W#W>%{@!Bt*FM0l%23Vt%_*fbXqwWe zKS5p5pPpWQU!f5cv+=R>l{;C6j9c!V%0C~`{-b1;h4q(wuj}uUpM`3%8CY8j{^3$f zUH`Q3$Nyyom1gJeUM=3c>*(tX-ZPe`m%1oi5)SiysM+bLquoBwGGW^K?xuO^ziz+W z!*Wf0y69Xrrh9xsJLlW|T+Jx?=ZE#{olNXHb97?Z=Oi~fI&PDn^)sA#zruUzQ_Ej2 zyYHMVpFM-GbLZMzZU?p3M-Jco{QCF%>L))KC)mt}h6C zmK&b&Yw#^m41eUi=S*(wnz^fW8ow`l>mhcxO>nW>rV0P${^$7w%r~~HjXLmsbGwiUl?+eaPuORKzbH4HEBqn* z^wq5P_%Dv(!o3?UGcGJx-jWynE?&naj)C{I{^yfFMV9Snhzn@2oqcL1kLt<;_uuAD z7wh`M&}W`wv3I|nZ}E$)i&oEgpSlX%ka}!n&)>F|X>)>U;ZMmMd5&J(DaHq;uPrb$ zN@$<@@YJp=t3Qb`oO5?SlQU=4MS1Qo%jzars!aE>{G9HXe|2xX+V%UuMdrOk! z(;Kz@GSiE*YdG(_&;Odu=F?Cvw(IJ<1KC&XUr&#`UVd(3Ipe0?-%ZvVzTbG?_tTFF zAL3+<{`ZIff6O@Z?VOv_M4oS6GhZWKI+f@Am(5n`em2=|@$bViDPO0@@4oE( zT>s&war%Fz>Cb<<%)R_Ia*tud&s+zauglqTg6(@!MHs4G=2nELofYh!aQ|i1yyVER zvR@mDllyOoO`7ME`+wfoMOAa}A2s^(eh$mtC#gKQLU)NDc+IdUb!XJvd%0N`CrUQIlgPk|n?9g#TNsc7DZLhTldkbx+Md9oeL`C)n9ws_f4!nf>g0 z`Yd>&o_@%_eL4N^{oOldt81QWPf}C9{`~Nb>fEzdfirJ<9#U|-ypH+Dd&`MZGo767 zn|)ivyEX5i-s$JJVs0}R@|W(9dH?3sciDe=PpfQ?>B|J&l|3G4ZXg*EK5y9(!5MZX zkFHE~-+un>>7e|oG(P9^o29ECMqZK5cYU#T+Vpic*Uqc$^!|G$`I*x*y|voQyw3A- z{1x0_xniQ?H{nZ;X74-PLJqha9y!rvweCf6jN@}>`Nb(8w;$?^ix7Xhu-$)79m9e6 z9=@46GW(dqKe8wL9gY04f1CDs&Wnyma`&%Doh7GJ%k%PkP|?nsXACp$?=+nG+~iLE zxx<0nXBf}VH`HqSdcdlu_>fD;m3Z4J%u}?YSXsQl-yDcDSpb9l)t+~DaH~n0%Ey;B)$5g2FS>oYM>>JKhsA{V-{W}*|zDjG& zqAhK92?zA&S>0nkac)Cc=5h_UG5kuTQ=y9`9Q5X^p>uK#l{`bM3eLzWHuC{`{lDffo!3 zlHy0IpB!Z_e;fJjX2qqt#GkC&lup%VB;RJqIChTr+{Bk^(#3z)g;$nd2}yYQ+v2tI z+JO6)4?jBf$(;Gc^W@v<{Ia%%zr<9IE;I6cSMyl-)8Y!jKbybgzbCuSH{Io8cP&J&PpRv2(jS*}4DUiJ8Ur{0}Un{CyVpi>(RHJnr066#2sI&z}pq3ujzTTm9@`!POTG0>AD& z4~^_icA9_mFz?P>&oi^;KQFO6Xn$?}k>a?u-9Mfdv+5mbG|dQqVbU<4{ll%NS*7nm z-KCYw4fWW0cb$4ETm8L$;M?T7Pu*y2HxJ5$b)V52rSCE-Ku!?)?!- zdBG*QvwDIa8#4aC`8>lX=o>?ltygDtres|D>THMIR`G|X??}4$X6w`mGe2!KlnUoq zyfDh>J=@-Hc9w5FU*t5h=I8BD()qN&()FNsosi}0&d-GzKfavdTTt|i?@D(8!=Hcu zJ>B*vO>cV0`>C*c;iu?1Hd^wh)4twre&wRE@s4l8#re7$Zf0Kobbm|vrJIj4f9{!I z6)c~{VD_@}c9n37&HlLi|1Y}x%bb{NuA;tU{m(LoN#@fY9yiXuTXKN6d?EL|*@wO_ z?%TBIjA(t|MdnDww-%pn_br-YbNxcsVetNpY@bBQgvhx$yWufM!7%cT89 zuEwXw{PQhJw|DGuy?j-)a?9%L4UN}d{OEjOp$I&p3NX%d#y~Uw2=l zKjTAj^|sbV+3a6F`_0d3KRSIWN-6H|`dt&b|AtCz=?-D|W3`N#xjudSOvx`-E=tU9 zW{W-eMf>`jYB3h?DOKBR|7_pBz-D^m3AHY^yzH)7uFv?*H#47A3V7Wp8J{0v>CLeJ z%zeZ4XEG{piUw!iWPJI>!CTE<`g~T*cfS9@MSKjGdiRFUEMv==y<)rlZthbWbES@o zE(wqG`5)DOV2+C9j82B@CqtR^8GBp|Br4C{Ha(sBcj5JIdp#ztS(CLuIN;*0*IjBp z>1=l9U(4d{R^Hxwd&+Scsk9r+3(|ki6xeu=gXt@`wUCkUe(p`4{(K!fb}GD{8Fp{i z8u{J-FHWvLH|^7#6UkHD`F~yh@Y1yPZ}`qGD9ku!h#>sSwITP4r9^U>DVzdSj`7d7`t*5Y0Z-<;z20#CPy-M#E$T+-$* z{MV@V|B3nkU)Y-OecSr`9@oM0Yjrl?8T0BFrmx8SQ*+?)fjJDq{dy{Kvn7o$EdLxh zqx9aaqhF8z6z5p|>y&v%y5hZO{@n`BbDrPGJpMWLRlow5GKK|LpRE_ok(F-N>W|YVNZdVe zTk_gmqt<_)60@V`Gv~3iR9^{f-^-JFO#AB&f4ezvev40d<=Ovn!hVT&{9gBy=fCdL zKDO09p#4nO$#ol7PqgUdnd5gm`?BW$6`6+1zc#Gv6P$ORV@8-H6Z6eGljeSsf3B(~ zH{X!y==tq$BXp;P2_KR4{oV1=d8*&j`+qKcyga|@!C|AnYG#iEKZnW&T1Qo%UX#3j z`>pzhS^cL4B7PUod?oVbtN+%Geped>=IYt_AKSH z=o496zvf^3w=W6}^O-)>>xZv)F9$^mU++gyq`2kpPP=c;_=A-pe(KHHat1dN!+*tk zGBUTnPH&jW`{bTt!K`__K4w?v#CrPN7R?lQi&Sy=8^?Q7?0}(sBNQj6_aY~nA5 zC~WBa#nH#BCv9-oTy2uT0*+%9YR*^IKR?a$^-aJ!?n}O()_5KkD?Ks&t}EY{@J~%A z-g!PtSoPd1W!EPKg|*J7BZB9j+UEY{%jFMeK3z2CH>mBLIG^p(8O}wEo#WT8O@eb;Nzh43?1P&6sH{3Z+-Pxnajs|?dMk;-)?S~vn%{1 z#@ca{aq>mR3)XM?pRW4z^7+sIHhzz74m{XmUN&i6q~rbr&wKqkbzZ5-KF|0)f4Z~% z@98zs2bb;RT`<#s^IPtl5)a@1nkOq2Q+6lp=+6d;-iuk+EiM1l{8YYQao^Vd+qUd) zwU?PH;*Y+%qMl@Ztl)1|RNddaUr+AqFYI!SN@ra0=f?aSjBQcv=aa3zB)iPq%FN!Y zKX=|@=G~{{pDkbI+;W&#y8XbEzV+QtEmK?=VgyTg4*X|+@b&c7SC4m}J+nZ4nwhQ~ zuawCPp(XDtUYyA1{;=5NjoIIg;od77dg7y0Lk>58e`BRQ_0$#l?`co#%?y$xU+

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx new file mode 100644 index 00000000..05b14728 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/main.tsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')!); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/preact.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/preact.d.ts new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json new file mode 100644 index 00000000..56a96704 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": [ + "DOM", + "DOM.Iterable", + "ESNext" + ], + "allowJs": false, + "skipLibCheck": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + "jsxFactory": "h", + "jsxFragmentFactory": "Fragment" + }, + "include": [ + "src" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json new file mode 100644 index 00000000..fe874096 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts new file mode 100644 index 00000000..25845ba4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import preact from '@preact/preset-vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [preact()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json new file mode 100644 index 00000000..b7b46a64 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Preact + Vite (Typescript)", + "shortname": "preact-ts", + "author": "Lea Anthony", + "description": "Preact + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md new file mode 100644 index 00000000..3d4e791d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Preact template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html new file mode 100644 index 00000000..c8bfd4b7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json new file mode 100644 index 00000000..ee21d5c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/package.json @@ -0,0 +1,17 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "preact": "^10.5.15" + }, + "devDependencies": { + "@preact/preset-vite": "^2.1.5", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx new file mode 100644 index 00000000..a50cfd08 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/app.jsx @@ -0,0 +1,28 @@ +import './App.css' +import logo from "./assets/images/logo-universal.png" +import {Greet} from "../wailsjs/go/main/App"; +import {useState} from "preact/hooks"; + +export function App(props) { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( + <> +
+ +
{resultText}
+
+ + +
+
+ + ) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx new file mode 100644 index 00000000..41787dab --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/main.jsx @@ -0,0 +1,5 @@ +import {render} from 'preact'; +import {App} from './app'; +import './style.css'; + +render(, document.getElementById('app')); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js new file mode 100644 index 00000000..25845ba4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import preact from '@preact/preset-vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [preact()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json new file mode 100644 index 00000000..034c3747 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/template.json @@ -0,0 +1,7 @@ +{ + "name": "Preact + Vite", + "shortname": "preact", + "author": "Lea Anthony", + "description": "Preact + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md new file mode 100644 index 00000000..f6a89af9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails React-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..a2023cac --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json new file mode 100644 index 00000000..431f9e46 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/package.json @@ -0,0 +1,21 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@vitejs/plugin-react": "^1.3.0", + "typescript": "^4.6.3", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx new file mode 100644 index 00000000..7895c66c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/App.tsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e: any) => setName(e.target.value); + const updateResultText = (result: string) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx new file mode 100644 index 00000000..a6c27f6a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/main.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json new file mode 100644 index 00000000..5d012d31 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": [ + "DOM", + "DOM.Iterable", + "ESNext" + ], + "allowJs": false, + "skipLibCheck": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json new file mode 100644 index 00000000..fe874096 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts new file mode 100644 index 00000000..49550655 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json new file mode 100644 index 00000000..7e975377 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "React + Vite (Typescript)", + "shortname": "react-ts", + "author": "Lea Anthony", + "description": "React + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md new file mode 100644 index 00000000..2bfc2a51 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails React template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html new file mode 100644 index 00000000..80aa30b8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + {{.ProjectName}} + + +
+ + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json new file mode 100644 index 00000000..dd9af35a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/package.json @@ -0,0 +1,20 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@vitejs/plugin-react": "^1.3.0", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css new file mode 100644 index 00000000..f949d9c1 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.css @@ -0,0 +1,59 @@ +#app { + height: 100vh; + text-align: center; +} + +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx new file mode 100644 index 00000000..07142347 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/App.jsx @@ -0,0 +1,28 @@ +import {useState} from 'react'; +import logo from './assets/images/logo-universal.png'; +import './App.css'; +import {Greet} from "../wailsjs/go/main/App"; + +function App() { + const [resultText, setResultText] = useState("Please enter your name below 👇"); + const [name, setName] = useState(''); + const updateName = (e) => setName(e.target.value); + const updateResultText = (result) => setResultText(result); + + function greet() { + Greet(name).then(updateResultText); + } + + return ( +
+ +
{resultText}
+
+ + +
+
+ ) +} + +export default App diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx new file mode 100644 index 00000000..a6c27f6a --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/main.jsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import './style.css' +import App from './App' + +ReactDOM.render( + + + , + document.getElementById('root') +) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js new file mode 100644 index 00000000..49550655 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMsbUJBQWUsS0FBSztBQUFBO0FBSWQsTUFBTSxXQUFXO0FBQUEsSUFDdkIsT0FBTztBQUFBLElBQ1AsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsT0FBTztBQUFBOzs7QUM3RlIsdUJBQWU7QUFBQSxJQU9YLFlBQVksVUFBVSxjQUFjO0FBRWhDLHFCQUFlLGdCQUFnQjtBQUcvQixXQUFLLFdBQVcsQ0FBQyxTQUFTO0FBQ3RCLGlCQUFTLE1BQU0sTUFBTTtBQUVyQixZQUFJLGlCQUFpQixJQUFJO0FBQ3JCLGlCQUFPO0FBQUE7QUFHWCx3QkFBZ0I7QUFDaEIsZUFBTyxpQkFBaUI7QUFBQTtBQUFBO0FBQUE7QUFLN0IsTUFBTSxpQkFBaUI7QUFVdkIsNEJBQTBCLFdBQVcsVUFBVSxjQUFjO0FBQ2hFLG1CQUFlLGFBQWEsZUFBZSxjQUFjO0FBQ3pELFVBQU0sZUFBZSxJQUFJLFNBQVMsVUFBVTtBQUM1QyxtQkFBZSxXQUFXLEtBQUs7QUFBQTtBQVU1QixvQkFBa0IsV0FBVyxVQUFVO0FBQzFDLHFCQUFpQixXQUFXLFVBQVU7QUFBQTtBQVVuQyxzQkFBb0IsV0FBVyxVQUFVO0FBQzVDLHFCQUFpQixXQUFXLFVBQVU7QUFBQTtBQUcxQywyQkFBeUIsV0FBVztBQUdoQyxRQUFJLFlBQVksVUFBVTtBQUcxQixRQUFJLGVBQWUsWUFBWTtBQUczQixZQUFNLHVCQUF1QixlQUFlLFdBQVc7QUFHdkQsZUFBUyxRQUFRLEdBQUcsUUFBUSxlQUFlLFdBQVcsUUFBUSxTQUFTLEdBQUc7QUFHdEUsY0FBTSxXQUFXLGVBQWUsV0FBVztBQUUzQyxZQUFJLE9BQU8sVUFBVTtBQUdyQixjQUFNLFVBQVUsU0FBUyxTQUFTO0FBQ2xDLFlBQUksU0FBUztBQUVULCtCQUFxQixPQUFPLE9BQU87QUFBQTtBQUFBO0FBSzNDLHFCQUFlLGFBQWE7QUFBQTtBQUFBO0FBVzdCLHdCQUFzQixlQUFlO0FBRXhDLFFBQUk7QUFDSixRQUFJO0FBQ0EsZ0JBQVUsS0FBSyxNQUFNO0FBQUEsYUFDaEIsR0FBUDtBQUNFLFlBQU0sUUFBUSxvQ0FBb0M7QUFDbEQsWUFBTSxJQUFJLE1BQU07QUFBQTtBQUVwQixvQkFBZ0I7QUFBQTtBQVNiLHNCQUFvQixXQUFXO0FBRWxDLFVBQU0sVUFBVTtBQUFBLE1BQ1osTUFBTTtBQUFBLE1BQ04sTUFBTSxHQUFHLE1BQU0sTUFBTSxXQUFXLE1BQU07QUFBQTtBQUkxQyxvQkFBZ0I7QUFHaEIsV0FBTyxZQUFZLE9BQU8sS0FBSyxVQUFVO0FBQUE7QUFHdEMscUJBQW1CLFdBQVc7QUFFakMsV0FBTyxlQUFlO0FBR3RCLFdBQU8sWUFBWSxPQUFPO0FBQUE7OztBQ2xKdkIsTUFBTSxZQUFZO0FBT3pCLDBCQUF3QjtBQUN2QixRQUFJLFFBQVEsSUFBSSxZQUFZO0FBQzVCLFdBQU8sT0FBTyxPQUFPLGdCQUFnQixPQUFPO0FBQUE7QUFTN0MseUJBQXVCO0FBQ3RCLFdBQU8sS0FBSyxXQUFXO0FBQUE7QUFJeEIsTUFBSTtBQUNKLE1BQUksT0FBTyxRQUFRO0FBQ2xCLGlCQUFhO0FBQUEsU0FDUDtBQUNOLGlCQUFhO0FBQUE7QUFrQlAsZ0JBQWMsTUFBTSxNQUFNLFNBQVM7QUFHekMsUUFBSSxXQUFXLE1BQU07QUFDcEIsZ0JBQVU7QUFBQTtBQUlYLFdBQU8sSUFBSSxRQUFRLFNBQVUsU0FBUyxRQUFRO0FBRzdDLFVBQUk7QUFDSixTQUFHO0FBQ0YscUJBQWEsT0FBTyxNQUFNO0FBQUEsZUFDbEIsVUFBVTtBQUVuQixVQUFJO0FBRUosVUFBSSxVQUFVLEdBQUc7QUFDaEIsd0JBQWdCLFdBQVcsV0FBWTtBQUN0QyxpQkFBTyxNQUFNLGFBQWEsT0FBTyw2QkFBNkI7QUFBQSxXQUM1RDtBQUFBO0FBSUosZ0JBQVUsY0FBYztBQUFBLFFBQ3ZCO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQTtBQUdELFVBQUk7QUFDSCxjQUFNLFVBQVU7QUFBQSxVQUNmO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQTtBQUlELGVBQU8sWUFBWSxNQUFNLEtBQUssVUFBVTtBQUFBLGVBQ2hDLEdBQVA7QUFFRCxnQkFBUSxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBY1Ysb0JBQWtCLGlCQUFpQjtBQUV6QyxRQUFJO0FBQ0osUUFBSTtBQUNILGdCQUFVLEtBQUssTUFBTTtBQUFBLGFBQ2IsR0FBUDtBQUNELFlBQU0sUUFBUSxvQ0FBb0MsRUFBRSxxQkFBcUI7QUFDekUsY0FBUSxTQUFTO0FBQ2pCLFlBQU0sSUFBSSxNQUFNO0FBQUE7QUFFakIsUUFBSSxhQUFhLFFBQVE7QUFDekIsUUFBSSxlQUFlLFVBQVU7QUFDN0IsUUFBSSxDQUFDLGNBQWM7QUFDbEIsWUFBTSxRQUFRLGFBQWE7QUFDM0IsY0FBUSxNQUFNO0FBQ2QsWUFBTSxJQUFJLE1BQU07QUFBQTtBQUVqQixpQkFBYSxhQUFhO0FBRTFCLFdBQU8sVUFBVTtBQUVqQixRQUFJLFFBQVEsT0FBTztBQUNsQixtQkFBYSxPQUFPLFFBQVE7QUFBQSxXQUN0QjtBQUNOLG1CQUFhLFFBQVEsUUFBUTtBQUFBO0FBQUE7OztBQzFIL0IsU0FBTyxLQUFLO0FBRUwsdUJBQXFCLGFBQWE7QUFDeEMsUUFBSTtBQUNILG9CQUFjLEtBQUssTUFBTTtBQUFBLGFBQ2pCLEdBQVA7QUFDRCxjQUFRLE1BQU07QUFBQTtBQUlmLFdBQU8sS0FBSyxPQUFPLE1BQU07QUFHekIsV0FBTyxLQUFLLGFBQWEsUUFBUSxDQUFDLGdCQUFnQjtBQUdqRCxhQUFPLEdBQUcsZUFBZSxPQUFPLEdBQUcsZ0JBQWdCO0FBR25ELGFBQU8sS0FBSyxZQUFZLGNBQWMsUUFBUSxDQUFDLGVBQWU7QUFHN0QsZUFBTyxHQUFHLGFBQWEsY0FBYyxPQUFPLEdBQUcsYUFBYSxlQUFlO0FBRTNFLGVBQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxRQUFRLENBQUMsZUFBZTtBQUV6RSxpQkFBTyxHQUFHLGFBQWEsWUFBWSxjQUFjLFdBQVk7QUFHNUQsZ0JBQUksVUFBVTtBQUdkLCtCQUFtQjtBQUNsQixvQkFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLO0FBQzNCLHFCQUFPLEtBQUssQ0FBQyxhQUFhLFlBQVksWUFBWSxLQUFLLE1BQU0sTUFBTTtBQUFBO0FBSXBFLG9CQUFRLGFBQWEsU0FBVSxZQUFZO0FBQzFDLHdCQUFVO0FBQUE7QUFJWCxvQkFBUSxhQUFhLFdBQVk7QUFDaEMscUJBQU87QUFBQTtBQUdSLG1CQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDN0RaO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZU8sMEJBQXdCO0FBQzNCLFdBQU8sU0FBUztBQUFBO0FBR2IseUNBQXVDO0FBQzVDLFdBQU8sWUFBWTtBQUFBO0FBR2QsaUNBQStCO0FBQ3BDLFdBQU8sWUFBWTtBQUFBO0FBR2QsZ0NBQThCO0FBQ25DLFdBQU8sWUFBWTtBQUFBO0FBUWQsMEJBQXdCO0FBQzNCLFdBQU8sWUFBWTtBQUFBO0FBU2hCLDBCQUF3QixPQUFPO0FBQ2xDLFdBQU8sWUFBWSxPQUFPO0FBQUE7QUFRdkIsOEJBQTRCO0FBQy9CLFdBQU8sWUFBWTtBQUFBO0FBUWhCLGdDQUE4QjtBQUNqQyxXQUFPLFlBQVk7QUFBQTtBQVVoQix5QkFBdUIsT0FBTyxRQUFRO0FBQ3pDLFdBQU8sWUFBWSxRQUFRLFFBQVEsTUFBTTtBQUFBO0FBVXRDLDJCQUF5QjtBQUM1QixXQUFPLEtBQUs7QUFBQTtBQVVULDRCQUEwQixPQUFPLFFBQVE7QUFDNUMsV0FBTyxZQUFZLFFBQVEsUUFBUSxNQUFNO0FBQUE7QUFVdEMsNEJBQTBCLE9BQU8sUUFBUTtBQUM1QyxXQUFPLFlBQVksUUFBUSxRQUFRLE1BQU07QUFBQTtBQVV0Qyw2QkFBMkIsR0FBRyxHQUFHO0FBQ3BDLFdBQU8sWUFBWSxRQUFRLElBQUksTUFBTTtBQUFBO0FBU2xDLCtCQUE2QjtBQUNoQyxXQUFPLEtBQUs7QUFBQTtBQVFULHdCQUFzQjtBQUN6QixXQUFPLFlBQVk7QUFBQTtBQVFoQix3QkFBc0I7QUFDekIsV0FBTyxZQUFZO0FBQUE7QUFRaEIsNEJBQTBCO0FBQzdCLFdBQU8sWUFBWTtBQUFBO0FBUWhCLGtDQUFnQztBQUNuQyxXQUFPLFlBQVk7QUFBQTtBQVFoQiw4QkFBNEI7QUFDL0IsV0FBTyxZQUFZO0FBQUE7QUFRaEIsNEJBQTBCO0FBQzdCLFdBQU8sWUFBWTtBQUFBO0FBUWhCLDhCQUE0QjtBQUMvQixXQUFPLFlBQVk7QUFBQTtBQWFoQix5QkFBdUIsR0FBRyxHQUFHLEdBQUcsR0FBRztBQUN0QyxRQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUMsR0FBRSxLQUFLLEdBQUcsR0FBRSxLQUFLLEdBQUcsR0FBRSxLQUFLLEdBQUcsR0FBRSxLQUFLO0FBQ2hFLFdBQU8sWUFBWSxRQUFRO0FBQUE7OztBQ2hOL0I7QUFBQTtBQUFBO0FBQUE7QUFLTywwQkFBd0IsS0FBSztBQUNsQyxXQUFPLFlBQVksUUFBUTtBQUFBOzs7QUNZdEIsa0JBQWdCO0FBQ25CLFdBQU8sWUFBWTtBQUFBO0FBSXZCLFNBQU8sVUFBVTtBQUFBLE9BQ1Y7QUFBQSxPQUNBO0FBQUEsT0FDQTtBQUFBLElBQ0g7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBO0FBSUosU0FBTyxRQUFRO0FBQUEsSUFDWDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNILHNCQUFzQjtBQUFBLE1BQ3RCLGdDQUFnQztBQUFBLE1BQ2hDLGNBQWM7QUFBQSxNQUNkLGVBQWU7QUFBQSxNQUNmLGlCQUFpQjtBQUFBLE1BQ2pCLGlCQUFpQjtBQUFBO0FBQUE7QUFLekIsU0FBTyxNQUFNLFlBQVksT0FBTztBQUNoQyxTQUFPLE9BQU8sTUFBTTtBQUtwQixNQUFJLE1BQVc7QUFDWCxXQUFPLE9BQU87QUFBQTtBQUdsQixNQUFJO0FBQ0osTUFBSSxlQUFlO0FBSW5CLFNBQU8saUJBQWlCLGFBQWEsQ0FBQyxNQUFNO0FBR3hDLFFBQUksT0FBTyxNQUFNLE1BQU0sWUFBWTtBQUMvQixhQUFPLFlBQVksWUFBWSxPQUFPLE1BQU0sTUFBTTtBQUNsRCxRQUFFO0FBQ0Y7QUFBQTtBQUlKLFFBQUksaUJBQWlCLEVBQUU7QUFDdkIsV0FBTyxrQkFBa0IsTUFBTTtBQUMzQixVQUFJLGVBQWUsYUFBYSx1QkFBdUI7QUFDbkQ7QUFBQSxpQkFDTyxlQUFlLGFBQWEsb0JBQW9CO0FBQ3ZELFlBQUksT0FBTyxNQUFNLE1BQU0sc0JBQXNCO0FBRXpDLGNBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sY0FBYztBQUN2RTtBQUFBO0FBQUE7QUFHUixZQUFJLElBQUksT0FBTyxZQUFZLGVBQWUsT0FBTyxNQUFNLE1BQU0saUJBQWlCO0FBQzFFLHVCQUFhO0FBQ2I7QUFBQTtBQUVKLHNCQUFjLFdBQVcsV0FBWTtBQUNqQyxpQkFBTyxZQUFZO0FBQUEsV0FDcEIsT0FBTyxNQUFNLE1BQU07QUFDdEIsdUJBQWUsSUFBSSxPQUFPO0FBQzFCLFVBQUU7QUFDRjtBQUFBO0FBRUosdUJBQWlCLGVBQWU7QUFBQTtBQUFBO0FBSXhDLHFCQUFtQixRQUFRO0FBQ3ZCLGFBQVMsS0FBSyxNQUFNLFNBQVMsVUFBVSxPQUFPLE1BQU0sTUFBTTtBQUMxRCxXQUFPLE1BQU0sTUFBTSxhQUFhO0FBQUE7QUFHcEMsU0FBTyxpQkFBaUIsYUFBYSxTQUFVLEdBQUc7QUFDOUMsUUFBSSxDQUFDLE9BQU8sTUFBTSxNQUFNLGNBQWM7QUFDbEM7QUFBQTtBQUVKLFFBQUksT0FBTyxNQUFNLE1BQU0saUJBQWlCLE1BQU07QUFDMUMsYUFBTyxNQUFNLE1BQU0sZ0JBQWdCLFNBQVMsS0FBSyxNQUFNO0FBQUE7QUFFM0QsUUFBSSxPQUFPLGFBQWEsRUFBRSxVQUFVLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixPQUFPLGNBQWMsRUFBRSxVQUFVLE9BQU8sTUFBTSxNQUFNLGlCQUFpQjtBQUMzSSxlQUFTLEtBQUssTUFBTSxTQUFTO0FBQUE7QUFFakMsUUFBSSxjQUFjLE9BQU8sYUFBYSxFQUFFLFVBQVUsT0FBTyxNQUFNLE1BQU07QUFDckUsUUFBSSxhQUFhLEVBQUUsVUFBVSxPQUFPLE1BQU0sTUFBTTtBQUNoRCxRQUFJLFlBQVksRUFBRSxVQUFVLE9BQU8sTUFBTSxNQUFNO0FBQy9DLFFBQUksZUFBZSxPQUFPLGNBQWMsRUFBRSxVQUFVLE9BQU8sTUFBTSxNQUFNO0FBR3ZFLFFBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsT0FBTyxNQUFNLE1BQU0sZUFBZSxRQUFXO0FBQzNHO0FBQUEsZUFDTyxlQUFlO0FBQWMsZ0JBQVU7QUFBQSxhQUN6QyxjQUFjO0FBQWMsZ0JBQVU7QUFBQSxhQUN0QyxjQUFjO0FBQVcsZ0JBQVU7QUFBQSxhQUNuQyxhQUFhO0FBQWEsZ0JBQVU7QUFBQSxhQUNwQztBQUFZLGdCQUFVO0FBQUEsYUFDdEI7QUFBVyxnQkFBVTtBQUFBLGFBQ3JCO0FBQWMsZ0JBQVU7QUFBQSxhQUN4QjtBQUFhLGdCQUFVO0FBQUE7QUFLcEMsU0FBTyxpQkFBaUIsZUFBZSxTQUFVLEdBQUc7QUFDaEQsUUFBSSxPQUFPLE1BQU0sTUFBTSxnQ0FBZ0M7QUFDbkQsUUFBRTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json new file mode 100644 index 00000000..eb6de08f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/template.json @@ -0,0 +1,7 @@ +{ + "name": "React + Vite", + "shortname": "react", + "author": "Lea Anthony", + "description": "React + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/react/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md new file mode 100644 index 00000000..84dfec0e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Svelte-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json new file mode 100644 index 00000000..b869ef8e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "svelte.svelte-vscode" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md new file mode 100644 index 00000000..e4ecb228 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/README.md @@ -0,0 +1,64 @@ +# Svelte + TS + Vite + +This template should help get you started developing with Svelte and TypeScript in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) ++ [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). + +## Need an official Svelte framework? + +Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its +serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, +and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more. + +## Technical considerations + +**Why use this over SvelteKit?** + +- It brings its own routing solution which might not be preferable for some users. +- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app. + `vite dev` and `vite build` wouldn't work in a SvelteKit environment, for example. + +This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account +the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the +other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte +project. + +Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been +structured similarly to SvelteKit so that it is easy to migrate. + +**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?** + +Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash +references keeps the default TypeScript setting of accepting type information from the entire workspace, while also +adding `svelte` and `vite/client` type information. + +**Why include `.vscode/extensions.json`?** + +Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to +install the recommended extension upon opening the project. + +**Why enable `allowJs` in the TS template?** + +While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of +JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: +not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing +JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant. + +**Why is HMR not preserving my local component state?** + +HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` +and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the +details [here](https://github.com/rixo/svelte-hmr#svelte-hmr). + +If you have state that's important to retain within a component, consider creating an external store which would not be +replaced by HMR. + +```ts +// store.ts +// An extremely simple external store +import { writable } from 'svelte/store' +export default writable(0) +``` diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html new file mode 100644 index 00000000..e88b655e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/index.tmpl.html @@ -0,0 +1,13 @@ + + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json new file mode 100644 index 00000000..125a0dcc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/package.json @@ -0,0 +1,22 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-check --tsconfig ./tsconfig.json" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", + "@tsconfig/svelte": "^2.0.1", + "svelte": "^3.44.0", + "svelte-check": "^2.2.7", + "svelte-preprocess": "^4.9.8", + "tslib": "^2.3.1", + "typescript": "^4.5.4", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte new file mode 100644 index 00000000..1987eb09 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/App.svelte @@ -0,0 +1,79 @@ + + +
+ +
{resultText}
+
+ + +
+
+ + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts new file mode 100644 index 00000000..d8200ac4 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/main.ts @@ -0,0 +1,7 @@ +import App from './App.svelte' + +const app = new App({ + target: document.getElementById('app') +}) + +export default app diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..4078e747 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js new file mode 100644 index 00000000..3630bb39 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/svelte.config.js @@ -0,0 +1,7 @@ +import sveltePreprocess from 'svelte-preprocess' + +export default { + // Consult https://github.com/sveltejs/svelte-preprocess + // for more information about preprocessors + preprocess: sveltePreprocess() +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json new file mode 100644 index 00000000..7d91f5a9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "resolveJsonModule": true, + "baseUrl": ".", + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "isolatedModules": true + }, + "include": [ + "src/**/*.d.ts", + "src/**/*.ts", + "src/**/*.js", + "src/**/*.svelte" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json new file mode 100644 index 00000000..fe874096 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts new file mode 100644 index 00000000..d37616f9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import {svelte} from '@sveltejs/vite-plugin-svelte' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [svelte()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json new file mode 100644 index 00000000..eec762bc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Svelte + Vite (Typescript)", + "shortname": "svelte-ts", + "author": "Lea Anthony", + "description": "Svelte + TS + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md index b02b4aed..d5d83793 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/README.md @@ -2,24 +2,14 @@ ## About -This is a basic Svelte template, using rollup to bundle the assets into a single JS file. Rollup is configured to do the -following: - -- Convert imported images to base64 strings -- Convert `url()` in `@font-face` declarations to base64 strings -- Bundle all css into the JS bundle -- Copy `index.html` from `frontend/src/` to `frontend/dist/` - -Clicking the button will call the backend. - -You can configure the project by editing `wails.json`. More information about the project settings can be found -here: https://wails.io/docs/reference/project-config +This is the official Wails Svelte template. ## Live Development -To run in live development mode, run `wails dev` in the project directory. The frontend dev server will run -on http://localhost:34115. Open this in your browser to connect to your application. +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. ## Building -For a production build, use `wails build`. +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go deleted file mode 100644 index 224be715..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "context" - "fmt" -) - -// App struct -type App struct { - ctx context.Context -} - -// NewApp creates a new App application struct -func NewApp() *App { - return &App{} -} - -// startup is called at application startup -func (a *App) startup(ctx context.Context) { - // Perform your setup here - a.ctx = ctx -} - -// domReady is called after front-end resources have been loaded -func (a App) domReady(ctx context.Context) { - // Add your action here -} - -// beforeClose is called when the application is about to quit, -// either by clicking the window close button or calling runtime.Quit. -// Returning true will cause the application to continue, false will continue shutdown as normal. -func (a *App) beforeClose(ctx context.Context) (prevent bool) { - return false -} - -// shutdown is called at application termination -func (a *App) shutdown(ctx context.Context) { - // Perform your teardown here -} - -// Greet returns a greeting for the given name -func (a *App) Greet(name string) string { - return fmt.Sprintf("Hello %s, It's show time!", name) -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md index e570eef5..13038462 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/README.md @@ -4,8 +4,8 @@ This template should help get you started developing with Svelte in Vite. ## Recommended IDE Setup - - [Goland](https://www.jetbrains.com/go/) + [Svelte](https://plugins.jetbrains.com/plugin/12375-svelte) - - [VSCode](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). +[VS Code](https://code.visualstudio.com/) ++ [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). ## Need an official Svelte framework? diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html deleted file mode 100644 index 58f98f0d..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/dist/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html index 4ebbd8a7..dd50e71c 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/index.tmpl.html @@ -1,15 +1,13 @@ - - - - - - + + + + + {{.ProjectName}} - - - -
- - - \ No newline at end of file + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json deleted file mode 100644 index ff9f5a9c..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package-lock.tmpl.json +++ /dev/null @@ -1,1016 +0,0 @@ -{ - "name": "{{.ProjectName}}", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "{{.ProjectName}}", - "version": "0.0.0", - "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", - "svelte": "^3.44.0", - "vite": "^2.8.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", - "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", - "dev": true, - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "1.0.0-next.39", - "resolved": "https://registry.npmmirror.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.39.tgz", - "integrity": "sha512-gnvvcAW2LK+KnUn8lKb2ypcXKwSp2K57mem5C4VNKfjxdRpM6+XwNavWwVf6otnDhz3qPYl/TKKW6/dRr6eeAw==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^4.1.2", - "debug": "^4.3.3", - "kleur": "^4.1.4", - "magic-string": "^0.25.7", - "svelte-hmr": "^0.14.9" - }, - "engines": { - "node": "^14.13.1 || >= 16" - }, - "peerDependencies": { - "diff-match-patch": "^1.0.5", - "svelte": "^3.44.0", - "vite": "^2.7.0" - }, - "peerDependenciesMeta": { - "diff-match-patch": { - "optional": true - } - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/esbuild": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.25.tgz", - "integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-64": "0.14.25", - "esbuild-android-arm64": "0.14.25", - "esbuild-darwin-64": "0.14.25", - "esbuild-darwin-arm64": "0.14.25", - "esbuild-freebsd-64": "0.14.25", - "esbuild-freebsd-arm64": "0.14.25", - "esbuild-linux-32": "0.14.25", - "esbuild-linux-64": "0.14.25", - "esbuild-linux-arm": "0.14.25", - "esbuild-linux-arm64": "0.14.25", - "esbuild-linux-mips64le": "0.14.25", - "esbuild-linux-ppc64le": "0.14.25", - "esbuild-linux-riscv64": "0.14.25", - "esbuild-linux-s390x": "0.14.25", - "esbuild-netbsd-64": "0.14.25", - "esbuild-openbsd-64": "0.14.25", - "esbuild-sunos-64": "0.14.25", - "esbuild-windows-32": "0.14.25", - "esbuild-windows-64": "0.14.25", - "esbuild-windows-arm64": "0.14.25" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz", - "integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz", - "integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz", - "integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz", - "integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz", - "integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz", - "integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz", - "integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz", - "integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz", - "integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz", - "integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz", - "integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz", - "integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz", - "integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz", - "integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz", - "integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz", - "integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz", - "integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz", - "integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz", - "integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz", - "integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmmirror.com/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/postcss": { - "version": "8.4.7", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.7.tgz", - "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==", - "dev": true, - "dependencies": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - } - }, - "node_modules/rollup": { - "version": "2.69.1", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.69.1.tgz", - "integrity": "sha512-xaQKTomUVZBopk38EIshM/kOoPFkKWisgBV7Emy80coP9MOSLUDrba1jKZhqH0iS5DoGcRbbcuyl/BzblV8w5w==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/svelte": { - "version": "3.46.4", - "resolved": "https://registry.npmmirror.com/svelte/-/svelte-3.46.4.tgz", - "integrity": "sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/svelte-hmr": { - "version": "0.14.10", - "resolved": "https://registry.npmmirror.com/svelte-hmr/-/svelte-hmr-0.14.10.tgz", - "integrity": "sha512-VffsN0fT4cTJ7b4apf9VDIrgsbLFaJzPypcAuy4NcHx2PKKayfwLwabaYPWdHK5lJ/uQ/HBrkEsWHzo64NU6mQ==", - "dev": true, - "engines": { - "node": "^12.20 || ^14.13.1 || >= 16" - }, - "peerDependencies": { - "svelte": ">=3.19.0" - } - }, - "node_modules/vite": { - "version": "2.8.6", - "resolved": "https://registry.npmmirror.com/vite/-/vite-2.8.6.tgz", - "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", - "dev": true, - "dependencies": { - "esbuild": "^0.14.14", - "postcss": "^8.4.6", - "resolve": "^1.22.0", - "rollup": "^2.59.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": ">=12.2.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "less": "*", - "sass": "*", - "stylus": "*" - }, - "peerDependenciesMeta": { - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - } - } - } - }, - "dependencies": { - "@rollup/pluginutils": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", - "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", - "dev": true, - "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - } - }, - "@sveltejs/vite-plugin-svelte": { - "version": "1.0.0-next.39", - "resolved": "https://registry.npmmirror.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.39.tgz", - "integrity": "sha512-gnvvcAW2LK+KnUn8lKb2ypcXKwSp2K57mem5C4VNKfjxdRpM6+XwNavWwVf6otnDhz3qPYl/TKKW6/dRr6eeAw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^4.1.2", - "debug": "^4.3.3", - "kleur": "^4.1.4", - "magic-string": "^0.25.7", - "svelte-hmr": "^0.14.9" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "esbuild": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.25.tgz", - "integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.25", - "esbuild-android-arm64": "0.14.25", - "esbuild-darwin-64": "0.14.25", - "esbuild-darwin-arm64": "0.14.25", - "esbuild-freebsd-64": "0.14.25", - "esbuild-freebsd-arm64": "0.14.25", - "esbuild-linux-32": "0.14.25", - "esbuild-linux-64": "0.14.25", - "esbuild-linux-arm": "0.14.25", - "esbuild-linux-arm64": "0.14.25", - "esbuild-linux-mips64le": "0.14.25", - "esbuild-linux-ppc64le": "0.14.25", - "esbuild-linux-riscv64": "0.14.25", - "esbuild-linux-s390x": "0.14.25", - "esbuild-netbsd-64": "0.14.25", - "esbuild-openbsd-64": "0.14.25", - "esbuild-sunos-64": "0.14.25", - "esbuild-windows-32": "0.14.25", - "esbuild-windows-64": "0.14.25", - "esbuild-windows-arm64": "0.14.25" - } - }, - "esbuild-android-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz", - "integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz", - "integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz", - "integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz", - "integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz", - "integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz", - "integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz", - "integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz", - "integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz", - "integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz", - "integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz", - "integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz", - "integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz", - "integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz", - "integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz", - "integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz", - "integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz", - "integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz", - "integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz", - "integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.14.25", - "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz", - "integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==", - "dev": true, - "optional": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmmirror.com/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", - "dev": true - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "postcss": { - "version": "8.4.7", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.7.tgz", - "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==", - "dev": true, - "requires": { - "nanoid": "^3.3.1", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "rollup": { - "version": "2.69.1", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.69.1.tgz", - "integrity": "sha512-xaQKTomUVZBopk38EIshM/kOoPFkKWisgBV7Emy80coP9MOSLUDrba1jKZhqH0iS5DoGcRbbcuyl/BzblV8w5w==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svelte": { - "version": "3.46.4", - "resolved": "https://registry.npmmirror.com/svelte/-/svelte-3.46.4.tgz", - "integrity": "sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==", - "dev": true - }, - "svelte-hmr": { - "version": "0.14.10", - "resolved": "https://registry.npmmirror.com/svelte-hmr/-/svelte-hmr-0.14.10.tgz", - "integrity": "sha512-VffsN0fT4cTJ7b4apf9VDIrgsbLFaJzPypcAuy4NcHx2PKKayfwLwabaYPWdHK5lJ/uQ/HBrkEsWHzo64NU6mQ==", - "dev": true, - "requires": {} - }, - "vite": { - "version": "2.8.6", - "resolved": "https://registry.npmmirror.com/vite/-/vite-2.8.6.tgz", - "integrity": "sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==", - "dev": true, - "requires": { - "esbuild": "^0.14.14", - "fsevents": "~2.3.2", - "postcss": "^8.4.6", - "resolve": "^1.22.0", - "rollup": "^2.59.0" - } - } - } -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.json similarity index 66% rename from v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.tmpl.json rename to v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.json index a300341e..0baf72a1 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.tmpl.json +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/package.json @@ -1,18 +1,16 @@ { - "name": "{{.ProjectName}}", + "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", - "build:watch": "vite build --watch", "preview": "vite preview" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", "svelte": "^3.44.0", - "vite": "^2.8.0" - }, - "author": "{{.AuthorName}}" -} + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/public/favicon.ico b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/public/favicon.ico deleted file mode 100644 index d75d248ef0b15096a95054643a4d97f5d9b60846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU}Ruq5D);-3Je)63=Con3=A3!3=9Gc3=9ek5OD?&U}0bo;)Y-l7X{n>XJCL} zE(W{*It+II?HKI-t1;O9X9bI+C`RKz^nvu7FxdQG$zc8eF@yF0cMR75?=jf^p8_=p zB#)*M%7y4RV6gpvP0a8A|CFx({~PE3|L;-q|38QG|Njg&|F1LH{ZD4F`_BV*3rIaw zE0oX7VEccLfY<;3tM>o@|M%a2F!=KQ|NpsL|NqyB0h{ri!S?@ZsNWE70hwj@U!1}E z|5dl*|Nnpf`u~5=ng9ROy8r(_eFJRF|67kCd>*&|{~2umpMm=aHq(4KmGsz>-Ycvy(|9zXLACZ(F}Dr#2t43IT-Bz zZ(w!&{~zRsklO$M>*xLdA6)zYKfmYy|E@*<|37;9|NpZ$|NpB;|NqZm{eK&S-G4R| zGi?8Nfb@4Q`~UyvZ-~1=^!mg9|Hrld2m9ga>;L~%qrmz%z~dF-es%`y|6A2#Aa>k* z^#6Zy=l}mZPyPS@`wzq{ko!Sqvp9m?--Kef-G5F7>;HSTFi>*oId zFXH?EKZ6A%OsA~-|KBzT?EcFPcK=1eZa~C=E`#m=E1>WynEe0$!x#Vm|NHm<|KUsj z|Hrre|G)R_|Nq~A{{Qb(0M>t=!S25>nto7Rm@wG>-@<77|CfH!|NqPOK=gn@0A$w6 zeUSKIu>C)i!R|j3TtC7MAT#(G?EdF6SpUDv?fU6jXC62&+5G>+VEz9&gU$an40iub!FoaJV0y68AbCi-(q*vw z@5*5J--yBPKR3GG5A_TT59}Ej4)8NDG_W%;G%!OkBLl+$MpQP4|A3K!;R7=R!w+@_ JhJXAF3;<;C{Fnd$ diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/App.svelte b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/App.svelte index 213dd355..2a2ce228 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/App.svelte +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/App.svelte @@ -1,44 +1,27 @@ - +`; +(document.getElementById('logo') as HTMLImageElement).src = logo; + +let nameElement = (document.getElementById("name") as HTMLInputElement); +nameElement.focus(); +let resultElement = document.getElementById("result"); + +declare global { + interface Window { + greet: () => void; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json new file mode 100644 index 00000000..3865e3cb --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": [ + "ESNext", + "DOM" + ], + "moduleResolution": "Node", + "strict": true, + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "noEmit": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true + }, + "include": [ + "src" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json new file mode 100644 index 00000000..5aed52c8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Vanilla + Vite (Typescript)", + "shortname": "vanilla-ts", + "author": "Lea Anthony", + "description": "Vanilla + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore deleted file mode 100644 index b92a6f8b..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -# Wails bin directory -build/bin -# Wails Windows NSIS support files -build/windows/installer/wails_tools.nsh -build/windows/installer/tmp/ - -# IDEs -.idea -.vscode - -# The black hole that is... -node_modules diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md index a7a3c1a2..e3470d50 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/README.md @@ -2,17 +2,14 @@ ## About -This template uses vanilla JS / HTML and CSS. - -You can configure the project by editing `wails.json`. More information about the project settings can be found -here: https://wails.io/docs/reference/project-config +This is the official Wails Vanilla template. ## Live Development -To run in live development mode, run `wails dev` in the project directory. The frontend dev server will run -on http://localhost:34115. Open this in your browser to connect to your application. +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. ## Building -For a production build, use `wails build`. - +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go deleted file mode 100644 index 224be715..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "context" - "fmt" -) - -// App struct -type App struct { - ctx context.Context -} - -// NewApp creates a new App application struct -func NewApp() *App { - return &App{} -} - -// startup is called at application startup -func (a *App) startup(ctx context.Context) { - // Perform your setup here - a.ctx = ctx -} - -// domReady is called after front-end resources have been loaded -func (a App) domReady(ctx context.Context) { - // Add your action here -} - -// beforeClose is called when the application is about to quit, -// either by clicking the window close button or calling runtime.Quit. -// Returning true will cause the application to continue, false will continue shutdown as normal. -func (a *App) beforeClose(ctx context.Context) (prevent bool) { - return false -} - -// shutdown is called at application termination -func (a *App) shutdown(ctx context.Context) { - // Perform your teardown here -} - -// Greet returns a greeting for the given name -func (a *App) Greet(name string) string { - return fmt.Sprintf("Hello %s, It's show time!", name) -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/dist/gitkeep b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/dist/gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html new file mode 100644 index 00000000..85991915 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/index.tmpl.html @@ -0,0 +1,12 @@ + + + + + + {{.ProjectName}} + + +
+ + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json new file mode 100644 index 00000000..796b1b31 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/package.json @@ -0,0 +1,13 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "devDependencies": { + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css new file mode 100644 index 00000000..59d06f69 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/app.css @@ -0,0 +1,54 @@ +#logo { + display: block; + width: 50%; + height: 50%; + margin: auto; + padding: 10% 0 0; + background-position: center; + background-repeat: no-repeat; + background-size: 100% 100%; + background-origin: content-box; +} + +.result { + height: 20px; + line-height: 20px; + margin: 1.5rem auto; +} + +.input-box .btn { + width: 60px; + height: 30px; + line-height: 30px; + border-radius: 3px; + border: none; + margin: 0 0 0 20px; + padding: 0 8px; + cursor: pointer; +} + +.input-box .btn:hover { + background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); + color: #333333; +} + +.input-box .input { + border: none; + border-radius: 3px; + outline: none; + height: 30px; + line-height: 30px; + padding: 0 10px; + background-color: rgba(240, 240, 240, 1); + -webkit-font-smoothing: antialiased; +} + +.input-box .input:hover { + border: none; + background-color: rgba(255, 255, 255, 1); +} + +.input-box .input:focus { + border: none; + background-color: rgba(255, 255, 255, 1); +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html deleted file mode 100644 index e30af2f4..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/index.tmpl.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - {{.ProjectName}} - - - - -
- -
Please enter your name below 👇
-
- - -
-
- - - diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css deleted file mode 100644 index f35a69f9..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.css +++ /dev/null @@ -1,79 +0,0 @@ -html { - background-color: rgba(27, 38, 54, 1); - text-align: center; - color: white; -} - -body { - margin: 0; - color: white; - font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", - "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; -} - -@font-face { - font-family: "Nunito"; - font-style: normal; - font-weight: 400; - src: local(""), - url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); -} - -#app { - height: 100vh; - text-align: center; -} - -.logo { - display: block; - width: 50%; - height: 50%; - margin: auto; - padding: 10% 0 0; - background-position: center; - background-repeat: no-repeat; - background-image: url("./assets/images/logo-universal.png"); - background-size: 100% 100%; - background-origin: content-box; -} -.result { - height: 20px; - line-height: 20px; - margin: 1.5rem auto; -} -.input-box .btn { - width: 60px; - height: 30px; - line-height: 30px; - border-radius: 3px; - border: none; - margin: 0 0 0 20px; - padding: 0 8px; - cursor: pointer; -} -.input-box .btn:hover { - background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%); - color: #333333; -} - -.input-box .input { - border: none; - border-radius: 3px; - outline: none; - height: 30px; - line-height: 30px; - padding: 0 10px; - background-color: rgba(240, 240, 240, 1); - -webkit-font-smoothing: antialiased; -} - -.input-box .input:hover { - border: none; - background-color: rgba(255, 255, 255, 1); -} - -.input-box .input:focus { - border: none; - background-color: rgba(255, 255, 255, 1); -} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js index 98510cd3..4ad5a2ca 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/main.js @@ -1,32 +1,43 @@ -// Get input + focus +import './style.css'; +import './app.css'; + +import logo from './assets/images/logo-universal.png'; +import {Greet} from '../wailsjs/go/main/App'; + +document.querySelector('#app').innerHTML = ` + +
Please enter your name below 👇
+
+ + +
+ +`; +document.getElementById('logo').src = logo; + let nameElement = document.getElementById("name"); nameElement.focus(); +let resultElement = document.getElementById("result"); // Setup the greet function window.greet = function () { - // Get name - let name = nameElement.value; + // Get name + let name = nameElement.value; - // Check if the input is empty - if (name === "") return; + // Check if the input is empty + if (name === "") return; - // Call App.Greet(name) - try { - window.go.main.App.Greet(name) - .then((result) => { - // Update result with data back from App.Greet() - document.getElementById("result").innerText = result; - }) - .catch((err) => { + // Call App.Greet(name) + try { + Greet(name) + .then((result) => { + // Update result with data back from App.Greet() + resultElement.innerText = result; + }) + .catch((err) => { + console.error(err); + }); + } catch (err) { console.error(err); - }); - } catch (err) { - console.error(err); - } -}; - -nameElement.onkeydown = function (e) { - if (e.keyCode == 13) { - window.greet(); - } + } }; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl index d3e1921a..52759e11 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.mod.tmpl @@ -4,32 +4,4 @@ go 1.17 require github.com/wailsapp/wails/v2 {{.WailsVersion}} -require ( -github.com/andybalholm/brotli v1.0.2 // indirect -github.com/davecgh/go-spew v1.1.1 // indirect -github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab // indirect -github.com/wailsapp/mimetype v1.4.1-beta.1 -github.com/go-ole/go-ole v1.2.5 // indirect -github.com/gofiber/fiber/v2 v2.17.0 // indirect -github.com/gofiber/websocket/v2 v2.0.8 // indirect -github.com/google/uuid v1.1.2 // indirect -github.com/imdario/mergo v0.3.12 // indirect -github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5 // indirect -github.com/klauspost/compress v1.12.2 // indirect -github.com/leaanthony/debme v1.2.1 // indirect -github.com/leaanthony/go-ansi-parser v1.0.1 // indirect -github.com/leaanthony/go-common-file-dialog v1.0.3 // indirect -github.com/leaanthony/slicer v1.5.0 // indirect -github.com/leaanthony/typescriptify-golang-structs v0.1.7 // indirect -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2 // indirect -github.com/pkg/errors v0.9.1 // indirect -github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f // indirect -github.com/tkrajina/go-reflector v0.5.5 // indirect -github.com/valyala/bytebufferpool v1.0.0 // indirect -github.com/valyala/fasthttp v1.28.0 // indirect -github.com/valyala/tcplisten v1.0.0 // indirect -golang.org/x/net v0.0.0-20210510120150-4163338589ed // indirect -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf // indirect -) - -// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum deleted file mode 100644 index 4ba84092..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/go.sum +++ /dev/null @@ -1,222 +0,0 @@ -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/andybalholm/brotli v1.0.2 h1:JKnhI/XQ75uFBTiuzXpzFrUriDPiZjlOSzh6wXogP0E= -github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab h1:9e2joQGp642wHGFP5m86SDptAavrdGBe8/x9DGEEAaI= -github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab/go.mod h1:smsv/h4PBEBaU0XDTY5UwJTpZv69fQ0FfcLJr21mA6Y= -github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/flytam/filenamify v1.0.0/go.mod h1:Dzf9kVycwcsBlr2ATg6uxjqiFgKGH+5SKFuhdeP5zu8= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/wailsapp/mimetype v1.4.1-beta.1 h1:gSnKX7WH+7aA0EEjOGUmpWXTb0Nt5B7/8Dm9wHLrnnY= -github.com/wailsapp/mimetype v1.4.1-beta.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= -github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw= -github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= -github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY= -github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/gofiber/fiber/v2 v2.17.0 h1:qP3PkGUbBB0i9iQh5E057XI1yO5CZigUxZhyUFYAFoM= -github.com/gofiber/fiber/v2 v2.17.0/go.mod h1:iftruuHGkRYGEXVISmdD7HTYWyfS2Bh+Dkfq4n/1Owg= -github.com/gofiber/websocket/v2 v2.0.8 h1:Hb4y6IxYZVMO0segROODXJiXVgVD3a6i7wnfot8kM6k= -github.com/gofiber/websocket/v2 v2.0.8/go.mod h1:fv8HSGQX09sauNv9g5Xq8GeGAaahLFYQKKb4ZdT0x2w= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/jackmordaunt/icns v1.0.0/go.mod h1:7TTQVEuGzVVfOPPlLNHJIkzA6CoV7aH1Dv9dW351oOo= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs= -github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e h1:Q3+PugElBCf4PFpxhErSzU3/PY5sFL5Z6rfv4AbGAck= -github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs= -github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.2 h1:2KCfW3I9M7nSc5wOqXAlW2v2U6v+w6cbjvbfp+OykW8= -github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leaanthony/clir v1.0.4/go.mod h1:k/RBkdkFl18xkkACMCLt09bhiZnrGORoxmomeMvDpE0= -github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc= -github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA= -github.com/leaanthony/go-ansi-parser v1.0.1 h1:97v6c5kYppVsbScf4r/VZdXyQ21KQIfeQOk2DgKxGG4= -github.com/leaanthony/go-ansi-parser v1.0.1/go.mod h1:7arTzgVI47srICYhvgUV4CGd063sGEeoSlych5yeSPM= -github.com/leaanthony/go-common-file-dialog v1.0.3 h1:O0uGjKnWtdEADGrkg+TyAAbZylykMwwx/MNEXn9fp+Y= -github.com/leaanthony/go-common-file-dialog v1.0.3/go.mod h1:TGhEc9eSJgRsupZ+iH1ZgAOnEo9zp05cRH2j08RPrF0= -github.com/leaanthony/gosod v1.0.3/go.mod h1:BJ2J+oHsQIyIQpnLPjnqFGTMnOZXDbvWtRCSG7jGxs4= -github.com/leaanthony/idgen v1.0.0/go.mod h1:4nBZnt8ml/f/ic/EVQuLxuj817RccT2fyrUaZFxrcVA= -github.com/leaanthony/slicer v1.5.0 h1:aHYTN8xbCCLxJmkNKiLB6tgcMARl4eWmH9/F+S/0HtY= -github.com/leaanthony/slicer v1.5.0/go.mod h1:FwrApmf8gOrpzEWM2J/9Lh79tyq8KTX5AzRtwV7m4AY= -github.com/leaanthony/typescriptify-golang-structs v0.1.7 h1:yoznzWzyxkO/iWdlpq+aPcuJ5Y/hpjq/lmgMFmpjwl0= -github.com/leaanthony/typescriptify-golang-structs v0.1.7/go.mod h1:cWtOkiVhMF77e6phAXUcfNwYmMwCJ67Sij24lfvi9Js= -github.com/leaanthony/winicon v1.0.0/go.mod h1:en5xhijl92aphrJdmRPlh4NI1L6wq3gEm0LpXAPghjU= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= -github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2 h1:acNfDZXmm28D2Yg/c3ALnZStzNaZMSagpbr96vY6Zjc= -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f h1:PgA+Olipyj258EIEYnpFFONrrCcAIWNUNoFhUfMqAGY= -github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f/go.mod h1:lHhJedqxCoHN+zMtwGNTXWmF0u9Jt363FYRhV6g0CdY= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/tc-hib/winres v0.1.5/go.mod h1:pe6dOR40VOrGz8PkzreVKNvEKnlE8t4yR8A8naL+t7A= -github.com/tdewolff/minify v2.3.6+incompatible/go.mod h1:9Ov578KJUmAWpS6NeZwRZyT56Uf6o3Mcz9CEsg8USYs= -github.com/tdewolff/parse v2.3.4+incompatible/go.mod h1:8oBwCsVmUkgHO8M5iCzSIDtpzXOT0WXX9cWhz+bIzJQ= -github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= -github.com/tidwall/gjson v1.8.0/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.1.7/go.mod h1:w/yG+ezBeTdUxiKs5NcPicO9diP38nk96QBAbIIGeFs= -github.com/tkrajina/go-reflector v0.5.5 h1:gwoQFNye30Kk7NrExj8zm3zFtrGPqOkzFMLuQZg1DtQ= -github.com/tkrajina/go-reflector v0.5.5/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.9.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= -github.com/valyala/fasthttp v1.26.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA= -github.com/valyala/fasthttp v1.28.0 h1:ruVmTmZaBR5i67NqnjvvH5gEv0zwHfWtbjoyW98iho4= -github.com/valyala/fasthttp v1.28.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= -github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= -github.com/wailsapp/wails/v2 v2.0.0-beta.3 h1:8vhBbnjpYDF6cCUwKadon7J/98UjcP1nrnptUl70Tfg= -github.com/wailsapp/wails/v2 v2.0.0-beta.3/go.mod h1:aku28riyHF2G5jmx/qtxjLWi7VwpTjhhX/HVLCptWFA= -github.com/wzshiming/ctc v1.2.3/go.mod h1:2tVAtIY7SUyraSk0JxvwmONNPFL4ARavPuEsg5+KA28= -github.com/wzshiming/winseq v0.0.0-20200112104235-db357dc107ae/go.mod h1:VTAq37rkGeV+WOybvZwjXiJOicICdpLCN8ifpISjK20= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xyproto/xpm v1.2.1/go.mod h1:cMnesLsD0PBXLgjDfTDEaKr8XyTFsnP1QycSqRw7BiY= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/ztrue/tracerr v0.3.0/go.mod h1:qEalzze4VN9O8tnhBXScfCrmoJo10o8TN5ciKjm6Mww= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= -golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210510120150-4163338589ed h1:p9UgmWI9wKpfYmgaV/IZKGdXc5qEK45tDwwwDyjS26I= -golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210611083646-a4fc73990273/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go index ada40a9c..69de41d5 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/main.tmpl.go @@ -2,82 +2,29 @@ package main import ( "embed" - "log" - - "github.com/wailsapp/wails/v2/pkg/options/mac" - "github.com/wailsapp/wails/v2" - "github.com/wailsapp/wails/v2/pkg/logger" "github.com/wailsapp/wails/v2/pkg/options" - "github.com/wailsapp/wails/v2/pkg/options/windows" ) -//go:embed frontend/src +//go:embed frontend/dist var assets embed.FS -//go:embed build/appicon.png -var icon []byte - func main() { // Create an instance of the app structure app := NewApp() // Create application with options err := wails.Run(&options.App{ - Title: "{{.ProjectName}}", - Width: 1024, - Height: 768, - MinWidth: 1024, - MinHeight: 768, - MaxWidth: 1280, - MaxHeight: 800, - DisableResize: false, - Fullscreen: false, - Frameless: false, - StartHidden: false, - HideWindowOnClose: false, - RGBA: &options.RGBA{R: 255, G: 255, B: 255, A: 255}, - Assets: assets, - Menu: nil, - Logger: nil, - LogLevel: logger.DEBUG, - OnStartup: app.startup, - OnDomReady: app.domReady, - OnBeforeClose: app.beforeClose, - OnShutdown: app.shutdown, - WindowStartState: options.Normal, + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, Bind: []interface{}{ app, }, - // Windows platform specific options - Windows: &windows.Options{ - WebviewIsTransparent: false, - WindowIsTranslucent: false, - DisableWindowIcon: false, - // DisableFramelessWindowDecorations: false, - WebviewUserDataPath: "", - }, - Mac: &mac.Options{ - TitleBar: &mac.TitleBar{ - TitlebarAppearsTransparent: true, - HideTitle: false, - HideTitleBar: false, - FullSizeContent: false, - UseToolbar: false, - HideToolbarSeparator: true, - }, - Appearance: mac.NSAppearanceNameDarkAqua, - WebviewIsTransparent: true, - WindowIsTranslucent: true, - About: &mac.AboutInfo{ - Title: "Vanilla Template", - Message: "Part of the Wails projects", - Icon: icon, - }, - }, }) if err != nil { - log.Fatal(err) + println("Error:", err.Error()) } } diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh deleted file mode 100644 index bc6ee0ac..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-arm.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for macos platform..." -wails build --clean --platform darwin/arm64 - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh deleted file mode 100644 index f359f633..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos-intel.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for macos platform..." -wails build --clean --platform darwin - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh deleted file mode 100644 index d61531fd..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-macos.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for macos platform..." -wails build --clean --platform darwin/universal - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh deleted file mode 100644 index 47b77897..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build-windows.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app for windows platform..." -wails build --clean --platform windows/amd64 - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh deleted file mode 100644 index 20ab7eb2..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Start building the app..." -wails build --clean - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh deleted file mode 100644 index 7539d8e3..00000000 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/scripts/install-wails-cli.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -echo -e "Start running the script..." -cd ../ - -echo -e "Current Go version: \c" -go version - -echo -e "Install the Wails command line tool..." -go install github.com/wailsapp/wails/v2/cmd/wails@latest - -echo -e "Successful installation!" - -echo -e "End running the script!" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json index f235e50e..8153663b 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/template.json @@ -1,7 +1,7 @@ { - "name": "Vanilla HTML/JS/CSS", + "name": "Vanilla + Vite", "shortname": "vanilla", - "author": "Lea Anthony ", - "description": "A simple template using only HTML/CSS/JS", - "helpurl": "https://github.com/wailsapp/wails" -} + "author": "Lea Anthony", + "description": "Vanilla + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json index b010f320..95918763 100644 --- a/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/wails.tmpl.json @@ -1,7 +1,10 @@ { "name": "{{.ProjectName}}", "outputfilename": "{{.BinaryName}}", - "wailsjsdir": "./frontend", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", "author": { "name": "{{.AuthorName}}", "email": "{{.AuthorEmail}}" diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md new file mode 100644 index 00000000..b3d7053c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Vue-TS template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json new file mode 100644 index 00000000..f9679ed9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "johnsoncodehk.volar" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md new file mode 100644 index 00000000..15b2483d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/READ-THIS.md @@ -0,0 +1,4 @@ +This template uses a work around as the default template does not compile due to this issue: +https://github.com/vuejs/core/issues/1228 + +In `tsconfig.json`, `isolatedModules` is set to `false` rather than `true` to work around the issue. \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md new file mode 100644 index 00000000..db4b4735 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/README.md @@ -0,0 +1,24 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue +3 ` + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json new file mode 100644 index 00000000..20d846b8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/package.json @@ -0,0 +1,19 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.2.25" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^2.3.1", + "typescript": "^4.5.4", + "vite": "^2.9.2", + "vue-tsc": "^0.29.8" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue new file mode 100644 index 00000000..b63d187c --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 zcmXT-cQayOWME)m@RDH=1ktO{Ffe%Tf{20ms8}jTdPk5;1+k{SvQbj(c4b9viuB zD*ANm^Pf!n=li6^xT5wi^HW_CZ4|+sEB?pG_(1+<_vJi}4jVaG<$kURVC+8Oshx0! zGc57!*;d2wT^C&cpN(3&?srjOdHwF&J6}cLiTQc|^&gw(F;z_O+g7rFYO>{OoVLn- zoekGZ?b2oL%U5sriEjDvV1D%B%Es&mrENfG}m@4h-; zJ4^gv6FcXkgKkr9HVVc^1g;X*-+ygg=tkF{D_1${uKvy<=)v*dNokIARLk)U9p?WF z^{OR5N3>OJJ-}scS+=UV?^X7xck(%#1rAS7`8fG{zYciFedmFh$94ciG z_<98ecFmnredlmw>*b#(7y5E`-MIF)BdpB=UzK6-F#`nF;4}D1JUxI*VGu= z%J{wh_CDnQ`-tF`O3W{rJdW?`GtE)2v|(LQkaJ|tf}*gH; zt=0eYO)`(~T-VGr-+4F1&+e9yEThKB{_OSNVh#VUIAzL?IU(d7cN75~!6w$rc_P@*huXt_U z;*T91ogAEkf}G|5&dcxHR{i9e(-M=T63_qK%9K4l!%F9!oqD|DoPtHK&6dg5zB%99 zk$l*%W6OFKj%0oh<}C>+9*RL{8cZbJe9{y)pK(f?-Tw0|JL3}x_jMe`w`E!uFSt~) zmnVTckY)PnCDUCj>Nc(6TebSEaBslf&%S2Pt;`QRjNir0&uEj0;a#Fw>#Hl-2^Ut}RGI8+dbXta z%;w{X$LAK@s=R*JBUpMc-WMPj`&GE*FO^ zjaqBF^+tDJ{GoVJx!+du{P98=C|bFLLtJmpym@ttud^;K z`Fp)8Cq7L zbfs0%VYh%2lTNdoFIKyJ;MBZ^;woReL=FK*yKRN~yzLP`Ri+fIOwms6xE?6*a2Cgn zP*?A3yz?Aq1>O~Yl;<_ib;gz|@s;6)`fpCjFNkgmIo7XdX16Qj{r+{;FSs{7yr}&{ z?&4m*)uwkcue&~cm42qBZ2P4jT4zEJvKS;LRjHmgD(cg@`0CmzCBdg^R@VJChd!O1 zJ6-qJ;jAv}+zn#yKQ?J~g-IRO%j?_T$aK2O=#;(liSz5r;~#Rbo|p3EkKrn|b8l<+ zdBx{)o7OMaw~H#fd1_&O@)YL!d55O&n%V4;z5Ge!+YEEo-1eCW2D$!y6m@nAvuZ9BNVl3YTs zzCUxL^-S-UwvcnSTFh$-*H7<>%zV9ja`NT&w;`;zuI{_Q^1Mk+o@2?G%SWg6ufM0= zRr71sJ$K1FCwMR1Evi}lbenY}Yv^ygm~G)J3O{?ZAN28wcWFNKCra*i9v8Q+!-e$P z9d+9Ke}~FTHzz0lxTdCCz6RYzgM0NBR7gcFBoR%}q^xq@1*w!>1LV;io_E6BTX?#T5y^NyQrF@4bK-IiEmdT`_S zAl}cr<6Z9UVT<8kv3*|VmG7tQN~V4JknnY{rnI8c{j9KA2izx3y}HIZ@y;=+{mrxbwVBhTnH~@BIc+$-%OJIu zBWB7K9?sGU`=5wM1o?fr?mF?l8Be+QmoWd1_9-{wJ!gAW3%i$d)NP45R~x}K@9Z53 z-#NRU9nahKHv8a7X}Q_`OT9jF^|QR+DPqfB^8Q-#d9FQ6RdQDyow+>v*|hqzys}?A z^nJ9SR`>R-v{~4-Ey?89>S^gyl&0+z2V%1 zUVmk4tmNKnyA-$NH=Xbd2{3rYxo5A~Sy9PlNh@DG+aa}uvAf{*E7>diV|Z@L{z>wf zcFb*l)B8jG#q2F>uGyv3eA0`Tv0BahGvmvoJPA%7X+Dwjo93mcevsaM+~B`y?JD=XJL@e+6u)-q3u%}<8G~7E%v1GU9jSzwe798zP~RDGCxo3 z^4?MLrgeHNSKV2YB_5A$ZdJ!P>=*Ey$#p$VG5W!T8!x&qeYxEEE`clL|HR~@o=Y~A zyuM^UP4r~^tX{{Jy{CmR#*i%BSiuQwA+9M-vI&N>s4+{dbR^VNixeY;auYOlNXV%KZ4-I+(klILx| z``oVl(DZ#}m$uh!WLDfS@!L>E@DT5c=udMrV>sJwSOd+iIG3qRQhn$lS{-G^AosWP zP247Ne=dnhNha3|d$tI$ragEoBPSxTGk_=EYu0;>CgbRda~P@?%3KKE)%Seky;k*e z{QbN(yNZ|}@HO7wxm)7mq1M6&3UUHkd=IMm`5regzj)VHZrEVYA#YQ*QQK32A;Uv` z8b626hojAohG&#`qPAKet+V(zaqBi2OTlwjwK#Ye+}id;9-=KI$HXpNI$xXb2)?EaqElRf*KBw>LsPjBHH&ym} zm+IY<0it^=?{b^URY&+A>s4?Ps5k7gTDZAQqV3-FOEL5Rt?ignw~m4L;f;w_f{n}1 zR4PsKv-WnK((tvNLBLHRyX^U+KXoab9{O>0UpEyRC9S&};p6d3ze-x+aa?7+de^(i zUA-%IyejSW-ihf+zdM)f^Os}qBBe8Tt_t(!N|+*aMpa8? zc~PR}`knV>*L?QNZ`!rxuha8A30`-e#mR<0;L>{YtTl{LF?PAN_MMkr?>A&zy`U}K z|2-y`dr9zue`~+R9y&SIdbgc&YWBCe;j^1F-8@|RcA2y6j{FhTV9U68k<+1PyAB&G zuFU*)t33J0YK7OH4YpBY3#QoF#6FOpRa$AsGBf7DeTOf_ZPp8J&-weie*S^)NB=h6 zV|J)76IT#o;5ihk#q{g??CFvdT#oEydgJ0{Hr+H~ZI9H=pL_R~?{_+J|D^q8#n?-= zRetYZy8m*X=VQnF;@$G!Tk9AYtQTo$esiC)IqzuvSLL^tUe45c`FsB|&kB|mj0dF` zPD?aC3aNNaN;(p{*sfULVV2ELF45HiE4{Y5`Oey!adqAO1&W7#&Zy1I=~|h#<7K*g z%_GWu6&&F7xm2DL*Lu-S*1~W&zX2l*gq%PG6GW@ao%_qkGe; z*B7V;yF0&MI;VZn<~P4PY&x}b6pQjF6?mC3*6v-u$nvXw&^zn!gDV*X3f37rZ@KGm z{h-;Em+ZY~3rp6&<^1U$o^UQU@{;6JOL&CpX!^|VI? z-^zn`7ndKIQ}gE2?6UQ|tUkM#V$(gBdCor3IrmSzv-*>IPpuZD%+<@1@$e<;!1aLj4((L`0T6T9j4aClFITh zCeUk^>09rxgP&LxpC+jGEnJjWCA7+Md6$bphC54R{O1XU^IE=adhYJ`>EUg6-o#5c znmYKltmQ1vFphO!!lKESOeDAJ6`r(!;XJ zm*deLBjNg4$=fm?3e9miv?N4m(y?cHD-~6~_p*3KeLCN3@SEd)D%b7&5`m?wcJi)2 zQ#$uYHUF1yuiK|gi2Pper@TPFHhcLGn}9_Vc+@s%6>A-lS1c6C=-|8~D!Ir)_>kuR z?n1knA11X6bN5Y9(mD5{c&+1{*B%P@vL zq^o37*ul*cHY!!$JY$}yA=No0C{y93KEIdKF4aTp6aP#rG>v5831c~#>GDZRnYDNF zA~lZ%oLo3j*|4`snYzrZ*N@QAKk%` z&G;rRpy*$N4vSD$!U8@vse}cbY*7gdc-gEH7I3pwB`n}yX2hiXU|P>>-C2f9W2R=N zZ4`aFqNvM&h<{ccsnXUA6w%jBh3 zymOl(rW1LSW$%aj8g9Ypq}s;}A~s!dd);~FIx@`B`{;Ay3eSW7(`Ffs*BqZPsullb zdaE!qqGRLg4boTo_+|IDA4vJbr)tQMb6)1om;E`ncE9qF=X_;*YgJKrX2F+*tM9WL zwA`5}^p00_-|GimO@~iyl#g7*x_@_%!P$VMQu8VEE^u<3?|k~==SDlxWx67Jq_&Fo zF1npL`-yZ_W!&b>K(n=5rW`-FY`sDTciR%}xNQ|23q8EcbxpbZGMA}6GBsB&N+^DN z$4I_pb*OIPNuPq~TXRH~6t7vD!65k7wYaIc+i$knma`LWJUSMHg}LdR=QftTyZzFJ zrEg3ZWb34U3TSFOaw+%K?l~`8#3H(mG^@OiQJfa!_xi@3ro^2+YbsZ#TvD>PtX{0T zVcyce^Di5Ha9Q@bc!Okc=BC}}0KgCDa;n^+der&E`(-|8xb??;$*DaP_ zpK)}b#l`h!@B4csDduQyxHTZWZuTxOdj!W7|yw9xq)nIX-@~$R&x;#!$BN z*Iyaljyaj%m@o0cYNnCY9>zs8qWc~$y+2X(%FHRxR$P8`i^2C+evQMj_0QT5T(SAe zzG^}q%lc;vc;c%aGhffXwoAu-_O43#%Aywrp<2Do>t;8p3C5)TJ7N*@f9c0}Q&kQ= z3;ny)ak=^0RYH&V|FSH#(7K|rdE0#1e}8U&DYMe}uO?-#QXkX$OY;ANe7&FQN9&%x zXcJJ`dhC|I2-gqs{pO~tq)&UNA8M*F?=R$NF<#P9GdIc7Aa!luE2W`Lt-KQu2 zbDp-Hi&edghe=~%QS8rtpVeMU%ghwkPk0{F?(VC5!gb}OC-ZZc&OFQdyZmeX{J)}H z7oAt^pUrTgis6Rdf%yunOgZjMQ+)8>;Rf@*`wBd-OJ{QEt;lnhHy2!#%D?*qgUHs7 zE*9@e&Y$ljT0a!I__BItqLpiZfrwP=U zzb|~&TVp-x^n`az&Uv1ldXR24smPAQKeV^CG z#T$w`vPFtGyGr(MX5Z`Tqr7DU$47@UfmJp#N~^n_j|P9Z>z7@_I6bKAyxz&n?&+MD zCh{#lpyZU&e|U|fO4Y-&g-h~h3g{J@6--eO4Yo*4d|6VpMM>N;?^WZfADS=v{(skc z@~R;t4Z(=)Oup&B0IBCfi- zTMN^tACguM37GKoN?fq^+B-a{SEJ`X5;^}$XHu6BtBYmmB9V_*KNm!rlrYI?|5yKi z_5_#rO~tpmjcfjVZ*z{y;{anl7W}O$4E4~QK+nX}&`SMp~^|I@y2(sP# zbg5U{(s0s7ZgHlJb3Ya4O0#*NH1trpV^jI6{L{tqUvGBE1SJUqMHr-bJS4HxV89c7tT<_>v?5g8G z?eEOk&NnT$gS~iKVs3Knzo0sYYv$?d+DNW5?Q7N?Z%AAiwwm#PLjR%Y8P`;#R!g~g z)-9W}B&tuIZ*gUzT&!S!caWCR=9PO-$bIDe=dtM3G`Yj9hj~67j*Kgu?6P~t^lHCr zNeWq~o`zcAtzM$5m31orI@jG5^M&kY7gWoim$}d>U#7I9ecGL%T+TBm8@F6{b=>sP zXPe#6E8BO;{>k_)Gig$>uA*q@WpC~mk=A#l#X}t2`NW(J6C(pohWI<5G7q+mKg>1t zh^eE-qsse9x)pJsT5dL@WXb4&Qn1rf73k+8|Tk>?X_()-;=rfB;y`v z2`Y%)`%@g-^Zw0k*Oia!{$KmB?bp?=4~7N5*w0yl`*K7Y~etz?F(aQDP87c!k z^SFz-;<~#90^go=uRbCkd8JrSKBhP%P5RGvZ~MI}Nv4YzJ^23J(9G^pq(kD?uGe#9 zCOtNBT7D+Uu6JMA)1o46UAf=_W$jBkV(RPF&+|7=4U4oFXD~SR;^Oo>lX#y#|8dqQ z<+8^l@hxrnd%kzu{W>e5xPG~8{kCrBf7YeVo)x`6u6_Gvbz)`A#~0e1$2KPlE4|~m z)TD2)W<~VQ^dm(p50=zsuX!_VW#)n@r7gePk6q<4VoF)M!}Uj|Vt3@~Wp_mCgd8{d zoSY_~SHEB6)yt>-a!=2Ge_da^c;Aoez$>=?{0%mB&Ud{MZQ#ljI$xHa+xE4&-^rr64NtH-3`#Wn<0qmxj|h7iOVO+^Z3&gQGjow&!zsy53~cloldEB)uF8662;cHHFAa``&m zw?;07b=$b+Z*#29>O0T4Xtr4Mg(QnxoaZW>Kh2Wv4VpLgnCky{W4}i$AN75|R3YWv zc531DT?f7Uw>wYkaoyFBb+_ieRc@N{saZKszcdDQtXgzb!Op)}Hh>ugPS2@wu)0k)OY1EN*+To#Xv3x#N_sR=OtAR%wvD)~o2% zilU54nK?0~`zuZKZTh=y=R04G`KQ`gYJ9t2u+Pr4Bip>y?w?^E_YS_rAC!+(Hl*HD zed<}W``Nxl`&c8d39nhF5q#T2AZ1C(-IDNI(=*Nfq>2YleizUvwbo5zitqBNZ2iXD zLmU5AhJC0#wXFOa@8&yYe?+HUd=k$#N6Kz%;LKUkt5eqrl=*yG8M5=p>8bG>jdI#5 z>Px#%nlrCU5!Qaxq!<5jR_UCV%cd{>u zx@_-9Dhsx5`}wo)dT81r^Y4~cyP{0DZ!=K0Kl8%-QO%l2j)`gWUT+gvWBq7<-lYba*o%f(nhhg{5a$ZgO+-F;!UY{Ic`0*`MkY~VU?jrL`)_uk5zb*y5G}Anj ze%G|-(x-~m5}F^jtuZ=R-t^IQa&7m{=UJx77K<)y+V$|>mvv73^UoEtJ;|N-@XHC) zd6q{?mil;3C>H(R<$r_q_d%uU%|~4YRgKHF!)t!;W^KK6Z$jRtWu6OKelq*Nds-ZH zNmBE7>6WQX?BA};ai1W#?5T|37Uj=%qPH}kI6O}iT<#%p-|+vx{?(SoyLaRt++nR( zt@}0hM|F8^Ft2CA+v(Z)kH3E_T&@0d#V7R)F_F65?}r_)TzWOtZ1KysWot`TM9lGZ zKfC&5xmj7;rN)}X#`Doe$8W#-P-vaEjPu-~t<0igynoDJ9s0CNp?CHi4$*bxC)}2X zJzH0GX}`_smkiveSN=9{ESSxh@oNf)x#V<>8?rUrvnIKFd_EIjzdy=XdE%*yo@Hfv zlRitGUp+h2P&m|idZt&AW`pIgyFLq^3oK2pD-#Wf*c-@M_p%~DEpk1}LvQ|NW%io( zehwn9zke@W@z8em;}uU+zE&qM&07|3B(3(B&ta{Jw&la;UE3WtmK+ej`DAvwpLUGI ztFSFeSC8=WyPme4^|H{4qxgcY@>)%Eu0`5G+*=J?!V)Szn{U`#QKGP$)l%?Pkrv(+M4=Q%rib)kPvQqYS@SI4^FWb=B3BC+Kt)r(xDv{~4OM z7F3>W;`TSV^4)r`jKPB!NtTMOH&SN12WUlj{+CH9>fW*FVW+L|XO}w#dbb&lPBKe; zb&vVQwziI4zV;g=mizBKGk@C~+bt!jD@#%}vn$`kAI=S)C!l{>Gvrsz$^B8&W=!~? z`)Jjt#;8Y+=5X%49HcfiMt|Y5=_co&eDtc^GySS>T))!Eh5vkC2l;2{eYroQbWeC@ z)%%ZA;(y<|{ktyoOygADj}gDK|MEUaPRF6^J{Nkdoj&j=)=U*S2cS>xTe0Un7^mX=ij>rONI|{U2=XR`}@~$bN_w*w)R!a zk@_1tV%0|`zb$1oPxKQ!udf%No^eRntWEXunMr5*U7uwzwq&&1>eoXZJihHdt!G(gr{q{^UO7wIZ{<6Z>6G4 zPMByhXB_%}%^)e_j97%D|Fo_5-*5l&y@IPdV&ztU&8@r^fsGsUUUi*2xAOGsKPF3x z-(8uyhw-K6)!^()kDqMY@Bd3|=9jy6Q&(j7=Jy^EzQpwNqsfMw`mfc)r;GTnTWSBj zF}NnBw*34rGrS<(2l9pCCF56a^?5=w@kJWks^C_V< zteZCTUy0jTZ4)XlR$cb#a8k_n_db=4rkgJ`{o?82&q&%4C+X9Vx7 zU)5)?ANyl-^I5i=#bP=!KBt?4+zonXFLzBm@y~yy{N+EHGge%AI^&oXdng-g-k<#| zEjYd9tWMb;wQ}cLEHdZ8d?DTmi!F|p&*r)!D3N~9@D^uO)2MUlI;^SZ9^03+IU+!8`d5{=S|aV~@qPP5)*eW_Z(p-0rRZgz z(2`}7O*=go8?~Rvs8`Pxo9va`#GjC)-Ml>Uc=+}Q*(a8SwDqjwKi?2~=55uMgR%$b zOql%IdGkx3Z5_FyzTST2TAeD#E2d04^D4l;)l-)3+l{vM%LIaXjb`cX`QY}uV*kOH zU+ye^{B!G1Q{8`tEM0mUhhJ_KDt-7qd!0*El8uF5Rp}|S$azK&J1#wIc-838d~V-v zRn@yoj|Is*o_KptwRVWXPWPN?n;a+D_Ofn@I8i7!(dVh}v};kim!k5!oL81s6c@?< zj9RN~Z+`rt@6m%kPgicL@_zhfrm2bdm-LorBIOs_jIGsDs%2c$=HyPWc9H!%M~;{6 zV8}g@%(X|g)_zr6{Uk5Ys%z?*Og;9ckMAZuV@tHMzM<}Rpk!%LiCaNKY(9d{g4dFO#laQhO|~{>SMi!^w>05>Kc3PUW6G{rc)J+jP2bzA}7~ zBe(hNt7(P_yqnX^m#JT!zVsE>U)?$()7qZPkGC<++Q4u6y;&!@xS-R$#7sQoIFHFo z*-xwi6KsP$RVS}F^+Eaf#pQ?Z9a=Z{%iOQag;uRlG1{7?cH7ZXD!%1yRnndKx_=vV zn{IBtl6!K}Dbsx-nNu%nto@{#`9yAFT zy)QTsVs4&z{A7UHiKPCkQKC|-gTMFbW}WC1?|$^yH7V2XMC?(<$T^`g(asl~T32}T z2z_gjIJo^|88`QqPuUai-i$x?e8-Z+ShNspU+x~p3@iBf1a%!89n#Lf|s!-cMp5>1Rv;blJp8r*(%0;c+tHD`q2j> zR`Ch`ezLaX^lQ7dTde1*6q8F`Y(FXG)FRzJ5u)B!tj(gg`u9>=D&i1`ZF%a z2Hbsgc1iJ^8Jkw;%Vt>cY`UYP)~)LMz2j-_rqxL3q|%_Ws^R(^4`YG^@)4t zyeO)9AXK?h(0TIuMMrNvf9B$IRDAX69KAl>U-m5-4aIM@0=KoP880k0xF2#d$akk? z4A0|=4Tdte1k_J7C~`f&^w^H)#)kW?OD23izpLPYa^Jxzi8}-Sye>RrU+A^e)_Zxv z5xs||Zja>oW+sQsst8@!+uXD>*7BYFPT$aVnGUIy&ffZ#IX_k8eLEr;^R30?ZW&s{ z1byS&_BteE%`&ABvC36PS5`0Iw7bqsIE7nlZjIcVUC|SENbjmW`KiF^P5$ZZ@N2&w z9ZJ4;?$*vP%3tF({vNxuboCm;jCq^4u3DUB?r`sJ+}(HI3oqVSz4_K1XQ{t;zPx$M zc=tg>lk(A?(&y7<5;~L*i+sMtc8mR)=7m6!XOsT!eZKf;V9Sfj-Mh+4RX6g<^i`T` z@BDmV+tY^2D@3=JmVa(vduZ{_5AG5l4y|XH$>Pyb@1oe9$k55tV4Zj=M(0i6qXSQF z2b5X_=U-a7Br3G;l0l#aL&^&6;GoM!Q?_xpoBiGV;rz6h-qGpT&uM%)vEnl;$hdY=6ldfb~E;CHh(X?v%So3;y-g+{rP#*oF{*o`K|TzwA;I4xMy$AnfWQ^ z!!?5pkz+hg8=rlC7X5PZTubp;&VeaD|5Dgmk0oqB?qL|XYk!>aj>oORyEpf4(m$3U- zwiw@`^%!xN?BFkyK2kLG;gjnnYAySZes!M^FMb{*MkS#5Hy;kN%ot2t+WZu0SMi(a4XvDnROugcpS63%X^ zp`mWA2VblaP)c8_XqSE9$8G=Y zsoTzU9pcKL{7UMtC5PSe%m2@_{P*FETzyM%e#4W!vaj0?2e%#kWw@g{;*G7$yKueV zqV}bS-aD`MleIs%+FGpns`}&gOiMUqch#*DeE4ore8KAE=-0X@S8ve!A}{Cr<(J~0 zW_!ajJF~P~H#XE}ys4Ys-s^kdoV@hLwvOY1hS|sb9{;uTQSg2lIlt(A(9PYCf2K9f zseYH{o#Sh1dNB5#8HWS=U%SI8haU4ih)dkKUdpZW{E3Sb?gsUp`8U_fM8<8`EA80D z>4}^wc1Ig$mKgHc$jwilP;l<n=ndi4!iCQ6oFztHe>3+w1;*j#6zc4}QJpb1vJg>kkgC(byuI{AObR z_O-h`6l|Zb{Nfp~K(j1TNw?1g;OQ-rC#e;akIBziCBwQmP)?lT+H$Y1&(edW~|IIFcn_qFJ^>-|Bay@Sl z)huRUCN7&dSETRU-wEBv6y}R@@VwSjQCr@0wR74H!^Z~>sb?6TGX7F4V$j#Gr?`G^d72P+eCMWzlMk=PS9(q3_S9Tc(SYP@U%6VhE$uX&`}|q$wzL0?vZg$n;*fn! zS>fakAxnL&qPPha%L69lm@Za%(K9t~>w=iIB2#vluHJM}NMu%5S$CB`Lw9b{*4fS5OV-Q1n04p!&C1=2yU+Tm+l2MMseSvfU%23{lHhg2zVqTs zxUcBV+qv&Ynu+Mtl{`Aj`>L}ncL?#HW&V=auGMI~!dcXf@8a|mOCs-8q)y;=bzQ8Y zaeZdZtOv8d)$!hw)Al}Zr1EigoQUgBrQ%q&bZ5^zkL{Dn+19LCtz6V4D%r=w>;9_Q zbz<9Pj+gFZ>^n539I`Cr7iz$TFTm=S8e9? z3H|bUOE{}N)2Eeb#!+2vo)>=QtA$7iiMAPSto4hwcaL`NU0$$2Cof#S)nmz*r*Aoz&2^d6*K@En=D@wpP9F>f`TGtp4^uK( z+MT_FPhQ#iV4pBxaGap z9^HR!PmW6&6)f1@SEJ4l!!BWIyjbt*{CgWs^}ZQAx7KrW&%bH)rLUGS9Em);zgx z>+PZ}=J~RZ%YI6g_k7R$Q2k@A-rSfHo8KK%Pj5}Bid}Z3YQEN0?=4eqpSa@l z%>I*x@1{E!f~LKnv;9cWllxQVZ{M3ZDc!ri@BWn|Q9|FB&#hSPeL?W>Wv`i)np;(4 z=1P1yG5Paz;Y3kiyWQ8G7<0~_w`7^|*Gj$FdZ*V+Q`?!l=wNe+@|rlF3&Krbu5?;& z;?|fVVUjod)RqhS%XA)EL9PrzCX#? zXyC0Vo|f7joVO`5sey-~aBU&O|H~JxwibvOuh@~+o1!*5g|kN}ZR-s;|7|BTQr<3O zmHx1aCECtyjlxG>QSZC%r?hQNb zWgMFz<=f0%7HEDY_h?*waN@%K=e#ev@Y<Q)=Kdc^I{(4KJ zeAo8QV3vSdg&PY^SEUFSDcemszwn8fT0+vS$g9Oue_Y9XB^)8TSOxo`GD^AoRXg-ZoA$}Yj~pa(>wd1wT+Mk;_h7N{<;m(# zxbG?ai**)I|Dal_v@k#=t;k;^ z9?^2;cSrM%h{~OsvO2leCR1I-siZ}zt~a)--Mv9>wrnT+rLA5}c^CBGS!S1h?@PP1 z&Gu5=oi9s6&vHB7Re6@qwIcpPpy|rpWo$j?8B8WHatbUE77AcCtXSk;u|xiKqFu;| z28qu%lz zS;%UCj4w#tw3Lep%srVUeyNSJn$u37I@k7OeP`mN?d{9$cX_gR`zzWCZ|4U^KqjS^C zDi~Kwc%pTwHKq-Uarc$;Ff#oS^2$3WqKF3y}o?m;ggvWN=b9eH*WIm8)C|0pwPy6iRNw(LLs~4$%JM+PK-Hpvv*XG5) zsa(#L_@jLBui*NZ`F|JJe~tg~|Gu&O-oo42fB!sAnY8!)zxN7X{;@5*D#x(tQ~m$I z_y6`R&X>5gXyNs(vr4|_U-Qg=y6oEJ=?xq7t&cWboSPrvtiN@Y`rn-rCHFqhTwz|a z_;NsEoc-+$s%!H1{eHK6ZlJfLc>KKOkD}i1JMFu%ZL{~1h1Jb*+Ok30rp*RJ(=-cC7=mV%W^4GOg<%nhfm)F^(qPQiiih3hhA z!DHOA=dQiI7I9Pm{-M}(gAA5Cu~GH0&5AeodDS0^iT5`Xwyn&w>Wf``CDrr!(Sx7b z&z_se^Yuye?3mn{`<2^HFW>XOVmd5$ZteCzq3O0U zy3u6G)JnZyj~@Ts?*EseIpdkORLPd8znoe2kqS)uZ_YgZ%KuET@4T_mckaV8;=fEa zZ%GS&GBd2{@=Wt@x&h6za_4pb>GM`RC$L02Y{t&NEAD*s5xjA8w?7B>>{%|K928hR zW%Z*w6BXMn(<&4zgnWxPYYVL8EO$G? zoV+|c^U0i;W3itqem5khx9SCY#1=a~Vomp)d*;-PoB#6JkN)nnJK{IV`E$^d=t`j? zf%Iob%ifvwf3%QrQ25H_TPi;Nn;g4s-@mQLQ!O9*ohxXPiJxh@NY3@FX4&Ng(N(AN z`gBijbN}$>+SH!~x=Yzrmd?6iFq7el%E=6~iyfbzO|jAVzT%n8j4QEccAZ$jvEs&+ zRKA_etS6G+aVl3WdZ#s8T)4zpsyf4_yXe}KU$0gv>4bQ^GZB1vgF&;Ye!&fvs;pJh z**6?I_}Zy4H%8BNs_dtQ`>l-hUFr_6wST7~{c!K`S10FuI&H&V=D@6~k@$Pfg&;fLojrA%CTvN5JyEocMMc8dW3#EfrSMt>X31@4TUOrb)D*tY zs~zQ9dzXt*WGBm<$IA^3nvVMQil4G;D{J&^y`LDmBrVP-;d|}X$%5wJ`$eRq53$#8 zX?3`MC}#=_=bI^QKc@Je%~BBl+QRkB>{_;WWmLqHi@J;U-3=4IAb&e|yKeF1gzefU z3liVd%>L%>@~a~xV_)UhpSPFqGe2^$%+zfC$u;^G^QB%-?G&$)Ir~=lBj>hb)7g*C zzj2Cx^YPc(2VQ=BeDzJ%uKKS9e+za=|K6te<{jJiMC-akCdZy0loY+$@j&l-$$h7n z;@l;76K-uuRXLnLvwhE3qf1-j;tYkfS_Dq5oo8U3I!jD?=I^GdlQ-{wqT8M_XSQe~ z>wflwuD3lFs=tcQ&)vNvB978!hwGtf$7@>7?>%1f zt1)+}p)lL&Q?f;SwIt7`$w>W9i|3TG`Q>riZ+AR@cG=}mC-z8$CfAy5_#`{a|NO!H zjprgcYv+owzDr##Ipt;j1GCaRzi%Q_WjNOtoQRh%nR|=B=IQK@X)+Aa>9c3QJzHeB z=6LDbEwBFU&CRIZBFJrc*V66O0%tGT*?AK+a}#tdi_^^_KCX4ME-qtRc9JA2

f&{pMrahBM);cu70Aov%rpDu5a!m1G&towj7Tw#^JYw6H+mRV!IH zPiGjy14PE*u>6sIjkOE#L2V$ z&6ko!hhs-Jb;MaouW)#JEvxT_#*Daj7PF&C%hZ^(T4=jFW4xwEgz+rB=mpYe8b>#bR$o17&+S2^!~Gi_@3Gux)0i5kwu z_a24aeaAfYKvKeF&Q9|QPY?0m{JViGW9!ow$HI=7JXrNb>N%g)q$ezgrR_s%PrR>Q z{C}>CrGC16iNzDA36)2*H#y6?hWv3~oEhiEGi{%Vz`K*G?Ws!+zw4@f>ui?Q@o4J1 z9zT^b7a2Fv+$BK~y75}l8y4=}q0x6VzOG|K$bp^TGCi+}a5XrU86U8hO1pe@@vMk4 z?W?u-eTFFYj!M zn$;qB`I^pprm)$yTw7XZPwAhTw8VOGcR*9lV5~m!)UKKGPx>tES zIDCU;nZx(Iua#==^4K2bHkUWO-N`;%%WvadgSL&=(hP$n&GaIJwHUpQzMb7-FpJMt zdh4BVqt$cx%1?ZWINNNW*|=t6{UU=?i4sfSrhKbiEHH;T>e$5;A)^yNjT&wTDRHXV zaYRN*GVPRdDL0tXvgE=sn~j=x3}&5KsQqDaQdXO#`zm?= z9-nTPXDjbJZ*86Vo1T@a9LHuJs~7wJVY}=C@6xY&mui{T78!dP#UC!2!gMMBg;*i$ zgVT&NpDW*IKXB{q+Nec)@0}}^zfpeS#r|tkL>*^nd<@v#|4^|?p#R+6?mJUhik$vD z3>N%Z^Svvrdf%Gs40rcMU0v;>B(2!;@1oV0sGsg%D(3F43sGMbnAxhNzw7F%~S zGA++5-+6q|iRWNYSg=21?fux3qSyT5H;On`C_nTozG9ZT>V1abvOj6+lW&)dC-S zf4Mv}@{FXP(Zbl2S0Y<9cL(#QGio?ZWi=LldX;6zjRp2kRzA9s-D%i!ZNsL=fdS22 zDz-){v+~sq6Xu77U-J<2dbZVTvQ6wJHeOAm&%1aQbly6$X4-5?wnG=Wj!kpkeQEwg z>myayt7Lp%$X2hdvlCUxNUg48Gny&7WfN1?l{@S|x9OcVe7=|c#=YJ0HOlNSuiid( zFuHs99!*2Z)f|1FcbtCcym;z|9ma3}$6e~^e9y(E*KfmEr_1C2TlvY$kt{%~bhQsEg=vo&EZktMB+vGO_-Y8o<%9uG6ciW~II9 zdLyT|rA_}YJ=q?l6TZK4SMkp;1wSvIi`*62wQa_XaHaSAf^Uf*tMob|pBJ~4fBvr! zp^hIcY>LGqM#=uC6XFCSdF?;+hR+i^_Ii~{gcaYz3)j!=;Cj)US9vCD#XOluEJg<- z&KpR)tC6`A7eDWv*=pq#L93<~Oj*W1@6z;pYieD?T8fu#-Xxpa+PviBg?|N|^FFVe zFi-OR1FJPRUtU%T{pfgf9ivxe=Njj@zGu$MIX1J&Nyr(rES&va`NGo&>Vn*>INOZc zKQ8DndL3aGwO!s%l4thPzhMct4=S!$;Zt)U=j)0c$1~4WcAr}=|8r%h>pVY`I|<8e zGlg3D)~@Dp40paaRdsh4OToU}%goEwg*N`(GWnH^yae~XW7!zQ~dLqhXbe zblSVCnz`zC7`=?RD^HQyoq@ft;`3zwh{5BB)+x zVtIZt=Z{GNuae;d{D3@h1oNF*5tmBwTEBo+IZiN{%jbV@cQGYLYw*XufN;Y#8+}d z)@^~aK>R~LlRQ4g%clby-yMM~xo*{Av-IJu`5?=@F!%q# z|8~lEEmjA{XL0m$cnd@n8IQ8Si=gEdJTf zj%qRPeV-q(&I{;UZ?mTOfwk7=bvfM;YSZ~Og6g(JJ!$T}9lHBKU;78k*DFjfnkl&V z`Ay%|q4V|P#XWs@0-SDpvd8p2>~1-{EK$PpkHcP$gyYj4-P~{LU7X1BefCY3GvW3^ zwm96YeIpzuk^&pDxyr`}#OKYN#d%j~;nCwqxBfl?%rBVKf`R-(;+q(MvcKHV~rawJ!_0^_E zt*Ja2J7>=Qu|P~F+v(8NZX1K`XPEQE1-2dO%B#{mS=(|f_089{#?Esm-c=I4)l~TY zUd+FJW-re_xIITBF3fk5y!(g9Hz_gKS!`M0jLqC&nc(O{k3 z(u!?s9^No^UA{{4ozLb7?RRhM0;gWSUl#3q;|0^v5WNk%I;MKwbPmi|96)LH`W!h`6|Gv< zvbYw0I7=Hj~qX5G`0anKa>>ov!8n^fE z4twYmzF%1DxQrCXhm~8V-_m?j%yRfx=wFepS9g@d#O@2c)8%sc>;LlCqXiW&lfATp zy)5;te|`NjkLM`grJYw?yHg%c&}iAg!s)nu=cc{wbrKhjPS$O)wO%i|$91Flp_9MT zN-Wu(W^+DG`BwYeLL-yMbA7GRDV;qGzZ3-=&u@)T6FnH6o?6<&q+4<#)sJyE!)uWr zzH^^Tl^U(?F#jI6*o*(_iv{6Z5L)>du$sOBlC8MOa! z)`BCkN+r!2lht(AT{u5OZ(o1w&6LS5M$6yuoJ?5dw!TiJ$Lev(8V*iL|D~$}PM$kI zz038`<3nu|k0dqU3tq_f`K3s(#>WuR-zD?n5eX8m-~BT>Ufpzu2X!hW*PAeTbNDyld{( zxCRH?rW)0V_3HD!^$1igJY@6Q@_hBeIZyd*qvlKKS9$Ia&nY-pxpALx_=`{1ABC=$ z{IDxUGid2gx2j_b=NBZpIiKLo2X!RYqqRdfF#%MXvJ6dj z!%6Si?X5hXoIb8Lm+y4nygBl%Pp3ttF1;$&DjdFBUs%rG@sLaBWEI_gEkbLjX7`%! zeXg5dZSQ$9cuGi-=F(}?jNY$pTE+FMdv@1hpM8fqdyoEn{3G<=A+6Ps(n06;-}OoV zb)(btsnbRk!M$SF!+&RWajla2!P;k>_|$Z_R+xfM?;3|GtBszNS3df#_`daLcGq{~ z-pMJf?>~sio}93)AkrrKUdp|T0d_OD{pmiNVZQH%PIT}+9q*R=%X=35=HO!6wP3-V zCML(_JS7Jm933rft&g>4SsEXi^+au>L7>!KNB!*^QqxKdmj$MVom;i#2}gEnYf;G6 zMyd3G?oTT%^u&&u&+BY2Ydh1pjk70KEOM*bi&x$%PB(XUD*j*Vb4M;jyd}nBN;F&e z8M`K}B^&pw%8;Af*DdU9`|*C$$AIKAh0>=RvPwFh9~LT^+U+ILXX`HHzsra1@5U+d ztVN$zuG>7%YC_%2o_#al$n9e_Ssggr K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue new file mode 100644 index 00000000..3ab3df79 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts new file mode 100644 index 00000000..d0c7971d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import type {DefineComponent} from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts new file mode 100644 index 00000000..e57db594 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/main.ts @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json new file mode 100644 index 00000000..0b1aea97 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": false, + "esModuleInterop": true, + "lib": [ + "esnext", + "dom" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json new file mode 100644 index 00000000..fe874096 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts new file mode 100644 index 00000000..a30c338e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json new file mode 100644 index 00000000..6efc2029 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/template.json @@ -0,0 +1,7 @@ +{ + "name": "Vue + Vite (Typescript)", + "shortname": "vue-ts", + "author": "Lea Anthony", + "description": "Vue + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md new file mode 100644 index 00000000..87a9d8ac --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/README.md @@ -0,0 +1,15 @@ +# README + +## About + +This is the official Wails Vue template. + +## Live Development + +To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend` +directory and run `npm run dev`. The frontend dev server will run on http://localhost:34115. Connect to this in your +browser and connect to your application. + +## Building + +To build a redistributable, production mode package, use `wails build`. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go new file mode 100644 index 00000000..07f55999 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/app.tmpl.go @@ -0,0 +1,21 @@ +package main + +import ( + "context" + "fmt" +) + +// App struct +type App struct { + ctx context.Context +} + +// NewApp creates a new App application struct +func NewApp() *App { + return &App{} +} + +// Greet returns a greeting for the given name +func (a *App) Greet(name string) string { + return fmt.Sprintf("Hello %s, It's show time!", name) +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json new file mode 100644 index 00000000..f9679ed9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "johnsoncodehk.volar" + ] +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md new file mode 100644 index 00000000..7a1b3ee7 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/README.md @@ -0,0 +1,9 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json new file mode 100644 index 00000000..ef349195 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/package.json @@ -0,0 +1,17 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.2.25" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^2.3.1", + "vite": "^2.9.2" + } +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue new file mode 100644 index 00000000..15d2f121 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt new file mode 100644 index 00000000..9cac04ce --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com), + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f9cc5964455b8f5ca989db989250dbebb1a5f66 GIT binary patch literal 18972 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 K-ft&li2?wY|BVO$ literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/images/logo-universal.png b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/images/logo-universal.png new file mode 100644 index 0000000000000000000000000000000000000000..be568b84708ddb8dc16269f0b44adf25dd1b8e9b GIT binary patch literal 150356 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

tGvzAZVajpC3>Nk#dR{y-xu5T(|-?p`B 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≧gT7^=a3< zh-<0p-tQO!?%kE+V%WPnuJ2Zv!2QFiPW}u(DjDoI*Jr=Z26d0l=kMa#zuvK#jaRB< z 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

sXzm?q4<;69Edj!1?m%gg5 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 literal 0 HcmV?d00001 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue new file mode 100644 index 00000000..29c023fb --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/components/HelloWorld.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js new file mode 100644 index 00000000..e57db594 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/main.js @@ -0,0 +1,4 @@ +import {createApp} from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css new file mode 100644 index 00000000..3940d6c6 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/style.css @@ -0,0 +1,26 @@ +html { + background-color: rgba(27, 38, 54, 1); + text-align: center; + color: white; +} + +body { + margin: 0; + color: white; + font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; +} + +@font-face { + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local(""), + url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2"); +} + +#app { + height: 100vh; + text-align: center; +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js new file mode 100644 index 00000000..a30c338e --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/vite.config.js @@ -0,0 +1,7 @@ +import {defineConfig} from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 00000000..43173cfc --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,4 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1: string): Promise; diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js new file mode 100644 index 00000000..0ee085c9 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Greet(arg1) { + return window['go']['main']['App']['Greet'](arg1); +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js new file mode 100644 index 00000000..257d503f --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/ipcdev.js @@ -0,0 +1 @@ +(()=>{(function(){let n=function(e){for(var s=window[e.shift()];s&&e.length;)s=s[e.shift()];return s},o=n(["chrome","webview","postMessage"]),t=n(["webkit","messageHandlers","external","postMessage"]);if(!o&&!t){console.error("Unsupported Platform");return}o&&(window.WailsInvoke=e=>window.chrome.webview.postMessage(e)),t&&(window.WailsInvoke=e=>window.webkit.messageHandlers.external.postMessage(e))})();})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json new file mode 100644 index 00000000..1e7c8a5d --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 00000000..aa5cd507 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,87 @@ +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface runtime { + EventsEmit(eventName: string, data?: any): void; + + EventsOn(eventName: string, callback: (data?: any) => void): void; + + EventsOnMultiple(eventName: string, callback: (data?: any) => void, maxCallbacks: number): void; + + EventsOnce(eventName: string, callback: (data?: any) => void): void; + + EventsOff(eventName: string): void; + + LogTrace(message: string): void; + + LogDebug(message: string): void; + + LogError(message: string): void; + + LogFatal(message: string): void; + + LogInfo(message: string): void; + + LogWarning(message: string): void; + + WindowReload(): void; + + WindowSetSystemDefaultTheme(): void; + + WindowSetLightTheme(): void; + + WindowSetDarkTheme(): void; + + WindowCenter(): void; + + WindowSetTitle(title: string): void; + + WindowFullscreen(): void; + + WindowUnfullscreen(): void; + + WindowSetSize(width: number, height: number): Promise; + + WindowGetSize(): Promise; + + WindowSetMaxSize(width: number, height: number): void; + + WindowSetMinSize(width: number, height: number): void; + + WindowSetPosition(x: number, y: number): void; + + WindowGetPosition(): Promise; + + WindowHide(): void; + + WindowShow(): void; + + WindowMaximise(): void; + + WindowToggleMaximise(): void; + + WindowUnmaximise(): void; + + WindowMinimise(): void; + + WindowUnminimise(): void; + + WindowSetRGBA(R: number, G: number, B: number, A: number): void; + + BrowserOpenURL(url: string): void; + + Quit(): void; +} + +declare global { + interface Window { + runtime: runtime; + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 00000000..9bcd35a8 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1 @@ +(()=>{var d=Object.defineProperty;var m=n=>d(n,"__esModule",{value:!0});var e=(n,i)=>{m(n);for(var o in i)d(n,o,{get:i[o],enumerable:!0})};var t={};e(t,{LogDebug:()=>p,LogError:()=>x,LogFatal:()=>s,LogInfo:()=>W,LogTrace:()=>f,LogWarning:()=>c});function f(n){window.runtime.LogTrace(n)}function p(n){window.runtime.LogDebug(n)}function W(n){window.runtime.LogInfo(n)}function c(n){window.runtime.LogWarning(n)}function x(n){window.runtime.LogError(n)}function s(n){window.runtime.LogFatal(n)}var w={};e(w,{EventsEmit:()=>L,EventsOff:()=>S,EventsOn:()=>a,EventsOnMultiple:()=>l,EventsOnce:()=>g});function l(n,i,o){window.runtime.EventsOnMultiple(n,i,o)}function a(n,i){OnMultiple(n,i,-1)}function S(n){return window.runtime.EventsOff(n)}function g(n,i){OnMultiple(n,i,1)}function L(n){let i=[n].slice.call(arguments);return window.runtime.EventsEmit.apply(null,i)}var r={};e(r,{WindowCenter:()=>v,WindowFullscreen:()=>z,WindowGetPosition:()=>P,WindowGetSize:()=>D,WindowHide:()=>b,WindowMaximise:()=>k,WindowMinimise:()=>H,WindowReload:()=>M,WindowSetDarkTheme:()=>h,WindowSetLightTheme:()=>T,WindowSetMaxSize:()=>R,WindowSetMinSize:()=>B,WindowSetPosition:()=>F,WindowSetRGBA:()=>Q,WindowSetSize:()=>G,WindowSetSystemDefaultTheme:()=>E,WindowSetTitle:()=>O,WindowShow:()=>y,WindowToggleMaximise:()=>A,WindowUnfullscreen:()=>U,WindowUnmaximise:()=>C,WindowUnminimise:()=>I});function M(){window.runtime.WindowReload()}function E(){window.runtime.WindowSetSystemDefaultTheme()}function T(){window.runtime.WindowSetLightTheme()}function h(){window.runtime.WindowSetDarkTheme()}function v(){window.runtime.WindowCenter()}function O(n){window.runtime.WindowSetTitle(n)}function z(){window.runtime.WindowFullscreen()}function U(){window.runtime.WindowUnfullscreen()}function D(){window.runtime.WindowGetSize()}function G(n,i){window.runtime.WindowSetSize(n,i)}function R(n,i){window.runtime.WindowSetMaxSize(n,i)}function B(n,i){window.runtime.WindowSetMinSize(n,i)}function F(n,i){window.runtime.WindowSetPosition(n,i)}function P(){window.runtime.WindowGetPosition()}function b(){window.runtime.WindowHide()}function y(){window.runtime.WindowShow()}function k(){window.runtime.WindowMaximise()}function A(){window.runtime.WindowToggleMaximise()}function C(){window.runtime.WindowUnmaximise()}function H(){window.runtime.WindowMinimise()}function I(){window.runtime.WindowUnminimise()}function Q(n){window.runtime.WindowSetRGBA(n)}var u={};e(u,{BrowserOpenURL:()=>j});function j(n){window.runtime.BrowserOpenURL(n)}function q(){window.runtime.Quit()}var K={...t,...w,...r,...u,Quit:q};})(); diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js new file mode 100644 index 00000000..a01ec785 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/wailsjs/runtime/runtimedev.js @@ -0,0 +1,491 @@ +(() => { + var __defProp = Object.defineProperty; + var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); + var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, {get: all[name], enumerable: true}); + }; + + // desktop/log.js + var log_exports = {}; + __export(log_exports, { + LogDebug: () => LogDebug, + LogError: () => LogError, + LogFatal: () => LogFatal, + LogInfo: () => LogInfo, + LogLevel: () => LogLevel, + LogPrint: () => LogPrint, + LogTrace: () => LogTrace, + LogWarning: () => LogWarning, + SetLogLevel: () => SetLogLevel + }); + + function sendLogMessage(level, message) { + window.WailsInvoke("L" + level + message); + } + + function LogTrace(message) { + sendLogMessage("T", message); + } + + function LogPrint(message) { + sendLogMessage("P", message); + } + + function LogDebug(message) { + sendLogMessage("D", message); + } + + function LogInfo(message) { + sendLogMessage("I", message); + } + + function LogWarning(message) { + sendLogMessage("W", message); + } + + function LogError(message) { + sendLogMessage("E", message); + } + + function LogFatal(message) { + sendLogMessage("F", message); + } + + function SetLogLevel(loglevel) { + sendLogMessage("S", loglevel); + } + + var LogLevel = { + TRACE: 1, + DEBUG: 2, + INFO: 3, + WARNING: 4, + ERROR: 5 + }; + + // desktop/events.js + var Listener = class { + constructor(callback, maxCallbacks) { + maxCallbacks = maxCallbacks || -1; + this.Callback = (data) => { + callback.apply(null, data); + if (maxCallbacks === -1) { + return false; + } + maxCallbacks -= 1; + return maxCallbacks === 0; + }; + } + }; + var eventListeners = {}; + + function EventsOnMultiple(eventName, callback, maxCallbacks) { + eventListeners[eventName] = eventListeners[eventName] || []; + const thisListener = new Listener(callback, maxCallbacks); + eventListeners[eventName].push(thisListener); + } + + function EventsOn(eventName, callback) { + EventsOnMultiple(eventName, callback, -1); + } + + function EventsOnce(eventName, callback) { + EventsOnMultiple(eventName, callback, 1); + } + + function notifyListeners(eventData) { + let eventName = eventData.name; + if (eventListeners[eventName]) { + const newEventListenerList = eventListeners[eventName].slice(); + for (let count = 0; count < eventListeners[eventName].length; count += 1) { + const listener = eventListeners[eventName][count]; + let data = eventData.data; + const destroy = listener.Callback(data); + if (destroy) { + newEventListenerList.splice(count, 1); + } + } + eventListeners[eventName] = newEventListenerList; + } + } + + function EventsNotify(notifyMessage) { + let message; + try { + message = JSON.parse(notifyMessage); + } catch (e) { + const error = "Invalid JSON passed to Notify: " + notifyMessage; + throw new Error(error); + } + notifyListeners(message); + } + + function EventsEmit(eventName) { + const payload = { + name: eventName, + data: [].slice.apply(arguments).slice(1) + }; + notifyListeners(payload); + window.WailsInvoke("EE" + JSON.stringify(payload)); + } + + function EventsOff(eventName) { + delete eventListeners[eventName]; + window.WailsInvoke("EX" + eventName); + } + + // desktop/calls.js + var callbacks = {}; + + function cryptoRandom() { + var array = new Uint32Array(1); + return window.crypto.getRandomValues(array)[0]; + } + + function basicRandom() { + return Math.random() * 9007199254740991; + } + + var randomFunc; + if (window.crypto) { + randomFunc = cryptoRandom; + } else { + randomFunc = basicRandom; + } + + function Call(name, args, timeout) { + if (timeout == null) { + timeout = 0; + } + return new Promise(function (resolve, reject) { + var callbackID; + do { + callbackID = name + "-" + randomFunc(); + } while (callbacks[callbackID]); + var timeoutHandle; + if (timeout > 0) { + timeoutHandle = setTimeout(function () { + reject(Error("Call to " + name + " timed out. Request ID: " + callbackID)); + }, timeout); + } + callbacks[callbackID] = { + timeoutHandle, + reject, + resolve + }; + try { + const payload = { + name, + args, + callbackID + }; + window.WailsInvoke("C" + JSON.stringify(payload)); + } catch (e) { + console.error(e); + } + }); + } + + function Callback(incomingMessage) { + let message; + try { + message = JSON.parse(incomingMessage); + } catch (e) { + const error = `Invalid JSON passed to callback: ${e.message}. Message: ${incomingMessage}`; + runtime.LogDebug(error); + throw new Error(error); + } + let callbackID = message.callbackid; + let callbackData = callbacks[callbackID]; + if (!callbackData) { + const error = `Callback '${callbackID}' not registered!!!`; + console.error(error); + throw new Error(error); + } + clearTimeout(callbackData.timeoutHandle); + delete callbacks[callbackID]; + if (message.error) { + callbackData.reject(message.error); + } else { + callbackData.resolve(message.result); + } + } + + // desktop/bindings.js + window.go = {}; + + function SetBindings(bindingsMap) { + try { + bindingsMap = JSON.parse(bindingsMap); + } catch (e) { + console.error(e); + } + window.go = window.go || {}; + Object.keys(bindingsMap).forEach((packageName) => { + window.go[packageName] = window.go[packageName] || {}; + Object.keys(bindingsMap[packageName]).forEach((structName) => { + window.go[packageName][structName] = window.go[packageName][structName] || {}; + Object.keys(bindingsMap[packageName][structName]).forEach((methodName) => { + window.go[packageName][structName][methodName] = function () { + let timeout = 0; + + function dynamic() { + const args = [].slice.call(arguments); + return Call([packageName, structName, methodName].join("."), args, timeout); + } + + dynamic.setTimeout = function (newTimeout) { + timeout = newTimeout; + }; + dynamic.getTimeout = function () { + return timeout; + }; + return dynamic; + }(); + }); + }); + }); + } + + // desktop/window.js + var window_exports = {}; + __export(window_exports, { + WindowCenter: () => WindowCenter, + WindowFullscreen: () => WindowFullscreen, + WindowGetPosition: () => WindowGetPosition, + WindowGetSize: () => WindowGetSize, + WindowHide: () => WindowHide, + WindowMaximise: () => WindowMaximise, + WindowMinimise: () => WindowMinimise, + WindowReload: () => WindowReload, + WindowSetDarkTheme: () => WindowSetDarkTheme, + WindowSetLightTheme: () => WindowSetLightTheme, + WindowSetMaxSize: () => WindowSetMaxSize, + WindowSetMinSize: () => WindowSetMinSize, + WindowSetPosition: () => WindowSetPosition, + WindowSetRGBA: () => WindowSetRGBA, + WindowSetSize: () => WindowSetSize, + WindowSetSystemDefaultTheme: () => WindowSetSystemDefaultTheme, + WindowSetTitle: () => WindowSetTitle, + WindowShow: () => WindowShow, + WindowToggleMaximise: () => WindowToggleMaximise, + WindowUnfullscreen: () => WindowUnfullscreen, + WindowUnmaximise: () => WindowUnmaximise, + WindowUnminimise: () => WindowUnminimise + }); + + function WindowReload() { + window.location.reload(); + } + + function WindowSetSystemDefaultTheme() { + window.WailsInvoke("WASDT"); + } + + function WindowSetLightTheme() { + window.WailsInvoke("WALT"); + } + + function WindowSetDarkTheme() { + window.WailsInvoke("WADT"); + } + + function WindowCenter() { + window.WailsInvoke("Wc"); + } + + function WindowSetTitle(title) { + window.WailsInvoke("WT" + title); + } + + function WindowFullscreen() { + window.WailsInvoke("WF"); + } + + function WindowUnfullscreen() { + window.WailsInvoke("Wf"); + } + + function WindowSetSize(width, height) { + window.WailsInvoke("Ws:" + width + ":" + height); + } + + function WindowGetSize() { + return Call(":wails:WindowGetSize"); + } + + function WindowSetMaxSize(width, height) { + window.WailsInvoke("WZ:" + width + ":" + height); + } + + function WindowSetMinSize(width, height) { + window.WailsInvoke("Wz:" + width + ":" + height); + } + + function WindowSetPosition(x, y) { + window.WailsInvoke("Wp:" + x + ":" + y); + } + + function WindowGetPosition() { + return Call(":wails:WindowGetPos"); + } + + function WindowHide() { + window.WailsInvoke("WH"); + } + + function WindowShow() { + window.WailsInvoke("WS"); + } + + function WindowMaximise() { + window.WailsInvoke("WM"); + } + + function WindowToggleMaximise() { + window.WailsInvoke("Wt"); + } + + function WindowUnmaximise() { + window.WailsInvoke("WU"); + } + + function WindowMinimise() { + window.WailsInvoke("Wm"); + } + + function WindowUnminimise() { + window.WailsInvoke("Wu"); + } + + function WindowSetRGBA(R, G, B, A) { + let rgba = JSON.stringify({r: R || 0, g: G || 0, b: B || 0, a: A || 255}); + window.WailsInvoke("Wr:" + rgba); + } + + // desktop/browser.js + var browser_exports = {}; + __export(browser_exports, { + BrowserOpenURL: () => BrowserOpenURL + }); + + function BrowserOpenURL(url) { + window.WailsInvoke("BO:" + url); + } + + // desktop/main.js + function Quit() { + window.WailsInvoke("Q"); + } + + window.runtime = { + ...log_exports, + ...window_exports, + ...browser_exports, + EventsOn, + EventsOnce, + EventsOnMultiple, + EventsEmit, + EventsOff, + Quit + }; + window.wails = { + Callback, + EventsNotify, + SetBindings, + eventListeners, + callbacks, + flags: { + disableScrollbarDrag: false, + disableWailsDefaultContextMenu: false, + enableResize: false, + defaultCursor: null, + borderThickness: 6, + dbClickInterval: 100 + } + }; + window.wails.SetBindings(window.wailsbindings); + delete window.wails.SetBindings; + if (true) { + delete window.wailsbindings; + } + var dragTimeOut; + var dragLastTime = 0; + window.addEventListener("mousedown", (e) => { + if (window.wails.flags.resizeEdge) { + window.WailsInvoke("resize:" + window.wails.flags.resizeEdge); + e.preventDefault(); + return; + } + let currentElement = e.target; + while (currentElement != null) { + if (currentElement.hasAttribute("data-wails-no-drag")) { + break; + } else if (currentElement.hasAttribute("data-wails-drag")) { + if (window.wails.flags.disableScrollbarDrag) { + if (e.offsetX > e.target.clientWidth || e.offsetY > e.target.clientHeight) { + break; + } + } + if (new Date().getTime() - dragLastTime < window.wails.flags.dbClickInterval) { + clearTimeout(dragTimeOut); + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, window.wails.flags.dbClickInterval); + dragLastTime = new Date().getTime(); + e.preventDefault(); + break; + } + currentElement = currentElement.parentElement; + } + }); + + function setResize(cursor) { + document.body.style.cursor = cursor || window.wails.flags.defaultCursor; + window.wails.flags.resizeEdge = cursor; + } + + window.addEventListener("mousemove", function (e) { + if (!window.wails.flags.enableResize) { + return; + } + if (window.wails.flags.defaultCursor == null) { + window.wails.flags.defaultCursor = document.body.style.cursor; + } + if (window.outerWidth - e.clientX < window.wails.flags.borderThickness && window.outerHeight - e.clientY < window.wails.flags.borderThickness) { + document.body.style.cursor = "se-resize"; + } + let rightBorder = window.outerWidth - e.clientX < window.wails.flags.borderThickness; + let leftBorder = e.clientX < window.wails.flags.borderThickness; + let topBorder = e.clientY < window.wails.flags.borderThickness; + let bottomBorder = window.outerHeight - e.clientY < window.wails.flags.borderThickness; + if (!leftBorder && !rightBorder && !topBorder && !bottomBorder && window.wails.flags.resizeEdge !== void 0) { + setResize(); + } else if (rightBorder && bottomBorder) + setResize("se-resize"); + else if (leftBorder && bottomBorder) + setResize("sw-resize"); + else if (leftBorder && topBorder) + setResize("nw-resize"); + else if (topBorder && rightBorder) + setResize("ne-resize"); + else if (leftBorder) + setResize("w-resize"); + else if (topBorder) + setResize("n-resize"); + else if (bottomBorder) + setResize("s-resize"); + else if (rightBorder) + setResize("e-resize"); + }); + window.addEventListener("contextmenu", function (e) { + if (window.wails.flags.disableWailsDefaultContextMenu) { + e.preventDefault(); + } + }); +})(); +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGVza3RvcC9sb2cuanMiLCAiZGVza3RvcC9ldmVudHMuanMiLCAiZGVza3RvcC9jYWxscy5qcyIsICJkZXNrdG9wL2JpbmRpbmdzLmpzIiwgImRlc2t0b3Avd2luZG93LmpzIiwgImRlc2t0b3AvYnJvd3Nlci5qcyIsICJkZXNrdG9wL21haW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbi8qKlxuICogU2VuZHMgYSBsb2cgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB3aXRoIHRoZSBnaXZlbiBsZXZlbCArIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbGV2ZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIHNlbmRMb2dNZXNzYWdlKGxldmVsLCBtZXNzYWdlKSB7XG5cblx0Ly8gTG9nIE1lc3NhZ2UgZm9ybWF0OlxuXHQvLyBsW3R5cGVdW21lc3NhZ2VdXG5cdHdpbmRvdy5XYWlsc0ludm9rZSgnTCcgKyBsZXZlbCArIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gdHJhY2UgbWVzc2FnZSB3aXRoIHRoZSBiYWNrZW5kXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvZ1RyYWNlKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1QnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dQcmludChtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdQJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBkZWJ1ZyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRGVidWcobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRCcsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIExvZyB0aGUgZ2l2ZW4gaW5mbyBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nSW5mbyhtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdJJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiB3YXJuaW5nIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dXYXJuaW5nKG1lc3NhZ2UpIHtcblx0c2VuZExvZ01lc3NhZ2UoJ1cnLCBtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBMb2cgdGhlIGdpdmVuIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgYmFja2VuZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dFcnJvcihtZXNzYWdlKSB7XG5cdHNlbmRMb2dNZXNzYWdlKCdFJywgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogTG9nIHRoZSBnaXZlbiBmYXRhbCBtZXNzYWdlIHdpdGggdGhlIGJhY2tlbmRcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gTG9nRmF0YWwobWVzc2FnZSkge1xuXHRzZW5kTG9nTWVzc2FnZSgnRicsIG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIExvZyBsZXZlbCB0byB0aGUgZ2l2ZW4gbG9nIGxldmVsXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGxvZ2xldmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRMb2dMZXZlbChsb2dsZXZlbCkge1xuXHRzZW5kTG9nTWVzc2FnZSgnUycsIGxvZ2xldmVsKTtcbn1cblxuLy8gTG9nIGxldmVsc1xuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuXHRUUkFDRTogMSxcblx0REVCVUc6IDIsXG5cdElORk86IDMsXG5cdFdBUk5JTkc6IDQsXG5cdEVSUk9SOiA1LFxufTtcbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fXG58IHwgICAgIC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDYgKi9cblxuLy8gRGVmaW5lcyBhIHNpbmdsZSBsaXN0ZW5lciB3aXRoIGEgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gY2FsbGJhY2tcblxuLyoqXG4gKiBUaGUgTGlzdGVuZXIgY2xhc3MgZGVmaW5lcyBhIGxpc3RlbmVyISA6LSlcbiAqXG4gKiBAY2xhc3MgTGlzdGVuZXJcbiAqL1xuY2xhc3MgTGlzdGVuZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGlzdGVuZXIuXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Q2FsbGJhY2tzXG4gICAgICogQG1lbWJlcm9mIExpc3RlbmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xuICAgICAgICAvLyBEZWZhdWx0IG9mIC0xIG1lYW5zIGluZmluaXRlXG4gICAgICAgIG1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcbiAgICAgICAgLy8gQ2FsbGJhY2sgaW52b2tlcyB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsaXN0ZW5lciBzaG91bGQgYmUgZGVzdHJveWVkXG4gICAgICAgIHRoaXMuQ2FsbGJhY2sgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgZGF0YSk7XG4gICAgICAgICAgICAvLyBJZiBtYXhDYWxsYmFja3MgaXMgaW5maW5pdGUsIHJldHVybiBmYWxzZSAoZG8gbm90IGRlc3Ryb3kpXG4gICAgICAgICAgICBpZiAobWF4Q2FsbGJhY2tzID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlbWVudCBtYXhDYWxsYmFja3MuIFJldHVybiB0cnVlIGlmIG5vdyAwLCBvdGhlcndpc2UgZmFsc2VcbiAgICAgICAgICAgIG1heENhbGxiYWNrcyAtPSAxO1xuICAgICAgICAgICAgcmV0dXJuIG1heENhbGxiYWNrcyA9PT0gMDtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBldmVudExpc3RlbmVycyA9IHt9O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBgbWF4Q2FsbGJhY2tzYCB0aW1lcyBiZWZvcmUgYmVpbmcgZGVzdHJveWVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhDYWxsYmFja3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uTXVsdGlwbGUoZXZlbnROYW1lLCBjYWxsYmFjaywgbWF4Q2FsbGJhY2tzKSB7XG4gICAgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpO1xuICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaCh0aGlzTGlzdGVuZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgYmUgaW52b2tlZCBldmVyeSB0aW1lIHRoZSBldmVudCBpcyBlbWl0dGVkXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV2ZW50c09uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3aWxsIGJlIGludm9rZWQgb25jZSB0aGVuIGRlc3Ryb3llZFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNPbmNlKGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBFdmVudHNPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIDEpO1xufVxuXG5mdW5jdGlvbiBub3RpZnlMaXN0ZW5lcnMoZXZlbnREYXRhKSB7XG5cbiAgICAvLyBHZXQgdGhlIGV2ZW50IG5hbWVcbiAgICBsZXQgZXZlbnROYW1lID0gZXZlbnREYXRhLm5hbWU7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFueSBsaXN0ZW5lcnMgZm9yIHRoaXMgZXZlbnRcbiAgICBpZiAoZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuXG4gICAgICAgIC8vIEtlZXAgYSBsaXN0IG9mIGxpc3RlbmVyIGluZGV4ZXMgdG8gZGVzdHJveVxuICAgICAgICBjb25zdCBuZXdFdmVudExpc3RlbmVyTGlzdCA9IGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0uc2xpY2UoKTtcblxuICAgICAgICAvLyBJdGVyYXRlIGxpc3RlbmVyc1xuICAgICAgICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5sZW5ndGg7IGNvdW50ICs9IDEpIHtcblxuICAgICAgICAgICAgLy8gR2V0IG5leHQgbGlzdGVuZXJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXVtjb3VudF07XG5cbiAgICAgICAgICAgIGxldCBkYXRhID0gZXZlbnREYXRhLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIERvIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgY29uc3QgZGVzdHJveSA9IGxpc3RlbmVyLkNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbGlzdGVuZXIgaW5kaWNhdGVkIHRvIGRlc3Ryb3kgaXRzZWxmLCBhZGQgaXQgdG8gdGhlIGRlc3Ryb3kgbGlzdFxuICAgICAgICAgICAgICAgIG5ld0V2ZW50TGlzdGVuZXJMaXN0LnNwbGljZShjb3VudCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGRhdGUgY2FsbGJhY2tzIHdpdGggbmV3IGxpc3Qgb2YgbGlzdGVuZXJzXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBuZXdFdmVudExpc3RlbmVyTGlzdDtcbiAgICB9XG59XG5cbi8qKlxuICogTm90aWZ5IGluZm9ybXMgZnJvbnRlbmQgbGlzdGVuZXJzIHRoYXQgYW4gZXZlbnQgd2FzIGVtaXR0ZWQgd2l0aCB0aGUgZ2l2ZW4gZGF0YVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBub3RpZnlNZXNzYWdlIC0gZW5jb2RlZCBub3RpZmljYXRpb24gbWVzc2FnZVxuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNOb3RpZnkobm90aWZ5TWVzc2FnZSkge1xuICAgIC8vIFBhcnNlIHRoZSBtZXNzYWdlXG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgdHJ5IHtcbiAgICAgICAgbWVzc2FnZSA9IEpTT04ucGFyc2Uobm90aWZ5TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9ICdJbnZhbGlkIEpTT04gcGFzc2VkIHRvIE5vdGlmeTogJyArIG5vdGlmeU1lc3NhZ2U7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgfVxuICAgIG5vdGlmeUxpc3RlbmVycyhtZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBFbWl0IGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRhdGFcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFdmVudHNFbWl0KGV2ZW50TmFtZSkge1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICBkYXRhOiBbXS5zbGljZS5hcHBseShhcmd1bWVudHMpLnNsaWNlKDEpLFxuICAgIH07XG5cbiAgICAvLyBOb3RpZnkgSlMgbGlzdGVuZXJzXG4gICAgbm90aWZ5TGlzdGVuZXJzKHBheWxvYWQpO1xuXG4gICAgLy8gTm90aWZ5IEdvIGxpc3RlbmVyc1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnRUUnICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXZlbnRzT2ZmKGV2ZW50TmFtZSkge1xuICAgIC8vIFJlbW92ZSBsb2NhbCBsaXN0ZW5lcnNcbiAgICBkZWxldGUgZXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXTtcblxuICAgIC8vIE5vdGlmeSBHbyBsaXN0ZW5lcnNcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ0VYJyArIGV2ZW50TmFtZSk7XG59IiwgIi8qXG4gXyAgICAgICBfXyAgICAgIF8gX19cbnwgfCAgICAgLyAvX19fIF8oXykgL19fX19cbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XG4qL1xuLyoganNoaW50IGVzdmVyc2lvbjogNiAqL1xuXG5leHBvcnQgY29uc3QgY2FsbGJhY2tzID0ge307XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSBuYXRpdmUgYnJvd3NlciByYW5kb20gZnVuY3Rpb25cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gY3J5cHRvUmFuZG9tKCkge1xuXHR2YXIgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoMSk7XG5cdHJldHVybiB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSlbMF07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIG51bWJlciB1c2luZyBkYSBvbGQtc2tvb2wgTWF0aC5SYW5kb21cbiAqIEkgbGlrZXMgdG8gY2FsbCBpdCBMT0xSYW5kb21cbiAqXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZnVuY3Rpb24gYmFzaWNSYW5kb20oKSB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpICogOTAwNzE5OTI1NDc0MDk5MTtcbn1cblxuLy8gUGljayBhIHJhbmRvbSBudW1iZXIgZnVuY3Rpb24gYmFzZWQgb24gYnJvd3NlciBjYXBhYmlsaXR5XG52YXIgcmFuZG9tRnVuYztcbmlmICh3aW5kb3cuY3J5cHRvKSB7XG5cdHJhbmRvbUZ1bmMgPSBjcnlwdG9SYW5kb207XG59IGVsc2Uge1xuXHRyYW5kb21GdW5jID0gYmFzaWNSYW5kb207XG59XG5cblxuLyoqXG4gKiBDYWxsIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgYmFja2VuZCB0byBjYWxsIHRoZSBiaW5kaW5nIHdpdGggdGhlXG4gKiBnaXZlbiBkYXRhLiBBIHByb21pc2UgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgY29tcGxldGVkIHdoZW4gdGhlXG4gKiBiYWNrZW5kIHJlc3BvbmRzLiBUaGlzIHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bFxuICogb3IgcmVqZWN0ZWQgaWYgYW4gZXJyb3IgaXMgcGFzc2VkIGJhY2suXG4gKiBUaGVyZSBpcyBhIHRpbWVvdXQgbWVjaGFuaXNtLiBJZiB0aGUgY2FsbCBkb2Vzbid0IHJlc3BvbmQgaW4gdGhlIGdpdmVuXG4gKiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZW4gdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7YW55PX0gYXJnc1xuICogQHBhcmFtIHtudW1iZXI9fSB0aW1lb3V0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbChuYW1lLCBhcmdzLCB0aW1lb3V0KSB7XG5cblx0Ly8gVGltZW91dCBpbmZpbml0ZSBieSBkZWZhdWx0XG5cdGlmICh0aW1lb3V0ID09IG51bGwpIHtcblx0XHR0aW1lb3V0ID0gMDtcblx0fVxuXG5cdC8vIENyZWF0ZSBhIHByb21pc2Vcblx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuXHRcdC8vIENyZWF0ZSBhIHVuaXF1ZSBjYWxsYmFja0lEXG5cdFx0dmFyIGNhbGxiYWNrSUQ7XG5cdFx0ZG8ge1xuXHRcdFx0Y2FsbGJhY2tJRCA9IG5hbWUgKyAnLScgKyByYW5kb21GdW5jKCk7XG5cdFx0fSB3aGlsZSAoY2FsbGJhY2tzW2NhbGxiYWNrSURdKTtcblxuXHRcdHZhciB0aW1lb3V0SGFuZGxlO1xuXHRcdC8vIFNldCB0aW1lb3V0XG5cdFx0aWYgKHRpbWVvdXQgPiAwKSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJlamVjdChFcnJvcignQ2FsbCB0byAnICsgbmFtZSArICcgdGltZWQgb3V0LiBSZXF1ZXN0IElEOiAnICsgY2FsbGJhY2tJRCkpO1xuXHRcdFx0fSwgdGltZW91dCk7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgY2FsbGJhY2tcblx0XHRjYWxsYmFja3NbY2FsbGJhY2tJRF0gPSB7XG5cdFx0XHR0aW1lb3V0SGFuZGxlOiB0aW1lb3V0SGFuZGxlLFxuXHRcdFx0cmVqZWN0OiByZWplY3QsXG5cdFx0XHRyZXNvbHZlOiByZXNvbHZlXG5cdFx0fTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBwYXlsb2FkID0ge1xuXHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRjYWxsYmFja0lELFxuXHRcdFx0fTtcblxuXHRcdFx0Ly8gTWFrZSB0aGUgY2FsbFxuXHRcdFx0d2luZG93LldhaWxzSW52b2tlKCdDJyArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0fVxuXHR9KTtcbn1cblxuXG5cbi8qKlxuICogQ2FsbGVkIGJ5IHRoZSBiYWNrZW5kIHRvIHJldHVybiBkYXRhIHRvIGEgcHJldmlvdXNseSBjYWxsZWRcbiAqIGJpbmRpbmcgaW52b2NhdGlvblxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbmNvbWluZ01lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGxiYWNrKGluY29taW5nTWVzc2FnZSkge1xuXHQvLyBQYXJzZSB0aGUgbWVzc2FnZVxuXHRsZXQgbWVzc2FnZTtcblx0dHJ5IHtcblx0XHRtZXNzYWdlID0gSlNPTi5wYXJzZShpbmNvbWluZ01lc3NhZ2UpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgSW52YWxpZCBKU09OIHBhc3NlZCB0byBjYWxsYmFjazogJHtlLm1lc3NhZ2V9LiBNZXNzYWdlOiAke2luY29taW5nTWVzc2FnZX1gO1xuXHRcdHJ1bnRpbWUuTG9nRGVidWcoZXJyb3IpO1xuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0bGV0IGNhbGxiYWNrSUQgPSBtZXNzYWdlLmNhbGxiYWNraWQ7XG5cdGxldCBjYWxsYmFja0RhdGEgPSBjYWxsYmFja3NbY2FsbGJhY2tJRF07XG5cdGlmICghY2FsbGJhY2tEYXRhKSB7XG5cdFx0Y29uc3QgZXJyb3IgPSBgQ2FsbGJhY2sgJyR7Y2FsbGJhY2tJRH0nIG5vdCByZWdpc3RlcmVkISEhYDtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXHRcdHRocm93IG5ldyBFcnJvcihlcnJvcik7XG5cdH1cblx0Y2xlYXJUaW1lb3V0KGNhbGxiYWNrRGF0YS50aW1lb3V0SGFuZGxlKTtcblxuXHRkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSURdO1xuXG5cdGlmIChtZXNzYWdlLmVycm9yKSB7XG5cdFx0Y2FsbGJhY2tEYXRhLnJlamVjdChtZXNzYWdlLmVycm9yKTtcblx0fSBlbHNlIHtcblx0XHRjYWxsYmFja0RhdGEucmVzb2x2ZShtZXNzYWdlLnJlc3VsdCk7XG5cdH1cbn1cbiIsICIvKlxuIF8gICAgICAgX18gICAgICBfIF9fICAgIFxufCB8ICAgICAvIC9fX18gXyhfKSAvX19fX1xufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApIFxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vICBcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcbiovXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA2ICovXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSAnLi9jYWxscyc7XG5cbi8vIFRoaXMgaXMgd2hlcmUgd2UgYmluZCBnbyBtZXRob2Qgd3JhcHBlcnNcbndpbmRvdy5nbyA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gU2V0QmluZGluZ3MoYmluZGluZ3NNYXApIHtcblx0dHJ5IHtcblx0XHRiaW5kaW5nc01hcCA9IEpTT04ucGFyc2UoYmluZGluZ3NNYXApO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihlKTtcblx0fVxuXG5cdC8vIEluaXRpYWxpc2UgdGhlIGJpbmRpbmdzIG1hcFxuXHR3aW5kb3cuZ28gPSB3aW5kb3cuZ28gfHwge307XG5cblx0Ly8gSXRlcmF0ZSBwYWNrYWdlIG5hbWVzXG5cdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwKS5mb3JFYWNoKChwYWNrYWdlTmFtZSkgPT4ge1xuXG5cdFx0Ly8gQ3JlYXRlIGlubmVyIG1hcCBpZiBpdCBkb2Vzbid0IGV4aXN0XG5cdFx0d2luZG93LmdvW3BhY2thZ2VOYW1lXSA9IHdpbmRvdy5nb1twYWNrYWdlTmFtZV0gfHwge307XG5cblx0XHQvLyBJdGVyYXRlIHN0cnVjdCBuYW1lc1xuXHRcdE9iamVjdC5rZXlzKGJpbmRpbmdzTWFwW3BhY2thZ2VOYW1lXSkuZm9yRWFjaCgoc3RydWN0TmFtZSkgPT4ge1xuXG5cdFx0XHQvLyBDcmVhdGUgaW5uZXIgbWFwIGlmIGl0IGRvZXNuJ3QgZXhpc3Rcblx0XHRcdHdpbmRvdy5nb1twYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0gPSB3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdIHx8IHt9O1xuXG5cdFx0XHRPYmplY3Qua2V5cyhiaW5kaW5nc01hcFtwYWNrYWdlTmFtZV1bc3RydWN0TmFtZV0pLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcblxuXHRcdFx0XHR3aW5kb3cuZ29bcGFja2FnZU5hbWVdW3N0cnVjdE5hbWVdW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRcdFx0Ly8gTm8gdGltZW91dCBieSBkZWZhdWx0XG5cdFx0XHRcdFx0bGV0IHRpbWVvdXQgPSAwO1xuXG5cdFx0XHRcdFx0Ly8gQWN0dWFsIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZnVuY3Rpb24gZHluYW1pYygpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2FsbChbcGFja2FnZU5hbWUsIHN0cnVjdE5hbWUsIG1ldGhvZE5hbWVdLmpvaW4oJy4nKSwgYXJncywgdGltZW91dCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gQWxsb3cgc2V0dGluZyB0aW1lb3V0IHRvIGZ1bmN0aW9uXG5cdFx0XHRcdFx0ZHluYW1pYy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24gKG5ld1RpbWVvdXQpIHtcblx0XHRcdFx0XHRcdHRpbWVvdXQgPSBuZXdUaW1lb3V0O1xuXHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHQvLyBBbGxvdyBnZXR0aW5nIHRpbWVvdXQgdG8gZnVuY3Rpb25cblx0XHRcdFx0XHRkeW5hbWljLmdldFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGltZW91dDtcblx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0cmV0dXJuIGR5bmFtaWM7XG5cdFx0XHRcdH0oKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcbn1cbiIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cblxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xuXG5cbmltcG9ydCB7Q2FsbH0gZnJvbSBcIi4vY2FsbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1JlbG9hZCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTeXN0ZW1EZWZhdWx0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FTRFQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldExpZ2h0VGhlbWUoKSB7XG4gIHdpbmRvdy5XYWlsc0ludm9rZSgnV0FMVCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0RGFya1RoZW1lKCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dBRFQnKTtcbn1cblxuLyoqXG4gKiBQbGFjZSB0aGUgd2luZG93IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0NlbnRlcigpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1djJyk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgd2luZG93IHRpdGxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRUaXRsZSh0aXRsZSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV1QnICsgdGl0bGUpO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSB3aW5kb3cgZ28gZnVsbHNjcmVlblxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0Z1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXRicpO1xufVxuXG4vKipcbiAqIFJldmVydHMgdGhlIHdpbmRvdyBmcm9tIGZ1bGxzY3JlZW5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dVbmZ1bGxzY3JlZW4oKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXZicpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dzOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBTaXplIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt3OiBudW1iZXIsIGg6IG51bWJlcn0+fSBUaGUgc2l6ZSBvZiB0aGUgd2luZG93XG5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0dldFNpemUoKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0U2l6ZVwiKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dTZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1daOicgKyB3aWR0aCArICc6JyArIGhlaWdodCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0TWluU2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXejonICsgd2lkdGggKyAnOicgKyBoZWlnaHQpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgUG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB4XG4gKiBAcGFyYW0ge251bWJlcn0geVxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93U2V0UG9zaXRpb24oeCwgeSkge1xuICAgIHdpbmRvdy5XYWlsc0ludm9rZSgnV3A6JyArIHggKyAnOicgKyB5KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHt4OiBudW1iZXIsIHk6IG51bWJlcn0+fSBUaGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93R2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIENhbGwoXCI6d2FpbHM6V2luZG93R2V0UG9zXCIpO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd0hpZGUoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXSCcpO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1Nob3coKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXUycpO1xufVxuXG4vKipcbiAqIE1heGltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNYXhpbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dNJyk7XG59XG5cbi8qKlxuICogVG9nZ2xlIHRoZSBNYXhpbWlzZSBvZiB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VG9nZ2xlTWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXdCcpO1xufVxuXG4vKipcbiAqIFVubWF4aW1pc2UgdGhlIFdpbmRvd1xuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1VubWF4aW1pc2UoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdXVScpO1xufVxuXG4vKipcbiAqIE1pbmltaXNlIHRoZSBXaW5kb3dcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXaW5kb3dNaW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dtJyk7XG59XG5cbi8qKlxuICogVW5taW5pbWlzZSB0aGUgV2luZG93XG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gV2luZG93VW5taW5pbWlzZSgpIHtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1d1Jyk7XG59XG5cblxuLyoqXG4gKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgd2luZG93XG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IFIgUmVkXG4gKiBAcGFyYW0ge251bWJlcn0gRyBHcmVlblxuICogQHBhcmFtIHtudW1iZXJ9IEIgQmx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IEEgQWxwaGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFdpbmRvd1NldFJHQkEoUiwgRywgQiwgQSkge1xuICAgIGxldCByZ2JhID0gSlNPTi5zdHJpbmdpZnkoe3I6UiB8fCAwLCBnOkcgfHwgMCwgYjpCIHx8IDAsIGE6QSB8fCAyNTV9KTtcbiAgICB3aW5kb3cuV2FpbHNJbnZva2UoJ1dyOicgKyByZ2JhKTtcbn1cblxuIiwgIi8qKlxuICogQGRlc2NyaXB0aW9uOiBVc2UgdGhlIHN5c3RlbSBkZWZhdWx0IGJyb3dzZXIgdG8gb3BlbiB0aGUgdXJsXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEJyb3dzZXJPcGVuVVJMKHVybCkge1xuICB3aW5kb3cuV2FpbHNJbnZva2UoJ0JPOicgKyB1cmwpO1xufSIsICIvKlxuIF9cdCAgIF9fXHQgIF8gX19cbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxuKi9cbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cbmltcG9ydCAqIGFzIExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQge2V2ZW50TGlzdGVuZXJzLCBFdmVudHNFbWl0LCBFdmVudHNOb3RpZnksIEV2ZW50c09mZiwgRXZlbnRzT24sIEV2ZW50c09uY2UsIEV2ZW50c09uTXVsdGlwbGV9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7Q2FsbGJhY2ssIGNhbGxiYWNrc30gZnJvbSAnLi9jYWxscyc7XG5pbXBvcnQge1NldEJpbmRpbmdzfSBmcm9tIFwiLi9iaW5kaW5nc1wiO1xuaW1wb3J0ICogYXMgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xuaW1wb3J0ICogYXMgQnJvd3NlciBmcm9tIFwiLi9icm93c2VyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XG4gICAgd2luZG93LldhaWxzSW52b2tlKCdRJyk7XG59XG5cbi8vIFRoZSBKUyBydW50aW1lXG53aW5kb3cucnVudGltZSA9IHtcbiAgICAuLi5Mb2csXG4gICAgLi4uV2luZG93LFxuICAgIC4uLkJyb3dzZXIsXG4gICAgRXZlbnRzT24sXG4gICAgRXZlbnRzT25jZSxcbiAgICBFdmVudHNPbk11bHRpcGxlLFxuICAgIEV2ZW50c0VtaXQsXG4gICAgRXZlbnRzT2ZmLFxuICAgIFF1aXRcbn07XG5cbi8vIEludGVybmFsIHdhaWxzIGVuZHBvaW50c1xud2luZG93LndhaWxzID0ge1xuICAgIENhbGxiYWNrLFxuICAgIEV2ZW50c05vdGlmeSxcbiAgICBTZXRCaW5kaW5ncyxcbiAgICBldmVudExpc3RlbmVycyxcbiAgICBjYWxsYmFja3MsXG4gICAgZmxhZ3M6IHtcbiAgICAgICAgZGlzYWJsZVNjcm9sbGJhckRyYWc6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnU6IGZhbHNlLFxuICAgICAgICBlbmFibGVSZXNpemU6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0Q3Vyc29yOiBudWxsLFxuICAgICAgICBib3JkZXJUaGlja25lc3M6IDYsXG4gICAgICAgIGRiQ2xpY2tJbnRlcnZhbDogMTAwLFxuICAgIH1cbn07XG5cbi8vIFNldCB0aGUgYmluZGluZ3NcbndpbmRvdy53YWlscy5TZXRCaW5kaW5ncyh3aW5kb3cud2FpbHNiaW5kaW5ncyk7XG5kZWxldGUgd2luZG93LndhaWxzLlNldEJpbmRpbmdzO1xuXG4vLyBUaGlzIGlzIGV2YWx1YXRlZCBhdCBidWlsZCB0aW1lIGluIHBhY2thZ2UuanNvblxuLy8gY29uc3QgZGV2ID0gMDtcbi8vIGNvbnN0IHByb2R1Y3Rpb24gPSAxO1xuaWYgKEVOViA9PT0gMCkge1xuICAgIGRlbGV0ZSB3aW5kb3cud2FpbHNiaW5kaW5ncztcbn1cblxudmFyIGRyYWdUaW1lT3V0O1xudmFyIGRyYWdMYXN0VGltZSA9IDA7XG5cbi8vIFNldHVwIGRyYWcgaGFuZGxlclxuLy8gQmFzZWQgb24gY29kZSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcGF0cjBudXMvRGVza0dhcFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVzaXppbmdcbiAgICBpZiAod2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpIHtcbiAgICAgICAgd2luZG93LldhaWxzSW52b2tlKFwicmVzaXplOlwiICsgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgZHJhZ2dpbmdcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlLnRhcmdldDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLW5vLWRyYWcnKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXdhaWxzLWRyYWcnKSkge1xuICAgICAgICAgICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlU2Nyb2xsYmFyRHJhZykge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcbiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGRyYWdMYXN0VGltZSA8IHdpbmRvdy53YWlscy5mbGFncy5kYkNsaWNrSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZHJhZ1RpbWVPdXQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnVGltZU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5XYWlsc0ludm9rZShcImRyYWdcIik7XG4gICAgICAgICAgICB9LCB3aW5kb3cud2FpbHMuZmxhZ3MuZGJDbGlja0ludGVydmFsKVxuICAgICAgICAgICAgZHJhZ0xhc3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxufSk7XG5cbmZ1bmN0aW9uIHNldFJlc2l6ZShjdXJzb3IpIHtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IGN1cnNvciB8fCB3aW5kb3cud2FpbHMuZmxhZ3MuZGVmYXVsdEN1cnNvcjtcbiAgICB3aW5kb3cud2FpbHMuZmxhZ3MucmVzaXplRWRnZSA9IGN1cnNvcjtcbn1cblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCF3aW5kb3cud2FpbHMuZmxhZ3MuZW5hYmxlUmVzaXplKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kZWZhdWx0Q3Vyc29yID09IG51bGwpIHtcbiAgICAgICAgd2luZG93LndhaWxzLmZsYWdzLmRlZmF1bHRDdXJzb3IgPSBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vdXRlcldpZHRoIC0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcyAmJiB3aW5kb3cub3V0ZXJIZWlnaHQgLSBlLmNsaWVudFkgPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gXCJzZS1yZXNpemVcIjtcbiAgICB9XG4gICAgbGV0IHJpZ2h0Qm9yZGVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCB3aW5kb3cud2FpbHMuZmxhZ3MuYm9yZGVyVGhpY2tuZXNzO1xuICAgIGxldCBsZWZ0Qm9yZGVyID0gZS5jbGllbnRYIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgdG9wQm9yZGVyID0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgd2luZG93LndhaWxzLmZsYWdzLmJvcmRlclRoaWNrbmVzcztcblxuICAgIC8vIElmIHdlIGFyZW4ndCBvbiBhbiBlZGdlLCBidXQgd2VyZSwgcmVzZXQgdGhlIGN1cnNvciB0byBkZWZhdWx0XG4gICAgaWYgKCFsZWZ0Qm9yZGVyICYmICFyaWdodEJvcmRlciAmJiAhdG9wQm9yZGVyICYmICFib3R0b21Cb3JkZXIgJiYgd2luZG93LndhaWxzLmZsYWdzLnJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRSZXNpemUoKTtcbiAgICB9IGVsc2UgaWYgKHJpZ2h0Qm9yZGVyICYmIGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwic2UtcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGxlZnRCb3JkZXIgJiYgYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzdy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAobGVmdEJvcmRlciAmJiB0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIgJiYgcmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcIm5lLXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmIChsZWZ0Qm9yZGVyKSBzZXRSZXNpemUoXCJ3LXJlc2l6ZVwiKTtcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xuICAgIGVsc2UgaWYgKGJvdHRvbUJvcmRlcikgc2V0UmVzaXplKFwicy1yZXNpemVcIik7XG4gICAgZWxzZSBpZiAocmlnaHRCb3JkZXIpIHNldFJlc2l6ZShcImUtcmVzaXplXCIpO1xuXG59KTtcblxuLy8gU2V0dXAgY29udGV4dCBtZW51IGhvb2tcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKHdpbmRvdy53YWlscy5mbGFncy5kaXNhYmxlV2FpbHNEZWZhdWx0Q29udGV4dE1lbnUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsMEJBQXdCLE9BQU8sU0FBUztBQUl2QyxXQUFPLFlBQVksTUFBTSxRQUFRO0FBQUE7QUFTM0Isb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsbUJBQWlCLFNBQVM7QUFDaEMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsc0JBQW9CLFNBQVM7QUFDbkMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2Qsb0JBQWtCLFNBQVM7QUFDakMsbUJBQWUsS0FBSztBQUFBO0FBU2QsdUJBQXFCLFVBQVU7QUFDckMs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 diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl new file mode 100644 index 00000000..52759e11 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/go.mod.tmpl @@ -0,0 +1,7 @@ +module changeme + +go 1.17 + +require github.com/wailsapp/wails/v2 {{.WailsVersion}} + +// replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go new file mode 100644 index 00000000..abf01197 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/main.tmpl.go @@ -0,0 +1,30 @@ +package main + +import ( + "embed" + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" +) + +//go:embed frontend/dist +var assets embed.FS + +func main() { + // Create an instance of the app structure + app := NewApp() + + // Create application with options + err := wails.Run(&options.App{ + Title: "{{.ProjectName}}", + Width: 1024, + Height: 768, + Assets: assets, + Bind: []interface{}{ + app, + }, + }) + + if err != nil { + println("Error:", err) + } +} diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json new file mode 100644 index 00000000..c2529e35 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/template.json @@ -0,0 +1,7 @@ +{ + "name": "Vue + Vite", + "shortname": "vue", + "author": "Lea Anthony", + "description": "Vue + Vite development server", + "helpurl": "https://wails.io" +} \ No newline at end of file diff --git a/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json new file mode 100644 index 00000000..95918763 --- /dev/null +++ b/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/wails.tmpl.json @@ -0,0 +1,12 @@ +{ + "name": "{{.ProjectName}}", + "outputfilename": "{{.BinaryName}}", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:serverUrl": "http://localhost:3000", + "author": { + "name": "{{.AuthorName}}", + "email": "{{.AuthorEmail}}" + } +} diff --git a/v2/go.mod b/v2/go.mod index 1870ed24..5e3f0c2a 100644 --- a/v2/go.mod +++ b/v2/go.mod @@ -38,12 +38,14 @@ require ( golang.org/x/tools v0.1.0 ) +require github.com/bitfield/script v0.19.0 + require ( + bitbucket.org/creachadair/shell v0.0.7 // indirect github.com/Microsoft/go-winio v0.4.16 // indirect github.com/emirpasic/gods v1.12.0 // indirect github.com/go-git/gcfg v1.5.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/google/go-cmp v0.5.5 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect github.com/kr/pretty v0.3.0 // indirect diff --git a/v2/go.sum b/v2/go.sum index 00bb0a24..14ea3269 100644 --- a/v2/go.sum +++ b/v2/go.sum @@ -1,3 +1,5 @@ +bitbucket.org/creachadair/shell v0.0.7 h1:Z96pB6DkSb7F3Y3BBnJeOZH2gazyMTWlvecSD4vDqfk= +bitbucket.org/creachadair/shell v0.0.7/go.mod h1:oqtXSSvSYr4624lnnabXHaBsYW6RD80caLi2b3hJk0U= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= @@ -9,6 +11,8 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/bitfield/script v0.19.0 h1:W24f+FQuPab9gXcW8bhcbo5qO8AtrXyu3XOnR4zhHN0= +github.com/bitfield/script v0.19.0/go.mod h1:ana6F8YOSZ3ImT8SauIzuYSqXgFVkSUJ6kgja+WMmIY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -37,8 +41,9 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= diff --git a/v2/internal/frontend/desktop/windows/window.go b/v2/internal/frontend/desktop/windows/window.go index afbd84b5..21170bfe 100644 --- a/v2/internal/frontend/desktop/windows/window.go +++ b/v2/internal/frontend/desktop/windows/window.go @@ -146,12 +146,14 @@ func (w *Window) WndProc(msg uint32, wparam, lparam uintptr) uintptr { w.notifyParentWindowPositionChanged() } case w32.WM_ACTIVATE: + //if !w.frontendOptions.Frameless { if int(wparam) == w32.WA_INACTIVE { w.isActive = false w.updateTheme() } else { w.isActive = true w.updateTheme() + //} } // TODO move WM_DPICHANGED handling into winc diff --git a/v2/pkg/commands/build/base.go b/v2/pkg/commands/build/base.go index bd85e1c3..3b5c5bcd 100644 --- a/v2/pkg/commands/build/base.go +++ b/v2/pkg/commands/build/base.go @@ -153,7 +153,7 @@ func (b *BaseBuilder) CompileProject(options *Options) error { verbose := options.Verbosity == VERBOSE // Run go mod tidy first if !options.SkipModTidy { - cmd := exec.Command(options.Compiler, "mod", "tidy") + cmd := exec.Command(options.Compiler, "mod", "tidy", "-compat=1.17") cmd.Stderr = os.Stderr if verbose { println("") diff --git a/website/docs/gettingstarted/development.mdx b/website/docs/gettingstarted/development.mdx index 6cbe1939..323e90ba 100644 --- a/website/docs/gettingstarted/development.mdx +++ b/website/docs/gettingstarted/development.mdx @@ -7,8 +7,9 @@ sidebar_position: 5 You can run your application in development mode by running `wails dev` from your project directory. This will do the following things: - Build your application and run it - - Watch for modifications in your Go files and rebuild/re-run on change - - Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console. + - Bind your Go code to the frontend so it can be called from Javascript + - Using the power of [vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change + - Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console To get started, run `wails dev` in the project directory. More information on this can be found [here](../reference/cli.mdx#dev). diff --git a/website/docs/gettingstarted/firstproject.mdx b/website/docs/gettingstarted/firstproject.mdx index bfe3ff1d..beaf1365 100644 --- a/website/docs/gettingstarted/firstproject.mdx +++ b/website/docs/gettingstarted/firstproject.mdx @@ -8,10 +8,81 @@ sidebar_position: 2 Now that the CLI is installed, you can generate a new project by using the `wails init` command. -To get up and running quickly, you can generate a default project by running `wails init -n myproject`. This will -create a directory called `myproject` and populate it with the default template. +Pick your favourite framework: + + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + Generate a Svelte project using Javascript with:
+ + wails init -n myproject -t svelte + + If you would rather use Typescript: + + wails init -n myproject -t svelte-ts +
+ + Generate a React project using Javascript with:
+ + wails init -n myproject -t react + + If you would rather use Typescript: + + wails init -n myproject -t react-ts +
+ + Generate a Vue project using Javascript with:
+ + wails init -n myproject -t vue + + If you would rather use Typescript: + + wails init -n myproject -t vue-ts +
+ + Generate a Preact project using Javascript with:
+ + wails init -n myproject -t preact + + If you would rather use Typescript: + + wails init -n myproject -t preact-ts +
+ + Generate a Lit project using Javascript with:
+ + wails init -n myproject -t lit + + If you would rather use Typescript: + + wails init -n myproject -t lit-ts +
+ + Generate a Vanilla project using Javascript with:
+ + wails init -n myproject -t vanilla + + If you would rather use Typescript: + + wails init -n myproject -t vanilla-ts +
+
+ +
-Other project templates are available and can be listed using `wails init -l`. There are also [community templates](../community/templates.mdx) available that offer different capabilities and frameworks. To see the other options available, you can run `wails init -help`. diff --git a/website/docs/introduction.mdx b/website/docs/introduction.mdx index 7663f46a..846b21e1 100644 --- a/website/docs/introduction.mdx +++ b/website/docs/introduction.mdx @@ -21,6 +21,12 @@ gives it that 'frosty' effect of a native app.

+## Quick Start Templates + +Wails comes with a number of pre-configured templates that allow you to get your application up and running quickly. +There are templates for the following frameworks: Svelte, React, Vue, Preact, Lit and Vanilla. There are both Javascript +and Typescript versions for each template. + ## Native Elements Wails uses a purpose built library for handling native elements such as Window, Menus, Dialogs, etc, so you can build diff --git a/website/static/img/wails-logo-horizontal-dark.svg b/website/static/img/wails-logo-horizontal-dark.svg index be664800..b46160f3 100644 --- a/website/static/img/wails-logo-horizontal-dark.svg +++ b/website/static/img/wails-logo-horizontal-dark.svg @@ -31,50 +31,41 @@ style="fill:url(#_Linear2);fill-rule:nonzero;"/>
- - - - + style="fill:url(#_Linear4);fill-rule:nonzero;"/> - + + + + - - - - + + gradientTransform="matrix(1,-3.46945e-18,3.46945e-18,1,0,-3.05761e-06)"> + gradientTransform="matrix(1,0,0,1,0,-2.75467e-06)"> + gradientTransform="matrix(1,-1.11022e-16,1.11022e-16,1,0,-2.61861e-06)"> + gradientTransform="matrix(-0.801899,-0.59746,0.59746,-0.801899,1.3495,0.447457)"> + gradientTransform="matrix(1,-2.77556e-17,2.77556e-17,1,0,-1.92826e-06)"> - - - - + gradientTransform="matrix(1,0,0,1,0,9.68429e-07)"> diff --git a/website/static/img/wails-logo-horizontal.svg b/website/static/img/wails-logo-horizontal.svg index 15ee9748..f007e95f 100644 --- a/website/static/img/wails-logo-horizontal.svg +++ b/website/static/img/wails-logo-horizontal.svg @@ -30,50 +30,41 @@ style="fill:url(#_Linear2);fill-rule:nonzero;"/> - - - - + style="fill:url(#_Linear4);fill-rule:nonzero;"/> - + + + + - - - - + + gradientTransform="matrix(1,-3.46945e-18,3.46945e-18,1,0,-3.05761e-06)"> + gradientTransform="matrix(1,0,0,1,0,-2.75467e-06)"> + gradientTransform="matrix(1,-1.11022e-16,1.11022e-16,1,0,-2.61861e-06)"> + gradientTransform="matrix(-0.801899,-0.59746,0.59746,-0.801899,1.3495,0.447457)"> + gradientTransform="matrix(1,-2.77556e-17,2.77556e-17,1,0,-1.92826e-06)"> - - - - + gradientTransform="matrix(1,0,0,1,0,9.68429e-07)"> diff --git a/website/static/img/wails-logo-textless.svg b/website/static/img/wails-logo-textless.svg index 5b2a8c5a..ae6bbf18 100644 --- a/website/static/img/wails-logo-textless.svg +++ b/website/static/img/wails-logo-textless.svg @@ -11,50 +11,41 @@ style="fill:url(#_Linear2);fill-rule:nonzero;"/> - - - - + style="fill:url(#_Linear4);fill-rule:nonzero;"/> - + - + - - + + + gradientTransform="matrix(1,-3.46945e-18,3.46945e-18,1,0,-3.05761e-06)"> + gradientTransform="matrix(1,0,0,1,0,-2.75467e-06)"> + gradientTransform="matrix(1,-1.11022e-16,1.11022e-16,1,0,-2.61861e-06)"> + gradientTransform="matrix(-0.801899,-0.59746,0.59746,-0.801899,1.3495,0.447457)"> + gradientTransform="matrix(1,-2.77556e-17,2.77556e-17,1,0,-1.92826e-06)"> - - - - + gradientTransform="matrix(1,0,0,1,0,9.68429e-07)">