From af923e6648a06078a340202327b55906b10e1e33 Mon Sep 17 00:00:00 2001 From: Daan Wijns Date: Sun, 18 Oct 2020 12:12:16 +0200 Subject: [PATCH] 0.4.0 (#47) --- README.md | 51 +-- package-lock.json | 109 +++--- package.json | 18 +- precompile-release.sh | 2 +- public/favicon.ico | Bin 22382 -> 93062 bytes public/img/icons/android-chrome-192x192.png | Bin 40146 -> 8575 bytes public/img/icons/apple-touch-icon.png | Bin 29643 -> 8576 bytes public/img/icons/favicon-16x16.png | Bin 1437 -> 2604 bytes public/img/icons/favicon-32x32.png | Bin 2912 -> 3150 bytes public/img/icons/favicon.ico | Bin 15086 -> 93062 bytes public/img/icons/mstile-150x150.png | Bin 22230 -> 7484 bytes src/App.vue | 4 +- src/assets/styles.scss | 41 +-- src/components/Modals/AddModal.vue | 40 ++- src/components/Modals/ChangeLocationModal.vue | 88 +++++ .../Modals/SettingsModal/SettingsModal.vue | 2 +- .../Modals/SettingsModal/Tabs/VueTorrent.vue | 44 +++ src/components/Modals/SortModal.vue | 6 +- .../CreateCategoryDialog.vue | 5 +- .../TorrentDetailModal/Tabs/Content.vue | 94 ++++- .../Modals/TorrentDetailModal/Tabs/Info.vue | 53 +-- .../TorrentDetailModal/TorrentDetailModal.vue | 2 +- src/components/Navbar/Navbar.vue | 2 +- src/components/Navbar/TopActions.vue | 1 + src/components/Torrent.vue | 333 ++++++------------ .../Torrent/TorrentRightClickMenu.vue | 11 +- src/components/TorrentDense.vue | 135 +++++++ src/helpers.js | 5 +- src/mixins/Torrent.js | 42 +++ src/mixins/index.js | 3 +- src/models/torrent.js | 101 ++++-- src/plugins/vuetify.js | 7 +- src/services/qbit.js | 11 + src/store/index.js | 8 +- src/store/mutations.js | 8 +- src/styles/variables.scss | 21 ++ src/views/Dashboard.vue | 66 +++- vue.config.js | 8 + 38 files changed, 915 insertions(+), 406 deletions(-) create mode 100644 src/components/Modals/ChangeLocationModal.vue create mode 100644 src/components/TorrentDense.vue create mode 100644 src/mixins/Torrent.js create mode 100644 src/styles/variables.scss diff --git a/README.md b/README.md index dbf530d0..57044de2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # VueTorrent -The sleekest looking WEBUI for qBittorrent made with Vuejs! +The sleekest looking WEBUI for qBittorrent made with Vuejs! Forked from [WDaan/VueTorrent](https://github.com/WDaan/VueTorrent) > Vue, qBitorrent, Vuetify @@ -8,29 +8,38 @@ The sleekest looking WEBUI for qBittorrent made with Vuejs!

-Desktop Screenshot +Desktop Screenshot

| | | | | :------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | -| screen shot 2017-08-07 at 12 18 15 pm | screen shot 2017-08-07 at 12 18 15 pm | screen shot 2017-08-07 at 12 18 15 pm | +| screen shot 2017-08-07 at 12 18 15 pm | screen shot 2017-08-07 at 12 18 15 pm | screen shot 2017-08-07 at 12 18 15 pm | +| screen shot 2017-015 pm | screen shot 2017-08-07 at 12 18 15 pm | screen shot 2017-08-07 at 12 18 15 pm |

-Mobile +Mobile

## Installation -- Visit the releases page! +- ### manual -- Download the latest release.zip + - Visit the releases page! -- Unzip this folder + - Download the latest release.zip -- Point your Alternate WEBUI location to the 'vuetorrent' folder + - Unzip this folder + + - Point your Alternate WEBUI location to the 'vuetorrent' folder + +- ### 'automatic' + + - head over to the 'latest_release' branch + - clone it + - pull every once in a while ## Development @@ -44,11 +53,15 @@ The sleekest looking WEBUI for qBittorrent made with Vuejs! - viewing sessions status ( down / upload speed, session uploaded / downloaded ) -- adding / removing / pausing / resuming torrents +- adding / removing / pausing / resuming / renaming torrents + +- selectively downloading torrents + +- choosing / renaming torrent files - filtering powered by Fuse.js! -- mobile friendly! (maybe not for thousands of torrents...) +- mobile friendly! (can be installed as a PWA) - torrent info / trackers / peers / content @@ -62,26 +75,18 @@ The sleekest looking WEBUI for qBittorrent made with Vuejs! ## Contributing -I'll gladly accept help/pull requests & advice! (this is my first project of this nature, pls be kind 😛 ). - -## FAQ - -- **Why build this??** - -* Why not? Most WebUI's look very dated and now it's no longer necessary to search for a remote control app! +I'll gladly accept help/pull requests & advice! ## Support -Reach out to me at one of the following places! - -- `Facebook Messenger` - * Open up an issue 😛 [drawing](https://www.buymeacoffee.com/wdaan 'Buy me a coffee') ## Credits -- Dashboard design heavily inspired by: '[Net Ninja - Vuetify](https://github.com/iamshaunjp/vuetify-playlist)'. +- Dashboard design heavily inspired by: '[Net Ninja - Vuetify](https://github.com/iamshaunjp/vuetify-playlist)'. -* This repo '[CzBiX qb-web ](https://github.com/CzBiX/qb-web)' +- This repo '[CzBiX qb-web ](https://github.com/CzBiX/qb-web)' + +- Muertocaloh's [fork](https://github.com/muertocaloh/VueTorrent) diff --git a/package-lock.json b/package-lock.json index e717bf2a..44e0c36d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "vuetorrent", - "version": "0.3.7", + "version": "0.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -845,9 +845,9 @@ } }, "@babel/polyfill": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.11.5.tgz", - "integrity": "sha512-FunXnE0Sgpd61pKSj2OSOs1D44rKTD3pGOfGilZ6LGrrIH0QEtJlTjqOqdF8Bs98JmjfGhni2BBkTfv9KcKJ9g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", "requires": { "core-js": "^2.6.5", "regenerator-runtime": "^0.13.4" @@ -1414,20 +1414,20 @@ } }, "@vue/cli-plugin-pwa": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.6.tgz", - "integrity": "sha512-jMTBo9oR3mkwcqFbtgbKgfuYLZoivDoH5KEwqOkzqamuapOUazAbmlrad0XSF92MKcF8XxWrdZjsEsD/TshDPw==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.7.tgz", + "integrity": "sha512-mOaEgoLCT2yE8Pdvlz8LhXKqIs3w4xJjDr2dLrOrxh0+OhSpOHJdJ3yHswlgvkxgg0/FGS6t8haj0DfInQ+fYg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.5.6", + "@vue/cli-shared-utils": "^4.5.7", "webpack": "^4.0.0", "workbox-webpack-plugin": "^4.3.1" }, "dependencies": { "@vue/cli-shared-utils": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.6.tgz", - "integrity": "sha512-p6ePDlEa7Xc0GEt99KDOCwPZtR7UnoEaZLMfwPYU5LAWkdCmtAw8HPAY/WWcjtoiaAkY4k9tz7ZehQasZ9mJxg==", + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.7.tgz", + "integrity": "sha512-oicFfx9PvgupxN/LW0s2ktdn1U6bBu8J4lPcW2xj6TtTWUkkxwzis4Tm+XOvgvZnu44+d7216y0Y4TX90q645w==", "dev": true, "requires": { "@hapi/joi": "^15.0.1", @@ -2123,9 +2123,9 @@ } }, "apexcharts": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.21.0.tgz", - "integrity": "sha512-yeulUZCTG57swbJ5oIJIjgfRdIsvmC/2WJanrZxNGhjtZf2B9NaT95pEtbrml1BILJKtMn4VbpXVZp+8Tzmydg==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.22.0.tgz", + "integrity": "sha512-DDh2eXnAEA8GoKU/hdicOaS2jzGehXwv8Bj1djYYudkeQzEdglFoWsVyIxff+Ds7+aUtVAJzd/9ythZuyyIbXQ==", "requires": { "svg.draggable.js": "^2.2.2", "svg.easing.js": "^2.0.0", @@ -2584,6 +2584,16 @@ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -3128,9 +3138,9 @@ "dev": true }, "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, "requires": { "anymatch": "~3.1.1", @@ -3140,7 +3150,7 @@ "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.5.0" }, "dependencies": { "braces": { @@ -3167,6 +3177,15 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4084,9 +4103,9 @@ } }, "dayjs": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.9.1.tgz", - "integrity": "sha512-01NCTBg8cuMJG1OQc6PR7T66+AFYiPwgDvdJmvJBn29NGzIG+DIFxPLNjHzwz3cpFIvG+NcwIjP9hSaPVoOaDg==" + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.9.3.tgz", + "integrity": "sha512-V+1SyIvkS+HmNbN1G7A9+ERbFTV9KTXu6Oor98v2xHmzzpp52OIJhQuJSTywWuBY5pyAEmlwbCi1Me87n/SLOw==" }, "de-indent": { "version": "1.0.2", @@ -5503,6 +5522,13 @@ "schema-utils": "^2.5.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -7867,9 +7893,9 @@ } }, "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-gyp": { @@ -9655,6 +9681,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, + "optional": true, "requires": { "picomatch": "^2.2.1" } @@ -10092,9 +10119,9 @@ "dev": true }, "sass": { - "version": "1.26.11", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.11.tgz", - "integrity": "sha512-W1l/+vjGjIamsJ6OnTe0K37U2DBO/dgsv2Z4c89XQ8ZOO6l/VwkqwLSqoYzJeJs6CLuGSTRWc91GbQFL3lvrvw==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.27.0.tgz", + "integrity": "sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" @@ -10303,12 +10330,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", "dev": true, "requires": { - "node-forge": "0.9.0" + "node-forge": "^0.10.0" } }, "semver": { @@ -11911,9 +11938,9 @@ "dev": true }, "uuid": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz", - "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==" + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" }, "v8-compile-cache": { "version": "2.1.1", @@ -12063,9 +12090,9 @@ "integrity": "sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q==" }, "vue-router": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.5.tgz", - "integrity": "sha512-ioRY5QyDpXM9TDjOX6hX79gtaMXSVDDzSlbIlyAmbHNteIL81WIVB2e+jbzV23vzxtoV0krdS2XHm+GxFg+Nxg==" + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.7.tgz", + "integrity": "sha512-CbHXue5BLrDivOk5O4eZ0WT4Yj8XwdXa4kCnsEIOzYUPF/07ZukayA2jGxDCJxLc9SgVQX9QX0OuGOwGlVB4Qg==" }, "vue-style-loader": { "version": "4.1.2", @@ -12117,9 +12144,9 @@ } }, "vuetify": { - "version": "2.3.12", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.12.tgz", - "integrity": "sha512-FSt1pzpf0/Lh0xuctAPB7RiLbUl7bzVc7ejbXLLhfmgm7zD7yabuhVYuyVda/SzokjZMGS3j1lNu2lLfdrz0oQ==" + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.14.tgz", + "integrity": "sha512-1Ys1MreJQOL/Ddp3YotBi1SlC2+1A0/RVkDXX3Azspt8incPdAnNB0JyChHiJ/TM+L+KSA7T4EXF9YDrCWENmg==" }, "vuex": { "version": "3.5.1", @@ -12283,6 +12310,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, @@ -12591,6 +12619,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, diff --git a/package.json b/package.json index 1bdbf784..2cc34cd5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vuetorrent", - "version": "0.3.7", + "version": "0.4.0", "private": true, "scripts": { "serve": "vue-cli-service serve", @@ -8,30 +8,30 @@ "lint": "vue-cli-service lint" }, "dependencies": { - "@babel/polyfill": "^7.11.5", - "apexcharts": "^3.21.0", + "@babel/polyfill": "^7.12.1", + "apexcharts": "^3.22.0", "axios": "^0.19.2", "core-js": "^3.6.4", - "dayjs": "^1.9.1", + "dayjs": "^1.9.3", "fuse.js": "^6.4.1", "lodash": "^4.17.20", "register-service-worker": "^1.7.1", - "uuid": "^8.3.0", + "uuid": "^8.3.1", "vue": "^2.6.12", "vue-apexcharts": "^1.6.0", "vue-context": "^5.2.0", "vue-observe-visibility": "^0.4.6", - "vue-router": "^3.4.5", + "vue-router": "^3.4.7", "vue-toastification": "^1.7.8", "vue2-perfect-scrollbar": "^1.5.0", - "vuetify": "^2.3.12", + "vuetify": "^2.3.14", "vuex": "^3.5.1", "vuex-persist": "^3.1.3" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.3.0", "@vue/cli-plugin-eslint": "~4.3.0", - "@vue/cli-plugin-pwa": "^4.5.6", + "@vue/cli-plugin-pwa": "^4.5.7", "@vue/cli-service": "~4.3.0", "@vue/eslint-config-prettier": "^6.0.0", "babel-eslint": "^10.1.0", @@ -40,7 +40,7 @@ "eslint-plugin-vue": "^6.2.2", "fibers": "^5.0.0", "node-sass": "^4.14.1", - "sass": "^1.26.11", + "sass": "^1.27.0", "sass-loader": "^8.0.2", "vue-cli-plugin-vuetify": "^2.0.7", "vue-template-compiler": "^2.6.12" diff --git a/precompile-release.sh b/precompile-release.sh index e0fc65d5..8e66bfa7 100755 --- a/precompile-release.sh +++ b/precompile-release.sh @@ -4,7 +4,7 @@ build_and_copy(){ npm run build VERSION=$(jq -r .version package.json) mkdir ../vuetorrent-release - git clone git@github.com:WDaan/VueTorrent.git ../vuetorrent-release + git clone https://github.com/wdaan/VueTorrent.git ../vuetorrent-release cd ../vuetorrent-release git checkout latest-release git pull diff --git a/public/favicon.ico b/public/favicon.ico index 897ad7d9f995402bbd8cba85525fc5af0a5d38f0..11b4baf17d8f10f1fd5c920a7e6369d4dae40eb8 100644 GIT binary patch literal 93062 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 literal 22382 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 E--8OfasU7T diff --git a/public/img/icons/android-chrome-192x192.png b/public/img/icons/android-chrome-192x192.png index dda892d0865a17f78d1ad8ef9985f395a9af7dde..815af5c205b8f33ab369043cd3b1721bb840a1f3 100644 GIT binary patch literal 8575 zcmch7cU)6lv+hm+=~6{0N~9M3$%5~z$AfNh%Qi>_T93#3#<@dbG<}FVlZvncf;tCmy`j0 z_DwGK8irX$$S-ESVD$aYcOXUjrhA}LLknrOO*m@iq!kaLz$r!Il#Pvz6sq8xc)k?v zMV_?0?>y4}-$iFmp7?fB^j=;8@L6M+{@6|S$VcpbfXk~M{3AHfLKCr}#4b=D@94zt z$dGu|#_AXW4(H|iF5Gcn_-*5OLrPfKG@C|8URoG7>^Ke0p;g5FjI%W16bwysy%Ny) z-gKWAt$3A69HWQcWp4mr<~sU-fQ+nD0B|hN+3FJclCcpQMK0Dh6`i zA58@y63AGHKhe$I8||+m^gAw^dVF*lCItCigzTy!^hf?K8Jj^gNnQkqf{Y>*Cnv7} zK`P0}DI(;Rl+HomvT`VxED9!vfXXSN-uIONZl5Y?I&{utwPA z8V2+8^ONyI$dJ68VAR@Bg2}>Ra5$7I0rd`WCu9Ag?%u+GA!rf2abC_IWM`5)-)v46~zm@;8gU9_X=i%e!_B%~@9E{*b zAX4$XsWHj@9gxR$5}D+Eo%CNo|2_OW5l057Y@xMCIG-aZeXYOpk0;@r@#w#$(MTK| z33o&&K^;*j1tT*OUkdxob!TS^2;8O}(6{C5(0Zcdw3c@KhWnB}EMl zl#V)5QBF}#PFq18C9jRr(U4P=SCUhNYoUI}Kx=vtuw;^#6^Z2bSKXTZ#S27J6Cz=Z z#W}kl@g(_g3Ir`InV=#Bmxaqh<*083D>(!jE{m2|l$M2~Wo7>mH74PmuLb-kQMeph zP8O|z`aeXeGYF3*WBqLNgxH}0!{>8o~$&KViHB9vmaWoD7 z%o@SV*_VLV@gfl+zt=I^`5%~9R8UlxgCmuYib`-QV+bWVloCoyNmfG#rKv5CR22GC zmzwdvYv3=o|J0?j{a@(9{&q&s*_+CEz@M|+lHmF0k()CWpE^y@SlrQ!RT1*WQhh!$ zdUWxh97bMqltm~Y6rc*%;EqrvR$d9Jghe5sD0u?4hT!rzMFsd@`hM35RLFnJ*#Dh| zKg@WOu95w)UIcX~YLWkAMNm7J5=7#nvpb&T=S?k&KlE_dvF=U;Y7>PC9YuQ7ZT{!+ z{P#-#4}<@^@xYD(`Xg1aKT7IfS^RzM-&!p-{NFE8`}fh|-wOxz!NJ{IqS2JAcHe=em-NKxPITgzNkL2Z?rw}mA&zKmus1nPq`W1 zI~QP1oVd{cU3=gjaS_fvlc+gaB46~8@wRavCB7ENKeT!iL}Sbr`5Qpbcb&%AjR)5; zzdy3fc(qaIuI}1W$FOQh>r^jtd1QI?SK#tU)$k1B{WkY4qevIsfq%@T5aZ9doOMYh6u?|t&I3%er zHt}o5o!qeiC7ytnFBJcQsW|}meHBfVe&2mQdyF0&Uw)Vr7X9V^?C5c>kukzgr%(6K zg+619e-0nSG2#Rq$f=C)o@5M5mLHF@R@~P3I2V+YuK^m=(`jQ$KU>4~AgRa!F>qWl z0*bX9uugfIv>XmJ7CA=D39lE+tv(?sv}{$~U&v+RVo1$g;M9Fjt7D`P#*td!aIm*? z9osBD7d$cDqz3n#H-&3hw=Edi<6o$O1`A7W5*e;E6}Vkd>SD{@+Ta>@jrgLq0j~LK zyw_e);IOJO#b)%~`hN8VC!PG&!uB`V_n{GKpKUqpM#h<6avp2bDpS{Ko9o(nQd+ck z&@MLcDv^rEelFc7JbS$K^%;8AACv2>RQ7Yf07<tl`M}}ZHNcg82E{t(ymjBxDobzkS%wbRpCo4fDbcD zWQA9Ig$%qGJckIFE;k~Z(hnV1&)wtKTQ;c24iJq)O zDIJYB+njx#oTJSw_4M;bWQNNK7@l}8F_z%{jK9qIQOPj(en~n}%%gusx4*U902oI% zc`DID&TD{HbKJSE$|gi9S|Rb2bBXQFL0XDoL?PA7(}M=1Jx=Kxi`^o?iceF+ts5ZPce*!>)D0h; zWR54htuXNJDfb;hYhNw7JdC|;o_+O^$#Z_V8c!N4*bS7~s93^5Utg9bSihH+{e9j^ z7?6!zsn5$XBioCIcBNnHT%}k(etc3*?W)SmXp_S2Y(qtmnfT{@KLM^c?)&XLC5&#( zigy*(1IBjCNF}tdZ?0IH8!fHf2wSOcIRlzZb&uA#B*1UEp_;S%bu}mTcDxKsNilxCvCQ>l_Yg7hGlv~u;2OQFMVT!={?PH`%i>j@t5-L{_cx_w zkO7uXTaj1zU}t{A+sfOe}$L_*Zu$&d;Mj-*E+ z?AK4x&hhMOurfE?sy2HvzZJE_%*S(opu1*JtSRg8!hB8rnkXP^YICmfZGS`Icb*>m zOH00>>k(C^5-+_r$9_Atf76WlcJD=zQ&0iiRW+aCsA~V#C(V9KUzFS$D-)5M*+}-W zGZLVBjRDv^U0p?(Szvhkhtew|SC2=^o(R}qzvz55`=rgtH)bda(rV0Z#`7Vs?Ae_| zChoMF)4PeqIo`7v-@HuX*^Zs9%h|@KK)Y;Rwb17$2S(g;mC;5^-&{z<@m=R723fwM zN$zB1(KX!b{2!AMUAx0K0}cz~%oXR-$tD63{pYHvzT@>?u)c38sdJw-OZpl3DVZ$AUy?-N2^0RK6 zXG2?G*6=Mh&nMz~5zo3sE9^U@Utr?Px(lUuib78alEaQXv^xc|tHR9j%YcE!$s1vs zwgua*(sd)brv#PV&X!ME)`cTJBfmtK5N@#2z1;SbC~3$qwb1sz0v|L;PP&Pt4t>**Kl;$rA+ri0B98zT?g|4UTerEM?05>C5-XQa`85`;RDN<5d#P{QYl~r#|*Q%ye3<}5|8H?&TWk?D2MwUoNwGi1%2D0=Rn;S=+}+NI|g#=|}g7lKBD)qkYcB z16vOg*s@_DkG649^Eh1Kv((*ylkdmG<}>t{cv^R7I-94(UapfKN64)@av*#vGx~T8M;y1e+AzD_ zsKu-@6iphvOH(#qgtFar8*PMF$L%}aHV_s(Z!e|0paP6`TYuD2^nQZ$BzNmHe zc~kVqoY2R4%>y~^&XOkMu6>*nHL*g#CL{60XXb_LQ;&*PDqFbUrT)a6ev&!uctXsH z{5g=0wIWi`-4n&Ne)`}ZqF_$t{5-jw|A$l@nMZ8IbG%0L>aFCW{+V~|K$~c-(DRe1 z9%siuWn(+SZ6wrY(pU6E^rfF4oEBl1UafcuxKA`A;%dWXwvUHSh0Dm$*#E{srhB07 zS34{EVk5L=H^Y<Sw#KR!f_d{ zq1=t=J9-y`Iyl;6r}I&lv-Pr#a99--$2+i2YyjCxeh1imQ z8?Y9{vKzk)zSE7=MD`rnW~}`*sWgvsWCT8OnB4jR-Mv&Lc`)b#m#^@6lkXlF)|D%uGB?$Cn zeXvMrr)2tp38rEXz<4`eiSA;1poXM7JsKi7YjkNmaJ$cf-#`SAjas>4{zjY4clD~G zVD@@iHET>=P7i$mVrEa6(rtn`pJG*N;$^r<)iSVl?;f+s{+Z7NqGZR^xY0QGmzqk% zgrBy|vU~Hc`9bdmp5xJ&fo08Vib-O>z(qdBp*gog*p9_*;9@Kq6Km&S9~~>W1m`C6 zh2EQ@ybjHb0C@Kpg7n2#HEj!pu|>bmS} zemt4JU0PAdk431iJQy=2fB{0TO-gkC{cYUH`HxA65Hu;-qx$FE&jl|Ec+9iUIGzlm zveaaAST?cQjb{f2q@^GQp;O(%E=*sbtH-;zFXF9Xjl5^1wnuVkW;GnfYmmJ4>F2=T z^ycY2!q0Lpe7El0^o^_TsJyp6m2qLO>rHBTz!UMY?-DOJx=qBvfS+NF-?@WNMFsxN zOk5HYTX*a3;Wg%$MJrpBr>Kx&TLB}f=NgQ}K*ijC*MKTh3pIhl2QwSsJ6nvR#0IuH z=~3S0Gt)x?EsGls@Y9Tde5{M}jfKS|zU)3z zQ~dMAOv&TC&R0(#Y`#;TzBslpy)_7xSy3SdH>F9^ZVO-^ymB^Q2#1Z9+&vkKdT}*_ z9az5U*Hq)_ZW_?{aI6B8Bu5Jz*nGm|U^4Y5^{N;Z2ZqFT^Fg55)8KU(fARX>$Wilw z9(v3Q>&1}Sy8vngVQ&rVF#vf!iQRLnXfGY2vv>gb)7LVO#*PuoUu!O{MNj2jlwt>7 z-z>3AQQxf%Y;9U(6{BR%>Ru@Dn740VW?yRPG#?GNQ!ZlLhNl8Q3$!Oh0?|fpx;5=D z?oUGn@+CkJ<H@#P~YLFK8QVYCpU+H-%rL?kQ zwTa^n%gh{gdWtM+=U%KEe`gDGE@W9R5LeSbEYFGcW*naQ?{ zXb;oWwPoNV3KP=_Y14blqEbZx)tuv744HV*0pgUF`NUAhQ-V*B?GK>XDKb7WHTeqh z#Ft%CnW8l~i$<7HT#I)piF#u>g8lj2rB-vD)AAXlO1%BvMTMbvdi@gaeTcof&cFD-ZcL-8@0;Zz>Le*?)wDe;Ns+2R}01!<0j_2 zdh8?9bnkXhm{|FFNaLlmnu2%f;OdH_i*F3G)*2j$&uOXqR>tLz`uUSB;1*Te7G0+O zHYucu8mw_}q!xE4@pkLM6)leOU{}LzP6vYsFdOw(iG6(}&nQyj z^T^~AD=#FjL~{wI!x@x`E8uE$O6aPSj-?Iy;IhW|@aDHqx2Ep0vs<3Ndh&BS{Z2wm zP3Nkut8_Leq;&iI#G|Kn4&rq0TKh9RbRV}@7kv6CE}sRG1KU5R@yY4B-(d(nZgWKv z6a^C2TIAAT4thHDZj+ob9Q!$F=tId8Pm8TNVrXi10bepM`U5HdeQHD3sni2h})Uq|s9)Jbc9 znU350Vge77W3)T_{uV4Xw#=NqYx`$zT4DcTrygfth7%k_F=>+2ccm$9{gN?x`vr=b zKl`l7w^vW=IynfBkAD(%>k_25MO*ZyS)>B5gMW^RihgQJ2VF(jco;&TK(^eojf`x( z>pPP^XblFXN^b6cH1ODP!`~-)TY-Z(rz5Jg>E7v98>e7qhGoOw&oNd9bMl^fdM+il z?AH@JI;F#*ejbddn%Amw#9|rPaacX*1>;!#fML1a)eveXvmTaaebh*&-ZwBX2UT6U zA^{SBTJ&9dv#+(fd@>*x7aWrwY`*GSkugpyB15f{M1A#bh34Z-iYAe{> z$-Y!$@12e1I@`zF4gOM2&ZjJ3)Y@9Vk`h*CR!~9*!})|JaW+Eh#iU*cj9~`VaT{m2 z+%C;-fQ65xTe%k2b;pIo!OeICz0$NPUkaCk4S=fGvO+SQyL^}jCjvZfxAPi814`UH z>eOPl`1g1S9+!X0RNQy+c}dGoQ56w5;d2d;erH;&Fwv#c^@&GKEVh)!n0V=J!&{R1 zv6tH)GPYD*e5g&U?W?$mc-8e~zOEkjp+2nF$LDpQZat<~qx9OjXzm@OZor$|z4suW zH-F)oKr(0DQWUvw2|lK5M|Wmf%b8h)EZG4?sw&}5tNeS`<2_D~KUZ+7UB~21v#i)UWwG{40)#;$N(`*xc6#`hx4#wejD8ek zNXt$Iw)v?W-Jp)uvz|qvhEj_g-CAHE)Ggs#d%K9by4#-q0+$VbZ}13K^f0u6t-g6| zh2`Px4?}Y-4?-kI_C%@6uvLtUl4Q&@KVMa4X4WbK6)nC6b^^vGNd8gTi`0I2G4Juq zJZVtL6>@gr3CDG?tMPVaOVCqMWz2>!*r7^1IJ#ki7i;;j@v-$20}8i>79S`#@as-j z@zr5W`d064#CH7hO4aN`-&oq1ycgMd2#^OybKRtMOv2{<+(44tfmvkx`?EK|m?`Bw zMq&-;_(F`X$TZj8IAl?AkO5^Kd}nDS z=lDVTYvIocN>ZS%I}JkTi%deS&l7#VS%ULmJTD$+pNKgayZ2{gMQ6mZB=<=pKYVmbpPai6rF>oZa;+>~K*QRnzbQVF^qe4*98Dgh3`|7<*>~mR4d)HGgeXd z>~;#!e9Mrbidm#_(OR)0iPK@g^TY(Jde>o8sy^{CZChKgM)jC3VVuG4HgKChCH{!izM0ifGy6NSt;8$7Vu%?-ik`gSs=a?2jxrp3~~(7kb5Zh?CFd z4vwS%l2L<6??eVvoIhGTkOEoAycoVm%kE&PRbC?rvfzFlyPCS@ad1)S#!-qR!-mh# zcZUP>!Wl<_PO9B`=oB@+*R3VrkiZEs?lD5CFwCeDLmyXDE4PzrHB6m-oKn0^{SyHz z7bEF-lY4 y<$2D0kyiG-1UE19g`5BRLBu~lrARunt=i@Dw%Fr*^ZBC({`%S`TE!X;H~#}+H}Wn3 literal 40146 zcmWh!1yoee7hZZPSwdJsV96zv?p}JyU0S52L`snEZcvt#SQH8vyXE^ZyMah3gsZ(;%L^s)i!o20jQ#M!OR8%H-*f096G! zU9Y+Q`^#S}1_2DffJ*%244&Lyo8>D6vRK6KScAfaf5jHx#_~^$L{liL7KmAS4DavH z-b;9FskrG&yq+CZ$s|=BRoSO>ta&+dEQ^Jsv()5s?svm`xpcic7d7CgCo4h&=mO-M z+Pr=HHofZFPwI~u_i|!*OV81NBsZOpO*|W+(!q&;VJ`og8|Sx=tPwW;Rk@E{{1(@Q zxW9i{XJWILlKI{Xu{8yV#AY79*6@;wKYoOTE?7UkPj4~IXRo{bXv1hT&%)M5I)C_6 zooQeEq#ysbcg{@D_mN8N`yCF}RXB{Cu&e^YtnOo$c5^ zY57)#EMF5ww3+eBn!KBi&dP_6)cz#N{@y%9alT&8u?_HA%ffb?2-Cw2+zdMaN@KAJ zU>)aH9~|e>VufKFvd@W+M$XHJlmNhN0s!7;+3nNGKn;x<=P}!lP#t!cMgm>x{2}mo zdS0dDLyh5sn?;bg>zre1dLq+>_#Xi}$Tjnjea)=7{pS%;RYSTS!31Wqlc-}TrfnAQ z5YRdf1Z#tidnu^07P27WtYO;u+$m5sBUDk}*&7?9;vd|}9SAnu&|qjkKg)$UM9VV5 zUY(S_oKupN4`Z>(FY*wWD}FKe`wIGlxPzm3`*D;50rrNX1O zrTSBjl&_7Aqoco#http5cRw>#KNq^v6(Ks2nj9r4rLZ8ZFj7oR>-1z<4q1*O77BRT zTaKbWLWq(g!e$mq`z*3Uu4?+==)LphE3<})dXIx$^!UL>fdyM+hsEsPB_YQq3o&mz zM_9dZ@PFUSE1y3s@O9=I;C@%jKHekC?I8EM62Bt^2*!vy3yu}eX04Vx?8TpL4-e-^ zcseZ|{1{`t+|t-3h?$mpJ_ksn}anj=4d5*ed6OU zfvT}Y|Hdo;SOfAH&BH)&00GoLVd$T39lJRyc(z!U4nZbMmd{f1bpwi{fIt<2pTj(2 z^Cf$g@9z))3=K_H82|cp>2b7waQI^3cYxJV{dUe`!1jSBZpZ5P-c!j55UXJIyq>0) z)SxD?YK^)1&f79*1XPFZWEP3cDS%%&6`@>)ycV+T*|lWOC+<2DC7WD!7w)$yQ&XuD zUdS}pHZ}d2dN-V9nKj5k!;W@U0LDWhr0DdJ5KvH3kS+m|Bh~>;0hnn`SC`(}7s3L8 zEPtnwfnc)uqu&(&!GRb+QWSbcfs#n^Rjgmqb4y!6ntdYiTVs(*(-znD?ux;Riup$8 z=JTzK>6VN0`|Rv&gi&fZ@@t#uXj0C=cfB_j3!o8WQ%&=?APPzKh3)S=kKOd(O5%5mU#S4eCt|_pcG^t1p$l` zn#Y)jM)8Mf#P$Butvn=^;{xL{<|XR4x*oFjLnrugFiLKCSOIypD+*g#sEodvL*D*h zxXnXb4;NeKBFjxKo89rW##FDGytj>)Z>Aoeq#pr`!Zc+@)d|&7eX9WZBukHFt`rOa z#uw5){%6X5*IOB{#4H{7usW;de=|;NdldM0WA>I|LDcnhVrRDN`V1xV8r99Q?x)Y8 z7=z4*vV@_MkT6csomYcqAdR3nGG18ihHw==1{A_L0djXljP%sJmdDgaG8l8>J@N1X<&Lt zNAJN85bMs6HK%)}@u4JOBQ=o|OZ|ghL?;8>OYJxTBjJUF@Y%l-nVOrwR$BBjp37K0 z^j?4SBB>0f>GLJCS;KxoZ7YyaBtbY5sFKH67zQFhX6o5r5*Og6YKKITc4jecQIM8I zfpM&`vk(dcDt7QJ1rn-$6(k0X6Ga9M51A4q3)hB*ExjrX5e!U;&NgC0M?gwRNha(f zq7W{)yl^$m$)vLUWD-0Pk_%5Bv-+zGLsT}b( z9NU9PmCS82YmVANgCK1JI2n6Ja~RH8dLFe7%O|6H8-Nm4Gy~lJjJ{2Q-*w7HvF7hI z3?p2-Hyoy~^0w%{JVRckAly8Fq+9>{_ugi<2(jq3I22!szh2x=-|P;xC)u|i-;`Iq z@!HC8Hu1ffUtX$r-$BX@pV4LFV@nE5IEFR+k=!JZ@#|L($JnLM25lRYXae0VZ$)DA z|1S7n4ojazml()g|07v=oJr30dv`ul7P($n52JP_#80KdEE>V)DPm*Gt3}~ZL_uy? z^6k2aDo}YDyn@MJ-`Xa$o!1zUs|118faj(%JTD9&ah5i12837#~aHe!Z>(& z-Z!P78e(n%!|vM5XdNczul&V*&7)|y&5MdJ%hy8=Jgql%RS&aWwmIG&M|~+=&D{Om z%wZ!?!F+b_ca>H_efh=OjNv2SmB^b|xizk^0eP}ye6>0;9(}y?Q6o{rqXHxn`#Nk&O$>@Fp0|E; zwyT$pecHXCB3jD2ue>c_}9oDzdB8^ZH_t zwyNo-PmSksl;M8Vcv$*&e<_|;jF z-Py|ok3PZoXpFE7_c2e%itplf=@I5QwF(CsMZt- z7-*QNA`ejDh}YLQpp|)8m#IGO%Dv7gVUT?MOTv|!L(XlKhhSzB48a}^d(|{S(OrrI z6vf-3&HS5YYstc=*eP#!Hfo5n*g`_%K7=<11a}~!4^_|iX9c>Qjj ze+@fUfK-#4O|%+iY0viIDhD@A3-cAQh&QAC#rQ=%twO`}GBAE=jvbA?f?{07u0UA` zTdOeL|8`q9`S3>^Y&DO)`<_T14ubrl*nF8&t8ZX1JtXb2Tu;6|EHeRuJx#ac$M_DE zW3%wzQDWz*g+-8k{Y75qlMvw?8V36MpL1_`qyu*YuLAF60#AAZ|0xG-J-FF2*dm&| z?lmJll|O@0VWbf-OluAVK{!kWRfKJYP53f_Tn%6IRk7iFWxH;oEWO;^izT{dN1Btl z1LXsWohx$ZF$$pIj@Lt-u!oiAXdLw%hkQE+D&&lDwnH@Ec=4QafO;63HrumI8h*h}tF_T60^n^V} zJ@DM%acaEv;#c6ok@Wopdw`3p>#As;m zg%o-7buF1IS=gj8-R7eUYkhNNXCzCWhYz9x{M=`|&RJZVVY{M(*Gwitv$$#WD4;@p9sM6y{!-ab!-pk`m8Ku6mrLgR!Df>bgU*pi`Y_P zrqW0zpbw1H=C3#PUL1)4A+8R^FZ{P^a=$#*wcdLM{G|$5r3yG1jbsQ2`62q8%{HA3 zjUxNfXtFSOAfE(`Q38ENlj^+Zw)LhLS1UtS6uo$h}Qv0+3i?~;tdT-cAzy8PXXaNL4uGkY-e3g$IBHSSGDzuQ;p(ad@m@L>CJI^KHo z>tSm6VMEJ*m5@E5LaLNP>&?q({KGhc;8>B%@8kagQbW$bPjEZl&!PFUB;8pl%8)S* z6@tk(7T;9PUeIky`ZxuO*{*C93j5t(Rho3gw`#bNlW0mjKIemtsTnNzv@nV=Cif%~LKL0d+yrRjl^~tj?idU+r*gb) z&22do-$u&>w&xx*m?$&tj+lK=$@TAY>59(*@ke_>}J{#hz0(rsDf4ex6G=EYk zpKQPJ!?M+<6>UjJXM86JNvDiOUjF`UZ}zN;Y&_6vF225m=hJ@-%l$qRM`W1mFY}|s zjeK*@aQD#$qSpQ2wN|6k?JX&@UHXRf z!7II9HR?9>JA|>U>X)EBLg;iT7Oqpp8%~9oP!ok6HL$DxOs4XUN+b%wbjRa za}Nr)rJww1jWjObZ_S&j$t~M8Ww_&yw&*x(@uY>kf#O(djzqavj*JwVsW}iC@0e)? z3A4o}h4InXQBiJ9Yh_E0zBV(VeZr!Dhwq)!kWnMDH*HQEw}XK5-b2BeWPpl@X4dN~ z+SWTy`p3Q2W0BV5=n|Rpjlo)3Uc=~SDI~DhFG{I>^u3T=S!-=0X(B6ynh@vR zR3l1bx7lweC-HvCUap?7u3qLcfE(ssXDq-!6!C_UtAZC;nc`KI@-d7901JV((^S~F z**ktLs%vQw-}h)-+!Lv^&2M67^IA@Q(%vrV60^ndiH%=LKSb!W6r zuAShR7^b$yUGN5bCts-0Zfzk(ACtV%Ta|GN)z2Yg@5pV14(Dx!K3SfwnkjBBC6pdz>E;lP>Rhn`I|ZVkPR4QJKMK3qalJsG+L!q5_R}#- zH%Dvli31Pu=}ME~Lj-vfPycNfAo(>>L_k2=wA+4XS(n+h@8kWr%pLiYuxNXFYrgCJiwV~i5V56ZOU=z6%$lpbqqG*oH$SpVo6}0=A_rhWr+{jZ-H9u zoxVnif?-%4mnv*u8JMr0p=2mITi4T6CwfaGSDtM|c1s7g%@`V+vE)_u5ev zsx(TfFKTMBq0Nhn9ke1&8)I9AiN+Ma`#Jm#`fvXL&O3kFlP7 zS8I^}xhi}yv6$#8@?FNpVc}y*bz=FezFj4}>lNx5Usp+m)2O9o{|bC)9}+FW{fY2a zrJdd2-a!{ohzUUnWe#@VosPkN@QO?~emv{`e=2?2xUh4nDB)K{ZBF(t1L&KoKQ$M4 zkQQ)%!tmHW9B?udt)tcDD!#rW&gkb!RiS9?K!_>3A@*Yw6ki+7qACZSB>RuFFi zT{{V_eunX0p~o?GalM$H2|;;TCdTT~@?PMsDa$>!!QU`9_tqD0s;sX-nEFe;nKd<@ubPwcbc^Be%Lp)Bqr>=*S>}{ zCz6p_OJlNPS7cE0c1y0(aFnnH$N~=&rk3&MF~NvH8Y{ja-#_PGX?s$$1m}jGzyD^r zKLZAKER6PjoP80sT=hX94vQ%oD$4pd@x#9eOtJvW?)1BFTO3ywDn}y#g1X;|-DHf=w2L!h@?=L=KA0nek$vOWvl-#>b=FGw zKbL*>4m$pr^OoW5++s$zOoK|7vN#70>;WrW<$E@WZYrCOjf|VQR z(C}~EqqNUO|5D8yP|oc9omRjQ;E<=$FWuBJuinkRLUv8y*20qckxA{$nX|P zZ!!SZM72n@cMsr-wOk=I1#}zXW)a|I@zGoLt&zv}Sdm)xsGaVwtagFB9Q*L2=TDUr z&(~!P^5lWF4X#b+Zms{ywE|adA8*VSMO_c^@uyJTS7YsO&>~=qDv5TB*3MPg6|~vf zcQY7=`A6aI-8W(BrTm5zZARss%1cR)NLwmVEc><|709mVF~new)=Jf+5HIbig3V)pxo0kg;J zlGZCXnM=2lVX3P^*aT--D=AFHy}^H<{@DmEM;t*+)5PKklakAO$e)Z9iUZtfLoN^m zo)M7EAGb7R@@*H~?$nHR;2W%^u41{qn}M6vRg!X1Ze$v*IUD3!H6MVA%a zF9pX~=33oP)}{_BD%!n{+NWZd$2S|TgBtqXkgweeMl)AsF0Of`&!+=-oFCe;NThBG zlMq~7>Y#9t3diWdd3ED*2O}Q#=u341o!npiwCfA6vD9ill@lT$tC2~{IK(zsup|t~ zYvx(UFq*j$bTC? z!-!%^B50a?KTz@NCClQ_YK6$MpPMf)I1JfZiPPfXc-(9rq&k~Tc~Qv760maDV;gYc zd^biVbD1W6$qZ9C_*5p$q=fe@f_Z=cemAhIzK3EXtqj;lse~=`rvAqaE>)m7;`*n&nLFK zQutLSH5fcDef`PQ@RbHvHotSF~>uT+YmO5Sd(ET|JMb;_-0z9gFUKG?C9g!oix55Eb3g z0!F79OwA-dOi;<3JuRAPfnOI*#ijcwUKYClC#i_Ad_;$8I%6y91a&ohR4oGugpkML z4}BBnP3E6&)KRrqNeGvGOLsJFTF}z0Su4bJ;%;_XwM>ZZ1m+so`_x`g$*W3;|%pSlHPzf#C*=N3t72@beO4alaTMs zeCdKGPc!!|i)wTUj7%B1V!mR$iF}><;oTg`Y72&(L1DB13vkbBX9P?N@jWZNAkFl(RzOQc=Y&7OY(lB2M?>z2okNWz@8auE=XhH{0It#1uGG&v?EYt z;ktI6L?s3~S%z>@KCL@W#s^Me61}Fcq#|q}cYos-Jj=B18I(~C?Ef*Syu}O>h=9hR zDYR2xe<+T&2`ccxQ!V1{gTM6_3&!ZCrg&aj^7U52@>%qY2Z`g$>HE6J%yk_&NSQ7} zduGoDY#r`Y-&;TB1PsmW`~$g61Hd?@-U)9}+J5=q>wDWL@nm#0++PH@&ar}JKL!SZ z4>a&0JF~aL%B@#>kBe1zDb~Euh3)So>M&if4bG3I<4o(Z>-l9uLAE%?;IrcyH$6R= zfe^fAK&{=OM#Lyn44iJCkL5AcWLAm9{=s~788`JdQU;`G4ihu83M zi&QJozQyzKCC1BJazV@RD~GwNQz_k6W`|q-%Gv$?s6+XNWgfoXfA!T-JMPb?6FGWw z@oND^L7*5=_xQSl+DrI<71L&c_ZK;@%4%PurBk+Uy8+2AftZZZYlSDFG7sUCX7|32 zi;u^>R*6!=G%1oIj`(tbcIXf8@e%f9v@7{%7Xe(A5JZR-A)n^UF1s$yGcv!OADbWf^ii6c_4UlPSL+aviWSXRw5*7D&ZNZl?}_VE=nAnkQMzP z6M0LL_+^4Z{0Ds^8`ACUSB_Z@sPr0P`Uium01ASRWym2LhQ21PlO0`ai|VpsmSm+ z>uEVQ7`iKBxaSFQ^g>Vm#9&AIOi&PMPY%8ZApdfQ_3`thQe~te! z2`9lNRM*DKYi(r&{8ldIm}{4Y{AWR*%H@wG9Nfj&B7L!lf7{N~L0Tu6vx+L=tGpfN zC}x)7UGE4@O!XG_Ki>N9IlPK%=l;WIQllAqcGgJ(<%I*D!Wk^O3pWisR1hETP)0`Z zzJOmDVbab)99abl8b3Fv@U~#J?#bxELVc|02y1j%?sd*Rz@^K!fc+R2#K~Un*2=+wdBy4&V@+_qiR@vW=IIu^eObi1*6p&snxdZ0SQD+0eS9!>%#dk#-bKBwIMqJg=FH-eWqKN8 zSfN@TonH0t`#`QCJ;X@k2xwCEejiq|x=@lgr}o9ZLMKcm+s z&H)cqcWc+|xi`T)14DyVDX`BADuMj~qg3X8HI**LHf;idYhE74Sd3KTwz5gKx%e6I z52P7FBh%P2Ex7jIYx7LfSk7wwxOIFQ^RFK1cT&Ch+L%G-C-d`vT`Qk?Az+M8Rt)c1 z>61-m*-E!BjuMqP{R4!IFeLDTZJuB5&RlE#&e?6zQv$rZh0H_*$9ANDgs|+b7=+=fcopIhl@`-WW+C$Ovbu7_h7(o-`&99{bMp z5JQ#gMvB&O{nyHdUj^*e1n%$*^Kj>&kcilw@G%FYRA>y+8B3`Cfy~;7k@h0VJnVXl zE|V{J#ruQ=@1j^O@d)8XIu zE^PXIbdCT3{M2G|O+O@0Nc3FAM7>HsH|X>IozxktC3)_>ClD}#PW$OwAq(X*Bd$Yz zh+BHsX_%$q>QEADAq=n{xz8|A+5@urWCa!s)>B=Uv8w~!+*_~l0qQPNmY6yK_Q36E?v#-@T6NBz>)fMK^hCh9YbJ z1H8AeK_`4w-5EK~C0Y*B{((0FG)3#O`cHmWIyTmu62w*j!t-24UgS?R$i*Plbi3OM zdSxNbM8@+$;*MoJ83L5ULgY{mrxS zR$9{cv-&l4oX_QUBDB6_nnDn%Mf9o!xE#Su43H=HjK5)ooBtFGtxt8bVa4q5;QnfK zV$)W>7BnLN&FrMO)vxYnDi#FJr83=(CPBdQ> zMN&de+S=&V-m(O-UH+K)`%RbN?PukY7qQ^eZ`vix5FpxnPDn@PefL*a9sRM)=uvlt zdCblgucG&8HO4iHGXdg(Ix@NoB@hhV8v(u$R~f_2hvF8{O_&GBMLjqO%5p^4;AHL$ z%qB`bboS%~+?2&Wv0U`2d=$7Mr!X6Qr#=4zf0|cZ2I`7 zHUD@vf~_%&P+;QQzn&MLgpmpeT9nJ%Esd*M1$UzaHE}D43~rQg7MNs8}ZaDGf@( zwl=by*)tz`4^buiE*PN=&>=%24pdPi^DJ_z6mZpKC5MZF9{SrW`P{2c_E#n?e)Y5? zHeeQs4`MMG?Goe-vSNUi+8?7n`~Q__G01q_k#=9HBY-`CF}{#6XgFe6HX|{K#1|Sv zR|G;+*olzWe!&MqK*bGew;fnlSepx>2`eTpY%E?!c_&mLx+ z61{;?wkN8Wgh zU8GEyEVt&^)u)~u(SY57`W|qsO+WJ8e>?-xnZ55h!h|1KwBIsQ%xcqi!ej}eqZHHa zJJAYwvTrJ?U`e-TiJB1+)qz155qnJUX~3v+yo2zNiyntuzwjy8WwEt5XdA$)J!!`} zS%2hRCPWK}?8(+Zmek!OPO6TZ2dD+G99wG=B&dENc;@gOw}%9~sToT+sS7&leKSE( zmF)UpK#(+*^lP~59d77>&;mYlL*G0GT%(5-)lUN3#G@f(qGiayU`QQKiq7+093PBA+-(T1_|S&VE(~@Qi6YecUuDkM%_}2!TVQU(k>BmcEMCH3?Q1UVu;|QHF4WKiMSd6x*(g^7>C1PaCoKvR+*-PHcCPH- zNs9;)Bvsili&Xyum7`FMQr`{}jFziMm@31K2La+z^0@{^c2`W+DdsN!JnIR5sgZ z!(|zG4>e$<=OsM2X++QVsi2fj1#)sSOz$Yr!^|@!)W!r^ch*;bv7zA`3tLC$%BkQh z4Q8#a0y+Xn1~Y{1I!z8D(LvgCU`h(}zQR$JxlCh2$;)HrL^>JQwa!V0=}Kb0oNC@l z%HLmbO9e2PQQe7wr+5k3zAJwsMYn5;Q1quzuTVu`6q2fj;##E#Lw%|QM1aB+hzG|j zURl+s$7foO(@)c zp-RcnuuLoJSsbY?zbprSA2c(5#_mxXp4Y|^%p!{*Ai6b)i*Sp|Hv-yOron0d2;WZ6 zrCX~O*c5p0=be!(U;Z1{GW#8H?_Au$oDi zj2L~Uy>DISx;l^~+h%lB&$64Pn>DWoQ^FYC3X>kzqf_hB@dfjF@fVJbJw5YOT0aY0VKEC(zqRTMW~d!02l_0mBQU3 z?sHInCP%#m<`7h=UiLp!rGF|}LGTo2e8x}VpcE1^g7p(5QVtOU;{=ioSAJuVaeKJC zem-Jrs-jf9SU38Y==_mi@+dByWRn(a>BJ#Q2qG05$ zZpoa@ABuh9A=sTfSXI%!Xc|gV7^sU#KtN+)xNh{luq^(^^P*R4J8$yW`CB<1*!D0CvSJ1;i<>G1z?Bb#Bm8c=D;9_{8E% zNP=kOiBkEZ^bT!dc}w6dM;i$JQiYS40d| zmHFxiHR|*g`cEJl-_>hSds6E_7{n6cF9X;LT>-y!ZAkDbfTba73^sBl5=W;j(n8{r z!>X9G-leG6+(N#d?mkJ)7sfE(;@~I&cJ1OnSvwd%K`k1OuOMye%zrYh)X=E4nI-X1U#*04snRXeBq+^di_;54>=A)%#wNkR$9OUq(X;C%hi1{<1)FbjFuu9gKPpBr zF{Cqs`Hq#hfvR~tKQg*in4EsF=&=HdSCbB7Yebj3PuC_8kbGHF2 zYN>MJk6R4cI!Yr>LM}HmWSZ}}8Kb?dwHfOP4>Q0rzxzG+zH@6ZXDt{8g|ycV`V-aA z!4U@kDx*l>#V|5a*nf-vpi~;#i$tgtndBG9G0eIErrzQ5Lc`?e=%HZ>9Nu$T8HjE(>DSVCIP~+(6-LMDm?Ruh-Rz5opzUul+q`t#W97OHH@~rympkSDXpxMJ zPZ8rD{PpJIFG9gY#`MaQY&5cm;Iir{t(%U0nu;;3vu;r8ZTLvNtnNG}4JJ~>kw8r8 z@Ki#667p@_n#dW2TKgoB^_t@pNFLm`7+_c_fKRfkMc); zcs1{G_mhq1i^|OmOp>BY;PU<~D(CpjMta;Pi>!iZRh&LLZ$CYuQpc75_?yCA6|S4W z&}=S-E>iJD$PaFLL<~GZC;dYb3+b5PWW+fsAp|>~1@@!U-)z*E+xprwv08aAL^9RI+PmT)+APGR(hTWFesW+LU53l4rr%s*Lt_ zMC1(Y+5{|`wh6h?Zg*uRIj;j&yQn;4+x22+4ck7MqJ8!-$ow)YU&t&P8X23|6`v3V z0ZOR9B)iZ8)FAeEZ!UHxu)9N$BUy*wOdn@s@5I z-ocXn2q5WiigUA}43A(MEWQ{fN7TG-72jH^Q6YH|-FLxKeoJT&GFta5lr&G*f-Dua3;IfUi#-<#p<; zDIpEP78u0d>#zAs%)d|n@8iBQMocCqwZJLon!1`_k;J1aBriQe4hDZ)K&pg`yCVv6 zt)us-<89cGwEs!CVAPFAcUCp!dnJ@&YL?kY z&Y0xFHU zS(0dxDwnRik<_;DR*VYaCxAo2%qpM30u^jD_93$#gz-vbUM~}*@qE>@K_!q}Ya4CM zueDV6_OA3Dh=^6W=}js70}hj|w=)NFYG*r09~ulzX=Q&?MGlvl$*!Gyi-Ig$+ejz#8uLP|t_kv1r%(?0Xn@bK^}VH)D49gn?#@68%xr3f&^ zpcL%(wXSOeV^6GHnj*ysQ=rU-N%Z3iYq;VToowSa%kB zL#S9Tk*QKk=Ooxl;SQ+uFct*xMUO{t65@ItBxzFHkBJ$Hlplhw2`*j6d zK9s-6Uv^UX`+sIjTyMFi{9x7Be6Tm>gFcencRJmsE>a)V>4~@BTM{T_LlP`O5Y|3q z{yf9#kSU&THbz4;sZs%EJt^oXo7fv@(MsHI!-i5^(KR)ladyv`-&y7JcOI%t5k=RO z7tbQWTanNrY!UmLpLUUMjx1`)H{S{m-AhU@K&ekAOk3~!Iv#IkS1y|=k0qZaCUxqG z!L6AsKDp4~#$JoX<`cr^9Skc7#$bFpb7g8|A}uX4FWv=qq%hiFw~xA(^y@OPLikR0rW zBzO_QF4k}l0T;~7AE9Ses(=0ryRJ71?O`V^49vrUrS~cmDOiAslzMC0MX}>XZ5w65 zTx~ybIAY0+On>_^@rRQZd&CKA;QhR8oLSnl@U4pNSORu%D|5Vc851UZ)2s{wZiKg) z>#m?BIu9)vByOd$q<=;U^rVfbSS>h0!qAf{MC3#xFE&8O@p#`>MiG{JeC{d1YA_&$ zcLG08+gPt0Bac^f<2F)tMAWI`g-rFuQ=&R7^Vm)(frJ}FC<#0fwm~;0->}AG@D3H7$ZS{+n%Nv;xdH~;azKCu5rR5YTZQ)_DrGNzNZiMru_iD{zS z`pYwjYg)v0hT1M#=9A>|rlpgU5&W$Y2_Bvl6jW%BRl(+l%^;4DUqg`Vg9zZ%?o;15 zsP&|;he^@3^@0<4cqSA3^jc;dZxy5OLou8d#o8(kK-tBn7xyp-4?BCOFE_(l6Sk-$xZW{uafj=n-jRKSEkPD+1+TB$=i z|LrpvDQ_B$#Y1K}l$8>4A`ExIRc$Rw87Y~H$N8`){w(%``M z@Fa0LzhS$$Xp|e&Un&09R9d2_d-!K!I^Onq!D?q3?-~A$zQhLeanMhE1oPK!;2Xm$Fk~~PB04Z^ zY_`#*RNR%csXw0b1y1@ddxrogr+}7Gl>*IQwC%Y*;^~=`KsU3faolB5SC4=I3+v!9 zC>fiX+0<`s4jk)U(*yj;GoP^8<($xuzFn$e8TwdRC-8*8d&CYES!6bS<3i_ zTM3*q9AUaP&tSk(o%|5ZAM?7pEX=%V$?b&5SXAGi zcCkxRs_7DdiTK|yEp=QRLf{ZNU`6!$3Hx?Ii?TgtBfFfP@>NjA*HNYKTC7k&oB2F+ z4N4H)1pVGPJ^G*Vkie$zJ{F*eK!MD}TFJb)g9ZIIMCsd0Z_~A@DU7Ax?zCSdBAt+N zR`hNU=MIEbt#cLbbIt!=uML?}QB@t8TU18tGgE)T{}zZmQp1-Mi07S$SG)1brtU=y zb%yo4B%Y=Jo}&-IC*V*+Sz|mEJqBhlwleqqL>**gIp_t%$DM?1wr#eVR(!xSFV3(h zsoO|f?vbB`uLcGNEHl~E!bViS{#ZKz5>6IHGz^7cB zEY10F?O(NGA?>H~Kj|L-p0@rRi=xDOpj=#aV@@(^T89r;tC9KKh&Uy2|AT#z!~TT;?&<^Vr+t)l&#Dh*T)tXGL6Y?yJZe1xZ1CY-OZk#IV?i|WQ{MWa5x zUyFuqF~8&M9C9qdc=VrmZA(vGzT$~I;>808J8BME9m5Sdnl5`L@e?;crUOed>QgpZ ze;}UayPLd+99%&hL~o!C+H)1}X=C*mzmC62?o>7g!qM*BYi5JB(0!xR%uyf?NE zaNmh#G}HLVq&Z4~MjWA$=watVC=lxrb8RmJ!RgMKK@k{ts7{NpbSF)LjYT911VRBN z7)zS%_R{joOrzOgMW;JP*V7oF;t3*zv9)8TX6ELXW*Ci_GLc*vz@I9COQ(iBMhmrp zzKNFmIp;?D)5?C~IhuQoJTGu?*h9BJbO~c{613*$Pzo+_M*$$Re%+3M{mn3w_) zrzu@nUY%*p%+63kc~w_L^%g0$7w&3_rD&7yLh3&rpomaPjh(0YOqc*vDI|uY0!1l&Ft7qkyr!)F zq-`lKQQCqa5LfvY5)`EXXG&Mb**UzWa7^HAw7@m%2|0M|brXoxHkebb>jI^K!LY#Y zVINsuB90~p3hfecibf+c1@HxgASg;vag5mWax`X6Gpr7*n316^;EZTOc@#Grjb<}R zlCZu1m=>582Ot1Q6eqORo@*p&+9ZTh85p$TjdLm}sDcW)(@6{~A&pNxikKM<3XgTd zI}9xWq>||L270&xOiZ9IJy8>G_kw$gj~%!^HZ~edi3!TVG`X#5s2ZZMFi=Q|VOE&3 zP~G~^=eYzDbd2(<$E7w!K~44nX~qB|Mi4Oy9z|$0Qln`Kec$Xeff{>eju9r^r}{P{ zZzeH-lnVPD-R!p2j4{;|Cb}@ckwlW5jjYgA4aRUTYBE*;e-Qt0$Ej56H~4{VAZpllT&2RD#cnszHfcw1%6-ZH`ygg{7vJkOA%2|_!w(%(;C zDC3MKQN)utjzgXtJGp5^@%lp^(I`$EoJT1@n3C4RQ&mIup@e>Z)Gs8U86k9E`6P+8 z_a{`*RT_m-dj3_93MNt>k_MY>J*U@+2UdJBOD7&}+b zW!3=J^}{)eLiq34i@)3XnfJ~^f}v7S#h%nIEfNJ_NZ&7eg)94@VU zSCrEDzdsncM79vC-m5!ODIFNAXi=9kF*zA8F9dpnp_xdddm~Y13guyE5!~YmOk3)t zWME%!kn0JRM;zZ8_>56RTpRSIP&y;kBq>!Orujil{DuLP&NfzF8aWuGIYnz00!0`Q zQA%RQctKuX=l0?`)?8AD?bn1Zl)`aw* zF-n+tZ;}O|HD{ zWTCt#%c|u1=^Ek^rUQnMVT9laLYr{sl`?%WrMrNs6<9V&&}NTn7PKaU%2@3UlsH*>3h*H08hB$>#$O}^>6C87Ff2D~a zFZ3`u=PC_OLWlifdQh64lyx_@{R2si+Xoj3J<4(Y}>niUq5>DyBa#BX^h2%Hg4S724(u(h$POyu1L#!`GrY_ zv$>x(kH08PFVlNm6tp)mFNKD-urxEp7%*Ndb+0!CAcPRg84nM7WF)wLxnPtMLI}6+ z@vsY7W$)mes{V)%p(3i1qvasc-Oj7>ko1RI^C=8RB}RonGY#Wt z<93U6G3#dwWVtW_KY}V62TmpI}Cpb5olhSnPW+N7S@TOjBPOX^u|boRDrOIHfLpt zvJ5+s*U!}$!G!3suOP_t62q)C4Y6!aLlp`Ik(#lyn|eF#LsB5L8bQ1#H>iIIl$!3= z>Rkx4aZdJ$Wco17bV?G+TJSz3>kJTOG8)azv#nQ%Q{$R42-N{0B^5YhSY27b?*1VL zqYNrHGrFYI$zoD_9fqS^XKD^}boxW&rlq+J%i9Dk_ke2&fX?O*Rf{DgyT4RWM0q1W zWQK~=wU)BI2l`mz2nbZ~3k2wz+EOY=Nc4vp_7D4Lq%oFG&*J9oU37bWU4;kYhKb8c zrf&EImA9ST;OrooI&gzYY*4R#u?j&j9SZhhu9O!eljfJ`;)1q@$6V3GX0~?qyFZ*s!i2NsWO}@ub;q z8~3y*JCHu&m~U-xCD7%a5zO?x9~3w^3(D z+5rjF;bmJOT{i-(4@nCvpVTE`Ccy+0Dii^PPQ>dCM!3GYgEUE8Xxu@Wii%g2Ku%?r zSIr{Vu%>RTD=)yI3B#SEBCbA~PM3*C-f8<=UT^w115o#}XkWQBBWc~_N~N%O*uyZ( zaeRFVgi$Ol&H(@p4*NLh^dV#cNS`xwPW(0VP#~2YlRTB>NF!L9V&AHEn|v~rv;wn%*b8?bQh=BdLeQ-&q^jtK z>MNrjZ0{E-C2HwvkU~KcUBRykfy2%S173nMf>N0#RRNwKx0h@pmJM``#}Gsa6Q+5r z;JsF%&G23pr4*PnhAO7m9MxZT4Q8c*H$p0KMInYc-nn`kQN*#bIH&WQs4g{BroWEW zT6aIO+A}9sqD$@GtXK2}wC6Kj74kwLDUYeh@S5JB zru~cG;qDX`?p}el_SsG#EW3-=0JfG^ci=0fLd^6q3aLtL-q{D|40%x^&kGmh5Vl*# zUC(g*Y%P3D;s|kU=Ofe&A{wx7P1r()v2m>KV7z2?KvJ9H4n!nR2Z+!6s879DZ<D>2jwUvdTwn0_I88~HL z>j&o;zL!#Bn3d=aa*PTsteAVK1Z0fJ1Ew(d<4BLB*++tyIqhZL$zEBeK_KldQ$i`F zgcW@iEJpnEu`4x|P|CVVh+l1c5Wx0>H?7oFZHj@ao`eGQoJ?xkk{iR!(Xr9pQ~(OP zu`W~EEvlf58`K7VrhtiQu*O2BP;EHN*sCiSfmAB!ZlLF&y(^-k#1yp9_P)iOxq_UdmZFsC4l?ux zg=uOKjA=rk1svU2VzbY{J4LHzv%gPDkL1gRlzCYe-nDiQ5GdRkQb?sFN`O>G%aE}* z=42_;A`GJ9yCv`ppi>b1Btsz;1jX26RsbY1Ee6evaH$XhmPa6As00+z`8d7)2uZAG zkmX94Dm44h-`#`uu0Ff5ZtPUODX!*O++DJI89`ksrPg|Sf{t?iNsl^5-%`X?R}ny% zU=yVZk;ziMv(v$FnENq9cB;=bcsF*!;R|i2Bq>LlMxb<@{Hxjk80IAodKtRI96}%< zbffWTfc-0u6ssX7u^0)2FaQN9q#EXVnH7a2-3o2ng~PXvwlwAH5`-wFkTRE26-Id4 z^KhJMheqp!J#GlR^cU}phL8!26qg#Oa!GVskeYAXMk^U(dYGOHRBC8o*=tie00^m# z>?n$~pV{JgLnQZX@0lILnZ)Dy`Cc0+(+$tX5+(*A1347{N*BSV6loG+ey)X9y9EJ? z(!zv^(p7oJlLq3Mr%9=YaEwwcEzV+lr-M>@d2bUID-rpzbFE*qy>87stwxM?Bk~T9 z`Wc!77eb*s$g$te&>QKwV7fITtq92wUJy`FQ1AH*@qSp-;r1s`P_is#mgmJN&+`yW zNK`d}Jkkv+M4?1kj-*f-Kop^bRER#fM+5|nMS2Vl{9rd4Tu^v{qSW()OQAIYKcb+z z(TGjAW(pyVcCjwO$|EyR(=?V%lE_RcvECWtyE2%QSAa<~}^u=w-+Yt#hdJ^pFZ+ z>-%F$L8%=|?zKb3_X6uHG&#!(qA1EymSv+n&yRG_9_a-Vc_GW9$VwqHrIes%zM&<4 zTWdQ52cV^U+Y0#Sl=kLde14tX80eI78Uk z^da^q(seZ$X1eR}>Z*iPOs5Y!?B|J*0*H8oMk4`_80080I{B_a-p2xDK=@N=Y0MpKQwD-f)g^!tR_fj@8IFK}y5Vtp+G2aA0YIO(R1#U7Y`X!@IU1>*vO6 zvJm#vX}rP!_OFX-mqjkK(QuF#`9Mk~5&V$j$_mUU-jiYT^ohSPtrhe|=eaw&>=Uyls+{jy1Xy}<~hyab^-Y8o=@^eORSCMt|ABq2aR zgpGfc*xB!)H_VVk9BC3^b$QOXL_1?fyr&U+;(?S^J}NTTigA3kjYh&9T})aEp|IB( z;?`~tyqTZ>~|0PTU%TG{$L=&+f<|V z3IwWih%B;940^r(Xp{}4QYE)o3`9#_cS0H`Y9r3L!wi1a8bN^&8ASF7N~ti)>;!qB zB-$7zbV3k?0P}NAEX>W|>dpNict%{V7H13#^DW%oK0r1qA(WodQd)yl2HED7s8U^8 z)#Zc^Y`G0;@)w<(HShwFaJLEr5D*4$7g23I=Y??T!9)_B${n6+;PI;a*WHZfAfzjW z4bB-K4xVhcO zt)0FeoM({2G$)C@FOI2*8M#WeNnAA-`nZ+dcAHbrQnPkj`Q=c!fPM^D33rG2TI+JaqObZS_p|wKSRHtq0vY|331WW zu#(EkowSi)X`zi)Gr?hZq<@c@R0^eULYl;YnJpzvPfa1#!j~n3qF{eyx*Heexk= zy7Szfoi4il5nRV_=^D{*U!-D4IxTl3Qs2I(CCLov9>&m z^_4m8<5pp7b|5b#_74Xr%J53pE+IcGF-KKtinhIR0 z*26(vlzVQriPe>P%*{4kHJPnRII13C(r>%pun)%^Ku3I~3qHkhg#Iu?w?9Hz+6>m9 znVCdQGk6WE(>(}IADhQRr_VM@Ts?<>__HddgeKBW|^OKqGywum%|#^6ZhdzDirwPOaq0dK!> zMzORogSF*(P)c#o8KT$EQ3!=nSg+M&uB&FQ+PVqv6LIJ`0L%)+3g5`l`#eg zRefkPy7X!oJ7p5QG7m6`IpQe7U|8U=JHSC_fZ?b>UP>@ZjO{TQQq;D>dmU!_r^H zWC&D`1IXH{iaZmeVZW1S*`ZLXB$RNIn&YH?=$F;;0Br{l)5X~u!jwt}fe582ixT^t z0k-$Lm~A(a#1TrV{9Ib+d(@bm5Q6!+8Jxdw1ACo5ZfqXH4wiFQMWBx(6qM;a;SD?G z2|g(43MFa87?u~?ICFdv_n%qC@r?yUk)2!iJeZV+v8EasN*|eHt6ftug3Rch`0YIWAn;$Azo=7-RyR8R$d3gtv9Vjy4=4*uQp) zCIdGNV1*-NGkbX1H^njf(E!!9l-2I4FfGB1%%~ zqL<3MJ>lUFixN=Afnumb*~T+e;cTi4)O-CLH*X(cZFvq+6zSF?Mhm!@Kwz^{N^xv` z0Z%@13Q}Cf?%}|DQlyRtEG;xpiVm`(98=>iXyrUQN=J?v!`w`Q6B`S-@6-xT9$&)j zOhZp-QNDAtyHO;FKDzf_;#zM-C5OoDYa4+r&d-1lf*ZFFPzYtBk9_5h*C zvz^+z>R z6eVDs8v^k#$hono9wJSNZjZ9H+r!RY7c;FCaU7u(I>4n{7Q%^kdvB98!hL7fz!=4w z7jL7}%XAt+BSOTOBl^k|dg+_5lHiJyIKq6pfz_opP9I;y*^^6Hn4d9*yeEwC_bbG1 zAHISy@~M`(R2T0^|BB*EC5lUbr_?|h)C^@aT9+~7=dYpRj@^+CU{>dGvDJ5t(W1L)TRRIBr(I?mQgNn;o3gF z_39=zclrQK4^}JfDFq?S1Wzd_BaV(3Gkscvz!#%BU8E8jCf*T4DTNej*zXOm?eFg0 z8V-7SNXHmAhB1i&D)7gCaeMRn;9zHaJJ0f61#A#XBSvH;bnPLImiR1+wZS4Xm#UyG zdM))R)m|1#6|zF$=A91KR}Rr^rbv^>z#tX$#aFPAXq}&>!|n{| zozO%abL|q9zM~vx3{lK6(@bz|brvT!=CL^6LaUkT%+0`sSqT;B@OoA9Itb)%UBoFG zX=Gae5zMwVgc@Z9x`R<=vJC++Ki7f~3fp_Vpq+|$J-Rl)Q<%WQ4Mqu87n@j|P4VPI zYq-AE#f2+-xO8(Ln>zz^h8YH<5_v9B2t5$o<_v|k4uld!oFe87tww~E`34?1wTMri zU&BME7ckq5P4@=>+acz6b-zO5=5`NXe`OP|UEV`pO2iQhaJ|9yOv7NW1QVYz8eGBzwULOjmpm9{$793+bP9- z&IpMp4Wxgd4VaOLQJjGB2s9gkK!OmaFG%VrXK3_*5bPfg@%Ghi%+EHlu{IA-ic%88 zFd@I6d1V-*Xfu<5 z!35sSi72~4={Z=Qw|m&{jBwb`(COzWgb2Jmnur>)wu4sY zn>e}N#)GF8aC~_NtwyAqj!pR8`fDi__Btbc?Uh^j`fHo$4oh&ZiP^y(=h>kZI-rDt z8Ai~;(TsjF@P|il;}!<}Igsh*woM632)F=P`JkfQ<$aLOUxtAt*t{4Pru36aqJI zcQ7||2Wb*xalQpYG!%-c1rEdmcon2%+x|jCXQa-wIhw8J1pAS=L+D7Km1O$Z_IbKK zK7nr=Cg+HnoERHVurU$9OiS78VKC4hme=3DtvxVtgd&$gR=aKvwtLV=Z;Qta+tUy~q29T|BaS%caCI|g zyNfjeD9gOJyK`s%>b0vD{|ijU|L)?CfHI8dhXu~cA8t9%WGba=iuEb#ipJ4hmqk3Do8v+aiN2}Epx zxgUok4e=}KQx2RIweVrgi85)M|EwA#P$pVE#Bi8nZmxw!5}V&P-6@pM5!1L{A}jS; z8lyW+7>=*cWAC7k{lfvIlwgeE)Jkq(6G}6zO>^bl<@jB zW7ctCjbpgat&J5$5tu2v^sBKMIE5(1;okQCt2eJ)xi}gQGI;#&=ok|q(4?wWg>j=n z+`M{muyym==4dpyt)TMyNmxz5sE0)?PQZBtN+bx30bEymlz=hL&6iZIshRicQ}ibMtL+wu|iAL^=0lC#(}cv+;C=PIrJm`o>%M>T_3I{*ivz z#2b%cl+-l)(ybhIetnh;+}u1se~^Juf+UGBGZQ0CBY;vbM_pwsfwlT2*BbrG@3*MpAFYxtOHt}0uxr8^bX}2zA6oeT<4l3RVBL@3d zX~7%AnjtLQ;bsJsJ#Q~`?a&PZCG*j(o7Zo@{`%{?x$gc|C;Ev>b&?k-jNbTwST@Y} z_wMX;I-Sks#l`b6BeBJ3jQG_t1ySHELKG#)*$_f$7{nL>mDC%;Oo7>S1*(g;cRK^T z{N^n%MsVM$6US!ngJ-KXhjT*3oY~q8HS?*%ZoF}iV|Ohx4!Sx1_=W5E{b#P>%^L?8aKP6?t|$2CHG)6<#Oa(OoFU%vF#_H)lY*O5waws|KWvpnD-Mzx`MpVs!Jz`0qZTs zh!j$y+Z*An%Xjdtm#<-aSEueO)8S%*s~pyWX!B%>QXwyt>(ERI!`kW`y4@kRwmaaI zK~T*gwlAhjJd@$M2GMQL17pN0mC|iSh60pP%rqirY22$3eYZY7<0;NC^%ep*?hNps zzI`3v{LUt>-|1mE(us|ZxGUP827jqz3g=*bA&&G- zupNzUx{#-R62OK^IZ5RLE#U*&b1@p_xUsp9moIGM%FTW3cSd7r&>lBi;xzBfc9%)1 zY!ME{U|8Vxoh}yU8knDJV!t!gWtyd|q)`Jf-AwEZWa1>Js|bV7=CHqA3WXaxeZ272 z4x}Xb*qH^KT5DmZ5t*^2cPIX-g*H<@%L{>neva2J?coofyN(Oj4zSnB&>xmMh-n}X z4UAe3Z%izJnfJyG$|_pILp08SIF7Vu&CnO4aIVmZ5y&zh+_-k_>g%t)cBd?h0vHQ` z)r;YeWPngyR=DSIZztQ@yuQ^rJiM_uKX-r3Xq!?|No#fZjA$b{;>>6PZVK9!zIaJN zr2-=gj1UOt3x;EkvHj?M#zP5!ODT%$7cXqz-n?~Xb#1*9&m?V){o(MMqy(j@-eFX`_o6646eTFj0i?79 zui=iQ%6wNrF-;guQAnywBxNbk8|HZX+8*xg^>OLi9v(Qgh?DEHSYBwEOh;chF^%{E zE0qCJmN@JUadYbs*ESDvZSw&8heLD+xf!z=LXhe>p87FEsA3sKDs2qw>NWw<_tjpU zQ_Qp*NJ@c&?g&B@`d&c?3vDxF1z>A$fN#Bi2RHU}dK=iaJ2X& zI7TU?5Z%4)?bk28{pQu(z1^W9{KC*|-2fiz5HYPSO8CqzCkdrgapAS+_pZG2#>M*{ zeCXC}Gg+mCM4T!JN+66hw+tbvjR{1Ek_PfTGd*sUW)?;uB?U7Eu%rr->4)n)6^ueD z{UEk>`#9)~aAWHbt4l3xEX`nLp@roI9r*>w#3sesU8>L@X4u^yVE15vy@LU^5A^Z+ z!@`s>T3I(FJQUU!@p*t;@l#9F&xU)CF#T$os<>D?D zXA^8J&0u*h!P-&_OS1{)W@5}VB5+Q}IJ*!M{Xv1<&Ior7hS=I0;`aUkTYE$79*)o* z7G_w9)^de0zI{~}h4<%s@6Qj4IdfTDaYJQf_5W9Gi69)UhU{?y=tadrZ+6m z>F4MU3Jl#SBbc;zhEhs5<~+H`Y;8i2$&*Jih?UZGG9`ti63B4P)rlGmZlPW zoeaHU?k10iV=^nY0sLo5`t8I-j~y@!Br9Mgeh_;=IHBI(DC)jzwSZ1-fNlRSB}ziT zDKQh^fm?UF=no1|3bdLjmJ%Hq?)FU_!uC9+It`!{h3{|?CbZcooDFWNs>rj|ZADq2 zKPs?&IPyj1wy-2rW= zoDINC(K`dQ)-X(BfHtI($V=Z_)Rqr=}wN8WhNL2_8|LSc}nY#OMujBqmR3n3YHqj=jzRc`kIOsPrvYY}J{g zU1y}5U)L(l<=)#fS5h}5u3QhXSE20?m+lQy%w#-#+7qRxe3nAE&KEwrmjqrMBk_%= zhnd$_;=8}b*kxv3a}-73RF6@KBb`|2bIpQOX$lmB!S-t}zx17Fzx9pn8sUfdex~^Cm9`6%?e(urnVZ!R+HGoOU)Tvvt4!*pzU$5DyB~*iTonn#xfUHsc^;@SfhB~= zCb2HV)OL#uL@6;T(>j4qPjV3w;8J40GeS`+^anZ8G=hRQqD!GL90~OLdSZPke5VLk zEC*E)-a2K6RJhc|7J{4`=S(F&m&V@-1f|4bj+AEV(hfR@iQ-#HA9{c+q^bM(4bfXB z;Kl}sI71Z0;GBVx5{v>#5`i=70<0Elb4s9u=xyJ=_4-TCfBWjKTetd#=q(e}rT&C$ z$GbB?_*|_mV1J~1`}LRh-hSiNH&2{CcV#ABS&0}D>)PT>V|lKijbj6a7-NW%1aXl- z$RT7Y!H89Z3X)ONFjYD)kzzhAfI@2sT?wq6Rl<07N|;j0;L3FtvmdnQyXBK0Y8>7j z-)G2v;LqBjKv4z8BqS*A><_Wm$pEE5dl>*@L_@a| zv;+QZw~DZ~!JSTUM)kHP`esm@)or$iP|k-7rFm=nE`_&4XU^(8C121U{tW|PKBDX0 zq8+4&FCavcu)C6}81>VgF zwt~~%8^-`!H?Q`;^WrmCA9?(#*B9sJ9-3{%D;DpI&={uDYXt^y9wAN}W_n|xQD@TYwvkTp49>@_>to6*Ph>f>-CpkTRV2*iDtSq z7cmkurtv?Mx~hp;XrvUl1SF&2ae^c%A%uh~C8Skrj5_J*`_V|_3bpXI=H*coASQ{- zxB;o{*jtI%1_=<#Ulc0fhlC&a&jQz@CWsoO3?jOrrtmqI_L#)+iZDzdU<-@F-l!hW zTSl^;s4<2_^|%wCTs6BQJS&I)?Y$td9yial+L+eb)VC|C2D-xh9>xvkrxx-sNATRj zA+86OTS?EEiS$Au<~oI(GwV_hq(1?M{r;WTUi$Voo_ppSci^Re==;AX>3=T_P}c(1 zz$gKfo7XS(Uw-au7aw@^N90}kTaLmFad#73{nXwrX$3P*^WB~CNM+%LVGHd)T`}~;3J(@ zqFJi1<_W2)F;D>)LU~v-j+tt1$G{G#CgDxKquxL@=V9cHXR4!~U-;dl_6bfDsJMRZ z$SG^3+Y(eep4R1*o9JtpPECSfC3Dgq&H#4Oo_V~_IYGn;;+P{&BIENnhAt#HBYNN- zV*&gz(jQR0UT5o-7oYi~Z$I;m9Ygpzs?z_iME`CXAhav3dT}u5_KnNE7rybQZ=HSM zkrx-{W=}87Hr6;JMCZf!lvb?;bfl9ptp%beg%Cpf=5>c|aHS)}+-Lx9{rL(2l~9VB zE0mfc{47yG5-4iGkrVY{w3aycpqju0p$iqkx18Zwk?P}8cFYGq_8bD~UO6}7oz9h1 zw<+I6?Yp(}@EXr!9|h~#39-E)YxWv*6T07w7PNfu~s8lNF$nXs!&po;kbcCOcE39B4C^&iV{d6 zAyo-g5^W=xF+c;6z?CnYcOt^jQI~F?mzD14^3^%y=0S$_WjIeR7 z2OZ`|)y?VLo<7Ty5$b&Y7Ur_sjukXQ2{d(%dqg#0dBVi6U1Mlr|_|32TiAJdIRx(ejnHh^7VP(&!@(?bqt`1KQ<{1X%Zt&jO2Iu zKLBI_B{HQ#Fi7WvCH|i4=$2;3+n&$_n9-s*8Hq{i%Tt z2L34TM~AAb6?Mex36RxDYJ#fhx6CzWWz-E~WnH;0#_JB?fpRc;g?QK#HavE&P6p@o z@vcuB|m|=dljUl z{VRWXz1Qtn=|9c$^RAfS-FkuSQ?P+C=Mhp;(6?WG;qXs?@BjGv!ote^vrj(xh1rD7 za;k`6I&YmBgGN%F?x2_q+?^4WDzzq1N{^4%DR59lEhk_3(@_R(dqR~}&x#2w=zyA0 zDH6uuGlpfa|QACl%2J^>;_)W}5`}h@9nSrVj zbL}}an@!*7)@YbGM)B4g?_B%6-~P=%xpwvPBCFJs=j z#~B=?i5Nk|C?XT#O%pBolQ=@eNzFDOAfkXM2AFFlm~GF1GcE8KA&414BjNI$H@@@6 z|M@Tf@jw2`AANZ{%d!k!`rFk?|M#@KR~sONK?L3)rgt{44Zr&3-+XCx{lp*7{qT<+ zTWrRwoC%_n+X7o4@Kl&-VgNXlN=^E)rtmc3@CE4xryGB{Zc=6D4G2p?`t%4CBrz3W zQbPzu;Oqh@1*&`#st_P60ubquJ(-{lNGPWRBx5~CJ_Z-m7z85QSr-IV;tk>!6=YOH zOm$<|pSzXn_ILbeHV4j5RWvlZ2wPa_r2)>gw9*n3C8^yO33_r1aiD|D=@^fD$^>kVm>)P?;2C z60{jNnBA&QeHh|Yx|68x!%zt7FWF9GB!CF+R0zS^QWFoISwg!RPq=jdy~A#fD>o0Z zwL9>0aNVBX|89@1%nR>_H+!lITKB$sE2YC*Zm+@qXIiJZ@j-TuR#>-fiNBJlMsz&~ z^{ET4e33Ed=hu1sL2i%D1OGwGgI|kUnD*+T{tQr=+VagOVjUC1|AF zw_nW5APhu6gn}T@o*-pfixZs^p|j5v+(=hxqq-XA5amawDy2Y_HDXP<3GvOm7&RrA z71zBcD4l~85U8a*ce`ptjWF#Ylp`J*g`X(L&=U{qSj;m^z$37p9qP3J@rJMaTPtLD zh3i42*Hv!OfUs>|PaL6<#z+$jc|vFervV@fpd4Ygm0)46ZOU2o5;LNj4K;fH+2>#R zSO4^%{L`;}<&Ump*+@(w{O?No1K%4BU{lXLO#);z9H=}S9WJe%NLDsZpH1R;hUsK} zgK5J66&XJy(T1&(rPc(5f^rUOCeeo}!G!oAmOGJ(g!eh{c4)VqVCl?;iqs7H{sUND zY~sN)i)gpvvHMKi?*pA)hO3($+};}o8o>N^P1=+2wXr@)O{$0A4f|($cMWy>_|607TpzyFor|BXMLY0qzb@>8Gw!feczI0I2i1};v+5XR3BGt*Xq zLm>r}LSAHm$^lA{#0-QauIm6$8d_1Vu!9iYVNOeZqYa3*9PB7oo01GgK}-&VB*B0< z4yiT|{5{KRT}^7v;OoU|iGh*Bn3!CZqcEDz^x zMIcIRx4b9-nS;<6Bx0aM7s3-lkryRU2yfI0rB@;y0}vZwAj-59fiXbLFltE*9I`P7 z)3Q-1>>gy;Ik;`;-upv+y#d^3R;y{|v}2V*r+Y}i@cwz?HJJ0xTUBNt8gbk0zCOz9 zwgolU5^qQMCokwP<0&~CtbgU=0R|iSV@9kuU_(Q{YQqb$WVuJUB0Ya}3QA&}1 z_n<7xvbV6j!RHoN*ODZeizt{g?mYdEAA-OUrDg&%LW1~*%s2~(*wG;z=7%S;DxNkB zF^09_?Ev^FXV~(?dP&0Sr?3m!QTTl_16a6X3EKvvykFiirD0-LX){g&uTC&^C3s(H zPRmGe9aTmM3s6?6w{PFNF@To%LrjN0@7eHuKN%o2 zhTS$%mSk`HcBTlr3#-TC_WaU%9LF<^m?p-d#qyA0);@C_3`M*HXc5? zfR-JaXJM6NM&C1t)JTI;3IZ|Q+PwPGfBg5q@$di5KmTXXZQb6q{e42Cchb0{@0$3( z*9=gfHBj*i6?sOsH?Q}36n7WbjyGEE`IR{4O;c7n`I{4%fDj6zqz;rBO+ZX@u zSzF9)3;VMMSl)JNa2*+fhEz02UFQC^EmurpL-=WgG|`3YoKnbQ08R=#eSQV&OEa(* ziR-^)Bkh(_6^sMGKV(XY7!JDEzWS$s@O%I4AN|8`Zr;4vF~mNChCbE+uJ`x>K7nB=`*33#2u?C}F6NC_kR9@&Eh#5sgl(xH-k|2t>5u22t zVjqO#c&y}g#EEf&cP&DQ?L%*mTPIMPGXqb+ffgAb1Lc1=oR2%+PB84MTzeg?4(_;y z!a=9y3hW80wydj@RGU$`{2gYbe#8Q}VhO-t}u&U-ccuk^C+!b(o$M}YzCQqcsx&Y|e+@APIDmb3Q4N-IqpOA%uYW}vwX zN(DiG8yNDjB0Xo80LGOm43p4`M7RAWL)CAMVV5uC2tLS!q_pD2sYr4XM14aq4XxS} zgw{T*^vyx=chc%Bt;Qe?u^keE&I>_reV4ayBepz*J4P_r@I{^Ni6-~ZV^dTD!W^AH~P zgp$8L0NklNp|Z3lbXWv|!i&CV}pt=WZElBV+!=P7rZ03M5k5u(t$6X0kl zZ5Zp|7Y!t`H)OeO*TKD3a4RNDbO$$BD2?qn&v09Hy16q{sb`pXvw9Cxkck=O-G{`^ zZGJwhYCY@9tVDUK?ZieAN7Ur%8^TW_BndZ+L4ryzFZ~$-WIjMM1|B=Rf`xWkd(3c5 z5aNCN-158_Y;N9q=}-RfOTYUs|JQ%;?aiCl_c7VsS#NKS?=|rQ-2VEXp;iay0-!QGKO@ zvrnJC+Y=1oU&U`?As)h@7n}#m5}k#2+SpftErCiq@+e}6BAvkI+LGA%TpD&`KoAH6 zpd>hvSZt?grrdPDv$jnzG?3`)rGUx8B`V9Z{;eA~UjE}h{L=6Kvw!qIKYQca6-)dU z_E^Jr(u}X~Iq?JUKLY?qgsY1@$IH)rWeW<=Nh#&ypZv61UtfD_CXE(33+B9qc9Z~Y z2_$ui)ZC8~DsqsrgiwXi1{{QGCXj^a@0kb97=?%!;#e6*kSGj8*p`bz>K^~fRFGK) z(4$NhsPbNp>X5!5-NC-Mx29elQ?r)*brb)Q^+W{>ZFU*6Z>+}ixjtHoMm;U$!OfH1GMM(`76G?5cXTI(8TGE7}FUFDfUGsL8_mhpvzj9>{J)krZMBX})95ZDjY z4x6y;$eGL6cLnZNGmrqn1=62a8dFhFs)uw~21sM(@{p*h@i3WAI?4%xQi`nG?c99h z!aL9X!S8?R&wlgY{`2qLynb~bRjEIX_}@3^W0&`n0m2hMGHI#EGracP*Y6Db{pYgb zVD!}Iek?n2^5o~{n#l_1l0|{xONC(wR|s!l5tS$@1)(t*WneTzSr#Zo38Ewj;h>a3 zQrmf2&oU5p&>q!&i#R8UA_gHjq|mUa6q*T2!wf>0HjJ>X3k}hmEV{5iP?+@=4$_#o z)HMK5!PCwU;E3G^?0g$S>TDhB(|762)+=SaU9Ry|5J#}Dwb2|f0MmAoR051sEVffb z5vxS;sSzxIX39LvM%S<3eD$ke|LT|j;7h;%+PA;;jhowBn_Y~%JHM;W4&Tl4elvhw z>a{Rq&$%oMy!qO5ve(&vq1QbeeC9{LFgSDe+z&0Z8^oDU+d2p0 z8gPY;b=Ab%;S%0ptGkSpx0Px2Ko|3=8QjJJIIUoR8?W%*D^w(ZIDEoqaQfVTZr#NS zD2YV75uugFx}ibP2vsQ$!Lre4^v$Tteo!|LC|HVK3$Io25 zdZ~*l-1)#Izg@mx8XzR}qu`L9Lw4tu{Da^6mv8nu2c!N^{_NqSkA31tSC$tZZE)6# zxFA-76@fNjQhO_?nKvv%knw2B`pPng5G8~xKp~+B*V=&U4s*Kww`t%-ly2qd2IT2p zr>=%s0gCBj1~;i*+H`8=4d-yCmo4E`{i< zGmia0J7!`RJkTl@{`lAWxFQ#bIl<~;198mY>!OLdBckm02fY_w`Od4q^E z{o7}6T)WbTCh*YPQ%`XFK!_js{xg7m>hg%s000NOcktCO{l=xv{!agJZ+GX3PknCx z*ohNQ&%}H_VkOhk+1LYA7rHR2K!pMm3W7+D@hvvy6s+JV%N%7{KuDqU)uADg0@FqN zlz>X5TenEtpx4(3$e^o(q5(4~-QgO5?jx0L&$kdq%o*#90He`p^ukN8zW&?`&p-dQ zuYLW+XTI^Zmv7&^ZnHY`+WMY4Ilmvv2MK}di>j^2vys}md3CUP{nA#y-@geO$@b#f zLL5cSh!I9f-~l03`@lzUgZIqT5!m!$1B<*JF(D7960!9J|VVFV#c?C;(wu3x;c-96m99;MAeV{WOHq>VX7XvC=`G>~#GeId-BsiiPb%D^Z$ zS)%|^!gz{gkmMG8$4bmeL~e+m5aMfZt&5dbzspFtqV}Hp*CvSN#)48*#spCs7N`4Y zFsp3$lDtCvrm8D4b-Et&Q@6&po|k#sK*<7BW;lCn9xL-L-5@|p(aZDxpMCvX&;G-I z@DKmhAAI@uU$}Mix)5bqKoh*p?>VZ6=Lbgozz5F&b*Ffk^I_jBD236mkIieBy0@-f zx>^+FE$~z}XBX!Z7(5Z;Y$d3M#f}kmKVFX=CKt>`hve?37lB-e!Tu+;5M$ zdCzqZA61Mn-->YGi6tZvSEDS?zxJ&cUitDLeeKKt%m4KM`B%?;?awasdmRa1z#e*g z>Jwb*&-nveK4=E0FOwL;F@q>ewYR;MUAy$=?e5{;6|kt6&MY>gIBqaTV@?TScA|Kg ztQJUen*z;jYBFUeS&lnKpoR%t;EmRe#(=oP_rw#nH#}>3LHC#kWF@BZM;H(oi+^UT)oh8~`J8KZrk?|X#zUY8FW15^mUwoL($N=gj6hvL@Ni-*@Q zzkQjq=vG#$JZ{amIVUk=G}77tE<2M_RG>^1?+3Z`h7okKoA$j^B0-fj#O<-Wg*3Jx z#c7NXvsdhf@eT_ zkcg?kY%7&f#0D?F_U0?U|K&gat$+Fd|Ns7*Z~WOGU*Fx{Dy0yX=tHR=692U5?gy>` z?jD!_{-2LsX|OVAj}-$D0f+%ajPYpo_^IYYk3F^eqd)Use(ubD=Rdu^w)$|pnJ&eg zCIlc#=>gM1n7?)vW_E$pQ{7ADhfoWlAe4j@0z#CKrGQXEH}W-8qZQE+1v>`SPjB~C zQ2?A5$o+elNAA;xtF_XVJRn$?Xkhfir(-i>YZt1~-MU6{OdBM^d4^OVN`j(PDDz>r z*S&W0*5<|E`Hg@5Z@%`Ye|U9k^TtT%Zf$ihj}2^1^YVNs2tOpa58Fa8&Ik-uMu^PH z0YpjKi0^;oiMgkK@F&kc^5mzVI(6p0r;6~g8Mg|5zeLYyOX zgiy_9gj#oJHQMVuNE7W4n4bL-c{UvOdY#QXTU&2E^Np|m-gDplvx_f3|INcezZbSB z4>5k-(491~Osom*{C27PQ~zyNkIwUoNIkQ63WT9k$ngr8zbh(0ai=NH)9 z8^*l+H2P^5?YW?m0~8dN5Lyp<1*y<9uy<{u&6l75*6!Z+*1Zt^B*^zlJ42YrI*@0g8aQae~^?@-gF&3T?E z2!Sd^IT#LxcW!UqdgJ96pZnUkzwxJUzxw>QcD6RJ_mu9?HfgN~wQSR>58TChuf+9H zSn80-GJ;(#9C8d1#Ywz+{PfI2k9~6Su}^;Pz6T$9{IT_o6OYc#&7Ntc@nS?tLI|jj z@LGsuB)-uKG9Y?oVG)9~2Q%ADr%Fqo`e5c6`xH0xiV$N*0Ho3q(WgDz7d|y2NQ$dO zeQU%IQZf1o3B6H%f9n=yj6o?S%ChVZM}zHKH*dWD+AA-7`^9I!aq;EnzPWYt+NCaZ zceYUKhZEVuM7EIdKa_B18ex4@mhfCBK_We1z-t5sAmULRub(*6dhoGNE5SmoYUY)N+rp~} z+p$*wP*C~hcL~xPP>Xt_9{(V&HrZvz5`b}LVjqxYQ4Gqm>~wpBooiPwz53?sFTeJk zm!H4-;N9Yzz$pGft+ScWM>UtX1haBC=gYac}I$JloiAN?b|yS zwr<_HdgJQbn{U5$;rc7jJ+pcB;+vf!8%{E4!&P9qw0~b~cE2A)^if~zHPj7d7Hq3C z0fX@zEv&9L9{%{J7EYagXmxet_}a;H51msi5#Sn z(qxN<5GZhgy4O|cW3xx6UC1=wzpi|n+$)GNSL!LGltU@XtSqyfD1Xi_5D^tLw)%Hcp&Av9PePHq)9}j+10LilSy5 zu{feMqLf60fVuQ%moBZmHjuSsXf>T;e7dv#m)LX-i}6h!lc_HjN~uChStwZ)MOkEn zVR6{$bgmul?`++E{SvKOkFBkK^X#5N-ER;Q7I*) z5>m>d%nOl?a&efAvb{mSdvLh7y}!GCdw+Ltf9KBD*6qz3S9dO6czOTMt?R?#a8Q(a zUKpb`gfDduj-2qi?$PRTUS414HHGm zW&>N;*bhQvDHb?>Z)P->rRm*#o{mP7G|TR$v-{cn{^M*s9*>ha8AU>5ob!}19#ckQ zLWv;6@YTL4DsClo|l^< z&)1vva=Uo^xqbZceYaXZRb^SIwyqm%RAE?yklL0PiQQ`C8n%0J$)n-a=$D8F8>sZ-@o$J z)1oSiy=rySQJjQV zjBzTGl!+*2B8sUH5#d}=$^~JRQOX!$j1fX9A%t1_yfCTJ`tU5lXlt~wMk}ke0;Qx? zQd%WjBW0^)+ZfqY+Gy>YTZ1jOkKk^q68GWTX7nZoxR;Iacy@GG{soUm?!sj8n zzQJ?smI025<+}&O^E-EqC71XKeq3icOQ|P`!;gcI45zhyl z{_$*|4*1x@ak$|M;GE?T5!%h!1DxjWdqa2^eHQ@6VY6EQbZmg*@F_%iS5SCHt4nkM zzoo|_ac5HcUJ?prX?$e2PT#%9Ab>E=g*L8r$Il?#_E6n9L3DN2a}E}P8@uCnH;x|& z@4+B|%RmG5A3@eecYY2(MXv9|yK03~!qSaf7zbY(hYa%Ew3WdJfTGB7PLIV~|ZR4_O?F*rIh zH!CnQIxsM!IpnDT001R)MObuXVRU6WZEs|0W_bWIFfuSLFgYzTHdHV;Ix#ppGB+zQ zGCD9Y(qvo}00012dQ@0+Qek%>aB^>EX>4U6ba`-PAZc)PV*mhnoa6Eg2ys>@D9TUE z%t_@^00ScnE@KN5BNI!L6ay0=M1VBIWCJ6!R3OXP)X2ol#2my2%YaCrN-hBE7ZG&w SLN%2D0000E7S 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 f4N&(_ literal 29643 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%0A%8;oBc3`q#82=fe$kd=Sv7P!@lwS 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 SLN%2D0000+Z6E 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 Q4736uojsfgmwc1{1!NQ9ng9R* diff --git a/public/img/icons/favicon-32x32.png b/public/img/icons/favicon-32x32.png index 4e165de016d417baa11e759a2e6d043399b3f43d..1d73d3e3185558ee33570603a09566747ea52b44 100644 GIT binary patch literal 3150 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 delta 2906 zcmV-g3#IhV7~mF=BYyw{XF*Lt006O%3;baP0000WV@Og>004R>004l5008;`004mK z004C`008P>0026e000+ooVrmw00006VoOIv0RI600RN!9r;`8x010qNS#tmY4#WTe z4#WYKD-Ig~000McNliru*lRyH{>?}K`t0d5Go7me^L7AKeRQO9?=Kv@;XSwRJ22LmcyD#6 zytz`$l?s89%98+O#t~=Mb>l3KqIfRqtiE{q*sG8K#ebiC{)Lxb{{G4uke|o|5Z-s+ zeY>B1?!_-WbL8yok?EFQXeKVnjI-9g#jLe1N{yReP28*Jy6)wvl}pbbIr+6e`uxLt zf$%D${igHM@BYDO@0gmI{qC6yEpz;Q+ePWXu`$-^w>0ClvCbIltaYv%Yj@h=O-nB!)lr(4QSF)+X;+SdGNCv4B7t zqJKCgNivc&BS{BNv(%7jgE5v&8%l+coUgdJ+966((rf@A)dnRYjuXx;$CN9j`o{4_ z?uRcv`~2e4#s1|0)WP3=;Km#Fe&CY}&1Bf6JvNT`L~%wGB}7R|lCDJ{)o5c7LXc*f zB+VEq7s&aF`K49*{gforBx@1U+M+zisef}zh+KiuYGrcEHIuLY(?1+K1z5QTpm@`5 z`|iw~zj0}4nSz(mk5an*1dBxZIXvZ)YD=OGPDnc4gwU$oUk) z04XHxUX0cTpNzTrMS5D+w(Pq8uG&zs3>w*gs%0AWVT$ELf{`pkpB-&BCyd)vMp($8;hwibz#3?U_>^$~(F;Oy)YtIf`U97+W?H0t04 zQDQL0ptZqTN03uYHb$6RY_ha6kAIYc%@cJtHfnUElvA^-bh;5M%`WSQM#kTH-JV^* zQ3a?Clh^LhPLz95LXsIur4nI2&(!oBC#KF~*LEnRK=}c+S_N%krP;?hM`j#pW;p!H z6w~LI2N7|O>GPNP(ED~XzHS(pB~A?OPLI@%=BuOYw*g84etD=mu8osPs(;Beg!w%E zIAdyNfo3;BAn-gv805%|Bh!wRcFc0KkCc))$;h_2DG*qYf(bv0Z(1Vq6i_dNKy^Ha&#h%a~4lJ zk~BdZOPpFVGkDjDG)j3G3)VT7R{K~aNd|GM0Z6sQIauwa7$-r3LWSEA0e_Kz}TRVL%wNi)a7N=%#>%7q*U zer6j-PAqb%6|sBkIzDpyHhksr*x}QpR#M1^l!^gLxX$d^=@WoffO-A3A0B_#^?T=r zN`{A`ev#Bw}&TDF1w|$iE!qmfe{p?Tw9?((%S={gZ=;(hue&enC z4vdXdYOC#-ZtR#}>T-5r0kg(-LI{il#WipENTd1k(!`Q5j? zZ)M}e_$@(@D+vL${H(4(C9oNuGq?$W7m{Owx=#`6A;er(h3>)*3$q&~JSUnn+&6a^esXKB0B zTAiCef9AxC&pmzenSXtJUTfXs|Dia&A{hQ>dF~iosW-}VyVkDC{u^eRKznfl(0`Ty z001R)MObuXVRU6WV{&C-bY%cCFfuSLFgYzTHdHV;Ix#ppGB+zQGCD9YqdDZM0000b zbVXQnWMOn=I&E)cX=Zrvh0C=3^@(c)ZRwyXSPs_|n6Cgx@G{a;ABePT>%h=S&#LUDT#0SfONT5nC0O}VJbn-$ql>h($07*qoM6N<$ Ef)Htr@Bjb+ diff --git a/public/img/icons/favicon.ico b/public/img/icons/favicon.ico index 3d679d855403e13322f3606709d2438f1732935a..11b4baf17d8f10f1fd5c920a7e6369d4dae40eb8 100644 GIT binary patch literal 93062 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 literal 15086 zcmc(G2YB4Y(YF9QF(d?snt(qrF~z|cOyGq;2oB)|OoG9H4ekwt4eq_ma+BpI$yLQg zmSnl8oZ6{ek#t4v?sTVTCo!yEdFivXPW?{gPoWF7AXdmT;(v%X|VZ z7wM_%*?-{g9Ypg^g1ZQY6a1WD#4W&OT*o+!%WeLDC+35Bx|`rv1P?v@z{tn{^vd|L ze|zVR7e1Qw){B$hd-KJ2{`AW8W5+!H^sr%fjUt=}2XVO#w`CgtuM^K9&+o{mo_O@h z^-E??4D&y*I8z$zU7(4Ibm$Y)oJN`1X_8qe&vP0Q4Mpj3N~0n)IN_qNo9E6A)8Bvl zjaP;bAI9S$$r0mcn*Zs5hrn}XuLUW!HjoFE4 zFvg)iOL`sXyMfA@a+PSZs0QluR4sPB%%q74_Sw667)45^~IK-=AtmxKm=6spw0aLD{o7IzGe*u!u{A3#~8JIW&V5bPcV`ld3jE0=nr zBJl*Ol1|fDE}$VR22DiEnWL@OC=>lY`{biHiT8&Ieu}kV-tT$i<#A)w5&o`?R&^E2 zNTVSd)v6%a<4>S8>JaP^dtncCMd^jjC=OZ&Tfiz5o>`89)5`?#H!Q(GQ#RnR7iYTfahpZ`^4|Cb!H<4)5Fq|?U)L66_=(&QX8fW>1K>xLm{^nsm@qf%1#Jqp@!NlkDlEXrX_db^K z8j|1A*dr(k+k;}_+v@)RO{YC@`~4>T>3H;OC~_R%g|O~X$?N*y_Wc4S>pZh z@9gQ}ci!Rh2+Mm*L24(@yWlnl0}mW$jx~E`JrWB`+a)^_w)7 z_o3eKS0pSN2kE@0A)Px2^PWN6{AUrjU@YRld=3d;jfd=;mqgoSqQSJ7W;W4wl593+ zMbr5dkJe%xYHT{^{yp1f6YspI`CR&EiRI=#|NWb%@?LEwd9NjzDW*MY3ETvu_d=xZ zoPv}M??AEQbtEqN1L77vk67X@&wnM_%`vFg1VB!8Q8S+;_#L8V-2}78AbQSIh?)Bg zVi){gv}GDhi)k|LEUyKy1#d=qoEMy`U^Ew|!fsaSr%#>o7V}2%&-U|(NfTck$7dv; zGxcegV2|}i?zzn{crAq1?PDaZe;bKQUxoCm7ZI~y9HQrqMda+KU^%lET{gO(beAAo z@dhHMKZ%GLzk`Gzg2o{cFb0xY1cVgERgpoZ8E1 zE7e^~mrMNbx#u3fA6SlVm-zmEfbS+g-}#KJkoh7f*cJLCi=o-|85HaPia6puX3>j? zTKGI7=Z}MA?(Y#k>lx&pSts~!)Lllx%0DA)=2KMu^iA-Lz+>Eq*#vW*6>XVD6wkw# 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 literal 22230 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 ZY=Z-W*;Bur4opFISJMDhqy9Mje*ol}@pJ$H diff --git a/src/App.vue b/src/App.vue index 3f994e39..3539c21d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -28,7 +28,9 @@ export default { methods: { async checkAuthenticated() { const res = await qbit.login() - this.$store.commit('LOGIN', res === 'Ok.') + const authenticated = res === 'Ok.' + this.$store.commit('LOGIN', authenticated) + if (!authenticated && this.$router.currentRoute.name !== 'login') this.$router.push('login') } }, computed: { diff --git a/src/assets/styles.scss b/src/assets/styles.scss index 1340d27a..193146b8 100644 --- a/src/assets/styles.scss +++ b/src/assets/styles.scss @@ -1,4 +1,5 @@ @import '~vuetify/src/styles/styles.sass'; +@import '../styles/variables.scss'; @mixin dialog-title { @include theme(v-card) using($material) { @@ -18,58 +19,58 @@ } .sideborder.done { - border-left: 4px solid #3cd1c2; + border-left: 4px solid #{$torrent-done}; } -.sideborder.busy { - border-left: 4px solid #ffaa2c; +.sideborder.downloading { + border-left: 4px solid #{$torrent-downloading}; } .sideborder.fail { - border-left: 4px solid #f83e70; + border-left: 4px solid #{$torrent-fail}; } .sideborder.paused { - border-left: 4px solid #cfd8dc; + border-left: 4px solid #{$torrent-paused}; } .sideborder.queued { - border-left: 4px solid #2e5eaa; + border-left: 4px solid #{$torrent-queued}; } .sideborder.seeding { - border-left: 4px solid #26a69a; + border-left: 4px solid #{$torrent-seeding}; } .sideborder.checking { - border-left: 4px solid #ff7043; + border-left: 4px solid #{$torrent-checking}; } .sideborder.stalled { - border-left: 4px solid #81c784; + border-left: 4px solid #{$torrent-stalled}; } .sideborder.metadata { - border-left: 4px solid #7e57c2; + border-left: 4px solid #{$torrent-metadata}; } .v-chip.done { - background: #3cd1c2 !important; + background: #{$torrent-done} !important; } -.v-chip.busy { - background: #ffaa2c !important; +.v-chip.downloading { + background: #{$torrent-downloading} !important; } .v-chip.fail { - background: #f83e70 !important; + background: #{$torrent-fail}!important; } .v-chip.paused { - background: #cfd8dc !important; + background: #{$torrent-paused} !important; } .v-chip.queued { - background: #2e5eaa !important; + background: #{$torrent-queued} !important; } .v-chip.seeding { - background: #26a69a !important; + background: #{$torrent-seeding} !important; } .v-chip.checking { - background: #ff7043 !important; + background: #{$torrent-checking} !important; } .v-chip.stalled { - background: #81c784 !important; + background: #{$torrent-stalled} !important; } .v-chip.metadata { - background: #7e57c2 !important; + background: #{$torrent-metadata} !important; } .noselect { -webkit-touch-callout: none; /* iOS Safari */ diff --git a/src/components/Modals/AddModal.vue b/src/components/Modals/AddModal.vue index 7957acf1..f1244641 100644 --- a/src/components/Modals/AddModal.vue +++ b/src/components/Modals/AddModal.vue @@ -11,6 +11,7 @@ - - + + + + + + + + @@ -108,6 +120,7 @@ export default { files: [], category: null, directory: '', + autoTMM: true, skip_checking: false, inputRules: [ v => @@ -125,14 +138,11 @@ export default { submit() { if (this.files.length || this.url) { let torrents = [] - let params = { urls: null, autoTMM: true } + let params = { urls: null, autoTMM: this.autoTMM } if (this.files.length) torrents.push(...this.files) if (this.url) params.urls = this.url if (this.category) params.category = this.category - if (this.directory) { - params.savepath = this.directory - params.autoTMM = false - } + if (!this.autoTMM) params.savepath = this.directory if (this.skip_checking) params.skip_checking = this.skip_checking qbit.addTorrents(params, torrents) @@ -142,6 +152,9 @@ export default { this.$store.commit('DELETE_MODAL', this.guid) } }, + categoryChanged() { + if (this.autoTMM) this.directory = this.savepath + }, resetForm() { this.url = null this.files = [] @@ -162,8 +175,8 @@ export default { let savePath = this.getSettings().save_path if (this.category) { savePath += this.category - let category_path = this.getCategories()[this.category].savePath - if (category_path) savePath = category_path + let category = this.getCategories()[this.category] + if (category && category.savePath) savePath = category.savePath } return savePath }, @@ -174,6 +187,7 @@ export default { created() { this.$store.commit('FETCH_SETTINGS') this.$store.commit('FETCH_CATEGORIES') + this.directory = this.savepath } } diff --git a/src/components/Modals/ChangeLocationModal.vue b/src/components/Modals/ChangeLocationModal.vue new file mode 100644 index 00000000..4571e87d --- /dev/null +++ b/src/components/Modals/ChangeLocationModal.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/components/Modals/SettingsModal/SettingsModal.vue b/src/components/Modals/SettingsModal/SettingsModal.vue index b1fc932f..6e82f905 100644 --- a/src/components/Modals/SettingsModal/SettingsModal.vue +++ b/src/components/Modals/SettingsModal/SettingsModal.vue @@ -10,7 +10,7 @@

Settings

- + Downloads BitTorrent WebUI diff --git a/src/components/Modals/SettingsModal/Tabs/VueTorrent.vue b/src/components/Modals/SettingsModal/Tabs/VueTorrent.vue index 15e3a993..764bb918 100644 --- a/src/components/Modals/SettingsModal/Tabs/VueTorrent.vue +++ b/src/components/Modals/SettingsModal/Tabs/VueTorrent.vue @@ -51,6 +51,29 @@ Global Remove/Resume/Pause Buttons + + + + + +

Pagination size:

+
+ + + +

Current Version:

@@ -71,6 +94,11 @@ import { mapState, mapGetters } from 'vuex' export default { name: 'VueTorrent', + data() { + return { + paginationSizes: [5, 15, 30, 50] + } + }, computed: { ...mapState(['webuiSettings']), ...mapGetters(['getAppVersion']), @@ -114,6 +142,22 @@ export default { this.webuiSettings.showGlobalRemoveResumePause = val } }, + denseDashboard: { + get() { + return this.webuiSettings.denseDashboard + }, + set(val) { + this.webuiSettings.denseDashboard = val + } + }, + paginationSize: { + get() { + return this.webuiSettings.paginationSize + }, + set(val) { + this.webuiSettings.paginationSize = val + } + }, version() { return this.getAppVersion() } diff --git a/src/components/Modals/SortModal.vue b/src/components/Modals/SortModal.vue index d6655721..311a8cee 100644 --- a/src/components/Modals/SortModal.vue +++ b/src/components/Modals/SortModal.vue @@ -46,10 +46,10 @@ export default { mixins: [Modal], data() { return { - sortProperty: { value: '', name: 'Default' }, - reverse: false, + sortProperty: { value: 'added_on', name: 'Default' }, + reverse: true, options: [ - { value: 'default', name: 'Default' }, + { value: 'added_on', name: 'Default' }, { value: 'availability', name: 'Availability' }, { value: 'category', name: 'Category' }, { value: 'completed', name: 'Completed' }, diff --git a/src/components/Modals/TagsAndCategories/CreateCategoryDialog.vue b/src/components/Modals/TagsAndCategories/CreateCategoryDialog.vue index 74ef8692..962d31a7 100644 --- a/src/components/Modals/TagsAndCategories/CreateCategoryDialog.vue +++ b/src/components/Modals/TagsAndCategories/CreateCategoryDialog.vue @@ -3,7 +3,7 @@ -

Create New Category

+

{{ hasInitialCategory ? 'Edit' : 'Create New' }} Category

@@ -69,8 +69,7 @@ export default { hasInitialCategory() { return ( this.initialCategory && - this.initialCategory.name && - this.initialCategory.savePath + this.initialCategory.name ) } }, diff --git a/src/components/Modals/TorrentDetailModal/Tabs/Content.vue b/src/components/Modals/TorrentDetailModal/Tabs/Content.vue index f6904506..e1b0897b 100644 --- a/src/components/Modals/TorrentDetailModal/Tabs/Content.vue +++ b/src/components/Modals/TorrentDetailModal/Tabs/Content.vue @@ -3,11 +3,13 @@ + @@ -41,7 +78,8 @@ export default { }, data() { return { - tree: [], + opened: null, + selected: [], treeData: null } }, @@ -56,7 +94,42 @@ export default { methods: { async getTorrentFiles() { const { data } = await qbit.getTorrentFiles(this.hash) + data.forEach((d, i) => { + d.id = i + d.name = d.name.replace('.unwanted/', '') + }) this.treeData = data + }, + async changeFilePriorities(newValue, oldValue) { + if (newValue.length == oldValue.length) return + + const filesToExclude = oldValue.filter(f => !newValue.includes(f)) + .map(name => this.treeData.find(f => f.name === name)) + .filter(f => f.priority !== 0) + .map(f => f.id) + const filesToInclude = newValue.filter(f => !oldValue.includes(f)) + .map(name => this.treeData.find(f => f.name === name)) + .filter(f => f.priority === 0) + .map(f => f.id) + + if (filesToExclude.length) + await qbit.setTorrentFilePriority(this.hash, filesToExclude, 0) + if (filesToInclude.length) + await qbit.setTorrentFilePriority(this.hash, filesToInclude, 1) + if (filesToExclude.length || filesToInclude.length) + await this.getTorrentFiles() + }, + togleEditing(item) { + item.editing = !item.editing + }, + edit(item){ + item.newName = item.name + this.togleEditing(item) + }, + renameFile(item) { + qbit.renameFile(this.hash, item.id, item.newName) + item.name = item.newName + this.togleEditing(item) } }, watch: { @@ -64,10 +137,21 @@ export default { if (active) { this.getTorrentFiles() } + }, + selected(newValue, oldValue) { + this.changeFilePriorities(newValue, oldValue) } }, created() { - this.getTorrentFiles() + this.getTorrentFiles().then(() => { + this.opened = [].concat( + ...this.treeData.map(file => file.name.split('/')) + .filter(f => f.splice(-1, 1))) + .filter((f, index, self) => index === self.indexOf(f) + ) + this.selected = this.treeData.filter(file => file.priority !== 0) + .map(file => file.name) + }) } } diff --git a/src/components/Modals/TorrentDetailModal/Tabs/Info.vue b/src/components/Modals/TorrentDetailModal/Tabs/Info.vue index 24961e86..937bcd54 100644 --- a/src/components/Modals/TorrentDetailModal/Tabs/Info.vue +++ b/src/components/Modals/TorrentDetailModal/Tabs/Info.vue @@ -2,8 +2,8 @@ @@ -13,6 +13,12 @@ {{ torrent.name }} + + Directory + + {{ torrent.savePath }} + + hash @@ -32,13 +38,25 @@ - Download + Uploaded: + + {{ torrent.uploaded }} + + + + Ratio + + {{ torrent.ratio }} + + + + Download Speed {{ torrent.dlspeed }} - Upload + Upload Speed {{ torrent.upspeed }} @@ -68,39 +86,21 @@ - Ratio + Added on - {{ torrent.ratio }}% + {{ torrent.added_on }} - - Tags - - {{ torrent.tags.join(',') }} - - None - Status {{ torrent.state }} - - - - @@ -117,6 +117,9 @@ export default { ...mapGetters(['getTorrent']), torrent() { return this.getTorrent(this.hash) + }, + phoneLayout() { + return this.$vuetify.breakpoint.xsOnly } } } diff --git a/src/components/Modals/TorrentDetailModal/TorrentDetailModal.vue b/src/components/Modals/TorrentDetailModal/TorrentDetailModal.vue index 4a50ad47..bd724b79 100644 --- a/src/components/Modals/TorrentDetailModal/TorrentDetailModal.vue +++ b/src/components/Modals/TorrentDetailModal/TorrentDetailModal.vue @@ -16,7 +16,7 @@

Torrent Detail

- + Info Trackers Peers diff --git a/src/components/Navbar/Navbar.vue b/src/components/Navbar/Navbar.vue index 140640d6..7d8e54de 100644 --- a/src/components/Navbar/Navbar.vue +++ b/src/components/Navbar/Navbar.vue @@ -92,7 +92,7 @@ export default { }, data() { return { - drawer: false + drawer: this.$vuetify.breakpoint.mdAndUp } }, diff --git a/src/components/Navbar/TopActions.vue b/src/components/Navbar/TopActions.vue index 89acb0e5..fd55e510 100644 --- a/src/components/Navbar/TopActions.vue +++ b/src/components/Navbar/TopActions.vue @@ -93,6 +93,7 @@ export default { }, removeTorrents() { qbit.deleteTorrents(this.selected_torrents, false) + this.$store.commit('RESET_SELECTED') }, addModal(name) { this.createModal(name) diff --git a/src/components/Torrent.vue b/src/components/Torrent.vue index 5a140053..e277d02f 100644 --- a/src/components/Torrent.vue +++ b/src/components/Torrent.vue @@ -7,232 +7,129 @@ @click.native="selectTorrent(torrent.hash)" @dblclick.prevent="showInfo(torrent.hash)" > - - - {{ torrent.name }} - + + +
Torrent title
+
{{ torrent.name }}
+
+ +
Size
+
+ {{ torrent.size | getDataValue }} + {{ + torrent.size | getDataUnit + }} +
+
+ +
Done
+ + + {{ torrent.progress }}% + + +
+ +
Ratio
+
+ {{ torrent.ratio }} +
+
+ +
ETA
+
+ {{ torrent.eta }} +
+
+ +
Download
+
+ {{ torrent.dlspeed | getDataValue }} + {{ + torrent.dlspeed | getDataUnit + }} +
+
+ +
Upload
+
+ {{ torrent.upspeed | getDataValue }} + {{ + torrent.upspeed | getDataUnit + }} +
+
+ +
Peers
+
+ {{ torrent.num_leechs }} + /{{ torrent.available_peers }} +
+
+ +
Seeds
+
+ {{ torrent.num_seeds }} + /{{ torrent.available_seeds }} +
+
+ +
Status
+ + {{ torrent.state }} + +
+ + +
Category
+ + {{ torrent.category }} + +
+ + +
Tags
+ + + {{ tag }} + + +
+
diff --git a/src/components/Torrent/TorrentRightClickMenu.vue b/src/components/Torrent/TorrentRightClickMenu.vue index 38fbeb42..27cd40a2 100644 --- a/src/components/Torrent/TorrentRightClickMenu.vue +++ b/src/components/Torrent/TorrentRightClickMenu.vue @@ -20,10 +20,16 @@ > + + folder + Change location + record_voice_over reannounceReannounce @@ -58,6 +64,9 @@ export default { pause() { qbit.pauseTorrents([this.hash]) }, + directory() { + this.createModal('ChangeLocationModal', { hash: this.hash }) + }, reannounce() { qbit.reannounceTorrents([this.hash]) }, diff --git a/src/components/TorrentDense.vue b/src/components/TorrentDense.vue new file mode 100644 index 00000000..1531f4db --- /dev/null +++ b/src/components/TorrentDense.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/src/helpers.js b/src/helpers.js index 2681191e..88013bf8 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -54,7 +54,7 @@ export function treeify(paths) { let level = { result } paths.forEach(path => { - path.name.split('/').reduce((r, name, i, a) => { + path.name.split('/').reduce((r, name) => { if (!r[name]) { r[name] = { result: [] } r.result.push(createFile(path, name, r[name].result)) @@ -81,7 +81,9 @@ export function treeify(paths) { function createFile(data, name, children) { return { + id: data.id, name: name, + fullName: data.name, progress: Math.round(data.progress * 100), size: formatBytes(data.size), icon: getIconForFileType(name.split('.').pop()), @@ -92,6 +94,7 @@ function createFile(data, name, children) { function createFolder(name, children) { return { name: name, + fullName: name, type: 'directory', children: children } diff --git a/src/mixins/Torrent.js b/src/mixins/Torrent.js new file mode 100644 index 00000000..4794b18f --- /dev/null +++ b/src/mixins/Torrent.js @@ -0,0 +1,42 @@ +import {mapGetters} from 'vuex' + +export default { + props: { + torrent: Object, + index: Number, + length: Number + }, + computed: { + ...mapGetters(['getTheme']), + theme() { + return this.getTheme() ? 'dark' : 'light' + }, + state() { + return this.torrent.state.toLowerCase() + }, + style() { + let base = `pa-4 ml-0 sideborder ${this.state} ` + if (this.index === this.length) base += ' bottomBorderRadius' + if (this.index === 0) base += ' topBorderRadius' + return base + }, + phoneLayout() { + return this.$vuetify.breakpoint.xsOnly + } + }, + methods: { + selectTorrent(hash) { + if (this.containsTorrent(hash)) { + this.$store.commit('SET_SELECTED', { type: 'remove', hash }) + } else { + this.$store.commit('SET_SELECTED', { type: 'add', hash }) + } + }, + containsTorrent(hash) { + return this.$store.getters.containsTorrent(hash) + }, + showInfo(hash) { + this.createModal('TorrentDetailModal', { hash }) + } + } +} diff --git a/src/mixins/index.js b/src/mixins/index.js index 4bc54341..6111b45a 100644 --- a/src/mixins/index.js +++ b/src/mixins/index.js @@ -3,5 +3,6 @@ import Modal from './Modal' import SettingsTab from './SettingsTab' import Tab from './Tab' import General from './General' +import Torrent from './Torrent' -export { FullScreenModal, Modal, SettingsTab, Tab, General } +export { FullScreenModal, Modal, SettingsTab, Tab, General, Torrent } diff --git a/src/models/torrent.js b/src/models/torrent.js index b6b630a4..7411ce74 100644 --- a/src/models/torrent.js +++ b/src/models/torrent.js @@ -2,68 +2,127 @@ export default class Torrent { constructor(data) { this.name = data.name this.size = this.formatBytes(data.size) - this.birth = new Date(data.added_on * 1000).toLocaleString() - this.dlspeed = this.formatBytes(data.dlspeed, 1) + this.added_on = new Date(data.added_on * 1000).toLocaleString() + this.dlspeed = this.formatBytes(data.dlspeed, 1) + '/s' this.dloaded = this.formatBytes(data.completed) - this.upspeed = this.formatBytes(data.upspeed, 1) + this.upspeed = this.formatBytes(data.upspeed, 1) + '/s' this.uploaded = this.formatBytes(data.uploaded) - this.eta = data.eta + this.eta = this.formatEta(data.eta) this.num_leechs = data.num_leechs this.num_seeds = data.num_seeds this.path = data.path === undefined ? '/downloads' : data.path - this.state = this.formatState(data.state) + this.state = this.formatState(data) // hash is used to identify this.hash = data.hash // available seeds this.available_seeds = data.num_complete this.available_peers = data.num_incomplete this.savePath = data.save_path - this.progress = data.progress * 100 - this.ratio = Math.round(data.ratio * 100) + this.progress = Math.round(data.progress * 10000) / 100 + this.ratio = Math.round(data.ratio * 100) / 100 this.tags = data.tags.length > 0 ? data.tags.split(',') : null this.category = data.category } - formatState(state) { - switch (state) { + formatState(item) { + if (!item.tracker) return 'Fail' + switch (item.state) { case 'forceDL': case 'downloading': - return 'busy' + return 'Downloading' case 'metaDL': - return 'metadata' + return 'Metadata' case 'forcedUP': case 'uploading': case 'stalledUP': - return 'seeding' + return 'Seeding' case 'pausedDL': - return 'paused' + return 'Paused' case 'pausedUP': - return 'done' + return 'Done' case 'queuedDL': case 'queuedUP': - return 'queued' + return 'Queued' case 'allocating': case 'checkingDL': case 'checkingUP': case 'checkingResumeData': case 'moving': - return 'checking' + return 'Checking' case 'unknown': case 'missingFiles': - return 'fail' + return 'Fail' case 'stalledDL': - return 'stalled' + return 'Stalled' default: - return 'fail' + return 'Fail' } } formatBytes(a, b) { - if (a == 0) return '0 Bytes' + if (a == 0) return '0 B' const c = 1024 const d = b || 2 - const e = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] + const e = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] const f = Math.floor(Math.log(a) / Math.log(c)) return `${parseFloat((a / Math.pow(c, f)).toFixed(d))} ${e[f]}` } + + formatEta(value) { + let options = { dayLimit: 100 } + const minute = 60 + const hour = minute * 60 + const day = hour * 24 + const year = day * 365 + + const durations = [year, day, hour, minute, 1] + const units = 'ydhms' + + let index = 0 + let unitSize = 0 + const parts = [] + + const defaultOptions = { + maxUnitSize: 2, + dayLimit: 0, + minUnit: 0 + } + + const opt = options + ? Object.assign(defaultOptions, options) + : defaultOptions + + if (opt.dayLimit && value >= opt.dayLimit * day) { + return '∞' + } + + while ( + (!opt.maxUnitSize || unitSize !== opt.maxUnitSize) && + index !== durations.length + ) { + const duration = durations[index] + if (value < duration) { + index++ + continue + } else if ( + opt.minUnit && + durations.length - index <= opt.minUnit + ) { + break + } + + const result = Math.floor(value / duration) + parts.push(result + units[index]) + + value %= duration + index++ + unitSize++ + } + + if (!parts.length) { + return '0' + units[durations.length - 1 - opt.minUnit] + } + + return parts.join(' ') + } } diff --git a/src/plugins/vuetify.js b/src/plugins/vuetify.js index 8177c893..29a33019 100644 --- a/src/plugins/vuetify.js +++ b/src/plugins/vuetify.js @@ -3,6 +3,7 @@ import Vuetify from 'vuetify' import 'vuetify/dist/vuetify.min.css' import colors from 'vuetify/lib/util/colors' +import variables from '../styles/variables.scss' Vue.use(Vuetify) @@ -28,7 +29,8 @@ export default new Vuetify({ background: colors.grey.lighten4, search: colors.grey.darken1, torrentmodaltext: colors.grey.darken4, - select: colors.grey.lighten4 + select: colors.grey.lighten4, + ...variables }, dark: { primary: '#35495e', @@ -45,7 +47,8 @@ export default new Vuetify({ background: colors.grey.darken4, search: colors.grey.darken3, torrentmodaltext: colors.grey.lighten4, - select: colors.grey.darken3 + select: colors.grey.darken3, + ...variables } } } diff --git a/src/services/qbit.js b/src/services/qbit.js index 0b505170..52c8ba85 100644 --- a/src/services/qbit.js +++ b/src/services/qbit.js @@ -214,6 +214,16 @@ class Qbit { }) } + renameFile(hash, id, name) { + const params = { + hash, + id, + name + } + const data = new URLSearchParams(params) + return this.axios.post('/torrents/renameFile', data) + } + getAvailableTags() { return this.axios.get('/torrents/tags') } @@ -299,6 +309,7 @@ class Qbit { // End Categories actionTorrents(action, hashes, extra) { + if (action == 'delete' && !hashes.length) return const params = { hashes: hashes.length ? hashes.join('|') : 'all', ...extra diff --git a/src/store/index.js b/src/store/index.js index 8dadb85c..9cc577cb 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -31,8 +31,8 @@ export default new Vuex.Store({ selected_torrents: [], authenticated: false, sort_options: { - sort: 'name', - reverse: false, + sort: 'default', + reverse: true, hashes: [], filter: null }, @@ -46,7 +46,9 @@ export default new Vuex.Store({ showSpeedGraph: true, showSessionStat: true, showCurrentSpeed: true, - showGlobalRemoveResumePause: true + showGlobalRemoveResumePause: true, + denseDashboard: true, + paginationSize: 15 }, categories: [], filteredTorrentsCount: 0 diff --git a/src/store/mutations.js b/src/store/mutations.js index bc328c88..a98c4382 100644 --- a/src/store/mutations.js +++ b/src/store/mutations.js @@ -61,10 +61,10 @@ export default { state.settings = data }, UPDATE_SORT_OPTIONS: (state, payload) => { - state.sort_options.sort = payload.name ? payload.name : null - state.sort_options.reverse = payload.reverse ? payload.reverse : null - state.sort_options.hashes = payload.hashes ? payload.hashes : null - state.sort_options.filter = payload.filter ? payload.filter : null + state.sort_options.sort = payload.name ? payload.name : state.sort_options.sort + state.sort_options.reverse = payload.reverse ? payload.reverse : state.sort_options.reverse + state.sort_options.hashes = payload.hashes ? payload.hashes : state.sort_options.hashes + state.sort_options.filter = payload.filter ? payload.filter : state.sort_options.filter state.sort_options.category = payload.category !== null ? payload.category : null }, diff --git a/src/styles/variables.scss b/src/styles/variables.scss new file mode 100644 index 00000000..96ba91e3 --- /dev/null +++ b/src/styles/variables.scss @@ -0,0 +1,21 @@ +$torrent-done: #3cd1c2; +$torrent-downloading: #ffaa2c; +$torrent-fail: #f83e70; +$torrent-paused: #cfd8dc; +$torrent-queued: #2e5eaa; +$torrent-seeding: #26a69a; +$torrent-checking: #ff7043; +$torrent-stalled: #81c784; +$torrent-metadata: #7e57c2; + +:export { + torrent-done-color: $torrent-done; + torrent-downloading-color: $torrent-downloading; + torrent-fail-color: $torrent-fail; + torrent-paused-color: $torrent-paused; + torrent-queued-color: $torrent-queued; + torrent-seeding-color: $torrent-seeding; + torrent-checking-color: $torrent-checking; + torrent-stalled-color: $torrent-stalled; + torrent-metadata-color: $torrent-metadata; +} \ No newline at end of file diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index ec35dbfd..63aef3ea 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -10,9 +10,9 @@

- @@ -23,6 +23,7 @@ clearable solo color="search" + @click:clear="resetInput()" v-model="input" >
@@ -32,10 +33,10 @@
- +
+ + + + + + +
- + @@ -58,6 +82,7 @@