From 0cf40f6bdf9d61c96fdf3c3a2cf8b718aa32945d Mon Sep 17 00:00:00 2001 From: GyDi Date: Fri, 3 Nov 2023 15:11:23 +0800 Subject: [PATCH] chore: rm --- .editorconfig | 13 - .github/ISSUE_TEMPLATE/bug_report.md | 32 - .github/ISSUE_TEMPLATE/feature_request.md | 20 - .github/workflows/alpha.yml | 93 - .github/workflows/ci.yml | 98 - .github/workflows/compatible.yml | 102 - .github/workflows/meta.yml | 107 - .github/workflows/test.yml | 76 - .github/workflows/updater.yml | 25 - .gitignore | 8 - .husky/pre-commit | 4 - LICENSE | 674 -- README.md | 159 +- UPDATELOG.md | 472 -- docs/color1.png | Bin 29714 -> 0 bytes docs/color2.png | Bin 30894 -> 0 bytes docs/color3.png | Bin 29250 -> 0 bytes docs/color4.png | Bin 29575 -> 0 bytes docs/color5.png | Bin 32468 -> 0 bytes docs/color6.png | Bin 31459 -> 0 bytes docs/demo1.png | Bin 21563 -> 0 bytes docs/demo2.png | Bin 30680 -> 0 bytes docs/demo3.png | Bin 29078 -> 0 bytes docs/demo4.png | Bin 24941 -> 0 bytes docs/demo5.png | Bin 27777 -> 0 bytes docs/demo6.png | Bin 28298 -> 0 bytes package.json | 74 - scripts/aarch.mjs | 119 - scripts/check.mjs | 332 - scripts/portable.mjs | 59 - scripts/publish.mjs | 53 - scripts/updatelog.mjs | 44 - scripts/updater.mjs | 177 - src-tauri/.gitignore | 6 - src-tauri/Cargo.lock | 5658 ----------------- src-tauri/Cargo.toml | 69 - src-tauri/build.rs | 3 - src-tauri/icons/128x128.png | Bin 12013 -> 0 bytes src-tauri/icons/128x128@2x.png | Bin 29192 -> 0 bytes src-tauri/icons/32x32.png | Bin 1890 -> 0 bytes src-tauri/icons/Square107x107Logo.png | Bin 9199 -> 0 bytes src-tauri/icons/Square142x142Logo.png | Bin 13652 -> 0 bytes src-tauri/icons/Square150x150Logo.png | Bin 14766 -> 0 bytes src-tauri/icons/Square284x284Logo.png | Bin 32917 -> 0 bytes src-tauri/icons/Square30x30Logo.png | Bin 1740 -> 0 bytes src-tauri/icons/Square310x310Logo.png | Bin 32963 -> 0 bytes src-tauri/icons/Square44x44Logo.png | Bin 2949 -> 0 bytes src-tauri/icons/Square71x71Logo.png | Bin 5556 -> 0 bytes src-tauri/icons/Square89x89Logo.png | Bin 7478 -> 0 bytes src-tauri/icons/StoreLogo.png | Bin 3500 -> 0 bytes src-tauri/icons/icon-new.icns | Bin 251234 -> 0 bytes src-tauri/icons/icon-shrink.png | Bin 21580 -> 0 bytes src-tauri/icons/icon.icns | Bin 456833 -> 0 bytes src-tauri/icons/icon.ico | Bin 33500 -> 0 bytes src-tauri/icons/icon.png | Bin 66867 -> 0 bytes src-tauri/icons/tray-icon.ico | Bin 4286 -> 0 bytes src-tauri/icons/tray-icon.png | Bin 12013 -> 0 bytes src-tauri/icons/win-tray-icon-activated.png | Bin 1350 -> 0 bytes src-tauri/icons/win-tray-icon.png | Bin 1538 -> 0 bytes src-tauri/rustfmt.toml | 14 - src-tauri/src/cmds.rs | 280 - src-tauri/src/config/clash.rs | 262 - src-tauri/src/config/config.rs | 103 - src-tauri/src/config/draft.rs | 127 - src-tauri/src/config/mod.rs | 15 - src-tauri/src/config/prfitem.rs | 374 -- src-tauri/src/config/profiles.rs | 280 - src-tauri/src/config/runtime.rs | 31 - src-tauri/src/config/verge.rs | 224 - src-tauri/src/core/clash_api.rs | 141 - src-tauri/src/core/core.rs | 325 - src-tauri/src/core/handle.rs | 77 - src-tauri/src/core/hotkey.rs | 181 - src-tauri/src/core/logger.rs | 36 - src-tauri/src/core/manager.rs | 82 - src-tauri/src/core/mod.rs | 12 - src-tauri/src/core/sysopt.rs | 304 - src-tauri/src/core/timer.rs | 184 - src-tauri/src/core/tray.rs | 175 - src-tauri/src/core/win_service.rs | 178 - src-tauri/src/enhance/builtin/meta_guard.js | 6 - src-tauri/src/enhance/builtin/meta_hy_alpn.js | 10 - src-tauri/src/enhance/chain.rs | 89 - src-tauri/src/enhance/field.rs | 155 - src-tauri/src/enhance/merge.rs | 92 - src-tauri/src/enhance/mod.rs | 126 - src-tauri/src/enhance/script.rs | 94 - src-tauri/src/enhance/tun.rs | 81 - src-tauri/src/feat.rs | 341 - src-tauri/src/main.rs | 142 - src-tauri/src/utils/dirs.rs | 159 - src-tauri/src/utils/help.rs | 172 - src-tauri/src/utils/init.rs | 243 - src-tauri/src/utils/mod.rs | 7 - src-tauri/src/utils/resolve.rs | 179 - src-tauri/src/utils/server.rs | 44 - src-tauri/src/utils/tmpl.rs | 36 - src-tauri/src/utils/winhelp.rs | 69 - src-tauri/tauri.conf.json | 81 - src/assets/image/logo-box.png | Bin 58087 -> 0 bytes src/assets/image/logo.ico | Bin 33500 -> 0 bytes src/assets/image/logo.png | Bin 61799 -> 0 bytes src/assets/image/logo.svg | 18 - src/assets/styles/index.scss | 50 - src/assets/styles/layout.scss | 117 - src/assets/styles/page.scss | 35 - src/components/base/base-dialog.tsx | 67 - src/components/base/base-empty.tsx | 29 - src/components/base/base-error-boundary.tsx | 29 - src/components/base/base-loading.tsx | 48 - src/components/base/base-notice.tsx | 94 - src/components/base/base-page.tsx | 34 - src/components/base/index.ts | 6 - .../connection/connection-detail.tsx | 104 - src/components/connection/connection-item.tsx | 75 - .../connection/connection-table.tsx | 110 - src/components/layout/layout-control.tsx | 39 - src/components/layout/layout-item.tsx | 42 - src/components/layout/layout-traffic.tsx | 136 - src/components/layout/traffic-graph.tsx | 195 - src/components/layout/update-button.tsx | 40 - src/components/layout/use-custom-theme.ts | 124 - src/components/layout/use-log-setup.ts | 39 - src/components/log/log-item.tsx | 58 - src/components/profile/editor-viewer.tsx | 94 - src/components/profile/file-input.tsx | 61 - src/components/profile/log-viewer.tsx | 69 - src/components/profile/profile-box.tsx | 44 - src/components/profile/profile-item.tsx | 341 - src/components/profile/profile-more.tsx | 243 - src/components/profile/profile-viewer.tsx | 279 - src/components/proxy/provider-button.tsx | 86 - src/components/proxy/proxy-groups.tsx | 135 - src/components/proxy/proxy-head.tsx | 162 - src/components/proxy/proxy-item-mini.tsx | 181 - src/components/proxy/proxy-item.tsx | 170 - src/components/proxy/proxy-render.tsx | 159 - src/components/proxy/use-filter-sort.ts | 125 - src/components/proxy/use-head-state.ts | 81 - src/components/proxy/use-render-list.ts | 141 - src/components/proxy/use-window-width.ts | 16 - src/components/rule/rule-item.tsx | 72 - .../setting/mods/clash-core-viewer.tsx | 132 - .../setting/mods/clash-field-viewer.tsx | 123 - .../setting/mods/clash-port-viewer.tsx | 65 - src/components/setting/mods/config-viewer.tsx | 76 - .../setting/mods/controller-viewer.tsx | 74 - src/components/setting/mods/guard-state.tsx | 85 - src/components/setting/mods/hotkey-input.tsx | 107 - src/components/setting/mods/hotkey-viewer.tsx | 106 - src/components/setting/mods/layout-viewer.tsx | 80 - src/components/setting/mods/misc-viewer.tsx | 199 - .../setting/mods/service-viewer.tsx | 123 - src/components/setting/mods/setting-comp.tsx | 48 - .../setting/mods/sysproxy-viewer.tsx | 173 - .../setting/mods/theme-mode-switch.tsx | 31 - src/components/setting/mods/theme-viewer.tsx | 136 - src/components/setting/mods/update-viewer.tsx | 70 - src/components/setting/mods/web-ui-item.tsx | 130 - src/components/setting/mods/web-ui-viewer.tsx | 137 - src/components/setting/setting-clash.tsx | 169 - src/components/setting/setting-system.tsx | 163 - src/components/setting/setting-verge.tsx | 202 - src/hooks/use-clash.ts | 83 - src/hooks/use-profiles.ts | 74 - src/hooks/use-verge.ts | 20 - src/hooks/use-visibility.ts | 27 - src/hooks/use-websocket.ts | 53 - src/index.html | 38 - src/locales/en.json | 135 - src/locales/ru.json | 111 - src/locales/zh.json | 135 - src/main.tsx | 37 - src/pages/_layout.tsx | 161 - src/pages/_routers.tsx | 39 - src/pages/_theme.tsx | 19 - src/pages/connections.tsx | 218 - src/pages/logs.tsx | 129 - src/pages/profiles.tsx | 334 - src/pages/proxies.tsx | 90 - src/pages/rules.tsx | 65 - src/pages/settings.tsx | 51 - src/services/api.ts | 193 - src/services/cmds.ts | 180 - src/services/delay.ts | 127 - src/services/i18n.ts | 19 - src/services/states.ts | 73 - src/services/types.d.ts | 263 - src/utils/clash-fields.ts | 52 - src/utils/get-system.ts | 14 - src/utils/ignore-case.ts | 14 - src/utils/noop.ts | 1 - src/utils/parse-hotkey.ts | 48 - src/utils/parse-traffic.ts | 14 - src/utils/truncate-str.ts | 6 - tsconfig.json | 25 - vite.config.ts | 30 - yarn.lock | 2348 ------- 198 files changed, 1 insertion(+), 25610 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .github/workflows/alpha.yml delete mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/compatible.yml delete mode 100644 .github/workflows/meta.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/updater.yml delete mode 100644 .gitignore delete mode 100755 .husky/pre-commit delete mode 100644 LICENSE delete mode 100644 UPDATELOG.md delete mode 100644 docs/color1.png delete mode 100644 docs/color2.png delete mode 100644 docs/color3.png delete mode 100644 docs/color4.png delete mode 100644 docs/color5.png delete mode 100644 docs/color6.png delete mode 100644 docs/demo1.png delete mode 100644 docs/demo2.png delete mode 100644 docs/demo3.png delete mode 100644 docs/demo4.png delete mode 100644 docs/demo5.png delete mode 100644 docs/demo6.png delete mode 100644 package.json delete mode 100644 scripts/aarch.mjs delete mode 100644 scripts/check.mjs delete mode 100644 scripts/portable.mjs delete mode 100644 scripts/publish.mjs delete mode 100644 scripts/updatelog.mjs delete mode 100644 scripts/updater.mjs delete mode 100644 src-tauri/.gitignore delete mode 100644 src-tauri/Cargo.lock delete mode 100644 src-tauri/Cargo.toml delete mode 100644 src-tauri/build.rs delete mode 100644 src-tauri/icons/128x128.png delete mode 100644 src-tauri/icons/128x128@2x.png delete mode 100644 src-tauri/icons/32x32.png delete mode 100644 src-tauri/icons/Square107x107Logo.png delete mode 100644 src-tauri/icons/Square142x142Logo.png delete mode 100644 src-tauri/icons/Square150x150Logo.png delete mode 100644 src-tauri/icons/Square284x284Logo.png delete mode 100644 src-tauri/icons/Square30x30Logo.png delete mode 100644 src-tauri/icons/Square310x310Logo.png delete mode 100644 src-tauri/icons/Square44x44Logo.png delete mode 100644 src-tauri/icons/Square71x71Logo.png delete mode 100644 src-tauri/icons/Square89x89Logo.png delete mode 100644 src-tauri/icons/StoreLogo.png delete mode 100644 src-tauri/icons/icon-new.icns delete mode 100644 src-tauri/icons/icon-shrink.png delete mode 100644 src-tauri/icons/icon.icns delete mode 100644 src-tauri/icons/icon.ico delete mode 100644 src-tauri/icons/icon.png delete mode 100644 src-tauri/icons/tray-icon.ico delete mode 100644 src-tauri/icons/tray-icon.png delete mode 100644 src-tauri/icons/win-tray-icon-activated.png delete mode 100644 src-tauri/icons/win-tray-icon.png delete mode 100644 src-tauri/rustfmt.toml delete mode 100644 src-tauri/src/cmds.rs delete mode 100644 src-tauri/src/config/clash.rs delete mode 100644 src-tauri/src/config/config.rs delete mode 100644 src-tauri/src/config/draft.rs delete mode 100644 src-tauri/src/config/mod.rs delete mode 100644 src-tauri/src/config/prfitem.rs delete mode 100644 src-tauri/src/config/profiles.rs delete mode 100644 src-tauri/src/config/runtime.rs delete mode 100644 src-tauri/src/config/verge.rs delete mode 100644 src-tauri/src/core/clash_api.rs delete mode 100644 src-tauri/src/core/core.rs delete mode 100644 src-tauri/src/core/handle.rs delete mode 100644 src-tauri/src/core/hotkey.rs delete mode 100644 src-tauri/src/core/logger.rs delete mode 100644 src-tauri/src/core/manager.rs delete mode 100644 src-tauri/src/core/mod.rs delete mode 100644 src-tauri/src/core/sysopt.rs delete mode 100644 src-tauri/src/core/timer.rs delete mode 100644 src-tauri/src/core/tray.rs delete mode 100644 src-tauri/src/core/win_service.rs delete mode 100644 src-tauri/src/enhance/builtin/meta_guard.js delete mode 100644 src-tauri/src/enhance/builtin/meta_hy_alpn.js delete mode 100644 src-tauri/src/enhance/chain.rs delete mode 100644 src-tauri/src/enhance/field.rs delete mode 100644 src-tauri/src/enhance/merge.rs delete mode 100644 src-tauri/src/enhance/mod.rs delete mode 100644 src-tauri/src/enhance/script.rs delete mode 100644 src-tauri/src/enhance/tun.rs delete mode 100644 src-tauri/src/feat.rs delete mode 100644 src-tauri/src/main.rs delete mode 100644 src-tauri/src/utils/dirs.rs delete mode 100644 src-tauri/src/utils/help.rs delete mode 100644 src-tauri/src/utils/init.rs delete mode 100644 src-tauri/src/utils/mod.rs delete mode 100644 src-tauri/src/utils/resolve.rs delete mode 100644 src-tauri/src/utils/server.rs delete mode 100644 src-tauri/src/utils/tmpl.rs delete mode 100644 src-tauri/src/utils/winhelp.rs delete mode 100644 src-tauri/tauri.conf.json delete mode 100644 src/assets/image/logo-box.png delete mode 100644 src/assets/image/logo.ico delete mode 100644 src/assets/image/logo.png delete mode 100644 src/assets/image/logo.svg delete mode 100644 src/assets/styles/index.scss delete mode 100644 src/assets/styles/layout.scss delete mode 100644 src/assets/styles/page.scss delete mode 100644 src/components/base/base-dialog.tsx delete mode 100644 src/components/base/base-empty.tsx delete mode 100644 src/components/base/base-error-boundary.tsx delete mode 100644 src/components/base/base-loading.tsx delete mode 100644 src/components/base/base-notice.tsx delete mode 100644 src/components/base/base-page.tsx delete mode 100644 src/components/base/index.ts delete mode 100644 src/components/connection/connection-detail.tsx delete mode 100644 src/components/connection/connection-item.tsx delete mode 100644 src/components/connection/connection-table.tsx delete mode 100644 src/components/layout/layout-control.tsx delete mode 100644 src/components/layout/layout-item.tsx delete mode 100644 src/components/layout/layout-traffic.tsx delete mode 100644 src/components/layout/traffic-graph.tsx delete mode 100644 src/components/layout/update-button.tsx delete mode 100644 src/components/layout/use-custom-theme.ts delete mode 100644 src/components/layout/use-log-setup.ts delete mode 100644 src/components/log/log-item.tsx delete mode 100644 src/components/profile/editor-viewer.tsx delete mode 100644 src/components/profile/file-input.tsx delete mode 100644 src/components/profile/log-viewer.tsx delete mode 100644 src/components/profile/profile-box.tsx delete mode 100644 src/components/profile/profile-item.tsx delete mode 100644 src/components/profile/profile-more.tsx delete mode 100644 src/components/profile/profile-viewer.tsx delete mode 100644 src/components/proxy/provider-button.tsx delete mode 100644 src/components/proxy/proxy-groups.tsx delete mode 100644 src/components/proxy/proxy-head.tsx delete mode 100644 src/components/proxy/proxy-item-mini.tsx delete mode 100644 src/components/proxy/proxy-item.tsx delete mode 100644 src/components/proxy/proxy-render.tsx delete mode 100644 src/components/proxy/use-filter-sort.ts delete mode 100644 src/components/proxy/use-head-state.ts delete mode 100644 src/components/proxy/use-render-list.ts delete mode 100644 src/components/proxy/use-window-width.ts delete mode 100644 src/components/rule/rule-item.tsx delete mode 100644 src/components/setting/mods/clash-core-viewer.tsx delete mode 100644 src/components/setting/mods/clash-field-viewer.tsx delete mode 100644 src/components/setting/mods/clash-port-viewer.tsx delete mode 100644 src/components/setting/mods/config-viewer.tsx delete mode 100644 src/components/setting/mods/controller-viewer.tsx delete mode 100644 src/components/setting/mods/guard-state.tsx delete mode 100644 src/components/setting/mods/hotkey-input.tsx delete mode 100644 src/components/setting/mods/hotkey-viewer.tsx delete mode 100644 src/components/setting/mods/layout-viewer.tsx delete mode 100644 src/components/setting/mods/misc-viewer.tsx delete mode 100644 src/components/setting/mods/service-viewer.tsx delete mode 100644 src/components/setting/mods/setting-comp.tsx delete mode 100644 src/components/setting/mods/sysproxy-viewer.tsx delete mode 100644 src/components/setting/mods/theme-mode-switch.tsx delete mode 100644 src/components/setting/mods/theme-viewer.tsx delete mode 100644 src/components/setting/mods/update-viewer.tsx delete mode 100644 src/components/setting/mods/web-ui-item.tsx delete mode 100644 src/components/setting/mods/web-ui-viewer.tsx delete mode 100644 src/components/setting/setting-clash.tsx delete mode 100644 src/components/setting/setting-system.tsx delete mode 100644 src/components/setting/setting-verge.tsx delete mode 100644 src/hooks/use-clash.ts delete mode 100644 src/hooks/use-profiles.ts delete mode 100644 src/hooks/use-verge.ts delete mode 100644 src/hooks/use-visibility.ts delete mode 100644 src/hooks/use-websocket.ts delete mode 100644 src/index.html delete mode 100644 src/locales/en.json delete mode 100644 src/locales/ru.json delete mode 100644 src/locales/zh.json delete mode 100644 src/main.tsx delete mode 100644 src/pages/_layout.tsx delete mode 100644 src/pages/_routers.tsx delete mode 100644 src/pages/_theme.tsx delete mode 100644 src/pages/connections.tsx delete mode 100644 src/pages/logs.tsx delete mode 100644 src/pages/profiles.tsx delete mode 100644 src/pages/proxies.tsx delete mode 100644 src/pages/rules.tsx delete mode 100644 src/pages/settings.tsx delete mode 100644 src/services/api.ts delete mode 100644 src/services/cmds.ts delete mode 100644 src/services/delay.ts delete mode 100644 src/services/i18n.ts delete mode 100644 src/services/states.ts delete mode 100644 src/services/types.d.ts delete mode 100644 src/utils/clash-fields.ts delete mode 100644 src/utils/get-system.ts delete mode 100644 src/utils/ignore-case.ts delete mode 100644 src/utils/noop.ts delete mode 100644 src/utils/parse-hotkey.ts delete mode 100644 src/utils/parse-traffic.ts delete mode 100644 src/utils/truncate-str.ts delete mode 100644 tsconfig.json delete mode 100644 vite.config.ts delete mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 8e94654..0000000 --- a/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_size = 2 -insert_final_newline = true - -[*.rs] -charset = utf-8 -end_of_line = lf -indent_size = 4 -insert_final_newline = true diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 6749373..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "[BUG]" -labels: bug -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Information** - - OS: [e.g. macOS] - - Clash Verge Version: [e.g. 1.3.4] - - Clash Core: [e.g. Clash or Clash Meta] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 6269982..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "[Feature]" -labels: enhancement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml deleted file mode 100644 index 91eeb6c..0000000 --- a/.github/workflows/alpha.yml +++ /dev/null @@ -1,93 +0,0 @@ -name: Alpha CI - -on: - workflow_dispatch: - inputs: - debug: - type: boolean - default: false - -env: - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: short - -jobs: - release: - strategy: - fail-fast: false - matrix: - os: [windows-latest, ubuntu-20.04, macos-latest] - runs-on: ${{ matrix.os }} - if: startsWith(github.repository, 'zzzgydi') - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable - - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - workspaces: src-tauri - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "16" - cache: "yarn" - - - name: Delete current release assets - if: startsWith(matrix.os, 'ubuntu-') - uses: mknejp/delete-release-assets@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - tag: alpha - fail-if-no-assets: false - fail-if-no-release: false - assets: | - *.zip - *.gz - *.AppImage - *.deb - *.dmg - *.msi - *.sig - *.exe - - - name: Install Dependencies (ubuntu only) - if: startsWith(matrix.os, 'ubuntu-') - run: | - sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl - - - name: Yarn install and check - run: | - yarn install --network-timeout 1000000 --frozen-lockfile - yarn run check - - - name: Tauri build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - with: - tagName: alpha - releaseName: "Clash Verge Alpha" - releaseBody: "Alpha Version (include debug)" - releaseDraft: false - prerelease: true - includeDebug: ${{ github.event.inputs.debug }} - - - name: Portable Bundle - if: startsWith(matrix.os, 'windows-') - run: | - yarn build - yarn run portable - env: - TAG_NAME: alpha - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - VITE_WIN_PORTABLE: 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 1fce34f..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,98 +0,0 @@ -name: Release CI - -on: - workflow_dispatch: - push: - tags: - - v** - -env: - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: short - -jobs: - release: - strategy: - matrix: - os: [windows-latest, ubuntu-latest, macos-latest] - runs-on: ${{ matrix.os }} - if: startsWith(github.repository, 'zzzgydi') - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable - - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - workspaces: src-tauri - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "16" - cache: "yarn" - - - name: Install Dependencies (ubuntu only) - if: startsWith(matrix.os, 'ubuntu-') - run: | - sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl - - - name: Yarn install and check - run: | - yarn install --network-timeout 1000000 --frozen-lockfile - yarn run check - - - name: Tauri build - uses: tauri-apps/tauri-action@v0 - # enable cache even though failed - # continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - with: - tagName: v__VERSION__ - releaseName: "Clash Verge v__VERSION__" - releaseBody: "More new features are now supported." - releaseDraft: false - prerelease: true - - - name: Portable Bundle - if: startsWith(matrix.os, 'windows-') - # rebuild with env settings - run: | - yarn build - yarn run portable - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - VITE_WIN_PORTABLE: 1 - - release-update: - needs: release - runs-on: ubuntu-latest - if: | - startsWith(github.repository, 'zzzgydi') && - startsWith(github.ref, 'refs/tags/v') - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "16" - cache: "yarn" - - - name: Yarn install - run: yarn install --network-timeout 1000000 --frozen-lockfile - - - name: Release updater file - run: yarn run updater - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/compatible.yml b/.github/workflows/compatible.yml deleted file mode 100644 index abbbbb6..0000000 --- a/.github/workflows/compatible.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: Compatible CI - -on: - workflow_dispatch: - # push: - # tags: - # - v** - -env: - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: short - -jobs: - build: - strategy: - fail-fast: false - matrix: - targets: - - tag: macOS-10.15 - os: macos-10.15 - - tag: Ubuntu18 - os: ubuntu-18.04 - - tag: Ubuntu22 - os: ubuntu-22.04 - - runs-on: ${{ matrix.targets.os }} - if: startsWith(github.repository, 'zzzgydi') - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - workspaces: src-tauri - - - name: Install Node - uses: actions/setup-node@v1 - with: - node-version: 16 - - # - name: Install Dependencies (ubuntu18 only) - # if: matrix.targets.os == 'ubuntu-18.04' - # run: | - # sudo apt-get update - # sudo apt-get install -y libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev libayatana-appindicator3-dev - - - name: Install Dependencies (ubuntu22 only) - if: startsWith(matrix.targets.os, 'ubuntu-') - run: | - sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf - - - name: Get yarn cache dir path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Yarn Cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Yarn install and check - run: | - yarn install --network-timeout 1000000 - yarn run check - - - name: Tauri build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - with: - tagName: ${{ matrix.targets.tag }} - releaseName: "Compatible For ${{ matrix.targets.tag }}" - releaseBody: "More new features are now supported." - releaseDraft: false - prerelease: false - - # - name: Portable Bundle - # if: matrix.os == 'windows-latest' - # # rebuild with env settings - # run: | - # yarn build - # yarn run portable - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - # TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - # VITE_WIN_PORTABLE: 1 diff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml deleted file mode 100644 index a26d9f0..0000000 --- a/.github/workflows/meta.yml +++ /dev/null @@ -1,107 +0,0 @@ -name: Meta CI - -on: - workflow_dispatch: - push: - tags: - - v** - -env: - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: short - -jobs: - release: - strategy: - fail-fast: false - matrix: - os: [windows-latest, ubuntu-latest, macos-latest] - runs-on: ${{ matrix.os }} - if: startsWith(github.repository, 'zzzgydi') - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - workspaces: src-tauri - - - name: Install Node - uses: actions/setup-node@v1 - with: - node-version: 16 - - - name: Delete current release assets - if: matrix.os == 'ubuntu-latest' - uses: mknejp/delete-release-assets@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - tag: meta - fail-if-no-assets: false - fail-if-no-release: false - assets: | - *.zip - *.gz - *.AppImage - *.deb - *.dmg - *.msi - *.sig - - - name: Install Dependencies (ubuntu only) - if: startsWith(matrix.os, 'ubuntu-') - run: | - sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl - - - name: Get yarn cache dir path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Yarn Cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Yarn install and check - run: | - yarn install --network-timeout 1000000 - yarn run check - - - name: Tauri build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - with: - tagName: meta - releaseName: "Clash Verge Meta" - releaseBody: "" - releaseDraft: false - prerelease: true - args: -f default-meta - - - name: Portable Bundle - if: matrix.os == 'windows-latest' - run: | - yarn build -f default-meta - yarn run portable - env: - TAG_NAME: meta - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - VITE_WIN_PORTABLE: 1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 3576f5c..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Test CI - -on: - workflow_dispatch: - inputs: - os: - description: "Runs on OS" - required: true - default: windows-latest - type: choice - options: - - windows-latest - - ubuntu-latest - - macos-latest - - ubuntu-18.04 - - ubuntu-20.04 - - ubuntu-22.04 - - macos-10.15 - - macos-11 - - macos-12 - - windows-2019 - - windows-2022 - -env: - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: short - -jobs: - release: - runs-on: ${{ github.event.inputs.os }} - if: startsWith(github.repository, 'zzzgydi') - steps: - - name: System Version - run: | - echo ${{ github.event.inputs.os }} - - - name: Checkout repository - uses: actions/checkout@v4 - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable - - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - workspaces: src-tauri - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "16" - cache: "yarn" - - - name: Install Dependencies (ubuntu only) - if: startsWith(github.event.inputs.os, 'ubuntu-') - run: | - sudo apt-get update - sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - - - name: Yarn install and check - run: | - yarn install --network-timeout 1000000 --frozen-lockfile - yarn run check - - - name: Tauri build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - with: - tagName: alpha - releaseName: "Clash Verge Alpha" - releaseBody: "Alpha Version (include debug)" - releaseDraft: false - includeUpdaterJson: false diff --git a/.github/workflows/updater.yml b/.github/workflows/updater.yml deleted file mode 100644 index 7c21078..0000000 --- a/.github/workflows/updater.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Updater CI - -on: workflow_dispatch - -jobs: - release-update: - runs-on: ubuntu-latest - if: startsWith(github.repository, 'zzzgydi') - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: "16" - cache: "yarn" - - - name: Yarn install - run: yarn install --network-timeout 1000000 --frozen-lockfile - - - name: Release updater file - run: yarn run updater - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c9e2fb9..0000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.DS_Store -dist -dist-ssr -*.local -update.json -scripts/_env.sh -.vscode diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index f3a6796..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn pretty-quick --staged diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f288702..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md index d78bc47..4c3e5e5 100644 --- a/README.md +++ b/README.md @@ -1,158 +1 @@ -

- Clash -
- Clash Verge -
-

- -

-A Clash GUI based on tauri. -

- -## Features - -- Full `clash` config supported, Partial `clash premium` config supported. -- Profiles management and enhancement (by yaml and Javascript). [Doc](https://github.com/zzzgydi/clash-verge/wiki/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97) -- Simple UI and supports custom theme color. -- Built-in support [Clash.Meta](https://github.com/MetaCubeX/Clash.Meta) core. -- System proxy setting and guard. - -## Promotion - -[狗狗加速 —— 技术流机场 Doggygo VPN](https://dg1.top) - -- High-performance overseas VPN, free trial, discounted packages, unlock streaming media, the world's first to support Hysteria protocol. -- 高性能海外机场,免费试用,优惠套餐,解锁流媒体,全球首家支持 Hysteria 协议。 -- 使用 Clash Verge 专属邀请链接注册送 15 天,每天 1G 流量免费试用:https://panel.dg1.top/#/register?code=sFCDayZf - -
-Promotion Detail - -- Clash Verge 专属 8 折优惠码: verge20 (仅有 500 份) -- 优惠套餐每月仅需 15.8 元,160G 流量,年付 8 折 -- 海外团队,无跑路风险,高达 50% 返佣 -- 集群负载均衡设计,高速专线(兼容老客户端),极低延迟,无视晚高峰,4K 秒开 -- 全球首家 Hysteria 协议机场,将在今年 10 月上线更快的 `tuic` 协议(Clash Verge 客户端最佳搭配) -- 解锁流媒体及 ChatGPT -- 官网:https://dg1.top - -
- -
- -[EEVPN —— 海外运营机场 ※ 支持 ChatGPT](https://www.eejsq.net/#/register?code=yRr6qBO3) - -- 年付低至 9.99 元,价格低,速度不减 - -
-Promotion Detail - -- 中国大陆 BGP 网络接入 -- IEPL 专线网络 -- 最高 2500Mbps 速率可用 -- 不限制在线客户端 -- 解锁流媒体及 ChatGPT -- 海外运营 数据安全 - -
- -## Install - -Download from [release](https://github.com/zzzgydi/clash-verge/releases). Supports Windows x64, Linux x86_64 and macOS 11+ - -- [Windows x64](https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/Clash.Verge_1.3.8_x64_en-US.msi) -- [macOS intel](https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/Clash.Verge_1.3.8_x64.dmg) -- [macOS arm](https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/Clash.Verge_1.3.8_aarch64.dmg) -- [Linux AppImage](https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/clash-verge_1.3.8_amd64.AppImage) -- [Linux deb](https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/clash-verge_1.3.8_amd64.deb) -- [Fedora Linux](https://github.com/zzzgydi/clash-verge/issues/352) - -Or you can build it yourself. Supports Windows, Linux and macOS 10.15+ - -Notes: If you could not start the app on Windows, please check that you have [Webview2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section) installed. - -### FAQ - -#### 1. **macOS** "Clash Verge" is damaged and can't be opened - -open the terminal and run `sudo xattr -r -d com.apple.quarantine /Applications/Clash\ Verge.app` - -## Development - -You should install Rust and Nodejs, see [here](https://tauri.app/v1/guides/getting-started/prerequisites) for more details. Then install Nodejs packages. - -```shell -yarn install -``` - -Then download the clash binary... Or you can download it from [clash premium release](https://github.com/Dreamacro/clash/releases/tag/premium) and rename it according to [tauri config](https://tauri.studio/docs/api/config/#tauri.bundle.externalBin). - -```shell -# force update to latest version -# yarn run check --force - -yarn run check -``` - -Then run - -```shell -yarn dev - -# run it in another way if app instance exists -yarn dev:diff -``` - -Or you can build it - -```shell -yarn build -``` - -## Todos - -> This keng is a little big... - -## Screenshots - -
- demo1 - demo2 - demo3 - demo4 - demo5 - demo6 -
- -### Custom Theme - -
- demo1 - demo2 - demo3 - demo4 - demo5 - demo6 -
- -## Disclaimer - -This is a learning project for Rust practice. - -## Contributions - -Issue and PR welcome! - -## Acknowledgement - -Clash Verge was based on or inspired by these projects and so on: - -- [tauri-apps/tauri](https://github.com/tauri-apps/tauri): Build smaller, faster, and more secure desktop applications with a web frontend. -- [Dreamacro/clash](https://github.com/Dreamacro/clash): A rule-based tunnel in Go. -- [MetaCubeX/Clash.Meta](https://github.com/MetaCubeX/Clash.Meta): A rule-based tunnel in Go. -- [Fndroid/clash_for_windows_pkg](https://github.com/Fndroid/clash_for_windows_pkg): A Windows/macOS GUI based on Clash. -- [vitejs/vite](https://github.com/vitejs/vite): Next generation frontend tooling. It's fast! - -## License - -GPL-3.0 License. See [License here](./LICENSE) for details. +Removed diff --git a/UPDATELOG.md b/UPDATELOG.md deleted file mode 100644 index a08a86e..0000000 --- a/UPDATELOG.md +++ /dev/null @@ -1,472 +0,0 @@ -## v1.3.8 - -### Features - -- update clash meta core -- add default valid keys -- adjust the delay display interval and color - -### Bug Fixes - -- fix connections page undefined exception - ---- - -## v1.3.7 - -### Features - -- update clash and clash meta core -- profiles page add paste button -- subscriptions url textfield use multi lines -- set min window size -- add check for updates buttons -- add open dashboard to the hotkey list - -### Bug Fixes - -- fix profiles page undefined exception - ---- - -## v1.3.6 - -### Features - -- add russian translation -- support to show connection detail -- support clash meta memory usage display -- support proxy provider update ui -- update geo data file from meta repo -- adjust setting page - -### Bug Fixes - -- center the window when it is out of screen -- use `sudo` when `pkexec` not found (Linux) -- reconnect websocket when window focus - -### Notes - -- The current version of the Linux installation package is built by Ubuntu 20.04 (Github Action). - ---- - -## v1.3.5 - -### Features - -- update clash core - -### Bug Fixes - -- fix blurry system tray icon (Windows) -- fix v1.3.4 wintun.dll not found (Windows) -- fix v1.3.4 clash core not found (macOS, Linux) - ---- - -## v1.3.4 - -### Features - -- update clash and clash meta core -- optimize traffic graph high CPU usage when window hidden -- use polkit to elevate permission (Linux) -- support app log level setting -- support copy environment variable -- overwrite resource file according to file modified -- save window size and position - -### Bug Fixes - -- remove fallback group select status -- enable context menu on editable element (Windows) - ---- - -## v1.3.3 - -### Features - -- update clash and clash meta core -- show tray icon variants in different system proxy status (Windows) -- close all connections when mode changed - -### Bug Fixes - -- encode controller secret into uri -- error boundary for each page - ---- - -## v1.3.2 - -### Features - -- update clash and clash meta core - -### Bug Fixes - -- fix import url issue -- fix profile undefined issue - ---- - -## v1.3.1 - -### Features - -- update clash and clash meta core - -### Bug Fixes - -- fix open url issue -- fix appimage path panic -- fix grant root permission in macOS -- fix linux system proxy default bypass - ---- - -## v1.3.0 - -### Features - -- update clash and clash meta -- support opening dir on tray -- support updating all profiles with one click -- support granting root permission to clash core(Linux, macOS) -- support enable/disable clash fields filter, feel free to experience the latest features of Clash Meta - -### Bug Fixes - -- deb add openssl depend(Linux) -- fix the AppImage auto launch path(Linux) -- fix get the default network service(macOS) -- remove the esc key listener in macOS, cmd+w instead(macOS) -- fix infinite retry when websocket error - ---- - -## v1.2.3 - -### Features - -- update clash -- adjust macOS window style -- profile supports UTF8 with BOM - -### Bug Fixes - -- fix selected proxy -- fix error log - ---- - -## v1.2.2 - -### Features - -- update clash meta -- recover clash core after panic -- use system window decorations(Linux) - -### Bug Fixes - -- flush system proxy settings(Windows) -- fix parse log panic -- fix ui bug - ---- - -## v1.2.1 - -### Features - -- update clash version -- proxy groups support multi columns -- optimize ui - -### Bug Fixes - -- fix ui websocket connection -- adjust delay check concurrency -- avoid setting login item repeatedly(macOS) - ---- - -## v1.2.0 - -### Features - -- update clash meta version -- support to change external-controller -- support to change default latency test URL -- close all connections when proxy changed or profile changed -- check the config by using the core -- increase the robustness of the program -- optimize windows service mode (need to reinstall) -- optimize ui - -### Bug Fixes - -- invalid hotkey cause panic -- invalid theme setting cause panic -- fix some other glitches - ---- - -## v1.1.2 - -### Features - -- the system tray follows i18n -- change the proxy group ui of global mode -- support to update profile with the system proxy/clash proxy -- check the remote profile more strictly - -### Bug Fixes - -- use app version as default user agent -- the clash not exit in service mode -- reset the system proxy when quit the app -- fix some other glitches - ---- - -## v1.1.1 - -### Features - -- optimize clash config feedback -- hide macOS dock icon -- use clash meta compatible version (Linux) - -### Bug Fixes - -- fix some other glitches - ---- - -## v1.1.0 - -### Features - -- add rule page -- supports proxy providers delay check -- add proxy delay check loading status -- supports hotkey/shortcut management -- supports displaying connections data in table layout(refer to yacd) - -### Bug Fixes - -- supports yaml merge key in clash config -- detect the network interface and set the system proxy(macOS) -- fix some other glitches - ---- - -## v1.0.6 - -### Features - -- update clash and clash.meta - -### Bug Fixes - -- only script profile display console -- automatic configuration update on demand at launch - ---- - -## v1.0.5 - -### Features - -- reimplement profile enhanced mode with quick-js -- optimize the runtime config generation process -- support web ui management -- support clash field management -- support viewing the runtime config -- adjust some pages style - -### Bug Fixes - -- fix silent start -- fix incorrectly reset system proxy on exit - ---- - -## v1.0.4 - -### Features - -- update clash core and clash meta version -- support switch clash mode on system tray -- theme mode support follows system - -### Bug Fixes - -- config load error on first use - ---- - -## v1.0.3 - -### Features - -- save some states such as URL test, filter, etc -- update clash core and clash-meta core -- new icon for macOS - ---- - -## v1.0.2 - -### Features - -- supports for switching clash core -- supports release UI processes -- supports script mode setting - -### Bug Fixes - -- fix service mode bug (Windows) - ---- - -## v1.0.1 - -### Features - -- adjust default theme settings -- reduce gpu usage of traffic graph when hidden -- supports more remote profile response header setting -- check remote profile data format when imported - -### Bug Fixes - -- service mode install and start issue (Windows) -- fix launch panic (Some Windows) - ---- - -## v1.0.0 - -### Features - -- update clash core -- optimize traffic graph animation -- supports interval update profiles -- supports service mode (Windows) - -### Bug Fixes - -- reset system proxy when exit from dock (macOS) -- adjust clash dns config process strategy - ---- - -## v0.0.29 - -### Features - -- sort proxy node -- custom proxy test url -- logs page filter -- connections page filter -- default user agent for subscription -- system tray add tun mode toggle -- enable to change the config dir (Windows only) - ---- - -## v0.0.28 - -### Features - -- enable to use clash config fields (UI) - -### Bug Fixes - -- remove the character -- fix some icon color - ---- - -## v0.0.27 - -### Features - -- supports custom theme color -- tun mode setting control the final config - -### Bug Fixes - -- fix transition flickers (macOS) -- reduce proxy page render - ---- - -## v0.0.26 - -### Features - -- silent start -- profile editor -- profile enhance mode supports more fields -- optimize profile enhance mode strategy - -### Bug Fixes - -- fix csp restriction on macOS -- window controllers on Linux - ---- - -## v0.0.25 - -### Features - -- update clash core version - -### Bug Fixes - -- app updater error -- display window controllers on Linux - -### Notes - -If you can't update the app properly, please consider downloading the latest version from github release. - ---- - -## v0.0.24 - -### Features - -- Connections page -- add wintun.dll (Windows) -- supports create local profile with selected file (Windows) -- system tray enable set system proxy - -### Bug Fixes - -- open dir error -- auto launch path (Windows) -- fix some clash config error -- reduce the impact of the enhanced mode - ---- - -## v0.0.23 - -### Features - -- i18n supports -- Remote profile User Agent supports - -### Bug Fixes - -- clash config file case ignore -- clash `external-controller` only port diff --git a/docs/color1.png b/docs/color1.png deleted file mode 100644 index 9c24fb8d89517ed522b384b0eb0497a680ab960e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29714 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 Irc2!a1r~W5KmY&$ diff --git a/docs/color2.png b/docs/color2.png deleted file mode 100644 index 8d6d935dac15ea4d8bacf7e9ade6d09ac7247511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30894 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 E0ZQ#87ytkO diff --git a/docs/color3.png b/docs/color3.png deleted file mode 100644 index 247b84104f802b9f9242fca244515606a0c1ab2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29250 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 diff --git a/docs/color4.png b/docs/color4.png deleted file mode 100644 index 3ecb7506fededc06ce38c09b4dedbe3227a3a513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29575 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 Crg(z@ diff --git a/docs/color6.png b/docs/color6.png deleted file mode 100644 index 5067320993579242b61fa4fe3bb774fa8685acb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31459 zcmcG#XH*nV&^HQ#2)YOY3QLfS~I_52+vG;NTD|E6Ho(;NZh> zaPSHV@vv8Hy>ZF0CphX*?bmmAck9cGH#av&2m4po*RQx3{{8!B?h>dc$eyg!R8rR6R`=G%T0?vH_}$&g`es8#vAwC@ zqarPiCgy`^}XmhRGvG1GM!dXnZpfBt+QUa#kn>8h)}_vi3i$GWlI=Rajj zcW0wb=_q|ko~Wp(u{^8OzvmrGi~8#7HpXv9mltCT2F89?{wm2{UmCvKsH#MLeP`;> z9?o0*iFf|!cBy^+W_M`0HLEd7bE9u(`TDNfy)ND?tZiy%YYsiw@hc}DHSxPY<$JSR z{^<5Vj-C{>qMw|AU%j@=;za1PGkW| zd!%TQCyfGaLx~R`Iv&gU#BJhZhtvPtVNk|>_|d4B+}35zC<(u!wtMjFV|}y1U7IL0 zkqMVs`g3mn{LZ`xQ7MD21e`jitumU;A716~Zk)R({JYG@b{2vJf1jXq!O^&0@_9N6 z=8L}))8`S>@35`f8+bbX4fE*OZz@kG%GY@>BByD9gAtx-p4z9Jc&-sp+kR~wg1@Aw zGe3AQ&W2*%O9hL7U_{}QAz^GIM=H*MIl~@W+@DaUv#qW9&doXPzRyuXID{@qI9BGg z^^9}3X)NX``blLG$Y=d`kzPLA#QLrTTmF|C{F4&t2F3m?QN9wgyZ%yuj+%T)gP=Ph z$JXLccNMFNyo+lIR{B~z+afjO>tmPr%|i;9iS)}xUCWpSkcEkfsE|r{6HRYBdSWW2 zZ_}G!4ovl7XVo7ot=CXEYi}w|fPt$e zb)|>$(IXh8*zxXTEyE4_E|KSP9}upXV2r;mdagj6WM&I5b)3rk) zj(C~G$o<$ZjP3zW+cQ>e7Do*eHsP|`wzhkaGvVj>Kr5q2 zCQz>VeaevDEe2$MHJAV7iSMs6k7f#$W(I#kvEH!G2!>?l=Vq4kVe+{McIqSkXpH0keULs84y8?p1VPMs0 z0uJ@dkrSVi7xxvzD#xPXU#8~9;p_t0Wt>mcWz}&_#<4=a@3ra)BKy=Q_4U;WYPbcV zDx|77RTzZnPOQGvxsHERKXhQEIx`4o&cANpNMIIl);+svr;T;B{lr%b2+MKNXnQbmdKZI!>%EH8K$z$ehPi9_kt0xiF zI;w0{FOb{sS~-CpW&Hlsb!0G|5?oCZy^y0E~U3)gE^xk@%)m?exiO&+Jwor_KpJLjL>`Q7~X_8Xu53OGGA% zf2f|VTv!?LOE!qXl;4ngW~EFmp2Ty|W<7oSqZ-Nn1o1IBat27?ZbVn$s<4&XaC(QKXhlPv|RVORo3dIOY+omfQN0}3M_HjOQ6}I3F z@S22vgEBNE@l^JXHWsF&Te_Vb*_MlB7#vaJUQ zvzfj-`H+a)vX*`ns>?;HKA$XrgVDUrbsJ-a@*F^b^$_0wYy5*Ku z)f#U2DzGOUZIAC< zo{S)M!IMV>mxbkX9;CY!ha+{2avdx_asGzy@P^wkFTpuuS2(XfKiC`iv{REW&?TAj zU?BPRZ}su-n%T3NAd`k_Uo?eo81zf+0pT!nXutF6o7<4|S0(I>!UFfjdGD3e3k|$7 zH~v_3V4`BKD;_(bl9IW?!ypdkrdE+O73-bNb{<$=AF0yb5cNzf>eQ zF)3S@&l-XPatt;4=4BZ#$A-J~hvw)-VKA z`#XVpkx{_1*tIP8LW?mcMCa8D?@T{X7Aduihv$vu%STBK89AzQWn%ZT`~}vrL-n5b zXHq;jt|-xki0_`YsY_(L=rSeZiny$7#ABYEI#aH!(}bkylc+X^ok%9L)=k=fsrqCF z?cXm8T<}-2VSKe*(LxrJ@P@4?>17NVZ1Mlh)Dy#mRK03==+3L&qt%Dja%B~rG|^L5 zK4OtEfdz%4c94X<6$7tZs*afa&BH&zkA+_#@Gz#Y7>{4PHG69nA^rR2tay5ULwn2R zu8wmSlyjAI22cU zRn1w%ZKb^{eLau#LqO?=`fn1N-_n;&HEFA`MEPvzWrqxN^H4KlykG9{S5ea33o(ku z`>}b7Gf5$fjy5?Y)_e>JPBmgG{VMZU0!(&esiboMGQuQ}d@YzauU-e8>BdAbYnT)> z5PUltH&^uOzKW9Q7t>)tp1Y7);1}{mcW=Bw55oJU)>NK}^n!`=*_Sq}L$~(;za@@$o?)_KHJv3|8A?;yKVPgAEnS zhl2aN>Pq~0@R6>2P8_7p0~wDdSksWh|52gI_IP3?comBxZ36p6f*}t zjjxO-!h|1zk-ZfJk7-2dD1b+QG#XscW%~)^S%8Y?_)0bh(&;$^k33IkBr#h{%!`=s z1Posa_d_@Pkge@KA zqX9qKn0iVxoye{c`m95m{ovw9vwM!#nq~Rpo~!bItyheH zr+@8gCM@jC@yCwxQ4uT(BPs2i zedgXE_z>mugRw-c?}g=%;sZgktzzyUEFl+CYc=byzjSg6Kdp85rxfjZPvVB zvfBb38tCdsRTo8bHTboJ;n6(B5A{@fD~bFXbu>v1#`O0F%Sj&{yfWa?pd*Nw$u#An zR%hqfe59^1v_JfZuJHWPI~GRfF5uuk36;IN_Y<0Tm+O@zIrqM@j!{M@I(^<_cO1`4 z7*mzyZqJ|*qU(s)x(KO4d8 zoj8k!r=RK+9a&-xl2R-L%LDJf5exxpjI?)Ne26k{b}2iOP?lAQKpkyAd2A&#YoO6> zpIE0;&(W;IxzdF6QjTai+V)R=oZBQWO?cQ|X8g*_E&A%LJc}&miW%#5lHIkOZq?cH zn}5&W@K)!2CS-g*cA8VYea8kf^A`4az}Q89w#!=UM)k1sV95kT{48eceb!iYLRn_K zJNci0>YzP_71f|gr|`MuQY6K%j`g!1NyWNWMbAgP#<{xV+XEP`=pz0^sl>ZHfEFUb zi`%ubPW~CmJJpeUE_^|$9I%g4g+bkXyIh&a;v@+4DwLQ;b%92i$feJbuYPvCKe!~7 zf%OOU`e$?HLzMed_~UTQbYuJ7W0pN9y0SlT9)(aU@M&McvuX(_ZO z9fK%F-RS-@@+WgT$7-^JT&(4`wx5V9lqUW(4i4EW2msOG4kd(*5<$EJ)Lwu!;Pp!X zIyOxrL{rM+-i!Gw5qzT#?vlPY_0EzNamd=*HXTpMI#|^xZ_YquFp&jtBCP$NA-4tc zh3%wZM`f!T@LJvF&?6b{+pPJTZb^Qb>AZ3oR6Kj85eKQ1C)d>kzp$^pN;$gaq@ z4z*nf_r9mpb<^2CzV8Uj_UpL)_2-FKr=)^qHEV!;iEtx=11hprocCQh6jJRa17iSh zCy#qD=iFKW^MYT(@EL$Os$DdN9Q-c#T}%#^$mI)K8kndrLTp;f-`w+59F>DH@b@A( zcs9$whIyG_aQY#@py-x!@{>rD@ts1-B#`t8!YTaI(x+54EB9Z7|CpXSz$#!2FPRY5 zb&Q0iIhmK%@;~3^fm=&suYLWFykP(cp~kZs$aLM*W>&OBb<(WCVnO);y-Z z@GsDt>1Yj)DLCln-JURDW4@DNCEDPppI$W=#cv z6XVbA=!-f|2`|MVzJ<(AEIte-+w{)lKx%-ZP2&BGA(0~P^-LqBq9YQM2-qR#3u z7W%!270VB(US-0S{uZClSpIPGTagP_4MYDxUz}A!C}^6D%Kv?gA|d7hGaWNkYfEt! z{*;44FQ*b@ga4Px#$2%OZ1?1=coRzce=pf3bpNFd?FxBa9YTQB)*5l>Fiy45N@A0F z`-^}R3$(&iUBe}GafKFac9;F=h#^HiL;WrbFtU+?`$ztMMr{DdhrRB8$5URLn~Bq5R@%y|X+T8b8KoeW~t*Aq77}*}SSdeW!k2=C@X`M+(M*S2K}+NV3>( zjq0hoU0oj@TTuG`zog(bB?SlD1r73g4f6jH`V?HuRO*{rD*1elEUG)X|2iao`wAqw%T>%9XC7N5*6ed^I5iTv2~$-U-IbQ~jf zL_fZl>URCsyTQ(Gq9TQ4DEETKKQbTB*4TdQ6c51E+UZuVI7TW%3K+Q{wtC z!`TXV`RqC2U&z#?q1UOF^R9~#BDSkxkzB)T+GR4@d{RIKr;tA!jx~hC+J(Ac1I)-` z9_N7t%<_>FQi5k?PSqn(q>3tY|HmT-NsqPB=vdXyzJ4f`+X-o1!!!{jWOD6T5-5J1 z1X~^m&|sChb?!j_e)}S#f1>ChtG3df&uaXCP!%*BooG>mvn}`sz{4=5=9dAn^Ax^{ zX~ON^yxyTLT8dq6dCWT{Ejtu{eUb{j4#baPA7CFrEPyXT+7CF0j*1?2p!+RZ_9YW* z$ybUZg5>^wEoK4NG|98i5p%KZYpRyMK7z+~ug>LJ8u9tu%cBnP-@l87zRyEZnp0TJ znce3HTuppnF+#l)<xHwHMaVi8SWnR=|nsBPM~$qNLxIx2qXRG4BzVqsYyzLD;+) z@=+AxSS)_lM{g_}-Vai2<<8bvK)iCui-f{`VP$Iq%yNqTu}~Yj!&(n@k_}_Cn!qB= z%=bzkMeDy^`LAJW0v-}Hk~8n_&uve|k2g@GD(fY43-{%jcdVJQ5DcH`IQ;Qz# z@;FfVKW`oU>I-8}TZPCN?8N0t7!vUqiK4 zlUbD3Gbq=}A3VY!6Ss}9#xYW4`oiGftMF^Bwn-&u`Lz9bdHd*61fa4&LQvcM|6|mg zCeeq!+T5jz`LRzZ240{>yw)P+>3JSMXybbKjGia&sM2S*Y+jBMe3Bo?g-lN~x7yul zEhWhmaI-Lwlpz9XAKiD^+9ZA zElYr=PhC>`?S=44OK+N~)Ap{bjJC~d*p`P%N_h7J(huDQJn0lsY%MU!KC=vwWy8RN zu^6;=9-I?IEP^cL@2JFf9qa()PAdYWiGRpYk>ir?hqWQg%Dmw0q6zu#S%GA!=|wcT zF(9wA8wsk@6%Q5Z{-4BrousP}`CleSA*?@HIKr`+v>(mz$;!e<8=KWo)TktTFa*G+ z!90b$^h9Ni{~j0iuz)vLK#qJEmUt1(@bd2+$?PD$4wgtkG0%6SP36Dz-X8;stJ{(z zAA&`EphV5G*uAmxWR)B1Mz4-oaLHExdcp(FPLj9mc{_@o%y&fM@sr9AV>F1ABH3{v znIP7I@jWw8x88+GihCQSG@X=AkKJywz5Ui9IzCVY(ZDq+AyiEtD*+}1qx7wLj%)^n zHVW1}yW;~Z5Dh(f=O22gThzLx#y2eEeKTZPeh{yr{0E@hWKm=%~riSlJ&gkY${pe`U>px(51ui|H zqHlHMe9+701~6Pe;L5;UgV61J$mq?trNpDH+=NUyB;4RB!z1V>x^Y=4Lx2(ZCk-=s zhZ)*q)4qY4I*%c zfhH%Szwo=O0q_L;hT=W2_S?yPj|p((dR|Cf?PtaD=F>1%2a@|t0$E{mxs{(^0`8?M z+HW}F19ErjxAkJ7E{EP@4>zU}g-|n|m_m%{Ntbm(e1PY99Bu)(HsTWYsgj)$_{v@Z z>*t4LQ-yE8QAFfZ6;!;<`v~tl9$hGbJq`egg=w8#;fA zc>hgLKTQWJuRwl@0M~XYakv#;dcfBCPxttr5nJ%HY74`Jl)Ag^zEr>z@{}t@xnq_b?ACLdZj%`x?gO2RyDu4OU*NwFT#k>R9{Av$_Tbdqx;*7c{;z#tFMb(j%Cx}`;4w@cy|4S78 zq9(o!UDQL)$I&p-+#e#BPbqTcw2H>%?-NDI)|1Ip-*?sNkfFerp>=f`J64;oR?uhu zF&lq%M{I38@ABm?j0N-@ieOHC~D_dF^z*spjpTp_pfG%G^rLN(xV8?rSdj z?x(Rk!{W&?4l_+L=*2e4&86P!s2u1gtqkvE*$%c9MjtEP54;1VMjeS{9;V^JXa=9} zE`9ITM>fa%yeb%nHZb_X$^@)`t*&pMpo)+CjJO2qtyK|kyB|G31Zo_OynydD*Zw1^ zcaM2?0bg+B!?bhyZkEwyl$Y*lq|zIuZp=KCm4%rkHM>9hUTRKa)5fyiF*TtXxNrE7 zC?2$<(kfF`;naCnsp^t%OO`U~lH6VAFr~Lh!_tZ6dUqsTmBJehT3D#n-)WSR(CnqW z+4NyqJQ-8 zUVjp1!1mIRBb@ec)~d^P#J}j=HS8Izjg#-6FQmSCTqKmA#(t%Hv*B#5;ZA?+H36Y6 zcU>ucbRQuDE0JGcD{)=buKg^Nks4=b@MG~Nt5GnwRPoJh!bC2ju=%X@v-50y85<4d z+7v8j?`Jzp@Kj0!oF|zDXpMJ~!%SF!q0jbuJ(;EE(UPwizCiVlHBpDjQfRGz7Z+wC z`5}=YCUXWL+QZ|f29{GY^Ur54a)YEN-?c-~x8(%~hUs`u%ei8ZuS$PHPYp`z={|8k zP??~TNDPpANsncJ6_(p=3$y{NspL3I<`(Yk6*8LajW128a z9|ezhMstUaW^Q5$@qj!5f}aYN!R2Q`H?|qJ(OsgT zkpHY@`JD%MvyxB|CUw!&1Sw<3t&r!vugTTmQJ6J(8byTC7X-2^*_(Q#CP&TPnBzuU zp+Lmjb_5uT{U`pvq2|tqVGxqflVSx2pr<;p4kSh0roeER%pb&q%&>81j>L_C)BQgg z+TjK<=oESECWSpp`EDv!Fg|ZGmC7bo$51qb;|HqJpCje+-Pm{!d9fRH#W4UvRAL7+ z>`%(9!;rN_1pFx!AVkIR?~#c0lY+S-`bp0AENdg#K`R%XeQ}hQ0&0xxK`&WqsJU3W zt#6c+a$?Ao+U-~v8A6kU+&Si4-#e|%)37V?bhVtXrqxi$isgU@mq8M3(NnVTI=`K# zi3-T=0q^p|^*ve1;ZS}@B%=qBCN-WQtGBneN3z7s?Li2_X}FE)xF&B1S7Oq(^RTew z7SXAZyE}m+pTw({d+~{>I$O&Mmd0$W(EagYlCqW?SB$IYL#EW|LPAY^k2e;&I$-d| zwFk`REh4T%Zzf#t?ByRX9zr!&iU9PpLlsEwmKqfHA5jnb1A>20(JKtnq149cba!*h zAHn_P@SaSONhO!d7cu6Qlv?KCR<+K&3{NF==$X@$VgYxG2HTBlSFVP6Q zvLp$ZXI!1pzjm~U#hh~Y40zM=LCT8>)sc}QY1ONjbFs{&y8&n;n2!v>9RLAluvimq zp>)1@d=cjl)|0Ou5at&tK4|aOR!p-%FDLbz!w`K5ry~Li-5gc+u;nj!EY0NUxB@qS zvjiuKn^b7NWlu6xJwsiIGMV!M_U~O9TvyyqhMPEvKd`P8NAN8k%C9tt zPLbmemTA5)HP+Yr2mr8`fT<-n58G@!M@TcG12t&r#fW41kMl zpU;=XtZr-MI>ir}#Lv9}->DICT+>^shP^eV#94qVmI2$}|FLS?rOH^w?#FZ7QwTG# z;29W5P<6TO0RcV&Mo+LYXB9b}SSZ>4qS60ZFlgaWpAZfb?c+`{I&-fyt3L-0y5w7=Wcd<;U`&pjzB%1)ioTrjh^#;Ewx26M(4Tt!Q#tIm$~c^d z__YRY4++WpiqdqTuEO86!hhK`RYnisD7j>dNLe-IBjiL&tB1VQsNhMdjb!bM`sB7B zqyOxA{e1QD%_=#sv7fNRQs@L~^RalapZ{;L`*v3eIkw=-0H9~Z1WJv(>nHYV&CDX; zU~Vw1oX|a+iImBl2oZ?;n&OchjN25`4xhTuWKN6-6p&|)hF~9RauJ|3MnIVxn{=>q zzeNy2*$jgt-%ZAZXB7b@Q^h_4lSsiLaxkPGfP<(ELAQgM;=BIKL=bs`K~fY8w#W(N zW&|9=&@7ezB`d5jEOaCU&(0baBj}~a{e9Z*gUzYO2g3+jgV=7QI2M>&K2Io_b%_4M z^H!b#`7j8cLsbkE+P$M%>|uRyLUlwo6#-HunAeMd>TwAVAi&WtUjIjgoml&w?#Rcu z-8z?j(MMo5Qn%)Bbd=x($??(qBSSS~Rg$2+pS!nr^{YW>lV9`G%|cH?Os_2nTbCj1 z6tZf8q@>%7g5K6=aeV~$BB>In3%XQnvUNzKB7zuHxHRLUGAWu1#)Gq;H%A6}={6TG z{x{Q-xM2I+ztbp`w{59!Zq<3rl`DSrOV-Ly;<(b+@=hf$;9{i`7QK?2UfAXlz{z6J2IKx;mGTQdS6H!TV?W zUT7wGhJ)2kik;p=Gzob){OX%IXM z#rUF{$_jH`FzXnPadTFDuQps>P&LMdx_RVGs=!} zXJJ=#t(#tpCHTMo7076h7;0a&>OdQ_9{(XMpK>4tV8_GYD0RDHN(>HXxWK;I28Z5U z-;qf5nStIcKRp&)GT53z{LdkzW_HlbOyruu?m#v133+cuA`>K{NHbrO3>ty zsIY;$*-75G{t7Y;0CjBfMb%^0Fk7eI(@b}w5*7!mqr+6{I1uSv?SM6FY}FDY@@6>+ zF@V(L9)BrYRz>4V1aBqw{jqbAjj>5Nf-t77S3 zv(?k>CraHuOvq^zzb-CQ>w|uHt)o5} z)hXI^AJY}UhY?gBsbU*xV~HyggfuJC{+cb5 zNteTohe=Um!K{Av2%>NSsPfq)UJBx|FxQ$rRc3tqiCpJL_P$e4L6L1nSu(jb_BLc$ zawK21cz*M15jCuf5+tlKud!eNS4Sqne1a)TkE{)AT^W^takAv9hds+dy)vWvFnFDQ zWB!__qH|6h{IbLlz&P>5Su(^7Ct>|*`35;W-kS_<-$9DCOWuD;ZC;;iy`}8-j$VoN zaS0n{>ct4CoBt0G2gj6%VxSI}>97(U3^dWzcrG9Fw8+uO7(jH3p{Sm`2X0fKP3x!d z2WwQHu#pIx5Mmu&?PfJ5c9EI;K5D_saW#S}o3Q=#PAVr33Xfnx?M*{;#0lO|Bl%Na z4)LtrOn+bXjDvNFzE#PoC2}*&Hs9FAz%zQ>%fC+>__AS5_=Kgp)eX=)6b~u!Pw%IC zprn8a9m2?o=QSW0F{X8&2U|)l)&y8At9)et3m!vY_}#TEAg4mF+?`+XFUq)h(7Z+# zc;5JL;E$asWZijuo3b*e{-oBuu3G{n@4-PJpA3qe$Q^Khu+J0t5t#+8wyV^7f4HaF z;3=sGXum?n>kq&e{I^(|2i)Zz7D#aMv64SH81OWaYXkERDH4K&<3Ljp`xkS69HZu? z2WSJA2#~lmNSNAz=T~+_eHv%rl4YV07yKUfj@^{<#5$5z^z4SnsGMC>pU%Z;NEu24 ztc(+kU=`h}{s!h5LXddXz^(Pu(QN2>jtoE$=pT9S=aUZrlca`%6d#K@!964{BVpvF za^5z^hf5Y<#lZwrP|KFV%tEbR<6`V2u>Dz4k;Sl+PC0<)F$>;pSxO2UxPcfWPoPY2 z%{Hs6VyMh&D$=5?K&ZsZsRS(EWzrNbSPq=`Irv~avC)woh-G?o>l4j}k}o-6S+ONR zM&ctuR1zvY&t;I)u*WEA%*B6n*lb1+d+`)T(KtYDm4rh^eba9E^?$G5qf&}H{8Pf4 z0`ItnEyU=|5G;$t+%?et{20L;EJKU1xF2ls))3l!@#F~Ku-ffY^(t*Z6O6QpJ(_Cd$2aJpoiXr9 zOcQ0P>LP@iRV@{_Bt_w3S3dc!+P*1IXpd{L@ouuaX&!6qM8ndnK};*ess#7Q%YYG; z=Uj%Ufse<|$gk1%(9;z3D0XVo`X8q-EVm;zH*ZUvKE0@XDO{@@`(n+@4JIs>f+0ip z`HC&mtS^o2zdl{CLgsqhyoO1bVx-k?7(1i+_jCK!_aw+X1}u7eP#Z5sSqTt_ArL%M zC$oYk^L~yzqlZypdK2p+qcZ>qafn@ZU2-%937c!Cr)XSwRQ70S{%i`8N!!^XZ**`MTlJID14v`^fwM|j7@TwR zLDX+kLrwvUonRtWODZhO`Zva$F|WFO!d)xd??!nbCIOrz5I)OEEDi9lFVx9twpc5I`%Etyi4!w8#(ORE-8Qz~gb@Twb-gkeU zJs1rNfZzoZ_PxfwuDf$Z{kE~fdb8hA5BN=Pj~UyI6V(if*-a>Xf?C2_Fz!}4j9Ke1 z+CU?u%oX-921IZ1zrjRR4?|icIm0e$UEe%uTt6pMWF1IaiRv$pH9o$c`L?h;?zhzR zR{n(X4$2&YmJY8lfbA%+Q(3`c&e#Q7(LQ&G4dMEF;m@}R@kYO{cu7{GK}n#r$6!j- z*ZtP@S_&&zzjq{Wn;S3ir9P(L_-tV6d$dT@ieg-&ip;-mSvS&0JoYya8u7oFh~tYT zXtD(TX3W*fBIS4xN~%JbYm)tmF^)Cv1xx012rN1j`s7~HVy6D2-|?P=pVij|$nVak zf0Dr)bNhY{$DQXbSJQhM!29Y-fCpo;M`MpMIieB7P*lf!Fq0Fz zyn`?+D`5A3)sR|ZxPM6U-j@UT1zccLX`c+%9j9M?BKzbs0A^6d+@7;rIQATQhS&am zz0^1ia5Ub`)alSQ85uwnyxWhHXL+o9P5U?;P-V*TEX)_u_&*@kRPGpV0yW@8BTCHd zO}6$!Y$5z_2B z@=Ej;R+La%+ghuEuWkB%4Hq0HH7`Z7fIBFe`hUPC;G|X0pcrj$^^h+Y>@ETBpIL&q z|2?;LK1M-;zy0{?Nm#nNMAi4yGqs5)<$-V%OmMBj@8`JC65T5#4FA4ye80*Cq?(Km zbIq9n=?fyKNLZ%D^(aQ%Y zb#JhYX7vu-V(JD53pke1rjLTx%uqy=?qIy9tWk90cCq}JkA34_@+a%gUmMD?I?EuT zXcnz5sAUjLBn_GXvPYX{!)n$J<~9Rx!bG(glocG~Sjbs1RN^Y%$h{q3I=+q-jfVZ} zgfoRJBZm{rZT6)O!`XOQFoX~5Q83-)4b*9Ae(YW2HDPT229Hv=n;L=n`*YIQ%qW|o zk#MBekDEVA#mM2rYHJt9|G4}}O)Zl_$E$MkECMT$3%uGIQV%pV*}!@^snvB^3o>P* z&XN)wSV=QC4JcP?!M9kR$MtEjq<6%Q`{UJ@r}a#z_qQH}dcs*W=N->VVT-vwLB>0* zJ1)Qvjrq>!pBeSxE^4@q5(jkq~p0ygk2w$GfUEa`gGJziUS-w;TOs)AQ6<{?gd1$CQf8 zpEpS<>$Z+YvoJ^AYgT6~myNj>$IuNbnUJkH%wZMR~pQ!W@ZWh{DsR#V%skKpTnh00D#`M$E4)qtb-}pbQGLSO+Npiy=6g--aBWlc%=9Ol`$#{hy+K0=efX4 z!ix`s<{BKM!-aPpbQy%N|*y zfce&)scbN=NdGvPCA)$=JcFa}DEz0)xgsXzxmwXl5oFZi0}FURqT0svEyY>=CK6%( zQG=7mN-Ficbmc6LX)D&q*$b)!0F+?s@uWiQRF(5si&xL3PZ-(f^z~u zYU1IS0ZpnT3Xd?*P+D=M%#V}_BraDMGv0cf?bO#Cs%i8j2qzo=GwDii8!PHSdm+#& zSYa;a>d=|a@p%ZxNBeAMl;a8d?1xcEb*Y~5vGWae3ZjLMrN3)RMPbm~xK@B*Y zB+`4Czgfph3Gkm#G zoP=Te;d3|zZhg<`eD3Cr8gO{qp1D&HHAvYz`~jd_Y}J}7r&8*FY9>L3ew5d{6q9jx znxP9>=oxOl>~ffzsvJXZGM6GjC5MFFl4|})c%sS2M9Oic@*i!<(465oc;g4vJg(V8 zU%=EUh>ZD>=&qpVw6_xlRY|zE*ZKv!bDwpZp|j@y*b)h)4$ns$OIoXh1v%A<3a(*r zY>v*5SuF9^7}wCd!vRn8rsonL0ORR~;Bmnqk(iZEwZ+){Bx&AI>2}Y8QwBG=>>wju z(yB~KB0@+U>6^!)N=6JL!t9c=&ugmxpg}X*FN(p!3qy>7o_B|CR#go(x|kFQA&ohh z3tJdA^`3ofTZk9*4YP@GqH2)@5|_VO0pG+;gAs?ncoq)DZKaC4#u`&Mr_nVJAH4`I zO@>cL=Nn!9q(gPa^pDxyhHiSY&q;&hHQUS@*;;kFwTl_tKuND;uOhWI0909Fo>p=fUv33Z+$Tj<|}z#yx7VfD|3Vy2z^L>D5cQd zz-Ar`I`_TnG)n64NLOlZjuG9MK^G`64y#YeU}#U|yL-VXWxYmY_%HcFlcd>&=wCa7 zeT+ejHjwDj^!1I8*cDZ=)a{Sde!x28u00F&YHg|a|v*2)k^HV>lb#r zKF8m|1x1QkBO%BR^j@OK?Q><3MwM3=ZU)gRWRJ`7ETZB6{wPm?Qm00dmyhlg2%5np zD!ZRBxqQH7m$;t{h9MLg7>YE7T`OP$kTMS;c#j~R=!|lj%hXfEiI9DC0PzT`f1$JUbx4%Gv6!In#G{?jzQ%zycQAn9Hh(O}M z20s@#oR{k5i%2vSD$Ys1ij>&YLQuXat5!fnbIg)yMmvlzetD%mCQ5 z0v0@3k6ZZx^bgobzA7;Of5mh|I$wd+fvGnb#}P~Ce#;Zl?ge9)%4kM+$w`~fB8 zIJHH9$c;Mc=fM)^tG}#zq(LGSa?&-jADKr82J!-Bxf%;YRbJFQ*3pRLY$Q#4BIBr_ z?x>6Zz>$q-Ed6zTHhV-+X2hephSS;H$Y`xZn>U@8UFY*}G&?2_PKO%E$%7^@qKjcd zyYK2{XiYGDX|QZ%1C~zZuq769jb$dV8USKLMUYWq9Fe9X82JPT$njn;nHwhDWzqR+ zlkD_w{`;%g=Xu>+pYv{nitZpupiX7huOSeZ+rT0t{aSe)`g@hjEsd~onbSR24%F#` z&Hnp3uO1;n;{PMe#u6&FxNG6qiFigop7$!5Ur_0JT%<^%wesgp9PvLGcrE-RwS1VRPcWes;{6!P&4O2Fp#2uqo2 z(qzbc;4o{I;m>{YQ*Kfhu8+^SZ3vmh6>98?X9l1UjKOZJC%-8uvJkeaaalhZhYa+f z)G@`4AZvxm*I6?DNgidONu?t{h32rK6vpLelzh*x%g5);3+G~#%e4deeiv-7R}s*a zo|l;@$j%RP82_Kz-ZQAFpp74;7Y!Yifb=9FQV+dXBPD?J-b3h0liop^K}e_plqQH2 zsRDxZmLN?K0THC5(gi7kdgJ@Pb3fdfJM;hY|H2GspWS`R?%B;#en<71g5~j&c1^if zm{sUgo3q8mhp6#Rw20{ClZ@U@J?gF#QJ;)Xz3o$Fzl}zfQY?{kg*=mDZbN`&A=$MS zZFwt{&Zg=jh{mLJM}ch^ZkJISJeyxQw_i0bEci@5hfQc61cTdBA(T*xM!AYpX$CfRSe1eD1JdspkT|x zBu<_RIb7}DeHMlOQ>}H-RAhGIEUjMqiFN-weOog@e-wW&hj0FO64nSbkfy{Y_NgXA z2lgGL3uM};A^>IyAG=PJ4nfdN>w~DQR`fphy#Q`BJ!-sQJjlY>e($~Xji>bDWqfx1 zy5v!UIQcsRERQ1yJ#5Tw1n;@v7K_SI=9#k}7dkMb-+uaVsa%|P8#dOoGbZ8bwP+r& zmCG@-Y<)5bDyhIuuK?X|8t_bnHbv5{E?NC)j^iY5H7j6yrtI|d$f#V6oMe44;p?_t z{#IbcPe{|eR&8hSQ|B{-yp|4B>Fd38EW)c%45yV{goPWL4}U`PbnV*-y>1U%BI?L{ z;wqcwsxas=_mmInfSY7oiEZFHifrmA) zxY=NF$&U|yv1xF|gve8h_R8TF{R`1~bCt!@2Ljrnb4PJd7WuuK*lp9uL>ioTS^j{oCbX=q7iafTV=YG}BM%Z7qlWsm)ZyfR|d+J7GGGq`-ull*P~3((KQ1=7+2Z<@7NLlLX72} zUl9Q3AU-(#JEQU*tU&rBh*Wy8@BcX=Mq7#9G%klBCdW7S+~?-8 zN5TM04oFf9ODM?p;IVpKIkC+-H6;vAB+e3yMG#u@m-xnVy4jnVvh93`OvFO_K^P>n znW2csn3b0~%O8w(4>pB{IBiK-F6hBT?OU7{!^e9Xy z#1@#;ZV?f7Fjp(J6)l@Fn0_RTW9!8_C4RH>w7%cjn(QSYI#|=K65)QsWy)Ys*zzHM zIp2|bO${(xSnO$&9&=czL1()PJ9i?+;hvi~kByR0Ng@Y-ZVopNsC+ zKcpRPbD&_HzL|rlA>I)BA>a`)dDm5A6VKa{2WQVm4Cx2uB4MpNi2@*Ca4N-^he-I>7U=2JJB%Z$ST^`&{Q28&Pr7f z<3n!kp?$kg-i^pr3IQ+*4=Gy@l;<&=Y7U$);rujs#sFDM&un;eRnfj4nYV%ku`((C z!7DX$kPxShwgGyR9cqgwTnGcyM15rFQ2pqgPQyDIkkafsUs7X<`}3i$$baQGvH_>p zH0MKExQPqXVeU=%$Cg+U^qQM|rSD@%KZa-WYTs+uc!@`a(A07~onOBE<8Q`aC&w4t zLrt=sx z5EVasPVu6u}Yez^}7@r8_ z&%%w4#i;Ii;pz;4gVWoOx@1}Dx{wz^J!L;DMU)L1?tdA{o&ZiDT$@;*_V z(&+e&GRi4$zLxvYZnSNBrxQA5a)+Ed`!EkY+5{F9`Mn_#X#7VOV-BdH-ooNYno^<|SkG0ATD2^w-=@M{;Pt|Ua)gYDC^T)d55h2m(LFjOQ9 zWuy|Q9~yt_P)SjEU*emY3nR|uZle3l7eujw-H%8nj(OZ6&ohOJo05`K8j|uZ2sie} zw3;uSth%%jGi+L$a~Oc^+-l=h_n*Vc^}@9zyln7aU%Xr23-=vOnRI0#AON-#ue>6Rdr_}rsI6M%6p1u zZlcOoqe*=!2;;=YSP9Vt`5GBzINmAGT;NTPC%z|l?@8%BT7{+ZVEIam`~C7vZb9f# z?|UJsy;I(QmckD|eWCRx5^_(-F{exf5cgrYOrb+NSDfr0R~0@2E|Cm2XQ)7 z(0Hu+$9SC~Rh>=3Q!ba+7ZVknzj8(`SVPXv=-!&oUsX`L2hhO4MG)|`BbNKY*9TIT zkK$aol+_443+xDhKMOJQRY^n*`DW2Y?8}ro6-3gM*r6A)mI-M(j(uHO+*xVyl}8Xf zAm)fA`Y*YnsMECBuNup?x`E6U&vX3u#fx2m<#Q!&QJs~~d*Jqy>?gc}VM z3*2t<<~>alA~H$j;V%RyYWHpn<|4ft=sUieAiz$DG~A9 zwYdq%s&|uZL&u_K6wr8*GJOEo+@hNklH!wtR0FjK`KEr7noke)HJm2#l0#hfxqZZ~ zQ75OYp7?k7E+0&A7xzxkyu1s}0<8vN4_lFM3y^}+xnN{2%iVJKPmdjGFuuoc(jeq@ zmruFp80Be>$*`CtQo3r5Y@%zT%mDZXI)p8V5Mp@mj~|$MM;fQDyTaS4ZC8cCoz8mj zx4sBo+o*fx9zU?XUQUoj}0Pg+vR5{+yDX#`a`zltZ5PEd`drx?{QJ`8bn;nj7 zLaTM?r5@2_`w$#LLG__lL7P;LuIrCa>*{h}j$f9VE1B6Z=*jTS=~PT)?%Up`Lp6a3 z2Q$z&9|qWLz8aVW6Rq`32f!U`y_CaXa}xo=9}>L-@52~}7&CAG6~*<+gP$z=((?863F0TKuf@oC(-VSnNO*AZ6v>>q`z2+caL;$l z)OOWZmka>$^o6mSc2dN2DAan)I{2~<8~f*#_d)k>cbzw;$}sTRR{EvW`I)BDy;o{R zz_+WB1Xg79H@1~5z4AulAf1rZ;7m|a&CGb5!IEs6!J~JNX1Y@!`Mme6zn<;vmxb;$ z93rWsaY{S->1{}tt6>>LJMZl$yR~BMiO_}rQK{Z=NeI}`e#I017ZLNgBi0r2H2AlO z7{dFj4!lg7syNe)Fq!4?oJ&pN z>4gzehC|1GYsFc7{_@&IR(rE2N*0Uo^TcE2NwD*sE;s60i?p?RB?(Bmozu9BiY)X+ z<;2jjBw*{H9h0Ja0%J~5&Tx6|;@BK`)(v%;AlT*!XD8jp^^4nMb7FuD(@uiSrp(l;X1o@0Sf=tg< zQI8AK=Onn?lSsC7^0xrUFOYCi@R{dlASw%_^aS2oQ(a?HVnc4EW@|!VQ=l^Hx_Xfj zkNmiE_A?HtvEptUaZrH#ik+9V+>MC6Px~F4GO$Xau7&lp0w7WkD=M#v<MGM*ICgF*7rT=Gt~#u0%sv-xaq(@5&#a`q=rHmg9wG~D@6bt zc8a%+&ScdBe$U{&zfL#p*BTl#5{_HzP@(KNTmH-(%$ru7D}1<<`^X=9n@V8tBMd_E zX&SAj-U}HgO$8s3<8JIak*9^fkA7de&UNq+3^`@?TShK^Ad$9 zO+GMYGza5%5qa@lk2nq;e?Ra*F%hW+K<~n&?{@upqOVJw=axL6r@zQ~xWE5-=H0-* z?q~R9A`u*ALu{1*E}jto2}?yDGZNTvk#_+;u<{)sESbnCx8m06Cn?s!LrvPwX0ds) zKBq}(%hXbq;hN@(vKgPg9BE?F5gVv?@OKD}=?Ne2B-0Uf!b%YjG2tV82~s_@_}wnj zQa4HOp#%I?@71X|-l=~#x4izAqVP4`h0Za)R`1W(%6@2@y|2$aPSn7#NPkK_iZN!NNovZv7Y{`4~}z%#y7+ z)Oj@Z>Hg!|TpmqP+(Yc>Dvv&}F!#=8^_FiH$}-8?yX4wz8&8G{No9f2FY=gJ!y-9% zAF)~Tt79{S*ZwStGJFcE87@^i9nbSoNrn%*Z})^UmrAo^Vxp?#pdAEN#F0fXHUKIwAFLiw_0~VZ|cRA1y^bjgJp=>|&!nIM(<*cksHS zxZT(*EBz+LPev^PBAJ8_&K0`u4{m;Em7tT>;8UcT5u~KN&~ZOE3-j{|iRY8DSj?-P zr2vV0ja)i4KerMhIaKNlO=}OONt@W(mZ$Vflm@Hzn@-L{Af%J z7g%*q%pG2-dF$SYTH~N08iR?KkQ{NMv5x*uQlF$86UMf^Y}2Xw5$S1E<90(?TwIh~ z_D;LuF>`0i>mMvy1k2q+WBnhwg)&euEoCjCu;JrS(hmsXEA`GJs$$N1SzSKd@%R3i z$dVwBhPK5N2Um~j!FqBfbKgj%!7Du`SM9p({y@RxPkDL=eEul2-R1)yz&?%`GD2Bq zUfs@ei5h!vi$y0m2jzZX8S=1Y+bFhQz@)Lxwx2hagQ@2sy zdr}5<%{oDx4il@ra1v3g*VF-x+Di%};8LNwxPp`2M_EVkN8#wjJC(J-;0NAL`;Aw% zstYZJJ^HuGgR02|bmWH?jx5UzJIOG)-#HB3mXs zZeMn_^e^_&mWpHI0o@x>UZULx%yeHR!k{ru>!P$+oaJp*b;Iz|b{6wH1kf%r_#5x8 zsE#0vP)RL9{%YQpBb1QEFlWK0iM4Wk?ghM4Dcw-GUK-4);maUb&6G&El`D_}|Lk~; zOa5EKjpKnJ4`-sfXeK|`e1{F$pC=-}7NWEGGC}((qI&Xa>k#rA-ep=?-uq1*$4XBa zca7+bt58{smx9WN7fOD29i1rE76X~aZZkrO3qOkNg9h5u_e-zuoeV_Ss;v70KP3%q za5pSqgo^6e1%K7z2g1{Px^y#}!MOwz|>-0R6lhvBVrFQE5|IGbjz ziMO@M!|<4ms~`Ug>TW)#VBsN*@)CO-l85`gFx}B@*JE=s8`%G|y)*FO zG;>l^d5u5USqe%R<)4P)+P^KG|MD8{6+f`M`JT9_O2-Kia$xa~Vc}I*_cN^wp4oXm z^Wf2j&+j&_3H{p&8Q-vo87-4|Mfg?kfrBLa0o4-OH4GBP5;iQRzJCUdY7CYYF(CK5 zIXv7Jm}L8jDvnW`&P$r1-Soq!o1YqMnVHn<|ugo%~44=e#<#*@4yP~3x6M;;TC z*)4&LcqsXm|GSO8m)Jus5I-5jv8XeF%yv0}Ehc&;k!ztMiJ}X65kgqOZd~A8 zvnPt_Xidx^BTkx_rKbb>Apodf2Ztrvy}9Kw#j+y|kn%Oj5Qk1F1ay%Rw{tMxC~A!3 zo}dxl=Xd$~8F73>=7k?aO^&|LtAm+vOMjeZUyiEk^?&2qI~4?uT!4pliTD~yJt|%P zTyz+_p{NBWjD!R>jWPFtu*zU!~GJ}y^IMwvr6NP@H zkdP*h@RsR|^e^53O(|49NHIK`OY|kiDH%aZR2B2Xkq@4$;Fh(=_~x%+-yHMMsMg`g z@1vh7)1vUl7rzg8=LNxBlQYJ8T0_ADEIawh=vX`}G3C$|!1DpIYYeN}wqm;vPdwhC zQB8*-pJ%UkzM1#dQbct(3B1ZF4Ov$FpZsa<$i}r0KN;6bAc+vDz&?iep&P@yOFe}p zeaQ3156l}8Eh<9f2=+5z?wbzy-Sr~jjO>z82q6nCB?Z;dNWr8r72T?@JzUHtLa%gF0YU zG`|%XgB$Pitb7z{b{7Jdfu(9jN9n@9;0vSPwcN}B3I7#yRSMmfZFY5qW#R1WH0hf^ z@OE-RQG7(4iXSa?0(Ci3X``*D-tUOzCsQ4OeVFOc;b5#%6{1>i%T?RZB^)`m+fpg9 z%JXdhc@pxiYTA1-ph%@bB#F3XsBA8S8Gfj7nZf++jBximl$lPXq?kVKzH&!z!#}Wv zGS?Rh%wY|hw41uPG){{mz`CWC);nx;{F0%BbIFcm^25H>z|?1J^R~h-I2C@j0GUYvE_CB9_N` z;LMv2z6olOioKK}cTVs=G@9_Gkg2>9@2ysUM86bhflM{KD+yXHMCJAOM% zhE0#^ifQ6Kw}efY(TBp~(3+Lmy3=&I0I!dws)q?u;?eA7UPz^J!{4jvR!qV2TQyj7 z5!~&L)PUSM-5V48dn(R2McLp92irdu4ya<;a^Q7VtI=v(L#tL1UuJNBdC&6?L+%{7 z*~>Dwqx72OB32xGHD5pRKF$!FckF%x^HPStiGM~Wm5(LlHMDU1G<~M5OBB@V_Z^J-*Vt>awJcPljsh1+N-*zVlED{M z&uO>DcmkUDwtvt%lYt)Sp}?|Z$;PBNvKS8;lkvS+(Dc>VN!BstS2>_}f($Vd?`6T_ z&`d*ta1AwPre7nYvXQsQI@hx5nAo3Nkdwr!KZ}BJC0_clLf08Eu$xu^$pA+J>2f5Y zCjSOy%OdBw2+!&*Moc^u+^$VhEX#tc#31?rcp+@uk06*CI3k5N$-f%+$*{=!%Bt6M zEIH~sE$BISoE8b*Ax;lgl>yV5WryL)?i!M7QV?pE+t2TZQQF>v4}cjl0fX)zWF4^LGBn>p?$|^OTdj1GYY!CqZTkX*4t@J*-GRB0ni2w zQS$g^%jANh)3f$0&NF@m04Yd_`pL(8Nng(dV`TIsS$HrXwBa+?d|F?fu{>DZ zFxKwx;=^f!ievcX$BefN8uUNPnUll3G~m#EEPUnmHkZv z!Fnb$E3lB?ebwzdCo-so8C7`o$?eC`XWKdZr#G6V?W7 z^z%$#Blm+e#kcPIzl*EB-xEyflO~Xf9%y2;&-PFyrE5EBP{G?OMQ#hn$YFUYJFZJ6 zB~A>wj*R#kjlMDi2-N^5}priC$OjXhX;c%`rC3#uMZG4E-WR>`&Y7QnOo$ zzu8UnhiOD{!1&xOHg(^Y)ps*KF|U&giN%C~m(1bH^Fg&#k{&be^@wWCaZ}D{;67rYx z`4tjIT|lvXtbAnZ$2&gz_tl|k@7nKB2CIBc^N^h^YL@}WYhk;WB=j<8v z0htEAJq_uCvzx-3zANNXn=*Vs1#TW!yc6^6s)@5-BKMzI5i5QKW4Z-~u@O z3Q{JsPkvK8;x{RdSB+6~MEB4HgJ9+Cbfj()NWUcE7B%i3D#N(@c0}kEglzl^P`S=V zCadBj+ZzGve+#fHwdro>5n=a(Oo4r}7Nd>E*v~&z8AhbYu|AQfh@wbK?HqK-zgB8e zj!Iw4EQ3tb5VRz6;xC8S0rS~F!2jFsD-R#!4YkWbgeBZQ`FSh$&+X~nf2Kq1W5XG@ls3FS|Sga+KXagBS#!saegVX#H?_px|7 zU1-GvF4^@_M}r(RpM69uky;qB;A2^Y^9IOA?aCe*(|GWs%< zx2~)Bk8F7+icoV|Okd2=F8h#;s=$UYYhZKhd`{z&@m5zL5LQCziM~3;vHN;2pj0 z4R0P<6Up59n;i5JQL_zYmmZ@Dba{SR6U|g6|D3ue z)WblcLGOsl$6ApE{G+Nv9xP|W*17x}bgg%^7M>2IE1dLgDMmsj@WT9y6#o;g&08(} z&R@wt3in3jE4W=WGYh|4J`E(XJpiFrp#=F+0+y+-5BoA`fcCdbBmz##W#a8FsU7H@ zzVz$SocL-bErF)up9)+FXt{)s$ojf;!hjkc#4%*6pb#{|-8Q`?j~+Es10G3O0UC3b zfCE@V(e=RKhB^rJre>`qqnhvID&=0Fd;&($b;8v={?>oVECQ>!6Q3N*&M{4HAlrY^ zo%k?u_~!k6NXlYRC~-NWL#Fvp#75-x9d)mUE!JUVj7%qo(g7~2DLHL^LbK$MALo?$ zhc)rPti65C;G@>61S7xsU=jMKIs~|k{Ubkoo-SmUmv=k2E*NT+dRV@Fk3@&%``4 z8Neq-MYhE9XHQWpp~NA?6{x6J;h%eUj|dHDeBS8CX`0q1?1JP7_B`HaG5YB5PtCeL@c=a} zD%sSrhub_2bqfCb*9|7tGV%A~GO8QL8*vLK;0%`+cQko~o$i(Sq!%33hO{AY!L;nu zhEmjZC%DijS){nNTtwy9ORdLZLF#8F0E?uLN8kvkI^IW@3YE&4K}qfA zPtW4aCr)>I&!*fF`RiLylDhrWltjMNjVIT{UOW8wu>b9hIfI($F<;RmWU-bOZKNH3 zQJ6cGoLQXB=%KwXNb|IgG*$hN z10$e*r0U5iv!v#?BkGA4X%b+hSBtAps+0bnQ)%jFekb13l0a&b%p&?PPNAo|xuhTS zBqI!;zn`l(blya&&8;?&$uDsF1RglD7ZyV_8KbgBjSpEf4$LK*3I;dOL0UTaMuVC$ zWkdvK;d#6uF2igD^I3;u*fV$kMML$N=iWElKUQ>(!HD4m;OTyH;rXKIfT_eob-J&u zW;&=<}`0)>xBj9Il7y}4W;+mU(u`s)ltf{aMpzg(n7dGp>q76>?6O(*d{RP>4Z z_Y(sMvujtG{p+CD+5p${N=Vtym6uPJiTU3`awZ*~HT0L)A3B?Pkuy2o1D5-4Wuenh z(mKGivPy`g(95Gg%LDaQ`otQWFQlAhZ>rQp;&U2IaF8|WRN}2HG#6>CcjiDn1(c%@S2jjg41Zonn&kU<#*|M7iI2T4tUN65*7lLMbzsqcZ%x;k~Ddm-VWF+MXf(1M= zNToX~5dPm&&O8ZWhbJ-w%LQop)d#n)vF3;wxe+SuLc{6Q3I@Wnn)DJGEMn6p{q9!$ zT-7f%mR1f4zXg6(cTbIjuwX#V=e~SjCsxVScR}nmKOrQQ4~u?d!rr@(6OcJt`P@ng zx0HPvoP*fq+I-JxgU^;BEbmX6-X=+ejG;oOum99E2AXi8lj1yaR4%%5bu@h(b`X;^ z$l9$dFffRh4*gw>dj*D*+b<;n(oe6=|% z*Ce%n%-0aJFxZ1cFHcqoD!Uw7WfEAB(OV>6sB1%m>FuPg|Qdp#^Oxcftd%Y*Nt=dl_(@WDh(w#UIP zMHambwy;CbZ)?x^H#&dQ*Vdzo$}*f7=`-QfPrQ2J4k02VFP00gm#_!rx*H5#tQ!Jf z(+&C?XK=5o0+UpdVigMAAepJxB?VZvB;KguOw4qtYJ0cu#*9t-U>i1(p2Nqq&30F0 zO+5|6 zV1tsY0eZWWN=95(P2WUGo8dAi1$I3(2 z*(4c9(=$2+^rOCVjaTX@ULp)b@U@`DkG0YBK;(WcvqjhvRkwQZ5dYgNd%2$Gfwg$Y z44t#xC}2v02oqs=cQCuRdZ1%tS@J7acY<4Q9qLYQ-Db;UHsocHn^NFto%Lp4!OIDY z{l9mAwSJpI(1zT9#!-5 z*Zv#5L>Ce$dABpJ>*7?Ddi~e?PVy*2B2WQN?DmAtBD!$a-+%Sy9Pu4ZK|aKKr`EI~ zw8b&Dd}R_*@BCwXQtE%5 z$okROUwvrP=od0$H+Q$y5gNLe&*ndxwSA;o7tN9*WLM0PqnnFZlP!st%Esgsbtqb^ej*3>tcCH*21GGuI%tWQ! z6Hmd$@-C|qc-~;oix#0-2m|u){ybpVTkjT;jra``64I>ER(YJ>s{G|ikd8Ga$DDXO z*LTF#nKn{||>ekaNX^3K%9vyyM1%avCQ3zVrEQ zb)N`PPQ=vRqpTYa^||P>+dAAu<0Ix2b0=YO;v|1-O8&08O7lG8V@CJhz4D5{D0SOZ zkF1w!L61($rL;u9%K817R#qj?ojYQlOhT#Yk1GX*LJm^mmemi6X@tJs5i8|OroQ%B zr*RKfkdlvY_t;dF8Z#imu5AC!PpMtTfL`EACiW9BPKP)8`B^H}+K}E9=}0+!P-KKj zzcaZ1mM5bq_@aj&Y;dIEC2^s}a^XIXG$F`!bUdAOKG05_Zk~+JxEK`LdBF^h##;T^ z%sWHQ-*%S?f%JP^G2hXB`pkOVI9t=%Y^d_iPyw>*3v*G80xU`%q(8*11-wFVtAjQ& z)eg%TNFoF^^=YAmev1B z3yGHe@a{)EsqP;UR?7?8JWF;0q~9_D-&dpudmJ_S4egThR?o)u{rmkr3i{!mp_en9 z0gg#{$B>pP%pnw4u=?AGr0w8G|3@lFrcImgN=1C^<6{4BR%wb>V1oB{|M7Pj#;`_h zp!m>+aE500J1z~6r_gXqC>D0F1}QAs0ykS+&{%mgU_Q{&PcJ9a?@F{yu7 z77z^o)&UiWP07X}GLBD4?%-F*UaAlv9ZH(_cw+YqM8V?@5(OK17*4)SC!L@85bWrq ziPQV!8%bx50r6O?zdQ7ugLFT)vfXxLmEGX6vC)6;%HVWwoi?5peTri1FXjNkQH(*xes z*{guEwpvB&yb-{Q`>YO6R7@XcE_S$^Ec52o%V24ty)j0>xRkR+vg0SKHmS;td#nw! zl;lp7WqS!+1i?g&x~}%v;#Fe)7RQz7BADHKOFk`aK_!x#2AFFmU@TZ3^3id0qdpsn z(%!&gP(4LuZ_51$6jy8mC+EI?_W9Xo?#aPEmsc-}#jJiM(8*Ql3|;G|G$3&Ug>xP= z)9dmeX=w930V_z?j88Vf)G&GH8VPJjTm@&(51t88vRln+dW;jSAHkAHII$k$}HEF zovYfl<11IkDHqV#!{9;N;zsKd>%$eYlv$)4%=k6Y@tY{{Nf(f8f9WbkxHlYV*k}t_ z>u-KoRBk1;k1l~P~cls|yrJBp|^0XR>H z#S(xi02{Vkv@69*NYxwG`gGHQY8E@zv9z@8P<|0LxsL`m{!9C*cNW41lpaHG z0~n(zO0*~teDj`v7ry*t08qX|82@$-ME_*z7J5M*4EG@CSRQ$! zobtwy;m?=7sR1b%nqA@}(*G-qr!KtJ#Qvh#I|K15Pmwei^y1atlu!fJthagQE$fPb z=kOCzW%rQ%DXe7KBdV4woI_rJ@oi;h(m0wEfmjW4hUh!Nw?2>yO~tvFqS~{1-5HC| zj3QqjE7CAM6ZM;`As#?)E#tE~+x1*?a09_kUhbYod{4=|7j}o*Okv<#PrgBV)^7&U zqzJ99~^NzZ?NC@wn5z(C}u}f>t)G9IFIKS4rxvX@)S$}w!eTg4r^jPoV z#SrEY1^SoYb3ESk7yK#iSU(t6PS*V_mN%Y>L!63+HW~!z!+$XCJY;k8DNTMZwnjE- zktv}OEGi%NKI49@EIN;rek)i&8I9g`qynY|J_YPEkGjhbA7mcN>G#0Ry8>;I;=n>h zN4*VG)R5Q<+Pu!rcGr_ymTLc~Pg(`f1g2B}y{}m(C8Nf$^5W(X%{R}EaiRs!(6j$( zsG*6|%$OYo{iPHV5+|N3 zx@y!{rnCh3O0gxHWJPvN4_^9CqWvv0xx&NOJ>Mn_sDjI9vyUU#6 Q@UKPZj)B%I4ad0u2ShbFeERVmS$Hq|eR}4%qEe{Ldk?91&TqxPic8oJjZZ79M69l^%gOtMM#ODw9Q^*Xba;5$ z);%yYv(ebtxVv{SK0UXzw4`I+&ri2a4vh@X&Qy=|G> $1qbws-XA`1||2ySqCl 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 GQU3y4(PEYW diff --git a/docs/demo2.png b/docs/demo2.png deleted file mode 100644 index a2919b6dcd357a3f83e0276c8642de1a73f8f4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30680 zcmZ_!Wk4KF6E+GHoS;FM1wtT!;IP3VKnNDx-2#Ja@ZiA%>;l2v-4_k+iw1(byF;)L zWDocIyyyFVo%z*MU3FD;Rd-j-bcd@b$>2W+KSx19!I%9csfL1rjzB>{YsE%;q9pwK zH2d^|qN1Q7g+wBEch9b_uI}$29v&Z8R@e0nGH!2g*Vfj~&;N*hu)n#vSy|b=xVQvd z0*+5k_xARFjn2fxrQF@!9ULCj)YRtZ=WlIokB^UUZ|^KEZ7(cre3WoGJ3C!lJJ>xq z{2=~CQp#Oc&Rq7*jQaL>?m#`Z^Af(@5m>^!CoqX-s_P(a{ldy7r*E=b@h$-ehZj@u)Egu+CJ(W@yNX1P#>JWX_*yqDTtDE zh8Z&#NY|j4`0cX6&taK}jtfA}2&GuZ!FR^{K#qjWe^@U;NLQ8&GZQ1zs z%+7g$Z;hu@<^92QcFs@0Eh4#b+18?PU~KrSXa43X40S;Vng3gHxTw^S`=MN?T`& z3s#TLni?Cczhweu32DKBJ#ksVfx)Sh7rnE4b&C(*zZc{iX0|5=jy1!zb-oq%EUjNY zp7bO={5`xlU2Sh`^@~g@@0mynX?J!>8EjoPOYYP+nyM=v&s#tuH)@RXHiJvr?4g-| z)-Q*k)0wUrUP)CUU$W|IO7uHV_r{JFDmL;XdKbHP##0s@Lz@C>SDVZ-T4*;%QBYjt zWF^HlzAhXscER$vNWYmVRnaT8PXwoZ$i;1*Z;_v?v4Pp^`cj^z+SLaNOr`0*RW zv$bh@HO<0xr~M@e8QKbqX*qX8Bfx@rG_H-{pizf>4jX;vzMmZNOnE3_hO$h!(6rO# zQF7by4r;Gf3_8o>=9BI{iiE87i)uu@5W+l~nEj3fnzLN-zUo*~wzTIRRRhd0Pb(JK zb<9V?%z-&AIDxR%#v9(F5#kq8{n==m2({kF2)8-7iZtg5;m?4AzY38S;_rr`}VtWF7-Ys-JY9z#Dj7qXU1O7 zP~!_XXqM-FLF#%~*Fk5|ZNl#MRNprQ{CK(;NVf{S3v=Utb2!QxzKc(*Urjgs zqRwMcmh|nF?PJil$NpZKjoRLM`U&CRXAkeu5y@2kOKlzv+%9~5Wo$H2P~?xhq1SRUKutMJ;?F`i7NeWlr~L zeJY8?|6^}X_<*b=9Wg_R`rR{ZGLHQ(z#wtKzQII`Vg}ZE&{nH0h?DJ*fo`1qLN{H2 zla1%b+TFtaRP2YbzRJe(os5-x0!soI&B#u{%U{T3;x+6=ufOTsDAjE<;b+2+z|ebN z0eaYr;A5W-F0I9lKT7nq#Tq3uAbFNuAIAUa?+Fx}TnK*Usukz~F&Pdw#16C#%2+`> zJ&%5lvB8>PwiJPb6WA1*Z$XXlV!ThpQ5){NlRF8aHHpcWMCeW#34YI*tq&^&c_QT! zLcwVXXkDZNV~uEAzwbz3uvmnxvD-7JB5N0SVoGr<+=QJa?&xc@a`DDuAMc5|vOH(G z=zi6^FW)pacfdXD^2C%wLt|Sx@mjg)PGo?{e%0b@-Y48tQvZJ&`S4iBD}qBtJTal? zjQ9nw?0GVjYUSMHir!`=O9PMVJ`ovcfes?xOrgQTIDsk?lq(dzFMmy_6%?+U_S?WT zgGp$!J7~klBb<-5d*WgUJG2Y_PJ<;h8QwGRNcu#KV2uiAa_UDC`u_@}e}(-~yIAtk z(3SByDqrH0f71#~<;^4jb!r-?dTJ1MI(w4dstWMczuH6mEY@-b%sT0c$$Q#kcUq@Pfc5jil_v+@UotX z6R~LBOj1Z&JNLS;L|Pb^{4oIR+?T-ZVWEf_wH3TcO;9F7R1;z)#PnB$!q=>Y{fk`0 zmUZ*;d#u1$8l(ZKNTQ5+^-?IN_JGe+^1$`1!nhMC%LymN3QyfJE4%CB5)=fNlng`{ z2gM98e019$#(HV@ceJMzw1PRh_Oo(Rq}>5VI z+}}nG+P9wxgfNCN9@;-!>$SvHp!h5pUtOf(>GZFR@Vgvf#PYzw{$7!XQ4UqEm+9{x zi*Ln*=;FnkB7ITKD2P~c?ixkMg5F;+Y1F%;Oiq z_~xPMB#0(Pc*Lr?QVwa5P?n{EW4(suTq%t7w%bVsLjM`#bZ4vRX7_2Zb^SsUArN>b zlOi!}sH3A($}^qZ;ArP7zY4mx1D(GkyJN=*{JFNN6S|&}?X^aBCPUbcp+~-E)4!|s z!BW2Dk2|aa*&ZoYY8?G@v3lgX+-q1=epvLC`Z@l8a!Fq_AAnZ$&;>Qspa0Cw35Xg! zN4um7*$d=cV1wQ)ce~y!^0gufU+wy4u(pP+leUeh?}A$Y+iau(e3T8if@o#Q)iw62 zYpOn~FvaS7!Z$h+!42^&Fy0yWZYlH~Fd+PL+-h{$XuoB*XR!AAar7)x7*_(1@<$KuYc$IK-?qn zALuE9v$lNsr@q58jQtHg|9N*j{u31L%cJ|Yo_2&o@3{2+uKE$1f2Dngmq9h*w|R~W zGvfwZiI&>eK1J{bL1A==cKfe})4DOQystR_Im%B2k^eY!QqFdSFC1IzsEl;N zre7GxHGIM79Mhf9+@nCHHU5cVO^I#^27Y1mNC?5y^m#Xt_WIrkD(=s5w3hUW+JZJb zx|K3~Z}*N}3F1aFxW1!LsLFKlYpLd&x3bzOjdk*1f~B@}f}5$r%XiGmvG>cMp7B~o z{=TpAa3#oPdSnJa2LAg;*mao|IBGKcWF5#(0S1~ zuimpNMuWm@iYKs;zHt@SIQFCHr5Pcq|HJXJL?~#y>ZtM4v%_G`mG?^#Ircgys72Zj zevyF`+P*vtGM#7}B4S+|A3YV~z` zxJf8PS~6@eg&H;mBB?Z1%^>&3W5;TCE~>cmBcRXyhhXfNdDBPf9N**|QG%nW!}x5g zQ)aaHHZj)G%}hg95?LHF7``^#MOrDqlSbxs*VrMar577A5Su~ESs_GeZRLo$BM7tK$P?mp<3J4y*XW<@ z@{-u0-!*DAH^RFrg|LxFBV z&7oY$R0EtB>wS2I&19+9$n~4PUXY|DFGc||e){~fzjvpUO83#_xG6?PD$R>GeboOM zV=pdvh-RbpcNO#@y)Uulhz-(0jGh41GKW_UEO<{WR@gY1TYQk;*SQ$NNF-Zz5GWM;Nvhu(5``-Kmu%x*8I{)@S2%Wp>dAuj*y~!KjGrJnnvK<1Vo(3wUgFCKSCAV1|`~842 zLEy)9;m6kVoiDl4H1#NkQ^L%>T6fbaY*8%Xe2*d6hj#HWnU0+8mtdI$$zLJKHnLbj zb`4?;X7$De8BcMWx*|F>i(!|(;-ztF6-+OFmPSNH;D#G2Q9lKzzS{=fp^5OE{Cp*} z#MoOm6GUDftHAEY(%&9^5@lmm5S_So+U(|&wTIH*Se@s8=XK|BgUie}CG_vlfgY}r zZ+P8HceZ}J*FWl8Y`Ru?1pH>SUzI9eWzi7EaK{tb&K~Db0TRBu!}T*hO?hF<5%88u z)drUOWtqcuPN8;;+#pu3txpm4$L<_`n6akpf8XtCMP0pVw~^F=;aFOF7%X{V<_3wh zV8|fbCE7-yW9mF1e5dY5)0ZGusSqk=+yvvO5S%c_#0z2iU_rfg zi@*CfBD?%Z>^)KHgT3X1@22JYS+8XasP`v-k#OXiOBECZSL`stP zl>}!}!RoD{d>ddMR2w`95ed&sk+B-&;a_q-#M_Fbc#`^m^a}81N{u{^#RPo^O?|hJ z3@R9fHx%?82Tb*zsU%rENO5BBH{XqlMBengRSXtyXfn1<`61*y|^ROLqGgvB%`tr znd@5(DNTu4#hF>n?)?hI`~aiF3-LEm4)?Y9s?437L@|7*Vj5C0oj zVg!wsoEN7>$@qv?#6~4d<^vjC1-apMC(H)**+d9B&_r%p)%Uq{rTFR;(nw_h;6># zgkiQ&Kxszbc_alCec-y7a~Z{Z=b!jh*!N*ldqZ?$DA@Msz8U}Z{L`N>U`cp(k|ONt z#Mi@cVSPhS=*v%iPd}ly+rQOfwU6(OCns+oj751%;he)4-nY|@OaEpEx0L@5=WQib z+kFJp>1@~t?u~&oWpye+em>+H*!z9#;o;>bK{jHe6Up1Ko}R{1b?QaWgZLWjw~Z$=X?p^X{hfT#I;9KScDZfygM}9< zUDZElxyy)5`ts>wLC5L4JVK=AU6Z=MTOtPjfE8ZD4=45gua5|Bv)y;4^+S{&2^^C9 z-bjN;x=2`Nv(n@#rrZZ?@Z96Vi{S!K?v!ip<=!qL0JB1Deg8auv^w(IkgIEp1b7vj`|MSX4rM=+g;gwl>=))&)c^E)>)&*6 zH3R#!301&n3D<|(KfvIBY&rE`=y#mHegB!_)PH|k$L)I(8~VDIO{tZ%lhp5T zX2t2rdB8h=+%50l*1`Wp)?W0$6U@E5=02`h~yzZ0p6_=+P6QqLL2&>#&$Sb|&t8WDmc@ARM@NRU6oKnxqQX165czl+4*;#zFE4Q`!Y9 zm52$B=#Z)RU>6hNq>Nb|XR^qI#|$~Gujl{DM8u*I@(a%J=N1RkI^(wR(%>TU=D(<;F;0p)W8(i^^QD5;-3n6(SMFT7{`K(Uz)J4VSQ+nFu{_Vk3E}l|3V`- zA7q5Y|G=xjoA?xB6Xtr|QaNyaHZ9Cxxpube5cbpBuY;Igyjo{Ac!7hVHuA=9T4?wK zbseHBUHzMd&aV|w!f?x%{@6k*T-mqSUU@%Kv8-}33OAzKu)Q3xD(9Df@|SL~T!4qY zT^$umMgj824=c7oQ}b+u&a-R#y95%Y*87^Q(ci@o|3bFV8N1lxs;S_e4`^!g_iMAs zKi6lIi@uY9TWE?QFBO$fWS)#?hG{A#om8@35lrbYm=*mwp;~wVha+^#@2QL7j*GPA zfo)2-M|V|CSYBe%LtgA=A=V0V`hITA1gSVN2y|G82C!j?`u1Cdd=A82T!O`hjeNig zdZnjP+!e?porQ4&gFhnGc)-Hb1iomz(yUzkat)l67>!pp<;mb~f~3@5_rmv-ebc(O zR(3lbvj~eSa;fCcn7V>jr?c`TB93D6VuO;fK2&DdxQ1s`CMpm4O5a$^{p;VL?G^HG zuVCX>4@N!+mOat^BqJD^+Pf6u=Zsdv%H;Xu`H)qm?cnMRInk^NFDEM)V=hzEo0ZYk zT4&s+&Ev^P%J61p6`=JlXa0mdd;*+lsoE`7Mko+$_{u++4*wfU4J|} zY&KWD)Bj&fEMvZC(AlQs!2N*$>i=c@h#`o01(Sl7B4wC*P7WeQ3xNW=I(`nj(#(U* z59nmG)TT4~Nel)OgnD41@AEAG`aSm}UoEP5D%mI6FXyvep+bT<7TO(3;Jw9ZloJ>$ z7X?q5IEcH3P4`_399K_HNM4fX1y;3zGtOuyZ-cb+DXLypz>E|NN6n@}{}HTc+EQ$)+hHYsDhj}mrsnQ!iy0o z8Pst((E#2hrb3x5(L3&h6pC60$e)9(elTzE3M7`@PzrkscGKxb$)Wq%I0-`zP4Z@U>Cmw{-wpJROffKce)7-n(G zZH6lL*&&n)sf-5(KwQ;;HAoSVKo-v>OPkoRy32*kbqM`aC_|xUp9>wqr-JveT#I$= zzXdvp0w69-TvPjGdChvxCFonBBhn+$4KEc3pHMW`V*Zp^N&l#+M}5U(E*DtCv`|=f zSih8gZiClpB9{_Y8^y}-&9OmYV9?Ic!*KG?GqG=*r>Rnle2SB9^>BCNhO6e2p6NP! z)%YpgZzSfr|H%Q- ztqw408049SQ?HXk{4Z|5(zj>I%EuCqW#VulRCKQ)Ck4_wXcgmGRSn@SCsx6$ZyBVN zBtR{VP)cWq!3g zFmt)m>(MC~sGomf8qIlwwH^Hmw#}0d2^b)Rk+~sb z5ZDts95J-uJRWH#xptd!x-e5}Js0fTFxA%;Z;8XzAg_~nwLU%akaN&*J8B4l8DX;F zm*7L2pX%inwkUjdhmDAdfBeMOuRVAf{lSrNDl*(S#2ZO3nA1e^GwTsWGhW}x3aPrI8B-AI?PbSLQWab*)^;~{KW#2N8@_?dw*MrQ(-tFMc^~6L@ceoB_DBWrWGfOC z0nH_`gy${3k7-YRis~SfiDc+~6e7xAW4boZ7L4!Ur!gH@i!rG~oQ`o{hpzz?RAUV; zv|HJoy~Z|mJe8qmoe3C_mMw&Tn9u<`#OEo3<9@9Eo{NAT?3iC8YlTa_96GGPL0JLO zE>vH@K}Z~4YVr#SASl#k;c)*a(jwh`FH-|t)*TLn2s$a;a&{^*XIMiHG~~h?5rwVV zvwZmTm#qb*d6JXK`rtCMVuWe4(GWysClZlqO*te~BbO#%$OyxTMdUVTy5q(FK;-x8 z14SD3gtqM8C8$Xh0HQVpU%36d-#nrFtUI~zHr;8Rsztq02CBm_f*rLKo*jR1&n21L z_#DqfvcVZI;?L|39p$f^thbgn<-ewT`N(#-ygS7smn~XOw>MXLpDrHs{A@n{^I%s9 z`K=vmU-9DcLqCGJ*+F1JcY(fTyGn+qLfOJ)uzo%ToaVY+X)$U-uphNc=-Q0?i%^S% zcgB=PfvEHLy&Ui*uRF?>yf*uf_Tbsn+zHI$-npB{eW%R^@OWRFsvl&H;`$9}^;5T0oRyuo1-EI4Pk{4A3H-3MIkXH? zJrho4(b7u;)%TckaTgC23C1KY2au_%?Y}e_)VkbBfrvSd*qIGrqa$yaHT6FPw5&vD=;;2{tS3j?ne8_K|cpgSE zWFZ6*Vb4+ssUP#}H{W%r791|O8iB}IYwM$n@R7Udis7*K1Wkf~->(ll<(MFgr$5=I zV}I%HD1sxK%d?;iR^N^J-t*3^=mQB<8azdB(@ggQKO%qh9|kA4)|A8F94b8L=ChdF zt{Tma{BLIU8)ky3NLJb|8bZ&@BL(f7_8-|o1|yHR6~VZR|A)&uA2N9MawGa8>~Fv_ zmdP)Hi7BI>X6Ls*{lRF}T2S`l;HplF*OX!r6&ifJp*_YvFkZ2lMF_v=KMua^&X0I7 zj30GnxGwQO{A!UDQu-3fYV z4!yI%+{8-Jl-@ZR+kue@0k!racwn_++24Vi`XCTrGI3q14#Au)jH+x9eZe16RZT{*dio``IA+*Ntzrq&Yk;I@{R^9kF4Tghphq7N$&l}XSCa8!l07!0u`H?n zLbG(R*YBy@PC|U4VR$~WfYTa5YspHPJW^8x+4}Bc{Zmsd0339jleb!rk$Ny!Vr=m& z6dR2D3Pz{83u95lp!l<10HNMm^-0#n>z-4#F8{UpbBJKh`Y3XYJAn!$NuT?<#fKlb8Cuqfh|jNn37whl3Y?`7f$z$ALg_>O=`BzB zab$`VgQyasRBy}Dzgpon{ZoCwoZ8`r!4uZsM&}jEErt6Fzk9QFsK5}TJIWc1@bOGd^1eQ23u;=N%N}w0<=uY2S z7*l?gJTG``V~S2q=>&4!-Bc(5bQ!2$yoTMDLbf_bTTZG-;X|xyvzZ^cdeYrLN9qQ_ zx9-)&hm4V2upbC)h|$^gDo-eysofAUxQp;ycp#)PG%^+8NBETI<8Z;X)R?QW-|DIU zP8!Ps`H+pIttiAn(?qHS4Z*fRut43qN|^F@c~R@~y{w$AcTWXIj2vKZAc|B3whyPA zZl8`E^C9c!nt+D})>`?V^3ytN+AZMIRRXpzQ~|D!k7)8_ALU^6R=Kb3XIGJJ9S;4^ zVEW9lFY*z=a=@$dEV0|vr+u)g2(sqmF#(F*Rx0>v&Bn3MWeKUF?^$Evke(7Ixk4u5koFa*J1bjr#R**2dmgPSpUIK z&kgMV&g8DQM>Y_~%K~m~{{DuIN{zEr0ac-dT=o{WcH)+8_Wpls7x0{yM{K=4Rx!MAVq3+(QaJ~v;vou5k@Z%$ zKfbhh&gHZGNqm<}_J1{C3QwWGrLIR|Jx%u8OH#ah{nbPdhZbcxFDAmKZu!yE>Uh8H z{%5uzl;=93&BZ%`Ib!p#UD6wzVe|BqEk#ciBT@#s8!X|VjG&!9H+oX3EpVJXbDk0n zVO&YvQpAp|O{_EP)(@;7TgGQcEi;ZO^|Q&_iN{C0cQ^CgmZ$Tz*HL+*zO#qH?P zpnWX|(M_?tpojV(WG}8-oLpkfaFy@_@lwi^iY~itTKG%g0lcN;;jRXuhHg7T;WGi^ zF{|dWIA+3GkO1qyT^QK(5Y@@yV{LNn2Ft%FhZyhC!BoLLe#GQYJHUC*#$?%{Ih?H^ ziA5J+-l*c`!(_Xaa3)|B0G)n@1{rW}b|B>3?eScOEFw81)$E}JwexK+PUIQN;iT&Y z2*&9B=4!-5fCS)LFi~6*+#Z=1R$amyYBQHW?bf?-V8#koq5Y=|l*3o1Kt*tk&57h` z{?N8{;pJY(e~7K1-&q6^jP2R;TdxIK5~>ku!AamvoAe3fCC*n*ENJk`_g#G_n!>#Q~e!aoM zz>>n^F#P3mRQ4#C%};p~OL_R{m|;0&alD8xV0GfdWQ~`rMvi|g;bxP`hwrhC zK-?IXKAvW(0W*;G%c zgsm#<&u?|1(;%iDT_W=LosWp`myY{yN>+luXL)A$--;CxiV10vG)qCO;S91*zv68& z;k@pr%|vbooc>;I<;bcmH&CATU)3f$8??ntoLGprW?2lyXUD0*0PcpAJnABPXwVAHt=Q-`jH z&NvmP6TruCFNS(rl*;)@cUGUbX1?Diw( zBnZ!<2x48z?jg)W?uQ*1{#6erF!k#nMr;RyP&68_x~Xtw>`X6gTJFQh()R%8_evga zA@MVt5;4?AT2c)`R}D*7{IEXb_yH!Eea-4uc11>5!Wk4pAJ};AXDpG++_=q6ML^Ic z-+hddS<~F%oqw`_zW9pkxD{9gRMQCl(s)&r5%v;YSzcu544HEl{|6&c|BaxL) zL^PC7Gt_LJy*SpJ&VdsxUb>}khUL%hxqcOm6VfPz`!T5=8*82O!TR3Jgl;4;)ND>64z5W((&|+QsRp8qZ71f8cmC8 zB&}rEYL-Kk2TZ|1z2!XaE?dD{PttB@=eY znl*U1pFC*DxR73YoGqsvPB(%p%!@f2gV1uE0<-FZxi_=;(FKr@B0(?7ZwENk(uH{v z@*t&Mv;Pxeoq!1)x*axr)cEl^#{$U4`L6XxMM`UfuYSfR$1@Tli3km;tZHcCv=jzJ zk2UfBjwcigVLQN+h*+{7u{xbpG#sC`6h^w=?-=;A!4d>up0Ya=b4%l5`S7y0WaBl9 zSSOFgkQP32Ee+pctD^}%uxw49Q-0-2DQw<}4H4|Fs4%SHU?-RV;I?~L5_|ZwQ|DF{ zDCD!)n2s5r3zfK2E+NzG-2<6(SHe7%pJt@&h_7-%1>{c7T>jW!mk&Id=*^tEbAS?h zb4)ZBT^9G(*;d)01X=`ty7c<`$9P0xVk`qm;+t{)olFfqZI+Ttf5+ceM{5|G8*fdX ziJ=P9~Zgr&4Y2JmP|t=+%i!*-I#+c=n!`#)oW_x#03PXv@PvdBE46Ss zb?xA{*&NIKV}jq9j=Ur2)g5H;c%dAnS6K zH$N~2xk-(1G&1Z8kjg)~tl1pd-&D98;^Fc!!*25+hDiTlXG+@q z4C1dR;P-?jJ+@D|>TBqu?I%T3VOWYm#uGGj~Qw z2Tx{GM~{1_OT2ZObi9U~mLzCV96Sp#$LAj=1Om<&aR`9l>(Q45$ZuK|KSq zg_^)T32dRfh-$?9Fy3o#FxA^ZVbK1XvcKbN{Bn3*5BP36%jHK<2!Wp`1?vA8*p>xrUjBDt44iRsbX-V~L>GN-nSdK{7=4|t+^e|H zPDEI6H>M2qb1Za&-U9zXSB-noBzaE7Q`xkgrWKJf-xUgV^+`Q}KO5d-hNP1qP;Ce# zNi7u@!37I|2!n=IY=*x<6oAhom$#T?Hy6*K@&Q{e0- zW`zx<OH$Bb&)7L|pH-&}Zas7tumip0+27G4glj@y&p;!VEm;k2K+nkw@cdHjUi!T)I zoBl?TUiBxJG37Cp4X92X-i-IFKP%T zqEjbgvVZQ=7b@9h9!9L{`+^Px09gBZK~;J7_*;>0`Pkc-719*ss{HPA1!c&;W07`+b`4(-z8-L5C|vGW;}= zr~rAQ213R0_y;8ZTW9i4XR=5DL>(1KMFXzU5ehg^YXayz35c74t5A^3LizJZ{D{fX zbgY#Y@-A&kk^dl92&u_NEaI)3mJ{@UIngLLwc3B=y5Q5X)Z%`|yP^Vdzl{T3sHQr^ z_W^1=4|#g8IJrXqJ%^^m1wd6R>1N0_LEJN5i5XCu8zCn=Ybfbe&)mhce6ci8-lC~n z6m6CNJZag5WL^i~aIUkXEg_6`v1v55abo4w{RWf zLfKm@w@@9fh6*>8`O&#U2DpH1Z`>kqtGE>>P4!1U4+ok;@iaAJlSH6ovwrbq7_m^Y z1u?M)nR{HId_8N{N7bU)=sOwx?OVrPrqs@4PgSeWY@YL-$#XVv(Akw{ltqnl>sdz- zWJWPn=9i3}?(yhl9L1wVQy{OJn!TE;Y~fqf?Z^Z&&w5)>C{EKKSBl#72~ zBBpDK+j6W>|4&Q@eGtu6u=5Ni6`6asRndn4h&L)wXeJ8STe470Kh3)f3(I0vq)ZJa zNTLNDG4jOk-r@kI=s)3%YyFfME$EnJi@P$bg-fa^1aj%pp$Cg>x?7H50E6Fe;@6?| z#(lI1kZ*A$OIFck0!i+P@dT~n=aJ0o?l}{zz7-Q(kZpUBvu1nIyU*npA_=+9zRrhD zfAAAk3qs&I20v7m$Xp~^AbjyIG^E}R4g;hJ=-@u9pBvsq84#$lq<9tyBpXv3dT0!a z!?kUWnYjv?6`}YF#1V~y0c~7-F-|HY=9rzy*XfVZEVTt)CAGmDM@LhinW?Btm^`Mw z&WOVkX>M*vL6gaO+Yyl^H~kzy09$25QgmC^^U)2DRn^-GI;_5_9JQ52_0I|}O30|D z`5)o;h>JL;%1pEx3EhRzBy8z< zKZi0z!e@r_c!V;?vOYS+k3~l(-p^vXYs4-#6m{x!gYL#wXz~Z}CB#9A%c!q|yRs7~ z+7+_0lYEhJl8NtQ>;h{C%Pb#go5WQaq`0BBA~Tz{T|>J%w)~^cMDY!oq}+vkK-)|6 z!3#Zxdq-Q|-GVv?qWEgDI8#Kv1zT?!ZS`c?3mmx>WwnvyIcSJZ+hJ{0MU9U>6E}~=N zM3p=zoAvMAb(iUjDaoZmHI-6%$z>K>=@4JjDb1`cf-PsD96>Yb;+AI-Z}PbWnYdkw zC605)&g`zBz$zm+iBmm+YIXdI$)5e0yMhwbQt;h!_0^E2u<08nH_IotfQINcifGUa zqMk4sfI<0h^{L&u1c9;Iz-L5$9k*yz`uVkytwY#*@scuGCz`m4(Z7N}zPBasxDSxT zH>Z-$LYN<*Nc6e8ONq?vt*iWG2xSG0HEwldfz}gBBZGy4>|NFK}QX6JZ2lh>Eb zm&_Y+W1i-wfpJ!Uz1O}2Q}*u;;_q(BIt z26oBEKE&rAAM-u2+nN1@k&bN{ODD~;Z6wY>cVwK2W?0^K;Gxf-&wIujBS zikh`#L)2+8=dmH68ubv+;?MIR#YG5^?HQ^YkJ%GqLcA(DfLXc#f{N5Qsc%VWL(PTW ze?JVH{5}2|QkawbZpd_mO_M4JLO=7GYW7o=;uds20*+ryLY1!IE75_3XBm+L|CrxB zDHu^3T5!4^vz~QZJi-6-7&+FwtW+~+$1hqC{dKy3@4TPZ|LDAaLcUdmJP!uZvw>EW zDp<41^oRDfCCYuaYbE-Zbc3&aH_u0}+xiD%`#DuhK>q!G-K+?;t&_WBmm8sP3!1kl ze}2w|Qg&rY(#jW9Uc0?{NgoIn!9bQ1=d zJHvZ3gg_+slLI6frU**jjjT4Q@_VO7Y$n8&1w+=oOkM}rNwvWh6fJZ?!b*y*b;iul zhjCUAhKTx?Naf{Zd(Lm1H8>J`LnNyoEZ>Yi1747Gqn8;wj1XX1EBTNV_qnb5O$WFW zV~c}hrrSI$uJt(AHTaDJVJ*0(mA<()&pwN9augjXjL4)h(d7JZ z*f}8Yg1*J26tV#M)86kw(3IS*g{}mX#woQp;RYKx(pWYrvpp!Sh8U*<$?NV>;T_Mgxkh{`>jh#{OO0mT9+Q zhA^gc_gO*QGqlB>%WfS5>6B2oIyz_Jn9*rTd0+Ay(jhuhgA+5KuWzC7%(DLHrg#^8 zRCZT4i{u3Nk?>5yLZ+YIj%R)lOn$uc>Vz`{w(i$Z+D;wv3|Rp)Yp$7fPs);UMaH;2PL$g1&(Qh_ zkhgOT&003M$4_d}_%yEdzYlp8l3|`4ed3(NAlBNLe&RPm+ftS!phfR^B@`h2b6uGz zL#xzJ=e~S71wpq zY^!C`E{(ZFI#~SUhQ`J0D3(Lb$3R38cw-e{=I8 zj3@Y(2esqk|LN_k!=n1SMnMEArD13R=^4bT~Wc)c%n1{nhB74z4=iP##c`p;g2iBd53f_Nd_7CLze>8HV$sg2fdKz zvIn?Ni<~aa@bl<2? z!P$%^lij76qczoQKJN2h-dY#Z?9NvXFVkODEWHyh`bBM6HbZ@tX0h!(a69!50E%f( zsm#isKh~>%dTG&{##YC3RJJ1RrQ52B_ryD?dNw>5pW(cqTp7Zyr#l@$^-5|f*_OC-iVieCk z3|*s`&A~5(SC)Dx(pDok!y#;>QHOX}PJQ?=>G1{$IHI8M+P(!r+_~lhpi$O<*TZ9< z$di-P=#c|ExXH6&+;?mrs0EX3#t9XxRM-b_3>vB0i9=U~!yv3>_5uB%7bh_ zdC&0WIDA&7{xX%cAdE!u^Q^o9saBIa$256_fECI%9&RgVX5`YKBfEm5I6Z9Lp0k}d zFjcg}V^dC$O2*2C41pbK1ymsjgZLPP=6t8p7dpzhn?g-cazj{HEl)`kjiyf@+FBGc zUF_}+Rt9}Eq~1t#P+7@+cwa02tzII9guiAicYPi#0Md<|ClRP3|d79`@3$!;r38_i3tb9-{n4~g zNSEo#Vq0keCJ5=u^}nOoNfOj12VC1fegVPPp={Z`t!(f<@>ifvm8s-cpky9w$PKL( zh4PD~3$rIH9o?roZP~u?!V$JrUO7t~>qD>I)8WG(7BADh;pPRzenavBi#tsIWf!bC z08XE=y?Bgs`2xt0|Md=m3gH8!ry4^l@vGi%TBfxR5QrXaR2+kAC2fMWFILX z&F}HiO&bJ=eeb~Fomcx3|20MJ*Z3|$NR-4a73{nWvJKT)Cs)0wYsj~HpoiSM4)^$d5AIzOAj zv+c>EqLMScZ!+p-=pTbpDO;)a!sU4yYUv<`0ldSm!!H2l9T-0~5)pStOYMhm7|7lY zn&Y+8VFqEPnrHbEf(favaRL0LB$iAi7PKB%7aWIQDTzG2o>_HorH}tLs1x_JcbJuh zZsGdDNr$YPVKh%!7wi%ab?JD^gdH}0@_>J=_DTkx^fzK(z$?P~ke-G#*x|*waToaZ zD5>B2ZkXzKbv(4B2efDKl^L&K{+;tLX+v*7{4=g|uekKZj@ny9wc!q{A262$#yr;< zp$-e?L$B6wd8e2vxI=tf7}GyOy;^eGi%%#IMb8Y5%&vbO9gfm@QmlgMo(gKi9sqxU z>$Uj7z?$H@jo&VKs=Jc=)$c&beEnTMz;|Dk1$*X?Dz`9Na7sa8{Gsx8G{+eC*B}g8S*p%F{rY;k0vV8?KlQ|R8v?S^E=mQ#HE0o81%Ac8#r%Wz@uxo+%VuAD2`xaofMVP3)s~er1*RPV7 zr$9f!bU^0yoby3KeB*MhV+R*0f88Q`C#*pBXBB59xC1;6f=gcEj%BhTLGJ7;fzv@4 zhMeJ$EB7XXoU!rvxg@|TNrL?dH<0raU)DfPu4fAPA_AMe1@ZvTH}(8|bJ05ntO%Tn zrIX3xtGIEha7fOC(8+E*EV+h@5o44&k(b;l#1N9lCPTz|X=ZxG@4TTMfnZUg4eL_P zjbL%Pir4?vot^@bIM^U@d`zTr!XZ=$D(Onrds{|R($#`|W(pTg87u8C-vIHcgd^tT zeeS)l@v?Y`q60B6OKshWQEb51n)CHu5IY71-1O3m<1qNiyJB)=_l1l^ zauc^EfhffHx!iVY@!;j4JEd>L2@S2Gsg9vxH-V#lb|M(Lr`*si5n-Q$^3XI-?SUPJ zP05irG9M$EOqAO}&+BR*F>p%r_#TB3{L+PVAGBMjWPDlhsU6Klnt#0SBI^*@JcWrD zoUdbiR@$t2qaTY{cleODK!x&2F?DP zYgy-M`z#isWeF)tbKL!*Kn@i3TBz_$&*UY6kt#{u=_b`*rJ3~M8H^~zmJX3})gV4u za^U~;SvCE4i(_6n!6$lpqhA?`449^{4?xuajYuDE_rKADk^kk-k^}$c<;Ft(%lGY0 z|1azoD*qZ25i}*5HNg_f8&3eykbOv5!Sm>l<(x>S8I^DTw!1i1@mZR^HYo>7F`KPH zZ2?)h9QKrS6{w3!lATWGV10?YcuAGuQ}H>O*wvs|jUDS=j84to&Wl!C&*W^?ZMBWx zLDsC(u98%Es8}1Vr*Uub#$ZuT<1!xDfsGQ8QV;D0Nfm(QP=0bo1)%696&^(ag7A<) zpf1*C>APEDU*nE&RRAlK0zf3=K$~fqdRaB`NFt8w*gTdXD*(3FX-}_vS@kNifo37L z!btz=P++X91GwiW(XS~O`;bw!Zo~~;0Ro#O7^&+$A3C1Chj{zVC+@4ydwwjoIN5kW zPuLFrk$)ovX-zwpPJ~apRsdnNjjK3_2kz8?%QyzV(hAC-0%sRtox7Kx#d5pU)^jju zdQUt#a9|w;XrZw;*xx>~2{dEaY`Z2MwpSZ4a0eQZdq$lzqw!VOLD&?oUTat`{L{22-}VAt(Q#IE^(3sFKhyolra;Aq zr3Ac#u!Xi` z&X5X=04m%%?!WTDI*v(rTA=ys7Zd4{)$trYH2=U5_sh{=R})=)5P@X)AD+Cs;#C?=?~4WOEyQRPG3|0vnll7 z4}jJ&knKxx<{*OOUP-P$sE&$Xi%AdMQd3qdFhyeFK8FDK8!nYdC&AdH2rJ(va$xa^j6QpbXoz>(qZ5M82KWU0l zvU)qh4}V%;Kc3$j`#mxkp_zPY@2ED7zc5buCa1ODaB}L5#7#Tyc;efvVnxtjt9ipe ziF;uBt`$Es$8u=i$@oTcz$nb5R%CO;)XtGYhRjM7!!PAWVL2)n%Nw2I5;aS~!eLn< zlkc3iWM9n(CMlmZ4W&ZojmLjv6?>1RGiXqeg!YpLj=>D64OZmS>5Z;ksN*)=>3nNa}ojMgK{q;Qm z*#}Cj;z{NThn-2ga>L7GRhm&R(~4VX*^qUVDbo}}nDY3s4(&873Ww<{Z^|J7j)Q^R zSAxe>S+qzxRFu}Kyd>2!4RsC5U?K8 zfPx_@e!)~4SWXn#z@vB8w%}_!{KHM{EgKH^>NiFl>~YJKeFK_qTJy%S8qFVmZ>bd8 z>V@Q#fMqXKn2&e0x8y;QxBEuflb{?)IdjD-Y*O{z#FP)D$IcHVv`Uo0MABIASniST zq)}z%3JK~Fx&%P72TfM(Ra74vKBwKmCyks|cnoq&qIPNbwQFxi9F9Ky9cRTT=rU*u zToOeXrGzSFc^bu)G+vp!gLdLZGKQrF#H%+RBOPs)n-MH{x4omW?W%g74jWgOjcH&s+ zxI2kDv%?_%RF$qw%P9f!-~66C9Jvu%ADh27-Q5c>_h>4lNCEs#&?Sn%NN}M>cAWGL zd*^6H0sn;F!2ma%k=f1U6l7qpEyt_WKZYn)Hc%Z0|2?96ob)ZiwF{yIFs$s0qzFSi z2`0dFR^dDhH{TKIk&q~WVG>sU6BbO>iSSzxk}dAa_zM1{Da3pc3_r7q!>gV zNckFdLLp@b=O^b=0CLjvAsNUnRWKy6PeJa!k^Wze5W$Ho;gaKdui#bplX36{B}y{MKkI zM}L~%B;oY`<#NuQ-<>eU&>eq!x+9dYvf7Vt(lO*$(VZ`|PfU_p0{5|a=yXoKsC3s;eyV3TFaJqXA2}47b$(tku#olp zFBZp$wKtgmY={5c|C08_Ipdm1t9ZNU!O{~G^Eal9pa+xb2NN9$;qumwj%V0!IO5D~ zwI1&!(1Jp`9oe}ak87Xy%rs-<_`0F%*60?s5nlXZM`a;zGz&WT)$Hgjh)_I=YjHam zD^gEmercpLye#P;XS?$j(=bA~GDzv6)Do4nlleofZ?**xDr&x1|1FU+6*%_nP6@e} zmy^Kc_`C^&NSdd;HjD6&vv@LCvreMeF=?~>rS(g@; ztm4Ruull@(ZifUh=y_PUTvJrq_HSR3J)Dlq$*{8=+mGpa8yN{>LcIJZkELs2lg zrq_bT%X87?ZT<1lOVIWDZq~HwK;Hhxxf%DVrDUJRBMdb#E*0PJO+=ri^<*^TFFn8{ z&6F_O9$%n{BC8Qxt86Lf@HI&QP$T#QtUL^tAZOQV|zhxTLiU$)c{ zA32-ZFBQqps#o(7D<1+RL3+%7(KKV_&(Y&|Z4@Y4GN|V@a1u4r!ftsuZI~sp(%C-*{laX?A zNPk`o;*;5~+zYeIgWgA-ks&9yOC8754{!XC{`Krqzoux3_RZ82|2e3>kqwsL__4Q}xk%m9pAZNHm@*>_NGRMjZM^t_ykL7e#Ht z7JKla**I)K9^2*#&zi z49@j!u}aToMyQWJiw(@0p^7zK^|zxmJz@^men*f6++xLvk8kOodkp(enI=M2*WDL&fB0inpT}&EkWGN};(Em3m^YLcv&qc!^53 z{*}IQ4~1>7;;sP{Lmmng2^XUjDU|9b%`cEWzGR#o3YaHuRM3>Tm#~2#u0{Q6w8kJQ ziWG7@4WKcY>KIj;#P7e|HCgXJ(Ikz?NwKjMMf zIXMYE;qGXrI7THXuU>gGhgR|e(*RPl9p2Ibw@RQ?#^gIwGT@77JqU|cfdGS`bVQeI zF2vA!7z*TuQYy=yP?q%%>I_bOHbZI>1t3*2ggfB@xYl5@k%H$v{4_vx=@3s-o^ao>u+D}3?oz*yUiUwg?UFnEZBzdB>(6+oVwo-$vroV1~kS10ht*UJ# z&(onuH~u`-Ht{?o`yS-N(9yX^PyeOvg+OZ9$M;#uF$0!9i8@8t7XCUSrr%0$x4_b0 zDq5(&Yhx>Ylhs6IaMUce&#*BGO04BpW}A{FB97)y#adQK-dhY5csq~gS4O^>)$(e+ ze%ZgikX<)?Hvg1u99aN^7#Fct`Fb@6NF#Ua%RW!?gpN6?!~iN;2)e*U&-o|BjbG-k z5Y!I~rxQszi!^NIO$odXs1*($Q8bRGg?;q!d)5sv;ro?e;;yc5zK-z;sHC+^9$h3MNa`r;eB@5fCER;qG%vqimlk!?*QuZ?JP1w#-J1yq$fcqAKd*F zX`#mxViWrq@i`4%bH%2^;(y_-rU;H>FBuJvvq!=4=tfTg9V>`TdF>Zue`z8FO?w9_ z-SgA~qbVVyCBucw!@$!mMrNZkUaW4R#Ob5*pk+B&S5CwJNb4o?sme%z=L)rl5+AE# z?QzXOE<}_vHU)s{`sxh;>G6_Lx&bCvpuEBSz%SWX`bchZQOYLb?nSjt*-v`Bv|)rT zzZ;)G4X%VQTxHsH98kGktm!w5Tpv%XaQr!vz zj@F(=K$fr>K}HQlfVGRC>}o#T5*lH8D2F}z9d%x_nOo7Wv{tcpgbB@{*>ZoF6AZX1*bhaO+tv`r! zF_1!%N}^=#+|%_cV5`a7Kj_!2t1fabTS+JpUU+mwoTT&=2!^*WCLjBp{EPx0@tl9~ zxIzxzUZ2`=*E>;g1FPLoPyfYq+FoV8-MJFi6#9SI;HnsUMkZpEGgXsyvfuYHTDWDx zJV!Z!qHk)HJ5UsT_GG=;qbO@Z`G8V*@7IM3S0W@O z5u#xUsoH;Ps(L`o9(m875XOwN8|nuRxI)d0fIS27QPC4hUnO)L{!5e(n6Kn?Ui=(e z@00&&zw2B+;4H&X=44BkG{LA^{AQ``k}~jwHxSHDqR*-~$IsI2`>5s@szPsTV|v(VOmViT}^@rwI6X-K>Go z_xVg*EbE=NP`8P+p*(K7p*tPqCkJ5J->w-)AQX-+O~DGRlI?0sH0(0-Y|ZFrZnfm+ z2dsNjQWI<_-+UK^V&NOZ;VmWG$Wa65&xLQ?RVZT({PsQFU1sYH3ug`JU9v|i76dx; zAHAKAYF$xA9~4gy3{+nlDwz!O5K?88wlqh*-D9 z2)u8SjL*lpYC~}|NPgN3rTZC9s#_nP#`HgdVilNOIlLKeUdYz{%Youopn&|%lfb^Q zT?I>gkT$Y;g!=p21M7m%Tu#U9&T=!0;&WgAAajD=&o-34fx{avb})5wHywAsJq6m@ zpc6KiX`4(4dRk+g}e=Ef0ltLYmW67{8H|vzyXvBlK5zhT!vG!(KVE=(`RA? zGzXb-*}L#w+nV^|+- zw=?}hIB+==ca4=hp){G)*@RMyHKUpLlN#}M_g>`%K@!9awY6-;2((HggGr;35L$^4 zDAqM4B@=MozHn13NED6^LfNMaMog~E5BJPpY~W1KQ7pG;Bsm^>vUJHuM3)%{X(?fG zqy^+5st~X@VV-Y^&X1har{tKep*D-zh^BcvUgEg=1F^`)d7q{p`YWCYTQuMaNOQ{r ztw-wf#}dL)a(BZ}tvJ$zd&QvR(G}F>jd{ZVWa^X6ezEDLmlh&5? z2ZW|pW#5+!WjD6`C8c?|Q(1#frGT~WQG+Se`h#efEHlyL&UD$53RW<17WwN8dT4&} zT8G{IOFgO0PKwK|)Q6v3?ge(tPUL=Dj*unJbY9p^D8fJ950K%129PIqCnCm}TaGQu zM-D7?Tz1cz99)*GAC<*gCAkq9gn_b_$Wet=r<40@7=Tg-=l<5-hE6Cao{NNvC|p+T z4c_|9n(XiSnoiS%fWN0tkx*VanV?w6)l1DrWA{i?i68I2y+YM45nvyN9gy;4BhBD{ z=%Fk+CP7LL4cc%5IU|xA3-SE2 z--3{Jad6c7T?s0`4utDpn8BlNp}_R1n|BT=^&UBwsSOiyjy0v-C5!y4rq(yL3|dXY zCRAXzV9kSnCc2_vihP(~(a7u3Zchdg{8p-0^jMcVY>~Qb?yx7#s-c;4d;b~(9_?z_ zV1|o~vQ10i&be-zY9jb+s%kitt)G`uqZS@a zRFCJV;vcWJP3~AzXcq&ej@pv@ee`YpztCT+tRKJ8KPL|?s{YuLZB-*o@3>IP|7O5k zh0ZVLeN8fjIXvoo(e&=G85|o)Oa~`whjpOT0;KHCEB6qil(^Y zFD8CIjwZh=dp!l`&(CffCzFTVFK_$)Zu>fj2omWwesq!8?tNh+?3kDT)!fmVBmLx9 z@1A%$EiYX~Coa$I#@f2_Uq)a3>4Fb~E6-3_rf=&o>c;4Wn z_%g*dP$cx;cm3P@c02Z8O5e`Z!*w#z-`H1Yjx-FUA}&UR{n9hoDIq}`_xz(acP}GZ z(c7ve>N9;M7{XN(#OQeR>84OPaNM{~|8c&e@R{^ILy0E1YTq~V2C_i=S5SthD)ZSo zRVZXc-xGwVJ~dN<${~6P|_&y0b#db5u2h!UNoZ{m*U8y^4RB zQ8o6qEmLblFx4FV_a_UW{+#HIF3($S;ejWBRNnWXwWc5plr$YZxKw;trx9?iSz&6M2W z9b=9hzWwG)aT`W(zSzP&~NBz;G;cpCjqT4{8n<(6)7 zgivZPY4`iVUW*qRWmcTJ`eZjkhoe=3{hNYVpru5SoHq3-l1saBz{X~f%jX>=7(UcB z(=v(oIj4o=bL8qe&xp$$cWy%5{74p0k=*;+5AVSVM!GzDe4g7kzZaUWR-NJ_Ff1Ke z9N&t>`@!z&-2ZOZy{FuME;RXB?z--5=!-;P5bPqX)pBQb^NJ_%;1gXiygT-O%@e*~ z2vJ+mFOl!>7ecLn7Q+9jagY&sY$W!ddqmv1$zllOQT|MThrkibjGFf!XZ=a2sj$l< z(V#^%_g`#omiXtt;f0nvntup1p%Kr)F^|UKueZbXSb-?nfhc)ypu&>_o6G52FKETJ zCrVuqFwR0q5gM5DO;n5*gHA;8-y!4}u{rG$AzdrIQS#2Z8DvA|EZFSSg0XO6<`rI? zM1M8|#RsEPd@D)Yu*{*#HC97CqW%fR@6g;rZT#2gOX7fYMfJ3y zh{;P(k8%sk_WP)w2qK}B>b|J{J&cYHuX-Z%v zZ5!srtqLu}T!eBe{%+L9ADx1%7~bgh62fCaWYRR6e8l@(x{uArOF$N{ha7u-2&?M} zAu^WJJBoyF!lkRyq`^gFt5Zgz6;IG+Y(GHr zO@g5HGc(n&p?##F#Q13B&?82;ggP;#{F5AE&+BU!vG1`U#U;%`UUfoj1`r`C)qGO8t*|JwH@ay}q_4A$ z4Cs8H7ae8P`7CaCCR5@YdlKr0G=A=GKV9;}lR!qIh8UtmeJ-k*B;DC~{GF+(_}WO% ziIKHvMhH<-vdK-Q3uXL@>gh?L!tZ6TEDukL9P+Mx0s)B!5%dw`xx67NN1w7InA%1sTwLQl05-O6UZEqFDr81wtZOye?NJ#V-R3JZZ%rmfk*;z`n&(XA z+V6M%4vdUx-xzsV{e^U6mj3)%jp!JyQj$Y=IyPwo|FUNK00eMzCinR160k73y?)gW z^$Cqn!Kx2cRH*L;hZ_uYs63BMOn!S|{h>yT8X(Bn+ayXVvlZP?d|=FZ$_~|Ks81E9 zE+cjP=&*pM+hzVeqY^fy`0CwUm%kuU(tuy^t9M<4+hV?q-(rAl$Yb?fGs^|#DGiua z|Bdrn#@(}Ns%8Nc9Q8}DEO2xgXrMoV%)7~qEJuU^xzLfBp+gSdApPxo9>k86SyNi* z@XiwJjO9qkQS7|b^HQ>2h|(w78{F0s3)X=a8IQS(UrUJo$)Q7u$>z_sQjXS(3((c5 z_=f<;HZz|nguvTE|0iYUL~{|cwXZKc`ng#}d3jNTXG!aWh3PdY2N>|3D)HhTH~6f7 zuA*&VtfAx?ip?Ow>XeZ|9nSL#2^%ipDC=l3W3qh<%6doJ4I54-I~kk} z5TO8ujNt*YlX20#Warge!qaLOuTpd>-m6D~w#(V2NTzQGOoofDNdzIH?D>3Hd&vw;++;fsMeHN(RT`H~Kdb_$u z2ncr2S~%KKTO6C2<-H;=-#tg2OT*Zm9%Uq7vjj|M&!}wf0Og~e{x4`sYPpA-KSa~o z*F1qcwXgh$HBX}VERA0Dbp;q1DJCP3FOawkm(``4>GYW#<&Wjd%vUcea^Bog9 zoN11Ks$RG5JW-KZJEBwQnNWIXJ=k;e^A+8$==rkk8RfV-kD{RPZ&KJ5*>f~zzOB3D2=OSnkWFBq$z^PT_jvuf`>X5WH} zExK$gGC=qzq0y~;-{{v~NY$A99A1_dzx4D*WVT4GrB)G2L4Cx>;-@RuUbiQdmKz|j zA>@r5{SRYl#5n_yvUOhoFktYcNh09ycFm2M#l7AmWv|@q`Z{)^2k)lBdPl&2+ji>q zO4C;}&yuDqQY=^kr#72RcXPg@%-n>2a<26-UtKpv=TzK+D{8Q4t!`D6Clk}1Q?-9z zY=v>QAv)t6XA`H78|mhIPYbp6ZT13_#o~%RllAG_iB|$6wH$@c7WBZ2IjVvreOl+- z^z6OBfGSFWgs7pJ?BY9ulalw?YCKP;{96J-xTcEQ4w76|y!enF;G3|<`rKqnkI#q# z6$|=UobrsTidw>^d?CUkvPocDkFSRndUyIG_Lb@D*W2}Fb zNM@!wo00^N(~3PzBTJTjw{+;PlJ1PP(?<24isE=Yr~QmM5iE0bM@6IDoZ8DM&4dn5 z=XR;$xIB&>HDvnyD>jr_;$qeNE_^c^RoaAoHMJYZBqxFol{fzVByBIsb5r&G&Oyx_ z#b&0I01IPR21dQAqGBNuJ)$l`#oa^>vYbm-p?B^)o z_RGqds+|vi0-a{X-S2^`n$n*M|G+agcemhtv+PiRW}z6!54PEIsP>&I3B-$~%!uk0 zzOI?xK+Z83*Y%Mcj4S;GU;D8uf1k?KX&30Yz?ybtJZ8ox=={FH9@NX^?%R?T^`EY5 z>%~2jOx#tp_`5HGK}kXv1YHI~LzrK)v?!dBG`6wt!Xs(I$Upsxi{Y&!lHo}lQ(a+^ zGFVvCNW@NRCOnjDCgKV69G>7KMR^{!3@z!_3s|EL&FSP2A2rYK1q}byWB&L{bfek$n9Y z0`D$QsjcO@ur{aV6EtBjm{nBfE=0;advTA;hta|zYr2C&>9YtEVfnf*oy5H`f6;mh!RL8BH8A+ep+;yG&l!#$D&0OQ(fLd#_=o{Y?vr#$ zIhelR*zLBSg4Tv<175ARhSKLRWR9^m6?QJ$0B6;1W39y=Uknxe*V1kln4nlop?n(> zUmWA?3Dhe^^~M&CGnzffj`qm!Or{6pg(tb5HCg6}-I`dx!dW`v^HiRHWu~LAD$1I| z!z_bj{x=z=aM_4-Iz{C{)tNcO)(ytE9}aqO%?&GM+4jjM zT+#Bk%;{eY^x&Y50T7yzu_gZhsM@Fpw^iseZ3k=3u~Cvsa^1hFPmG+FJDXg=S!Tx-YB58 z^FH&>8G|G{C(`gfT zp=_tOk2txT=+J3GZy;KcMB$EmYUJ-Cibn&mI;YsLh+iObyG_Y&PD6H^N{+Js& z#jW$nO_!#oMf)O<2iR}56s=9)YEaJJ)SpkiRQjDQ&%Ux5FFZ4)R?)o|R$}tuHm&xT zuLvt+zPsr|v|+bm$4&Rc3h$ofn7yH{vx;gSZpwkwLH|6PHt<_YLw(v*?Goofe|fYe zFjVkQWhb|lP{N64xs$^xLOBx792O%>>BmR${h37Em1I-UdVuR^EVKYid(&pW|A;Ig2Xm!Iejz02+;`HQxpdqJOwEI-zZt ztL%-~J1y@!@;u%@D}cIe^yI@;jd|id5)3UR?#i?HrJ2!s;-}#aIx6oPCmyF}(|w*X zn2wg{@fe1!yuS1k1H^l{1h>>N(dI_f&S&ZmzU@I7l=I%=l>t!v zaA^)QpgU;QZAz~Awb@?n87226(`2o%TPB>DF6-^;UCD?2@E$JzlD}^NlN3y}50*xp z*5c2#v(ry&t4Z$EV$DU}=&;c~e1lh{mvxOWsk1tJcHr=(LYkHz1-qx=aA2WPz#?M) tqpB~t__-?F>-p0^cMdkN`@4UxVD%%mDL>0nACmi@in3}lU!=@J{}+L-%+~+_ diff --git a/docs/demo3.png b/docs/demo3.png deleted file mode 100644 index 55267b5f7472bc286880ebf7a4c5fa38b1c9029a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29078 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 BY4HF6 diff --git a/docs/demo5.png b/docs/demo5.png deleted file mode 100644 index a7eac5437c3cae2a00bf3eed362ac3c012eb5b93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27777 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 path.join(bundlePath, p); - - const appPathList = [ - join("macos/Clash Verge.aarch64.app.tar.gz"), - join("macos/Clash Verge.aarch64.app.tar.gz.sig"), - ]; - - for (const appPath of appPathList) { - if (fs.pathExistsSync(appPath)) { - fs.removeSync(appPath); - } - } - - fs.copyFileSync(join("macos/Clash Verge.app.tar.gz"), appPathList[0]); - fs.copyFileSync(join("macos/Clash Verge.app.tar.gz.sig"), appPathList[1]); - - const options = { owner: context.repo.owner, repo: context.repo.repo }; - const github = getOctokit(process.env.GITHUB_TOKEN); - - const { data: release } = await github.rest.repos.getReleaseByTag({ - ...options, - tag, - }); - - if (!release.id) throw new Error("failed to find the release"); - - await uploadAssets(release.id, [ - join(`dmg/Clash Verge_${version}_aarch64.dmg`), - ...appPathList, - ]); -} - -// From tauri-apps/tauri-action -// https://github.com/tauri-apps/tauri-action/blob/dev/packages/action/src/upload-release-assets.ts -async function uploadAssets(releaseId, assets) { - const github = getOctokit(process.env.GITHUB_TOKEN); - - // Determine content-length for header to upload asset - const contentLength = (filePath) => fs.statSync(filePath).size; - - for (const assetPath of assets) { - const headers = { - "content-type": "application/zip", - "content-length": contentLength(assetPath), - }; - - const ext = path.extname(assetPath); - const filename = path.basename(assetPath).replace(ext, ""); - const assetName = path.dirname(assetPath).includes(`target${path.sep}debug`) - ? `${filename}-debug${ext}` - : `${filename}${ext}`; - - console.log(`[INFO]: Uploading ${assetName}...`); - - try { - await github.rest.repos.uploadReleaseAsset({ - headers, - name: assetName, - data: fs.readFileSync(assetPath), - owner: context.repo.owner, - repo: context.repo.repo, - release_id: releaseId, - }); - } catch (error) { - console.log(error.message); - } - } -} - -if (process.platform === "darwin" && process.arch === "arm64") { - resolve(); -} else { - console.error("invalid"); - exit(1); -} diff --git a/scripts/check.mjs b/scripts/check.mjs deleted file mode 100644 index 5b7aceb..0000000 --- a/scripts/check.mjs +++ /dev/null @@ -1,332 +0,0 @@ -import fs from "fs-extra"; -import zlib from "zlib"; -import path from "path"; -import AdmZip from "adm-zip"; -import fetch from "node-fetch"; -import proxyAgent from "https-proxy-agent"; -import { execSync } from "child_process"; - -const cwd = process.cwd(); -const TEMP_DIR = path.join(cwd, "node_modules/.verge"); -const FORCE = process.argv.includes("--force"); - -const SIDECAR_HOST = execSync("rustc -vV") - .toString() - .match(/(?<=host: ).+(?=\s*)/g)[0]; - -/* ======= clash ======= */ -const CLASH_STORAGE_PREFIX = "https://release.dreamacro.workers.dev/"; -const CLASH_URL_PREFIX = - "https://github.com/Dreamacro/clash/releases/download/premium/"; -const CLASH_LATEST_DATE = "2023.08.17"; - -const CLASH_MAP = { - "win32-x64": "clash-windows-amd64", - "darwin-x64": "clash-darwin-amd64", - "darwin-arm64": "clash-darwin-arm64", - "linux-x64": "clash-linux-amd64", - "linux-arm64": "clash-linux-arm64", -}; - -/* ======= clash meta ======= */ -const META_URL_PREFIX = `https://github.com/MetaCubeX/Clash.Meta/releases/download/`; -const META_VERSION = "v1.16.0"; - -const META_MAP = { - "win32-x64": "clash.meta-windows-amd64-compatible", - "darwin-x64": "clash.meta-darwin-amd64", - "darwin-arm64": "clash.meta-darwin-arm64", - "linux-x64": "clash.meta-linux-amd64-compatible", - "linux-arm64": "clash.meta-linux-arm64", -}; - -/** - * check available - */ - -const { platform, arch } = process; -if (!CLASH_MAP[`${platform}-${arch}`]) { - throw new Error(`clash unsupported platform "${platform}-${arch}"`); -} -if (!META_MAP[`${platform}-${arch}`]) { - throw new Error(`clash meta unsupported platform "${platform}-${arch}"`); -} - -function clash() { - const name = CLASH_MAP[`${platform}-${arch}`]; - - const isWin = platform === "win32"; - const urlExt = isWin ? "zip" : "gz"; - const downloadURL = `${CLASH_URL_PREFIX}${name}-${CLASH_LATEST_DATE}.${urlExt}`; - const exeFile = `${name}${isWin ? ".exe" : ""}`; - const zipFile = `${name}.${urlExt}`; - - return { - name: "clash", - targetFile: `clash-${SIDECAR_HOST}${isWin ? ".exe" : ""}`, - exeFile, - zipFile, - downloadURL, - }; -} - -function clashS3() { - const name = CLASH_MAP[`${platform}-${arch}`]; - - const isWin = platform === "win32"; - const urlExt = isWin ? "zip" : "gz"; - const downloadURL = `${CLASH_STORAGE_PREFIX}${CLASH_LATEST_DATE}/${name}-${CLASH_LATEST_DATE}.${urlExt}`; - const exeFile = `${name}${isWin ? ".exe" : ""}`; - const zipFile = `${name}.${urlExt}`; - - return { - name: "clash", - targetFile: `clash-${SIDECAR_HOST}${isWin ? ".exe" : ""}`, - exeFile, - zipFile, - downloadURL, - }; -} - -function clashMeta() { - const name = META_MAP[`${platform}-${arch}`]; - const isWin = platform === "win32"; - const urlExt = isWin ? "zip" : "gz"; - const downloadURL = `${META_URL_PREFIX}${META_VERSION}/${name}-${META_VERSION}.${urlExt}`; - const exeFile = `${name}${isWin ? ".exe" : ""}`; - const zipFile = `${name}-${META_VERSION}.${urlExt}`; - - return { - name: "clash-meta", - targetFile: `clash-meta-${SIDECAR_HOST}${isWin ? ".exe" : ""}`, - exeFile, - zipFile, - downloadURL, - }; -} - -/** - * download sidecar and rename - */ -async function resolveSidecar(binInfo) { - const { name, targetFile, zipFile, exeFile, downloadURL } = binInfo; - - const sidecarDir = path.join(cwd, "src-tauri", "sidecar"); - const sidecarPath = path.join(sidecarDir, targetFile); - - await fs.mkdirp(sidecarDir); - if (!FORCE && (await fs.pathExists(sidecarPath))) return; - - const tempDir = path.join(TEMP_DIR, name); - const tempZip = path.join(tempDir, zipFile); - const tempExe = path.join(tempDir, exeFile); - - await fs.mkdirp(tempDir); - try { - if (!(await fs.pathExists(tempZip))) { - await downloadFile(downloadURL, tempZip); - } - - if (zipFile.endsWith(".zip")) { - const zip = new AdmZip(tempZip); - zip.getEntries().forEach((entry) => { - console.log(`[DEBUG]: "${name}" entry name`, entry.entryName); - }); - zip.extractAllTo(tempDir, true); - await fs.rename(tempExe, sidecarPath); - console.log(`[INFO]: "${name}" unzip finished`); - } else { - // gz - const readStream = fs.createReadStream(tempZip); - const writeStream = fs.createWriteStream(sidecarPath); - await new Promise((resolve, reject) => { - const onError = (error) => { - console.error(`[ERROR]: "${name}" gz failed:`, error.message); - reject(error); - }; - readStream - .pipe(zlib.createGunzip().on("error", onError)) - .pipe(writeStream) - .on("finish", () => { - console.log(`[INFO]: "${name}" gunzip finished`); - execSync(`chmod 755 ${sidecarPath}`); - console.log(`[INFO]: "${name}" chmod binary finished`); - resolve(); - }) - .on("error", onError); - }); - } - } catch (err) { - // 需要删除文件 - await fs.remove(sidecarPath); - throw err; - } finally { - // delete temp dir - await fs.remove(tempDir); - } -} - -/** - * prepare clash core - * if the core version is not updated in time, use S3 storage as a backup. - */ -async function resolveClash() { - try { - return await resolveSidecar(clash()); - } catch { - console.log(`[WARN]: clash core needs to be updated`); - return await resolveSidecar(clashS3()); - } -} - -/** - * only Windows - * get the wintun.dll (not required) - */ -async function resolveWintun() { - const { platform } = process; - - if (platform !== "win32") return; - - const url = "https://www.wintun.net/builds/wintun-0.14.1.zip"; - - const tempDir = path.join(TEMP_DIR, "wintun"); - const tempZip = path.join(tempDir, "wintun.zip"); - - const wintunPath = path.join(tempDir, "wintun/bin/amd64/wintun.dll"); - const targetPath = path.join(cwd, "src-tauri/resources", "wintun.dll"); - - if (!FORCE && (await fs.pathExists(targetPath))) return; - - await fs.mkdirp(tempDir); - - if (!(await fs.pathExists(tempZip))) { - await downloadFile(url, tempZip); - } - - // unzip - const zip = new AdmZip(tempZip); - zip.extractAllTo(tempDir, true); - - if (!(await fs.pathExists(wintunPath))) { - throw new Error(`path not found "${wintunPath}"`); - } - - await fs.rename(wintunPath, targetPath); - await fs.remove(tempDir); - - console.log(`[INFO]: resolve wintun.dll finished`); -} - -/** - * download the file to the resources dir - */ -async function resolveResource(binInfo) { - const { file, downloadURL } = binInfo; - - const resDir = path.join(cwd, "src-tauri/resources"); - const targetPath = path.join(resDir, file); - - if (!FORCE && (await fs.pathExists(targetPath))) return; - - await fs.mkdirp(resDir); - await downloadFile(downloadURL, targetPath); - - console.log(`[INFO]: ${file} finished`); -} - -/** - * download file and save to `path` - */ -async function downloadFile(url, path) { - const options = {}; - - const httpProxy = - process.env.HTTP_PROXY || - process.env.http_proxy || - process.env.HTTPS_PROXY || - process.env.https_proxy; - - if (httpProxy) { - options.agent = proxyAgent(httpProxy); - } - - const response = await fetch(url, { - ...options, - method: "GET", - headers: { "Content-Type": "application/octet-stream" }, - }); - const buffer = await response.arrayBuffer(); - await fs.writeFile(path, new Uint8Array(buffer)); - - console.log(`[INFO]: download finished "${url}"`); -} - -/** - * main - */ -const SERVICE_URL = - "https://github.com/zzzgydi/clash-verge-service/releases/download/latest"; - -const resolveService = () => - resolveResource({ - file: "clash-verge-service.exe", - downloadURL: `${SERVICE_URL}/clash-verge-service.exe`, - }); -const resolveInstall = () => - resolveResource({ - file: "install-service.exe", - downloadURL: `${SERVICE_URL}/install-service.exe`, - }); -const resolveUninstall = () => - resolveResource({ - file: "uninstall-service.exe", - downloadURL: `${SERVICE_URL}/uninstall-service.exe`, - }); -const resolveMmdb = () => - resolveResource({ - file: "Country.mmdb", - downloadURL: `https://github.com/Dreamacro/maxmind-geoip/releases/download/20230812/Country.mmdb`, - }); -const resolveGeosite = () => - resolveResource({ - file: "geosite.dat", - downloadURL: `https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat`, - }); -const resolveGeoIP = () => - resolveResource({ - file: "geoip.dat", - downloadURL: `https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat`, - }); - -const tasks = [ - { name: "clash", func: resolveClash, retry: 5 }, - { name: "clash-meta", func: () => resolveSidecar(clashMeta()), retry: 5 }, - { name: "wintun", func: resolveWintun, retry: 5, winOnly: true }, - { name: "service", func: resolveService, retry: 5, winOnly: true }, - { name: "install", func: resolveInstall, retry: 5, winOnly: true }, - { name: "uninstall", func: resolveUninstall, retry: 5, winOnly: true }, - { name: "mmdb", func: resolveMmdb, retry: 5 }, - { name: "geosite", func: resolveGeosite, retry: 5 }, - { name: "geoip", func: resolveGeoIP, retry: 5 }, -]; - -async function runTask() { - const task = tasks.shift(); - if (!task) return; - if (task.winOnly && process.platform !== "win32") return runTask(); - - for (let i = 0; i < task.retry; i++) { - try { - await task.func(); - break; - } catch (err) { - console.error(`[ERROR]: task::${task.name} try ${i} ==`, err.message); - if (i === task.retry - 1) throw err; - } - } - return runTask(); -} - -runTask(); -runTask(); diff --git a/scripts/portable.mjs b/scripts/portable.mjs deleted file mode 100644 index b523a50..0000000 --- a/scripts/portable.mjs +++ /dev/null @@ -1,59 +0,0 @@ -import fs from "fs-extra"; -import path from "path"; -import AdmZip from "adm-zip"; -import { createRequire } from "module"; -import { getOctokit, context } from "@actions/github"; - -/// Script for ci -/// 打包绿色版/便携版 (only Windows) -async function resolvePortable() { - if (process.platform !== "win32") return; - - const releaseDir = "./src-tauri/target/release"; - - if (!(await fs.pathExists(releaseDir))) { - throw new Error("could not found the release dir"); - } - - const zip = new AdmZip(); - - zip.addLocalFile(path.join(releaseDir, "Clash Verge.exe")); - zip.addLocalFile(path.join(releaseDir, "clash.exe")); - zip.addLocalFile(path.join(releaseDir, "clash-meta.exe")); - zip.addLocalFolder(path.join(releaseDir, "resources"), "resources"); - - const require = createRequire(import.meta.url); - const packageJson = require("../package.json"); - const { version } = packageJson; - - const zipFile = `Clash.Verge_${version}_x64_portable.zip`; - zip.writeZip(zipFile); - - console.log("[INFO]: create portable zip successfully"); - - // push release assets - if (process.env.GITHUB_TOKEN === undefined) { - throw new Error("GITHUB_TOKEN is required"); - } - - const options = { owner: context.repo.owner, repo: context.repo.repo }; - const github = getOctokit(process.env.GITHUB_TOKEN); - - console.log("[INFO]: upload to ", process.env.TAG_NAME || `v${version}`); - - const { data: release } = await github.rest.repos.getReleaseByTag({ - ...options, - tag: process.env.TAG_NAME || `v${version}`, - }); - - console.log(release.name); - - await github.rest.repos.uploadReleaseAsset({ - ...options, - release_id: release.id, - name: zipFile, - data: zip.toBuffer(), - }); -} - -resolvePortable().catch(console.error); diff --git a/scripts/publish.mjs b/scripts/publish.mjs deleted file mode 100644 index 523ad18..0000000 --- a/scripts/publish.mjs +++ /dev/null @@ -1,53 +0,0 @@ -import fs from "fs-extra"; -import { createRequire } from "module"; -import { execSync } from "child_process"; -import { resolveUpdateLog } from "./updatelog.mjs"; - -const require = createRequire(import.meta.url); - -// publish -async function resolvePublish() { - const flag = process.argv[2] ?? "patch"; - const packageJson = require("../package.json"); - const tauriJson = require("../src-tauri/tauri.conf.json"); - - let [a, b, c] = packageJson.version.split(".").map(Number); - - if (flag === "major") { - a += 1; - b = 0; - c = 0; - } else if (flag === "minor") { - b += 1; - c = 0; - } else if (flag === "patch") { - c += 1; - } else throw new Error(`invalid flag "${flag}"`); - - const nextVersion = `${a}.${b}.${c}`; - packageJson.version = nextVersion; - tauriJson.package.version = nextVersion; - - // 发布更新前先写更新日志 - const nextTag = `v${nextVersion}`; - await resolveUpdateLog(nextTag); - - await fs.writeFile( - "./package.json", - JSON.stringify(packageJson, undefined, 2) - ); - await fs.writeFile( - "./src-tauri/tauri.conf.json", - JSON.stringify(tauriJson, undefined, 2) - ); - - execSync("git add ./package.json"); - execSync("git add ./src-tauri/tauri.conf.json"); - execSync(`git commit -m "v${nextVersion}"`); - execSync(`git tag -a v${nextVersion} -m "v${nextVersion}"`); - execSync(`git push`); - execSync(`git push origin v${nextVersion}`); - console.log(`Publish Successfully...`); -} - -resolvePublish(); diff --git a/scripts/updatelog.mjs b/scripts/updatelog.mjs deleted file mode 100644 index fae7f62..0000000 --- a/scripts/updatelog.mjs +++ /dev/null @@ -1,44 +0,0 @@ -import fs from "fs-extra"; -import path from "path"; - -const UPDATE_LOG = "UPDATELOG.md"; - -// parse the UPDATELOG.md -export async function resolveUpdateLog(tag) { - const cwd = process.cwd(); - - const reTitle = /^## v[\d\.]+/; - const reEnd = /^---/; - - const file = path.join(cwd, UPDATE_LOG); - - if (!(await fs.pathExists(file))) { - throw new Error("could not found UPDATELOG.md"); - } - - const data = await fs.readFile(file).then((d) => d.toString("utf8")); - - const map = {}; - let p = ""; - - data.split("\n").forEach((line) => { - if (reTitle.test(line)) { - p = line.slice(3).trim(); - if (!map[p]) { - map[p] = []; - } else { - throw new Error(`Tag ${p} dup`); - } - } else if (reEnd.test(line)) { - p = ""; - } else if (p) { - map[p].push(line); - } - }); - - if (!map[tag]) { - throw new Error(`could not found "${tag}" in UPDATELOG.md`); - } - - return map[tag].join("\n").trim(); -} diff --git a/scripts/updater.mjs b/scripts/updater.mjs deleted file mode 100644 index 2a3a8ee..0000000 --- a/scripts/updater.mjs +++ /dev/null @@ -1,177 +0,0 @@ -import fetch from "node-fetch"; -import { getOctokit, context } from "@actions/github"; -import { resolveUpdateLog } from "./updatelog.mjs"; - -const UPDATE_TAG_NAME = "updater"; -const UPDATE_JSON_FILE = "update.json"; -const UPDATE_JSON_PROXY = "update-proxy.json"; - -/// generate update.json -/// upload to update tag's release asset -async function resolveUpdater() { - if (process.env.GITHUB_TOKEN === undefined) { - throw new Error("GITHUB_TOKEN is required"); - } - - const options = { owner: context.repo.owner, repo: context.repo.repo }; - const github = getOctokit(process.env.GITHUB_TOKEN); - - const { data: tags } = await github.rest.repos.listTags({ - ...options, - per_page: 10, - page: 1, - }); - - // get the latest publish tag - const tag = tags.find((t) => t.name.startsWith("v")); - - console.log(tag); - console.log(); - - const { data: latestRelease } = await github.rest.repos.getReleaseByTag({ - ...options, - tag: tag.name, - }); - - const updateData = { - name: tag.name, - notes: await resolveUpdateLog(tag.name), // use updatelog.md - pub_date: new Date().toISOString(), - platforms: { - win64: { signature: "", url: "" }, // compatible with older formats - linux: { signature: "", url: "" }, // compatible with older formats - darwin: { signature: "", url: "" }, // compatible with older formats - "darwin-aarch64": { signature: "", url: "" }, - "darwin-intel": { signature: "", url: "" }, - "darwin-x86_64": { signature: "", url: "" }, - "linux-x86_64": { signature: "", url: "" }, - "windows-x86_64": { signature: "", url: "" }, - "windows-i686": { signature: "", url: "" }, // no supported - }, - }; - - const promises = latestRelease.assets.map(async (asset) => { - const { name, browser_download_url } = asset; - - // win64 url - if (name.endsWith(".msi.zip") && name.includes("en-US")) { - updateData.platforms.win64.url = browser_download_url; - updateData.platforms["windows-x86_64"].url = browser_download_url; - } - // win64 signature - if (name.endsWith(".msi.zip.sig") && name.includes("en-US")) { - const sig = await getSignature(browser_download_url); - updateData.platforms.win64.signature = sig; - updateData.platforms["windows-x86_64"].signature = sig; - } - - // darwin url (intel) - if (name.endsWith(".app.tar.gz") && !name.includes("aarch")) { - updateData.platforms.darwin.url = browser_download_url; - updateData.platforms["darwin-intel"].url = browser_download_url; - updateData.platforms["darwin-x86_64"].url = browser_download_url; - } - // darwin signature (intel) - if (name.endsWith(".app.tar.gz.sig") && !name.includes("aarch")) { - const sig = await getSignature(browser_download_url); - updateData.platforms.darwin.signature = sig; - updateData.platforms["darwin-intel"].signature = sig; - updateData.platforms["darwin-x86_64"].signature = sig; - } - - // darwin url (aarch) - if (name.endsWith("aarch64.app.tar.gz")) { - updateData.platforms["darwin-aarch64"].url = browser_download_url; - } - // darwin signature (aarch) - if (name.endsWith("aarch64.app.tar.gz.sig")) { - const sig = await getSignature(browser_download_url); - updateData.platforms["darwin-aarch64"].signature = sig; - } - - // linux url - if (name.endsWith(".AppImage.tar.gz")) { - updateData.platforms.linux.url = browser_download_url; - updateData.platforms["linux-x86_64"].url = browser_download_url; - } - // linux signature - if (name.endsWith(".AppImage.tar.gz.sig")) { - const sig = await getSignature(browser_download_url); - updateData.platforms.linux.signature = sig; - updateData.platforms["linux-x86_64"].signature = sig; - } - }); - - await Promise.allSettled(promises); - console.log(updateData); - - // maybe should test the signature as well - // delete the null field - Object.entries(updateData.platforms).forEach(([key, value]) => { - if (!value.url) { - console.log(`[Error]: failed to parse release for "${key}"`); - delete updateData.platforms[key]; - } - }); - - // 生成一个代理github的更新文件 - // 使用 https://hub.fastgit.xyz/ 做github资源的加速 - const updateDataNew = JSON.parse(JSON.stringify(updateData)); - - Object.entries(updateDataNew.platforms).forEach(([key, value]) => { - if (value.url) { - updateDataNew.platforms[key].url = "https://ghproxy.com/" + value.url; - } else { - console.log(`[Error]: updateDataNew.platforms.${key} is null`); - } - }); - - // update the update.json - const { data: updateRelease } = await github.rest.repos.getReleaseByTag({ - ...options, - tag: UPDATE_TAG_NAME, - }); - - // delete the old assets - for (let asset of updateRelease.assets) { - if (asset.name === UPDATE_JSON_FILE) { - await github.rest.repos.deleteReleaseAsset({ - ...options, - asset_id: asset.id, - }); - } - - if (asset.name === UPDATE_JSON_PROXY) { - await github.rest.repos - .deleteReleaseAsset({ ...options, asset_id: asset.id }) - .catch(console.error); // do not break the pipeline - } - } - - // upload new assets - await github.rest.repos.uploadReleaseAsset({ - ...options, - release_id: updateRelease.id, - name: UPDATE_JSON_FILE, - data: JSON.stringify(updateData, null, 2), - }); - - await github.rest.repos.uploadReleaseAsset({ - ...options, - release_id: updateRelease.id, - name: UPDATE_JSON_PROXY, - data: JSON.stringify(updateDataNew, null, 2), - }); -} - -// get the signature file content -async function getSignature(url) { - const response = await fetch(url, { - method: "GET", - headers: { "Content-Type": "application/octet-stream" }, - }); - - return response.text(); -} - -resolveUpdater().catch(console.error); diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore deleted file mode 100644 index 7b128ff..0000000 --- a/src-tauri/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -WixTools -resources -sidecar diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock deleted file mode 100644 index 9b1c0ec..0000000 --- a/src-tauri/Cargo.lock +++ /dev/null @@ -1,5658 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.9", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5" -dependencies = [ - "memchr", -] - -[[package]] -name = "aho-corasick" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - -[[package]] -name = "aho-corasick" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" -dependencies = [ - "memchr", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" - -[[package]] -name = "arc-swap" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" - -[[package]] -name = "async-channel" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-executor" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" -dependencies = [ - "async-lock", - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock", - "autocfg", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite", - "log 0.4.17", - "parking", - "polling", - "rustix", - "slab", - "socket2", - "waker-fn", -] - -[[package]] -name = "async-lock" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-net" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4051e67316bc7eff608fe723df5d32ed639946adcd69e07df41fd42a7b411f1f" -dependencies = [ - "async-io", - "autocfg", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-process" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" -dependencies = [ - "async-io", - "async-lock", - "autocfg", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", - "signal-hook 0.3.15", - "windows-sys 0.48.0", -] - -[[package]] -name = "async-task" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" - -[[package]] -name = "async-trait" -version = "0.1.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "atk" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" -dependencies = [ - "atk-sys", - "bitflags", - "glib", - "libc", -] - -[[package]] -name = "atk-sys" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps 6.1.0", -] - -[[package]] -name = "atomic-waker" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" - -[[package]] -name = "attohttpc" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7" -dependencies = [ - "flate2", - "http", - "log 0.4.17", - "native-tls", - "serde", - "serde_json", - "serde_urlencoded", - "url", -] - -[[package]] -name = "auto-launch" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f012b8cc0c850f34117ec8252a44418f2e34a2cf501de89e29b241ae5f79471" -dependencies = [ - "dirs 4.0.0", - "thiserror", - "winreg 0.10.1", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "blocking" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" -dependencies = [ - "async-channel", - "async-lock", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", - "log 0.4.17", -] - -[[package]] -name = "brotli" -version = "3.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "2.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bstr" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" - -[[package]] -name = "bytemuck" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" -dependencies = [ - "serde", -] - -[[package]] -name = "cairo-rs" -version = "0.15.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" -dependencies = [ - "bitflags", - "cairo-sys-rs", - "glib", - "libc", - "thiserror", -] - -[[package]] -name = "cairo-sys-rs" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" -dependencies = [ - "glib-sys", - "libc", - "system-deps 6.1.0", -] - -[[package]] -name = "cargo_toml" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497049e9477329f8f6a559972ee42e117487d01d1e8c2cc9f836ea6fa23a9e1a" -dependencies = [ - "serde", - "toml 0.5.11", -] - -[[package]] -name = "cc" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfb" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" -dependencies = [ - "byteorder", - "fnv", - "uuid", -] - -[[package]] -name = "cfg-expr" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" -dependencies = [ - "smallvec", -] - -[[package]] -name = "cfg-expr" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8790cf1286da485c72cf5fc7aeba308438800036ec67d89425924c4807268c9" -dependencies = [ - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-integer", - "num-traits", - "serde", - "time 0.1.45", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "clash-verge" -version = "0.1.0" -dependencies = [ - "anyhow", - "auto-launch", - "chrono", - "ctrlc", - "deelevate", - "delay_timer", - "dirs 5.0.1", - "dunce", - "log 0.4.17", - "log4rs", - "nanoid", - "once_cell", - "open 4.1.0", - "parking_lot", - "port_scanner", - "reqwest", - "rquickjs", - "runas", - "serde", - "serde_json", - "serde_yaml 0.9.21", - "sysinfo", - "sysproxy", - "tauri", - "tauri-build", - "tokio", - "warp", - "which", - "window-shadows", - "window-vibrancy", - "windows-sys 0.48.0", - "winreg 0.50.0", - "wry", -] - -[[package]] -name = "cocoa" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" -dependencies = [ - "bitflags", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" -dependencies = [ - "bitflags", - "block", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - -[[package]] -name = "combine" -version = "4.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "concat-idents" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe0e1d9f7de897d18e590a7496b5facbe87813f746cf4b8db596ba77e07e832" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "concurrent-queue" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" - -[[package]] -name = "core-graphics" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" -dependencies = [ - "bitflags", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" -dependencies = [ - "bitflags", - "core-foundation", - "foreign-types", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cron_clock" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a8699d8ed16e3db689f8ae04d8dc3c6666a4ba7e724e5a157884b7cc385d16b" -dependencies = [ - "chrono", - "nom 7.1.3", - "once_cell", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" -dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" -dependencies = [ - "autocfg", - "cfg-if", - "crossbeam-utils", - "memoffset 0.8.0", - "scopeguard", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "cssparser" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa 0.4.8", - "matches", - "phf 0.8.0", - "proc-macro2", - "quote", - "smallvec", - "syn 1.0.109", -] - -[[package]] -name = "cssparser-macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ctrlc" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7394a21d012ce5c850497fb774b167d81b99f060025fbf06ee92b9848bd97eb2" -dependencies = [ - "nix 0.26.2", - "windows-sys 0.48.0", -] - -[[package]] -name = "cty" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" - -[[package]] -name = "darling" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.18", -] - -[[package]] -name = "darling_macro" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "dashmap" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" -dependencies = [ - "cfg-if", - "num_cpus", -] - -[[package]] -name = "deelevate" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7397f8c48906dd9b5afc75001368c979418e5dff5575998a831eb2319b424e" -dependencies = [ - "lazy_static 1.4.0", - "pathsearch", - "rand 0.8.5", - "shared_library", - "termwiz", - "winapi", -] - -[[package]] -name = "delay_timer" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46e3040b73d9397711697558109c983a2dc6fc63e98785ffbefd3ece57b46b67" -dependencies = [ - "anyhow", - "async-trait", - "autocfg", - "concat-idents", - "cron_clock", - "dashmap", - "event-listener", - "futures", - "log 0.4.17", - "lru", - "once_cell", - "rs-snowflake", - "rustc_version 0.2.3", - "smol", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.0", - "syn 1.0.109", -] - -[[package]] -name = "destructure_traitobject" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer 0.10.4", - "crypto-common", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", -] - -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dtoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" - -[[package]] -name = "dtoa-short" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" -dependencies = [ - "dtoa", -] - -[[package]] -name = "dunce" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" - -[[package]] -name = "either" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" - -[[package]] -name = "embed_plist" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" - -[[package]] -name = "encoding_rs" -version = "0.8.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fdeflate" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "field-offset" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535" -dependencies = [ - "memoffset 0.8.0", - "rustc_version 0.4.0", -] - -[[package]] -name = "filedescriptor" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" -dependencies = [ - "libc", - "thiserror", - "winapi", -] - -[[package]] -name = "filetime" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.2.16", - "windows-sys 0.48.0", -] - -[[package]] -name = "flate2" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futf" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" -dependencies = [ - "mac", - "new_debug_unreachable", -] - -[[package]] -name = "futures" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" - -[[package]] -name = "futures-executor" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" - -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "futures-macro" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "futures-sink" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" - -[[package]] -name = "futures-task" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" - -[[package]] -name = "futures-util" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "gdk" -version = "0.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" -dependencies = [ - "bitflags", - "cairo-rs", - "gdk-pixbuf", - "gdk-sys", - "gio", - "glib", - "libc", - "pango", -] - -[[package]] -name = "gdk-pixbuf" -version = "0.15.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" -dependencies = [ - "bitflags", - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", -] - -[[package]] -name = "gdk-pixbuf-sys" -version = "0.15.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps 6.1.0", -] - -[[package]] -name = "gdk-sys" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps 6.1.0", -] - -[[package]] -name = "gdkwayland-sys" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" -dependencies = [ - "gdk-sys", - "glib-sys", - "gobject-sys", - "libc", - "pkg-config", - "system-deps 6.1.0", -] - -[[package]] -name = "gdkx11-sys" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" -dependencies = [ - "gdk-sys", - "glib-sys", - "libc", - "system-deps 6.1.0", - "x11", -] - -[[package]] -name = "generator" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e123d9ae7c02966b4d892e550bdc32164f05853cd40ab570650ad600596a8a" -dependencies = [ - "cc", - "libc", - "log 0.4.17", - "rustversion", - "windows 0.48.0", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "gio" -version = "0.15.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" -dependencies = [ - "bitflags", - "futures-channel", - "futures-core", - "futures-io", - "gio-sys", - "glib", - "libc", - "once_cell", - "thiserror", -] - -[[package]] -name = "gio-sys" -version = "0.15.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps 6.1.0", - "winapi", -] - -[[package]] -name = "glib" -version = "0.15.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" -dependencies = [ - "bitflags", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "once_cell", - "smallvec", - "thiserror", -] - -[[package]] -name = "glib-macros" -version = "0.15.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" -dependencies = [ - "anyhow", - "heck 0.4.1", - "proc-macro-crate", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "glib-sys" -version = "0.15.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" -dependencies = [ - "libc", - "system-deps 6.1.0", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "globset" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" -dependencies = [ - "aho-corasick 0.7.20", - "bstr", - "fnv", - "log 0.4.17", - "regex 1.8.3", -] - -[[package]] -name = "gobject-sys" -version = "0.15.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" -dependencies = [ - "glib-sys", - "libc", - "system-deps 6.1.0", -] - -[[package]] -name = "gtk" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" -dependencies = [ - "atk", - "bitflags", - "cairo-rs", - "field-offset", - "futures-channel", - "gdk", - "gdk-pixbuf", - "gio", - "glib", - "gtk-sys", - "gtk3-macros", - "libc", - "once_cell", - "pango", - "pkg-config", -] - -[[package]] -name = "gtk-sys" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps 6.1.0", -] - -[[package]] -name = "gtk3-macros" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" -dependencies = [ - "anyhow", - "proc-macro-crate", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "h2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "handlebars" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb04af2006ea09d985fef82b81e0eb25337e51b691c76403332378a53d521edc" -dependencies = [ - "lazy_static 0.2.11", - "log 0.3.9", - "pest 0.3.3", - "quick-error", - "regex 0.2.11", - "serde", - "serde_json", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash", -] - -[[package]] -name = "headers" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" -dependencies = [ - "base64 0.13.1", - "bitflags", - "bytes", - "headers-core", - "http", - "httpdate", - "mime", - "sha1", -] - -[[package]] -name = "headers-core" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" -dependencies = [ - "http", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "html5ever" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" -dependencies = [ - "log 0.4.17", - "mac", - "markup5ever", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "http" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.6", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "http-range" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.14.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa 1.0.6", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" -dependencies = [ - "http", - "hyper", - "rustls", - "tokio", - "tokio-rustls", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows 0.48.0", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ico" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" -dependencies = [ - "byteorder", - "png", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" -dependencies = [ - "crossbeam-utils", - "globset", - "lazy_static 1.4.0", - "log 0.4.17", - "memchr", - "regex 1.8.3", - "same-file", - "thread_local 1.1.7", - "walkdir", - "winapi-util", -] - -[[package]] -name = "image" -version = "0.24.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-rational", - "num-traits", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown", - "serde", -] - -[[package]] -name = "infer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f178e61cdbfe084aa75a2f4f7a25a5bb09701a47ae1753608f194b15783c937a" -dependencies = [ - "cfb", -] - -[[package]] -name = "infer" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3" -dependencies = [ - "cfb", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "interfaces" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec8f50a973916cac3da5057c986db05cd3346f38c78e9bc24f64cc9f6a3978f" -dependencies = [ - "bitflags", - "cc", - "handlebars", - "lazy_static 1.4.0", - "libc", - "nix 0.23.2", - "serde", - "serde_derive", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ipnet" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" - -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - -[[package]] -name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" - -[[package]] -name = "javascriptcore-rs" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" -dependencies = [ - "bitflags", - "glib", - "javascriptcore-rs-sys", -] - -[[package]] -name = "javascriptcore-rs-sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps 5.0.0", -] - -[[package]] -name = "jni" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log 0.4.17", - "thiserror", - "walkdir", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "js-sys" -version = "0.3.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "json-patch" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3fa5a61630976fc4c353c70297f2e93f1930e3ccee574d59d618ccbd5154ce" -dependencies = [ - "serde", - "serde_json", - "treediff 3.0.2", -] - -[[package]] -name = "json-patch" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658" -dependencies = [ - "serde", - "serde_json", - "thiserror", - "treediff 4.0.2", -] - -[[package]] -name = "kuchiki" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" -dependencies = [ - "cssparser", - "html5ever", - "matches", - "selectors", -] - -[[package]] -name = "lazy_static" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libappindicator" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2d3cb96d092b4824cb306c9e544c856a4cb6210c1081945187f7f1924b47e8" -dependencies = [ - "glib", - "gtk", - "gtk-sys", - "libappindicator-sys", - "log 0.4.17", -] - -[[package]] -name = "libappindicator-sys" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b3b6681973cea8cc3bce7391e6d7d5502720b80a581c9a95c9cbaf592826aa" -dependencies = [ - "gtk-sys", - "libloading", - "once_cell", -] - -[[package]] -name = "libc" -version = "0.2.144" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -dependencies = [ - "log 0.4.17", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", - "serde", -] - -[[package]] -name = "log-mdc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" - -[[package]] -name = "log4rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d36ca1786d9e79b8193a68d480a0907b612f109537115c6ff655a3a1967533fd" -dependencies = [ - "anyhow", - "arc-swap", - "chrono", - "derivative", - "fnv", - "humantime", - "libc", - "log 0.4.17", - "log-mdc", - "parking_lot", - "serde", - "serde-value", - "serde_json", - "serde_yaml 0.8.26", - "thiserror", - "thread-id", - "typemap-ors", - "winapi", -] - -[[package]] -name = "loom" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "serde", - "serde_json", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - -[[package]] -name = "markup5ever" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" -dependencies = [ - "log 0.4.17", - "phf 0.8.0", - "phf_codegen 0.8.0", - "string_cache", - "string_cache_codegen", - "tendril", -] - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memmem" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "minisign-verify" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881" - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" -dependencies = [ - "libc", - "log 0.4.17", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", -] - -[[package]] -name = "multer" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" -dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http", - "httparse", - "log 0.4.17", - "memchr", - "mime", - "spin 0.9.8", - "version_check", -] - -[[package]] -name = "nanoid" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" -dependencies = [ - "rand 0.8.5", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static 1.4.0", - "libc", - "log 0.4.17", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "ndk" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" -dependencies = [ - "bitflags", - "jni-sys", - "ndk-sys", - "num_enum", - "thiserror", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "new_debug_unreachable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" - -[[package]] -name = "nix" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" -dependencies = [ - "bitflags", - "cc", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" -dependencies = [ - "bitflags", - "cfg-if", - "libc", - "static_assertions", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "nom" -version = "5.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" -dependencies = [ - "memchr", - "version_check", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -dependencies = [ - "hermit-abi 0.2.6", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", - "objc_exception", -] - -[[package]] -name = "objc-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -dependencies = [ - "block", - "objc", - "objc_id", -] - -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - -[[package]] -name = "objc_id" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" -dependencies = [ - "objc", -] - -[[package]] -name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "open" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" -dependencies = [ - "pathdiff", - "windows-sys 0.42.0", -] - -[[package]] -name = "open" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16814a067484415fda653868c9be0ac5f2abd2ef5d951082a5f2fe1b3662944" -dependencies = [ - "is-wsl", - "pathdiff", -] - -[[package]] -name = "openssl" -version = "0.10.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-src" -version = "111.25.3+1.1.1t" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924757a6a226bf60da5f7dd0311a34d2b52283dd82ddeb103208ddc66362f80c" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "ordered-float" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" -dependencies = [ - "num-traits", -] - -[[package]] -name = "os_pipe" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "pango" -version = "0.15.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" -dependencies = [ - "bitflags", - "glib", - "libc", - "once_cell", - "pango-sys", -] - -[[package]] -name = "pango-sys" -version = "0.15.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps 6.1.0", -] - -[[package]] -name = "parking" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "windows-sys 0.45.0", -] - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "pathsearch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da983bc5e582ab17179c190b4b66c7d76c5943a69c6d34df2a2b6bf8a2977b05" -dependencies = [ - "anyhow", - "libc", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pest" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6dda33d67c26f0aac90d324ab2eb7239c819fc7b2552fe9faa4fe88441edc8" - -[[package]] -name = "pest" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70" -dependencies = [ - "thiserror", - "ucd-trie", -] - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_macros 0.8.0", - "phf_shared 0.8.0", - "proc-macro-hack", -] - -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", -] - -[[package]] -name = "phf" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" -dependencies = [ - "phf_shared 0.11.1", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", -] - -[[package]] -name = "phf_codegen" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770" -dependencies = [ - "phf_generator 0.11.1", - "phf_shared 0.11.1", -] - -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared 0.8.0", - "rand 0.7.3", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared 0.10.0", - "rand 0.8.5", -] - -[[package]] -name = "phf_generator" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" -dependencies = [ - "phf_shared 0.11.1", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "phf_macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "plist" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590" -dependencies = [ - "base64 0.21.2", - "indexmap", - "line-wrap", - "quick-xml", - "serde", - "time 0.3.15", -] - -[[package]] -name = "png" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa" -dependencies = [ - "bitflags", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags", - "cfg-if", - "concurrent-queue", - "libc", - "log 0.4.17", - "pin-project-lite", - "windows-sys 0.48.0", -] - -[[package]] -name = "port_scanner" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325a6d2ac5dee293c3b2612d4993b98aec1dff096b0a2dae70ed7d95784a05da" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "1.0.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-xml" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", - "rand_pcg", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.9", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "raw-window-handle" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a" -dependencies = [ - "cty", -] - -[[package]] -name = "rayon" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" -dependencies = [ - "getrandom 0.2.9", - "redox_syscall 0.2.16", - "thiserror", -] - -[[package]] -name = "regex" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" -dependencies = [ - "aho-corasick 0.6.10", - "memchr", - "regex-syntax 0.5.6", - "thread_local 0.3.6", - "utf8-ranges", -] - -[[package]] -name = "regex" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390" -dependencies = [ - "aho-corasick 1.0.1", - "memchr", - "regex-syntax 0.7.2", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-syntax" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" -dependencies = [ - "ucd-util", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" - -[[package]] -name = "reqwest" -version = "0.11.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" -dependencies = [ - "base64 0.21.2", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", - "hyper-tls", - "ipnet", - "js-sys", - "log 0.4.17", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tokio-rustls", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots", - "winreg 0.10.1", -] - -[[package]] -name = "rfd" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" -dependencies = [ - "block", - "dispatch", - "glib-sys", - "gobject-sys", - "gtk-sys", - "js-sys", - "lazy_static 1.4.0", - "log 0.4.17", - "objc", - "objc-foundation", - "objc_id", - "raw-window-handle", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows 0.37.0", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted", - "web-sys", - "winapi", -] - -[[package]] -name = "rquickjs" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc022cc82b5de6f38b2f4ddb8ed9c49cdbd7ce112e650b181598e102157257de" -dependencies = [ - "rquickjs-core", -] - -[[package]] -name = "rquickjs-core" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa1ecc1c84b31da87e5b26ce2b5218d36ffeb5c322141c78b79fa86a6ee3b9" -dependencies = [ - "rquickjs-sys", -] - -[[package]] -name = "rquickjs-sys" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24311952af42d8252e399cf48e7d470cb413b1a11a1a5b7fab648cd2edec76c5" -dependencies = [ - "cc", -] - -[[package]] -name = "rs-snowflake" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e60ef3b82994702bbe4e134d98aadca4b49ed04440148985678d415c68127666" - -[[package]] -name = "runas" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49535b7c73aec5596ae2c44a6d8a7a8f8592e5744564c327fd4846750413d921" -dependencies = [ - "libc", - "security-framework-sys", - "which", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver 1.0.17", -] - -[[package]] -name = "rustix" -version = "0.37.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustls" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" -dependencies = [ - "log 0.4.17", - "ring", - "rustls-webpki", - "sct", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" -dependencies = [ - "base64 0.21.2", -] - -[[package]] -name = "rustls-webpki" -version = "0.100.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "rustversion" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" - -[[package]] -name = "ryu" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" - -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schannel" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" -dependencies = [ - "windows-sys 0.42.0", -] - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "security-framework" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "selectors" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" -dependencies = [ - "bitflags", - "cssparser", - "derive_more", - "fxhash", - "log 0.4.17", - "matches", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc", - "smallvec", - "thin-slice", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", -] - -[[package]] -name = "semver" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" -dependencies = [ - "serde", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest 2.6.0", -] - -[[package]] -name = "serde" -version = "1.0.163" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.163" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "serde_json" -version = "1.0.96" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" -dependencies = [ - "itoa 1.0.6", - "ryu", - "serde", -] - -[[package]] -name = "serde_repr" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "serde_spanned" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa 1.0.6", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" -dependencies = [ - "base64 0.13.1", - "chrono", - "hex", - "indexmap", - "serde", - "serde_json", - "serde_with_macros", - "time 0.3.15", -] - -[[package]] -name = "serde_with_macros" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "serde_yaml" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" -dependencies = [ - "indexmap", - "ryu", - "serde", - "yaml-rust", -] - -[[package]] -name = "serde_yaml" -version = "0.9.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c" -dependencies = [ - "indexmap", - "itoa 1.0.6", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "serialize-to-javascript" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" -dependencies = [ - "serde", - "serde_json", - "serialize-to-javascript-impl", -] - -[[package]] -name = "serialize-to-javascript-impl" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "servo_arc" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" -dependencies = [ - "nodrop", - "stable_deref_trait", -] - -[[package]] -name = "sha1" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - -[[package]] -name = "sha2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static 1.4.0", -] - -[[package]] -name = "shared_child" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "shared_library" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" -dependencies = [ - "lazy_static 1.4.0", - "libc", -] - -[[package]] -name = "signal-hook" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "simd-adler32" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" - -[[package]] -name = "siphasher" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" - -[[package]] -name = "slab" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "smol" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" -dependencies = [ - "async-channel", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-net", - "async-process", - "blocking", - "futures-lite", -] - -[[package]] -name = "socket2" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "soup2" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" -dependencies = [ - "bitflags", - "gio", - "glib", - "libc", - "once_cell", - "soup2-sys", -] - -[[package]] -name = "soup2-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" -dependencies = [ - "bitflags", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps 5.0.0", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "state" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" -dependencies = [ - "loom", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro2", - "quote", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sysinfo" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02f1dc6930a439cc5d154221b5387d153f8183529b07c19aca24ea31e0a167e1" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "winapi", -] - -[[package]] -name = "sysproxy" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9707a79d3b95683aa5a9521e698ffd878b8fb289727c25a69157fb85d529ffff" -dependencies = [ - "interfaces", - "thiserror", - "winapi", - "winreg 0.10.1", -] - -[[package]] -name = "system-deps" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" -dependencies = [ - "cfg-expr 0.9.1", - "heck 0.3.3", - "pkg-config", - "toml 0.5.11", - "version-compare 0.0.11", -] - -[[package]] -name = "system-deps" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5fa6fb9ee296c0dc2df41a656ca7948546d061958115ddb0bcaae43ad0d17d2" -dependencies = [ - "cfg-expr 0.15.1", - "heck 0.4.1", - "pkg-config", - "toml 0.7.4", - "version-compare 0.1.1", -] - -[[package]] -name = "tao" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6d198e01085564cea63e976ad1566c1ba2c2e4cc79578e35d9f05521505e31" -dependencies = [ - "bitflags", - "cairo-rs", - "cc", - "cocoa", - "core-foundation", - "core-graphics", - "crossbeam-channel", - "dirs-next", - "dispatch", - "gdk", - "gdk-pixbuf", - "gdk-sys", - "gdkwayland-sys", - "gdkx11-sys", - "gio", - "glib", - "glib-sys", - "gtk", - "image", - "instant", - "jni", - "lazy_static 1.4.0", - "libappindicator", - "libc", - "log 0.4.17", - "ndk", - "ndk-context", - "ndk-sys", - "objc", - "once_cell", - "parking_lot", - "png", - "raw-window-handle", - "scopeguard", - "serde", - "tao-macros", - "unicode-segmentation", - "uuid", - "windows 0.39.0", - "windows-implement", - "x11-dl", -] - -[[package]] -name = "tao-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27a4bcc5eb524658234589bdffc7e7bfb996dbae6ce9393bfd39cb4159b445" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "tar" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "target-lexicon" -version = "0.12.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" - -[[package]] -name = "tauri" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d42ba3a2e8556722f31336a0750c10dbb6a81396a1c452977f515da83f69f842" -dependencies = [ - "anyhow", - "attohttpc", - "base64 0.21.2", - "bytes", - "cocoa", - "dirs-next", - "embed_plist", - "encoding_rs", - "flate2", - "futures-util", - "glib", - "glob", - "gtk", - "heck 0.4.1", - "http", - "ignore", - "infer 0.9.0", - "minisign-verify", - "objc", - "once_cell", - "open 3.2.0", - "os_pipe", - "percent-encoding", - "png", - "rand 0.8.5", - "raw-window-handle", - "regex 1.8.3", - "reqwest", - "rfd", - "semver 1.0.17", - "serde", - "serde_json", - "serde_repr", - "serialize-to-javascript", - "shared_child", - "state", - "tar", - "tauri-macros", - "tauri-runtime", - "tauri-runtime-wry", - "tauri-utils", - "tempfile", - "thiserror", - "time 0.3.15", - "tokio", - "url", - "uuid", - "webkit2gtk", - "webview2-com", - "windows 0.39.0", - "zip", -] - -[[package]] -name = "tauri-build" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8807c85d656b2b93927c19fe5a5f1f1f348f96c2de8b90763b3c2d561511f9b4" -dependencies = [ - "anyhow", - "cargo_toml", - "heck 0.4.1", - "json-patch 0.2.7", - "semver 1.0.17", - "serde_json", - "tauri-utils", - "winres", -] - -[[package]] -name = "tauri-codegen" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a2105f807c6f50b2fa2ce5abd62ef207bc6f14c9fcc6b8caec437f6fb13bde" -dependencies = [ - "base64 0.21.2", - "brotli", - "ico", - "json-patch 1.0.0", - "plist", - "png", - "proc-macro2", - "quote", - "regex 1.8.3", - "semver 1.0.17", - "serde", - "serde_json", - "sha2 0.10.6", - "tauri-utils", - "thiserror", - "time 0.3.15", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-macros" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8784cfe6f5444097e93c69107d1ac5e8f13d02850efa8d8f2a40fe79674cef46" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "tauri-codegen", - "tauri-utils", -] - -[[package]] -name = "tauri-runtime" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b80ea3fcd5fefb60739a3b577b277e8fc30434538a2f5bba82ad7d4368c422" -dependencies = [ - "gtk", - "http", - "http-range", - "rand 0.8.5", - "raw-window-handle", - "serde", - "serde_json", - "tauri-utils", - "thiserror", - "url", - "uuid", - "webview2-com", - "windows 0.39.0", -] - -[[package]] -name = "tauri-runtime-wry" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1c396950b1ba06aee1b4ffe6c7cd305ff433ca0e30acbc5fa1a2f92a4ce70f1" -dependencies = [ - "cocoa", - "gtk", - "percent-encoding", - "rand 0.8.5", - "raw-window-handle", - "tauri-runtime", - "tauri-utils", - "uuid", - "webkit2gtk", - "webview2-com", - "windows 0.39.0", - "wry", -] - -[[package]] -name = "tauri-utils" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6f9c2dafef5cbcf52926af57ce9561bd33bb41d7394f8bb849c0330260d864" -dependencies = [ - "brotli", - "ctor", - "glob", - "heck 0.4.1", - "html5ever", - "infer 0.12.0", - "json-patch 1.0.0", - "kuchiki", - "memchr", - "phf 0.10.1", - "proc-macro2", - "quote", - "semver 1.0.17", - "serde", - "serde_json", - "serde_with", - "thiserror", - "url", - "walkdir", - "windows 0.39.0", -] - -[[package]] -name = "tempfile" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", -] - -[[package]] -name = "tendril" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" -dependencies = [ - "futf", - "mac", - "utf-8", -] - -[[package]] -name = "terminfo" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da31aef70da0f6352dbcb462683eb4dd2bfad01cf3fc96cf204547b9a839a585" -dependencies = [ - "dirs 4.0.0", - "fnv", - "nom 5.1.3", - "phf 0.11.1", - "phf_codegen 0.11.1", -] - -[[package]] -name = "termios" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" -dependencies = [ - "libc", -] - -[[package]] -name = "termwiz" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef6892cc0348a9b3b8c377addba91e0f6365863d92354bf27559dca81ee8c5" -dependencies = [ - "anyhow", - "base64 0.13.1", - "bitflags", - "cfg-if", - "filedescriptor", - "hex", - "lazy_static 1.4.0", - "libc", - "log 0.4.17", - "memmem", - "num-derive", - "num-traits", - "ordered-float", - "regex 1.8.3", - "semver 0.11.0", - "sha2 0.9.9", - "signal-hook 0.1.17", - "terminfo", - "termios", - "thiserror", - "ucd-trie", - "unicode-segmentation", - "vtparse", - "winapi", -] - -[[package]] -name = "thin-slice" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" - -[[package]] -name = "thiserror" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "thread-id" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee93aa2b8331c0fec9091548843f2c90019571814057da3b783f9de09349d73" -dependencies = [ - "libc", - "redox_syscall 0.2.16", - "winapi", -] - -[[package]] -name = "thread_local" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -dependencies = [ - "lazy_static 1.4.0", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" -dependencies = [ - "itoa 1.0.6", - "libc", - "num_threads", - "serde", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" -dependencies = [ - "autocfg", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d409377ff5b1e3ca6437aa86c1eb7d40c134bfec254e44c830defa92669db5" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd" -dependencies = [ - "futures-util", - "log 0.4.17", - "tokio", - "tungstenite", -] - -[[package]] -name = "tokio-util" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if", - "log 0.4.17", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "tracing-core" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" -dependencies = [ - "lazy_static 1.4.0", - "log 0.4.17", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex 1.8.3", - "sharded-slab", - "smallvec", - "thread_local 1.1.7", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "treediff" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761e8d5ad7ce14bb82b7e61ccc0ca961005a275a060b9644a2431aa11553c2ff" -dependencies = [ - "serde_json", -] - -[[package]] -name = "treediff" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303" -dependencies = [ - "serde_json", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "tungstenite" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788" -dependencies = [ - "base64 0.13.1", - "byteorder", - "bytes", - "http", - "httparse", - "log 0.4.17", - "rand 0.8.5", - "sha1", - "thiserror", - "url", - "utf-8", -] - -[[package]] -name = "typemap-ors" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" -dependencies = [ - "unsafe-any-ors", -] - -[[package]] -name = "typenum" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" - -[[package]] -name = "ucd-trie" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" - -[[package]] -name = "ucd-util" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd2fc5d32b590614af8b0a20d837f32eca055edd0bbead59a9cfe80858be003" - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" - -[[package]] -name = "unicode-ident" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" - -[[package]] -name = "unsafe-any-ors" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" -dependencies = [ - "destructure_traitobject", -] - -[[package]] -name = "unsafe-libyaml" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8-ranges" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba" - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "uuid" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" -dependencies = [ - "getrandom 0.2.9", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version-compare" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" - -[[package]] -name = "version-compare" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "vtparse" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - -[[package]] -name = "walkdir" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log 0.4.17", - "try-lock", -] - -[[package]] -name = "warp" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba431ef570df1287f7f8b07e376491ad54f84d26ac473489427231e1718e1f69" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "headers", - "http", - "hyper", - "log 0.4.17", - "mime", - "mime_guess", - "multer", - "percent-encoding", - "pin-project", - "rustls-pemfile", - "scoped-tls", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-stream", - "tokio-tungstenite", - "tokio-util", - "tower-service", - "tracing", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" -dependencies = [ - "bumpalo", - "log 0.4.17", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.18", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" - -[[package]] -name = "wasm-streams" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webkit2gtk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" -dependencies = [ - "bitflags", - "cairo-rs", - "gdk", - "gdk-sys", - "gio", - "gio-sys", - "glib", - "glib-sys", - "gobject-sys", - "gtk", - "gtk-sys", - "javascriptcore-rs", - "libc", - "once_cell", - "soup2", - "webkit2gtk-sys", -] - -[[package]] -name = "webkit2gtk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" -dependencies = [ - "atk-sys", - "bitflags", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "gtk-sys", - "javascriptcore-rs-sys", - "libc", - "pango-sys", - "pkg-config", - "soup2-sys", - "system-deps 6.1.0", -] - -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - -[[package]] -name = "webview2-com" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows 0.39.0", - "windows-implement", -] - -[[package]] -name = "webview2-com-macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "webview2-com-sys" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" -dependencies = [ - "regex 1.8.3", - "serde", - "serde_json", - "thiserror", - "windows 0.39.0", - "windows-bindgen", - "windows-metadata", -] - -[[package]] -name = "which" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" -dependencies = [ - "either", - "libc", - "once_cell", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "window-shadows" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29d30320647cfc3dc45554c8ad825b84831def81f967a2f7589931328ff9b16d" -dependencies = [ - "cocoa", - "objc", - "raw-window-handle", - "windows-sys 0.42.0", -] - -[[package]] -name = "window-vibrancy" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f762d9cc392fb85e6b1b5eed1ef13d73fed5149a5cbb017a7137497d14ef612" -dependencies = [ - "cocoa", - "objc", - "raw-window-handle", - "windows-sys 0.42.0", -] - -[[package]] -name = "windows" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" -dependencies = [ - "windows_aarch64_msvc 0.37.0", - "windows_i686_gnu 0.37.0", - "windows_i686_msvc 0.37.0", - "windows_x86_64_gnu 0.37.0", - "windows_x86_64_msvc 0.37.0", -] - -[[package]] -name = "windows" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" -dependencies = [ - "windows-implement", - "windows_aarch64_msvc 0.39.0", - "windows_i686_gnu 0.39.0", - "windows_i686_msvc 0.39.0", - "windows_x86_64_gnu 0.39.0", - "windows_x86_64_msvc 0.39.0", -] - -[[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-bindgen" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" -dependencies = [ - "windows-metadata", - "windows-tokens", -] - -[[package]] -name = "windows-implement" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" -dependencies = [ - "syn 1.0.109", - "windows-tokens", -] - -[[package]] -name = "windows-metadata" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", -] - -[[package]] -name = "windows-tokens" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" - -[[package]] -name = "windows_i686_gnu" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" - -[[package]] -name = "windows_i686_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "winnow" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "winres" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" -dependencies = [ - "toml 0.5.11", -] - -[[package]] -name = "wry" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea" -dependencies = [ - "base64 0.13.1", - "block", - "cocoa", - "core-graphics", - "crossbeam-channel", - "dunce", - "gdk", - "gio", - "glib", - "gtk", - "html5ever", - "http", - "kuchiki", - "libc", - "log 0.4.17", - "objc", - "objc_id", - "once_cell", - "serde", - "serde_json", - "sha2 0.10.6", - "soup2", - "tao", - "thiserror", - "url", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows 0.39.0", - "windows-implement", -] - -[[package]] -name = "x11" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "xattr" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" -dependencies = [ - "libc", -] - -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "byteorder", - "crc32fast", - "crossbeam-utils", -] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml deleted file mode 100644 index 440a398..0000000 --- a/src-tauri/Cargo.toml +++ /dev/null @@ -1,69 +0,0 @@ -[package] -name = "clash-verge" -version = "0.1.0" -description = "clash verge" -authors = ["zzzgydi"] -license = "GPL-3.0" -repository = "https://github.com/zzzgydi/clash-verge.git" -default-run = "clash-verge" -edition = "2021" -build = "build.rs" - -[build-dependencies] -tauri-build = { version = "1", features = [] } - -[dependencies] -warp = "0.3" -which = "4.2.2" -anyhow = "1.0" -dirs = "5.0.0" -open = "4.0.1" -log = "0.4.14" -ctrlc = "3.2.3" -dunce = "1.0.2" -log4rs = "1.0.0" -nanoid = "0.4.0" -chrono = "0.4.19" -sysinfo = "0.29" -sysproxy = "0.3" -rquickjs = "0.1.7" -serde_json = "1.0" -serde_yaml = "0.9" -auto-launch = "0.5" -once_cell = "1.14.0" -port_scanner = "0.1.5" -delay_timer = "0.11.1" -parking_lot = "0.12.0" -tokio = { version = "1", features = ["full"] } -serde = { version = "1.0", features = ["derive"] } -reqwest = { version = "0.11", features = ["json","rustls-tls"] } -tauri = { version = "1.2.4", features = ["global-shortcut-all", "process-all", "shell-all", "system-tray", "updater", "window-all"] } -window-vibrancy = { version = "0.3.0" } -window-shadows = { version = "0.2.0" } -wry = { version = "0.24.3" } - - -[target.'cfg(windows)'.dependencies] -runas = "1.1.0" -deelevate = "0.2.0" -winreg = { version = "0.50", features = ["transactions"] } -windows-sys = { version = "0.48", features = ["Win32_System_LibraryLoader", "Win32_System_SystemInformation"] } - -[target.'cfg(windows)'.dependencies.tauri] -features = ["global-shortcut-all", "icon-png", "process-all", "shell-all", "system-tray", "updater", "window-all"] - -[target.'cfg(linux)'.dependencies.tauri] -features = ["global-shortcut-all", "process-all", "shell-all", "system-tray", "updater", "window-all", "native-tls-vendored", "reqwest-native-tls-vendored"] - - -[features] -default = ["custom-protocol"] -custom-protocol = ["tauri/custom-protocol"] -verge-dev = [] -default-meta = [] - -[profile.release] -panic = "abort" -codegen-units = 1 -lto = true -opt-level = "s" diff --git a/src-tauri/build.rs b/src-tauri/build.rs deleted file mode 100644 index d860e1e..0000000 --- a/src-tauri/build.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - tauri_build::build() -} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png deleted file mode 100644 index be2533a7ffd32a09b800d27e302a0f41afa74bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12013 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

CJ2!K#;*rmU@g5-^zE<+#Pr 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%0D-#+GMX>wOV0yf#^4@4yk%!4I-&FSKRT#XjrC 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%0A2$KYR_9!w@^ znNg3L8GMk%4_M(Fg>k{B5|5J`5<%ZbU6Kf0nS$x!B043;N&&5M?WV7z83H2mn39cc zZAv${yN{Vjy1^2#qooRVi?Y4Dkb_hyW)=fz)5`?N#|bT0b{h_g*j%9|*@RpcPp)^q zF05Bg^Vw}}sqOc?MfXmt_T-p9|IIdee5BJ-!`f;d>EojGyO5*(F20{3A@H8s{h|v|2U-vdj%fB0e@(kXshq1I3&y|eUdi zqv4ALhzybJ!1lhpZLGtwuZA1&R{!j2IpRFX zL@qksOs{sa``2qlM}yEX->T_?*@-b9###EpG}e+1 zJ>B$`sctKfSdWQY!s++z{*~h-h;#zu1AWW>5&31{8Q_R^_8{;NY$JuHfMd%4=Nr(3 zI9OTpQc{<@S@5a(usS~oi+{`|N}eGALt3n6*~e|Gx){r@ipxH#aj)9PKTb@=TJPY! z#hHOpQXzAoaNB;1{C7Wj_fVNzR2DVPY=ws9Cq?xTTGBQ$JcsQ*jf@Hj`8>?^Y1vv0 zHkmXO+_=pxEF7{>e8-g`9}JN7+=&&0!Mqk4*L_nIFx$Cbxw0di-hM!diCDkN>`>5g zU3?G)7`tSB9;GNpZO`RQ7U{3+kQdcX*f!i!Zuw#P-HM{Ept?-lHg_~X>kPNH5>ze@cC*h(T>S+*p_Kl%T>;|sA4q*&5V3KKzIrb{F{Ns0Y0m#Nz`WXk6RwP z0qhu$QO4t6&iAE5L+%_*m2wr8Za%R3CwVnib|-Ode6qeICbv4F@37mByVQ4;_V$mW zqm*AS-G@m9gnVO63ojGWuVzTP5&Zrvied+dgC^~nie^emO0+#k@swSalQD=t=iHv! zpx%g(mR7XHWxUCUNNsoS0IEZ!V_-e@xKwwSp%~^Z3^-!A{z3io!|ig;-Yo?FsITK~ z4_dxqs~sez7n((0O_yfILat@;+(jY1WqQmO)AndlAj5^wwzfe}G}Gwugs7raOG&^e~YmF%S6^vRw>U=KU zuD!a~Y_x`-xF%o_hwX=Bou-S<#qHf4eIwsor&8?VrRUz=DNoz5y}ZHRUPer2B|^NA z=AzSJiZ|1*V z+M;~=1#X9)96srt8k$U;sQ)%O-{snaDc@$|w$;!7>r%V{5Iw=k`Ajzy2v!qmG7i&o zwk-Ix8O+u2ZMosB!0c_~C31|{thl7Oc+7iRu~D;yMGwf^tDElKoimi4AFagsV7xg7 z-#yW_25I~2t;R6l>%4pdn4DH9^acFaD4L18IhXg^^Qw!fo3(Pc-~Hn{9Hpd1!pJj) zC%3QyaoIh9efXZEtlhfA>uc#mnY3Ir%Q9Y^%I`V*bH%qN=y@ILo#w{_8vHVr8ApbO zD^YImDKwj2hO7%v6ed64s;oc38d*r~3gLK@JP*e(?nGO5>jHglfvz@y;6SVhqjemL zR0I_35HSoSW1jJNQE4xRRwB4ZG_E){VMGDAVL8#;UFS4qAfR*YBpp;Slyw*S_LNvf zb5+ezd_>AiBS(%z8`4M3jn_F`ACJoTftk?7BZU?)<9GFQxFeeay|2Cs=)8tz1&L+H z^YORf`gT$hbLWi-K2dp`b$m$M{Q5D!v{dV2lgiEPgtdm>+zKICukhIC&b~tZC|akW z4t;UHCt}dloM~-{Rrik;^{C4(HTND65lkup_Xenveq5ZYFQAO&8rUdN1Lzr4m zpmX7Vm}CT$F#i~JfucH_>*SH|q=uOh271F2IU6p+7wFyR-SCpRDpS1F?Jn_npeR%%l(MWeV9vwW-bTx+k zE^bQ~LRl#^m&a+t{Q0Fb9tadb^Mrlp{stiDTXm|dHlt)dri`dO0KvAZK6Xmw zR8!0FF+I16L_ny8dF+q+(Rv!q+rrB8@lL{!5kiHV{plC=-8Zd~XWJ!Im@G1Q@Cz;B zYtx$V%=sCyV+bqgEBs+0&#SAOyqysB%_B*Z8;?i-ca3-BrrWaM&AqY_mq-GQ@{y~v zxZJWPVD8-h%uzgfG_ozCmhWg0^hvvx=INSE4v~f%)t9An6z%5|fE`L`o<10Ur38zE zva>&q`rpIw2DE3WySwlZ__V^A6YKPW&Pzlb;^Vn#OIw@xcdQr7hsK_4C-VRUxD)tu z6wU8_UJ5vi;U2Aj&La7Je?kKD>~gHtXoN0d_XF1YD?bx+hDd+ygiA4k-QuEr+_G7w6bcbCaL1Y z101s)ITL)R!c;x9t6j{xS|q6rVg~&taqFyumX#T-+n{RmDfhoGi`@1YCO2CXvv>j0 zK4|u#ieP?TE0UGz9XD!jAsw#_TT2_1tiwF(JlE#rn9r# z#HwG#?kQ!txy$a;e*BgVl$yWq-#F&qoj_0+Aq?Cs1+}D$GAJ#2I8Eg)1GZswrw6(P z%XSKz<-A+eEh=1lHK(UOvnwNZtDT~f`CR!f9diMemg4hbh6o*aEda+d+tSX+4jk zT#7`3Ba5)*cm%b-pwLB-4RUbS@yB6q`_g(M^A2?A-cRoa4xWN?e<`XiIyu!kVq_Y% z&(_aTxY5t?ZOaioTiW`}UHX@+thYW410qT8WcW36&}J4?(J2IADsL41ktDWSCq4K5 zMRJ{vR~AwCz16o4P$ks5sAM4T>G=!kqT8n2(%J9ymI?e0N9pFTXYWmYe$#JVoejSX zm=YIIJtUfxi=3`0zPeq+PM_H+OzkAh>avu=*443s%D#0ANl$BmHY~Ewc?;|RmXt^> zl~HP6r*ipb@$vU8={DM5KigcoYQ`ylHao*lAA{uo9-AL^8z-2=8C zQPqf|0^WbDI}W1raCnf5*75>Rz3Smsdfehl!Y0^lA{)StX-|V$f#=wcU}yttY1ubb z=-Izuh{6wPbjaj$+*UUT{F#)hM(O6-cam;wWp=Q-=)_kVJ2qcwH>$I*f!S1J!g75Y zxHFyru_RwGdtU}GVsMAf?&d16;wxmZ%H2|?-SI^iaba%vdY`F<_%HaMyGTh0(Hh@- zJR%hGNh9R8EjzmLV&>p>D^1L@!#V_k7%e5geNonZbh0Le0aQ*(lTPKgvF!{$Y@1S?uL8gggQOvpdV`=;+`cx(w5B1+Fn; zV`JxUsUIvuQXFP2FY^v300dD;!^~K^rw9voCiKzK!?1CPMT}QT(GJqoh8cS`5p2^~ zU1|`{N15B`p93{X){77{_@j}p9ua|`GKuVWLWmdlBT7%tT^)!_GJu`(_4>^}kywzc-B0MDxigoEkT%ucMqsbjSL<_P zg;JLqGjE1?qDSqXNbj$z=9`ebj)wd67tQw+`R=`T3e6NdUpM|cj^y5 zdiFvrTGz@3cfyv1GB$MSGp&sBR276?j>z89oe_vFE;^>di`=s#jgGd0xH+SWd(6QK z!}u9c>z}agO!E6cSq&hpo3P3vI<;XI9)TIM0^NnuN?SDyq32~q4UCD^)h{R}->;Hn z`ZWzVtb2E6_L>ObZ7()NoMWfy1)p2qtLCVPO|wpraZ4;@Rs%`Pz%~%FRa{z=O>+2{CdILFowR5>Pceq0^&%cXCfM*(| zH0+XxgDRaG!Uv?3%i>+xQPTiV*~2qTUHGDje}__oTIyxn_mz9JliEVjIq7GpB3^Z! z5cGPGWS;aNsA!4x<_SQJR5=W9bRzdF#@pVo)-3ni!=B}Q#nQyED`Qo!JN$tw?nShvlD);kUoU32N6rE7puQ6#)~qe?Y%m zU(*!**uiBn1zUGaDgA6VKuH~iRc~9aq}OuebJLAdIl0-npE=6Sb;+=O@BHhBzDR;1 z<$As|1kQ;a_1gVz#Xx&d@0RtH*~HoH1`z$ge|NutKn`65hsXPE`cud>&$CJ=V`U@x z3n0&B!cMes~s9gQDmgtlFnrNg39nQ7BL~A@@F_C1n2{r zPGs)+-z~R~$9_sYfC#zTL&Sb$W+=Z4zBmZizb-zlPC$xJBxhZ~tRp5Lq9B<9(B zhp}QGu(66NNJ|CV90NUGA0jwh-fJHODaz_DH1A%x&BV&LmF|ut7s;uAmIhKx5v$*m zN`dC^^4+oYeD_I16&01SWe2k$SqaAv-Mum7`jG=KD)W5Qn8spVf~lP~_RkE=+8nTi zL_~mQ;?lq*qOx$Y1sf=+Zvw$}|G^2nT3rDYr8wN|egW;Wg_c+x?ECtG;8X5h%jRT{ z9}H8UK{uV!&W?%YYOCboH3mr~K-@)bxzXKp*tk`|$fa9S!Vr;LR<@GFyPiI&Zdod+ci~RTWfD584yBN7M+wQ7Y3Ep7fCYA4gzF#eEcFjcH-ZcxE#3_ zHLNWv=}Q`zk>x19L@#x8Eb;)B8tV`siQOMV!J2N0T2O2;P4kQV7hl|#qj zLC70l>|8x*-H&04t!TbZ1Sm{=8)%V|3{;1I{*n-Ej!YW(eYy%UdeoqYs(>T~OX$uE zxMme;b=)HLt|5bApfEvxUWmk265Ag8UL~5>pKDK^e~r;Uj*7G!Ox2AHXsc^zEMm50 z{@^ec6lICzMreM%M45?K^J(0_>qGkjf}Q%3)l}T$Zk-sp^tTYNcC0K64=Qx^osb|j zd>qvQP!DsFe3(8}Ym1E7I29G#e0XRnvZrwIhzcf+TpydnNj8S*gl^5wHi$+AD+}DG2zrM$Kb>}D zpZL>?Pe0P(!U~he!#+L*n~PMOD$m()Fp9#AQns#ZJK+iB_0oPw0yKP~*uA!jDk}?F zAa&ZYp+e;_3p_*(B$h`f4tx-0!a`R7Lf92&y5hY9i^d-X@2BO4l8)xBqvmSp`^QB^Ie8Go&M+`xE~(|IbcnZ3VALc`=b2aMv=zu`1d zSt_R{nkN4+G0BNYcvCXtuh0q?Cp> z`+*Q)sU{@gLB0@d=FiZ8VEIAzl=@l~wvbaoXNM#=2)4-p1dvqQ{3FM>mU@jEOCzgLs;ZL@)D4JlRz0<5#^2_zt|ccb^3+f+ z13-w|l39tUU_eTR(^N(!gPJ^54%`7FY?pF?0up@)L!XMJ{g8G|0I~oDjSl%%6&G9B zeHaiYr}C9BzdhcX;hfhlA$`~pDydw(ba3e-xSDBn*av;+jQH?{d=6+1?L-xJm;L4m zD$}ddhk8$ktoM8l)Tv`)KEsd?=@A+Ll!fU5p0~#j>v2kQ^q>0fApi@nWM6n^yqa#& z?WsW4>hm=G&E;^avWSRBy9tTVVKgGF;Ww}=Rv=0g$cE$TbfMZP-4xW_BKccd>JJoo zkr*l{6yM{dZaz}mWmd(pJkNVoDoKy%^VP_7_}10i4)!6$jXRd2O7)~vz!V<_0x9-& z`jh7iQ{;7kRYaZ_re35LXO)5x4XNh5D?-6dM^tzu-M*s`sX+Edj0QNwSB~` zQOne;wRM~)dGnrAXMR)mD+9zLOSKk-9(E8?P4+bn@*RgKL|OBU2(#u9AzZYebrxtLyZS2Fu)|QP~rY)QJL3O@0;1au#!&BLXfg zefqy0vlIrJNZL|ss7?2qQTcTqx!)^=-X6yPAb_*2f&wL+#S;O6#dYZb)XNVMfI9OH z5cs^2(X+59{hj0i!i&RF@(dE7&7FFyREdPgUj4;n+4knJlxTJ={iYU6Bc)$WQ34il zDzs3#cTO8{(laO5qnKQW8{HJbc1pzjUiYkLP+$VEeKejnvK6lGF2hocuK=WcT&;nE{Mo zh5NBrkJmy+8Q)s+#zCxJY#`K3Ld$(O0QlQ3&D=yai53gLu}GK1WfSV~QODy?b&$Tj zJviK-OVi6;!DhK${A9ra93B9#($X=gZq_*(68Ou)+a&IA z>dHah_Ficq%3ev6liB3kyz$aY%?i(_gPunAp$Vjk&5nkBM(`)g-x?sf50B#V8AZCifyw`zKFs%yd-b_ zs&C3rdv(YYwXLGxftXakno$c94ut8Eem{Ef)}=Z*Dim2M&vwr^=^wFfoC1vBnjn z<^FL=r3U)U9?e_S72LCO{cQSm7Y$CNG)jA`G2DSoU)zi_V0>|69WK&Z#@X2!jflv* zBtIX*D!jDZVs2o>80a~>LCIunk6PsS`bA1U2-#aZKePK$V%UrQgOl$(^7_{iBx9UX z(d^hyWFr0kaMLr_7TB|88cMT&L$+q)=&@&iB5j2SjEjCzQ&E{3dKx)P7TH-h;b{(^)1Zb%7z9IrwKTuzzWafl z#9;2%85>X1a`bwsb!+%7S0(NaM`-?}m0(4RSd;FSx=&z4d@;~y)QwN5vrIx1bGx_p zyj1$iN1W;8@Yu*B4 z)Tr4&3wvUOSxkNibCr4>zfr;4v+!8`k;0~j@fmEB*VYQO?07i`ql?fPz3Z8!v(=Y- zpLNI5pf02cAU9u8KlvhavU|9ebXC2MHB*J^bgbhP>WSmSI=;&a^ktc_{$mTWSHG64 zD68&BfQJE7NE=B|qJ4hc&lOiK*Tj8-2ZIl2q7`Gb#S1T(6N>U$ZWLQMFc(^XTrD*> z^R2S$WZZ?dOM2bJtilW`gm^2y26fm%nsrl}7ZdLBzQO@fHt-RP=)?fnuG+5SHNt!- z489w{0-k!EED(aI&u9aF4?UF#MYaWN|1VYoKA3SJZ)o=(p!LPLu45V%yq}pR+W*0u z5ETSZKbNF#0Ym0>{^jj(wsb8N&IA$aKfj6Qf#&%2+);}dcN4acchSTgqWY@sS4#j| zAverN6TF@fDX&!zy|WAY7Zm@Ci-loHJ&&v1+)kFL$KOO72EgnJ8V)jPcrf6_L)DZE zd_bar9tPkvvD!o={RBiEU=ZTpM9>N4)WZN})cMm}kRXMg*c&UzaK?HHf76MQ08OmY z?iwH@+UUg}L{|Lo|Hcwt2Ts&dAe-?yM_$6%8=f4B^Bj+DlpXZK@kj=6a<{l*!P|ZV zPPYGy>Rfa^1i;{>&4CsQ-!u{j^kZMXwfyHl;Dtrh!;I@#LTXjRq_{i8yiX zJN%DEeQj}ZFxLlyh`FQ3p^?+7n1Tx0HRc9A9-zp18xNL8Vtp8b|IZsFF#I4bZbBSB z&+b2NS=t33|7D~cAZ!9&gX0JCmN+fEM#D%J#iIm| zKVVX3A;x_34FgVD!}tSukd}=YOpNIK;^gFo>$QXf!hhG13M(sO3;q-!wLk+3SlcJQ z8g2vDf9QPiL2P#FK!ki$o+*er^LC{7_UOr$NV56gr3}Y{@;EsYZ}mlm=n5?$PN0Ej z@S)_^=t!uqvsV(1dc@&KRGgKk*&-t^oMqIj^t;?O7cN-6>GpB>g8yeh@1PmgDq4>R zX*0JWZ%YU3E+8-G=}GBeTf_;AOPv%_D0{0a6B-09>t@_}@iW)kw)1Y3wVj{;vvP9S zNMhd0qX;7IKRJm9zJ-+_sY~U13wBVR;&BvIIDGyd-%A5f>u2_$uF}Qo2IBAk*zFV0 z#=?z&PCOCcfl98#`!ddy;R++13CBuU-`eW6e$ue^s`k7B1lj*A5RAmZ&E0W1qa^PF zG~!lIy{8l|cgZb8`hp zNa(|;V8J38+`L*M(2D)aFE9H5LX^+9XKQPo)3V$rc_f*ug*^W?e!nRyR*B~Iy`J&c zAK)Su=ovJy@|0vL6uA=D^Rd_*)WCJ*WG4s8g!r`Jnv6+l&iDWNiVWC#yS3LBG$O8R zg|97_dr-NbpArc`ln9d2F#|}qbT^1J zqI83l(o!Ogba&0%gMQ!l{s;Gm`@B9649Ltm`|Q2;T5GTMS?jaH#Q7BKoqB@AM$8%V zB7OcQsRt;22#kt@#O5N^^neJRzLR7IlQ!KD^jKI}`1H5$)ebC&kLKTo#34TKq(?fa z+SqV%dKmIL=*pu6&|+RbXfiWO&5-WQ8N#Og486IzA>-!ew$L$j(YlGC5=<Xtzd0#CJ$2PSZy?U521*5|LbJr4P0!cBpbl?%Jnpth zQ_GMET~>T7DWL{q1p|cN)5VVN7d;R8wZA(zb8UKB>|i>+fea7pYH4!F^N4;Bn_ zLDU18^`=|(M984{JK$hZFMF|IC2<-^-wbxJXr451{z1PnJ*?eu2kYNN@IWO`P|BGH z1#k2${Wh9b2P# z`Ix3hQfmAt6L1p=v@=FSR@7z0d`O)3!M$MUHTsmzkUMnYpWMzSo`Ml(3&Ls%CspJmj>U>;8Tvm`UwML^~-88wTIo2c>y9=uUaj4XY0*S$3-y1 zR)@t7>UElbqQsDc{yK6Jt7dVi?AO<~q}{w}$jYH1lm{k)9ufjk6OflFmV{=1rF9f& zHZ#U!NHpC8!-tn3A4~51Xb0y}h4`PX2odos)35d2 z3!=80a^GK&)jk!t;T-~ZMI=-hFxO7@FIZIqRl#GKGXgY(FXrkocD5~e0KH*Lcjy4w zQuk9wFRin`-VP<^IaFx1HFfUHSh+tdp{e{jWA0*&%G8zR;pG}`(kDop3q`?@>2JsD zUfBxF#O8}XX=ODb=F7Qq;pM}m_woOV1Q9Q^CyMs!X4)$2hNxooexLiX{rr9~f&Yih z%OrA63p5$Z^%hEuR{-T_h%I{4`BHc!r*`Sb3@NWuIZw>@{}dvKzQ5cQv93J5xw$$E zKeV#oZM^B@gnO5nQy@3EwcdmSCk@Y%i+s%08T11Wn-mKpr}hds3g${GS}q@6x*oeR zGyS*4+=;Rc4MZ~F$cy>hW`ide1M9|jVObI!s1Ir2aN>w7(vxy|@mHqdWU`cxvGxen z9tT&6v^gX%b6Oj=u_bZo9ctlr{%4B>AfA)(s~+jos@65`-@!W912wSLt)XB_h`92=ri11poJ1_aUjL@W#TzKUl7zi#@+TbqY01KO-NTc?)3?fUAXug@{t;_oj*4lGQw7sqPz z2QuB4LT`@0Z`>?L!+Zn1`0JqmmQC1i@h1|NZHVD0h$V3#XvK0# zfrS$3cHe6#vW^YY|9TWzEd++sftJ-9lSMT3?$HCLVBa4k!auJMW3tF zlM%bJ%iekGZWuLi7?QN=cSvtXMhSE>2&qN@2QDS*OY#wbuUw2Y&A7PrXns->2nf;B z)1%_O`~IJ<2tl+Za_hIi+c794rLQwv+2PvP0+&|CnODDz&jJo7XV5Vbn2+(Q{m(9Q zbR!U7Y$jbtGRIVnymr1=z0lJ7G2Z`(=%3+`fnJ+t86yvqMCRR>BhwzPR`8z3jlg=U zASPLtXPaYq@q8ZB7EjV7`|^@>r+T;it}je{^!lF+tj)z*xuPtVbv%0y}KD@J_ zU`Z-}8K^_OxNM0I7JA78)R?vmFGlSA5~8I}r#6xdocdaW*l?Agw|?&^lT67KT)}6f z^Eh=LX!Vmr*S+|qfV9Pyxxl*iSRh7-@CifBHx+>tKmAz2mI2rjm>9{0Y zfkkFPh^=VfGT_0?@EPJg7>)iZN@BMzj6<{Vh2+_+^W?4ch$M1Jy`Z_hFq9~J@^a$$ zyD{ank$5;^*|AmkUg5RJ_z>0*uERZ}<091y34(EU92(L#d<1IVPnxu?eno-RSNmy= zhzpgnUhzYliS6~Bog1mQS{_Dna@}2}??e8%*e1|`y{4nV=7A($`0>rz{9eHZTpcOd zkhFGl`3k0vEIrS;PB8)4n0^6zO5(-)ODVvef#-c*1>|r!->$TG!7}vEB;tjvi9r+Al7`n7r;l+fiUJZai zAf#!b5uGK_gl%DbmWtzWNt}4lfLNSH>$oo&$>(~XZu)mJ2pT>Q@IxvKi zRr>PFW-TeAxwbNogZZDGcjJW2tp)CMY z5buxZQsdT^X!46H=vu5KrwiTBBSy{ZhKlIRlUNu_@Szp9YzBK(_C<{JW0~_%;D6;(NH3f&!ncmr!gS;hz9#@9=q;#8$C?E8q?@~EI_pi2?M1Cm+% zsJJ=rfgz_sr*=w7^G4_jmdy!Q-)|UoyLaMDCvD!v>)T*LmLr_o7Uod$V*Zh6HLpCt z>6mg#(Oofwu4{=VO7Ejp`Rej`V-&=cm zs&yWDT6-)GpJdpHz0c%+KvE9 z`FehXeT+QUOBslVfllY*z{f0lj1WJBIvkywSBcX<_gS^#VqXhQ?v&g}_>z?|KBV4K zk|f)`lL#zyA-~$3^V-X3c3SPXu{LA$c1rfUU7D^$VDFde-XY9s($MWd!3)#I#zxL# zfZZrwoYUR#Ae^zSCBOY6tRs;;kZh4#srvO|e@hcfn>44p`e_3rgJ}z^Am%I4_%Vf` z{?`iahbe+qiSRXvd9gs@zVrLsbk{@$fwy|tPaTXS9*(?5#bVL9FMR2tho>7)Yt{@$ zleMxts3WU;RpVPJ0jI&1e2c82^LiS`-^K0kN^s;|;gIqPr;L!QT}-eP!l5-}|6sC`oI;+a_Pes>YGgDEi)3z@bDJ6jrp zkDN&+zW(`HI3pN##|J_utAI0&Q zf4yXR>|y6?^2_tVXA-X4x~T7hL)*TW8$}YuD9W11Ll+kAJeQQOZW`CQ$9f~+U=9_j zG0@z(d!(&dq(n(Io)hB#-n(`CP_g9Ck z$!?YjN7%C?+*tFw1IcPQO;1J(p0RO*(FV-7YC@5tDxb>BGnE9f1z+3yFRv%djrom< z@`6f0<^ZSi5nBL~kLvWKQ-R6Hy);l-bV6z9&sMGd{G4Le&z*dApZU3FFD&c#uqUX! zFr*tTl9aO5wOX4@chOit1-U%nKT ze6kVz`tA@4?p^+Ryxcu#2#I>ibjiqLR+qVSRQw)9&*pB6spw45OeDZKJ=OP@!Vf1a zHZG2(>$)c+fg--5IQKrY zvjXp^q{?%ya;fi*+oDG4`nu&37oK!QTOnwE8jK4Hj5A~FYp0dzpZDH{I8FH6Iby^$ zIFlQZxcH!YwwgKX+rZ_0hk_KkjxZY~66=Z)9`(5sUj3ERSvrZhHEl0mfj4@7)PI{?|PKzggGM}(RG`?$bc-<4D$U0KeJrhgcGLic+=@M8L?9x4S zV7KN;rE->68nkTVz|V|O5ebT1y8mHLo5a%iP9xM!^U&_VAgUQZ)GT(}RNAVig)UL_ zbh_`$_mm5f*G(y;j6{k&eg^%+8>w_`rfkO1%ay(%9Z8~w)6VI>yJU&SOU};}>$k(l zI!Ul#mguwMi^-ulj<)E>u5o-)J^NmLGYldvdmS&`L6>>DuUSWBzn7SeRLuw_ zGMv+YZ&*xMEYhHlK52XAC~lY}dXN%)E1^z5?3*-=I0AeeKd1~YvLyrJv*;p5z(~f7 zUUXdLxk1hQofcnio#cwpIDwVfA7^QU+^{8C1`hP=2O72SJe%HkTVaxr8%K|I+D)Da z(F8qXguJWcupLKeIb9N*hdL`U)egESk51iqA5IOliD5H`BFepQ`ZGAAZ&D}gXU8&C zmKKZB0rB7QA`Xf_kFF#R(s-Dw)bO$6nIWyXzw8@6ybn?O7g6~aH~zox|G%06nNjR( zc)PQ;jwHcon0F*L>s;MXt;NHUp|3vUq@reciK*1lO05&H0 za_l~S3BEv_H548J<%2XE;4e=sbe~!(D+3R}pRoZ*ur+{w`xfx)9{2?SXxR_|4Sa>% z{$DoqfBp&uveEwEpKsrYcm5?10Azq$9I!iNyBRB)Rv}>>&N`$>nokwE#I7f%Tg|Lr zZNZWrX<=sDR$Aq^O33>8*;H*)tv$sQ%p{S8$E30yof<8wR}8DKnoEBgH%~HeWF_6% zeeH$n{BBF_(N2rA{ruRxTTx?4iAu($mg>)qFaYc!#oC6R43L^YpCfSo@0b6Zga7a4 z03q#n*T>4$0(yzw0vK<^_|P*a3y?C2D19S(sl`6mBdp9~7eu(bUxJc5cw7XV+hrwjO0Zs4FO7AzO~WPkWMg z%4r;&#a|i2);K0byWA5UTwc!OScna#`2y|okQ!=m5OPB7`}y3J&nD%QTXwqSZ4Iy??I+7VtkpB?>K&|iP?Pw z_l&xb_UAGeIicF0b}%-kFHql6nda;maEiI&b1HIE-ihuAoc#u7&HOL0le3sIGBTXp z7v*-M%MX6v9s2d_*M@d)%yRtD5(Jqd>Uh5Z4+N81usPm2EAkbUl;m0&^8oRP<_->O z*YaY+S3;vBBaGKVLP8PVVCIH=@)%WsZ0+zmP$@=XanKzGqp}|Hx-@zJK##xD+mgT+81K9{KTL2^i-JEOJ+>AnaDH}_i-a&yh9+|1BG zBjOLKA+1l(Bg*kU1ktd?<8*}p$Si^-l#Wzp+QDqZ$kzqbg2y#|Y5SI^(1X-{R5cC( zu9JNy>Q^FI{nAqKEJ>q|_yX?z!cbs55Io|Zh^5|kq>-Vq3{!nDl0+4%63cl31_+tn zc88HIS2|_+Vf1Kl5%IKlnDbxi1+SELVZ=0$%%=t zQea{nE&kC38bE;YfPG37`^ncdHh%)ZSvvIkh4)WQXcV1P>LHl%HeXC?_qH`^hGu+S z*t>VVx)4nWs=g2Dz&$LigR^`0FnLXNx}+svf=3W($(bJv4JSmz)EE#i)hPg5J}AsP zpH*6EaH33q3_J}Aqg^RZF2hc+Mm8*Ku8Rp%ZZDOL;D+kD(zMS9Onupxx3Sscr|B6B zgjBKPxX@P0nuMEQd%i+r@ICsb^jR$qsUUqA8xQt97ZHKM;CRBTa169j9clW%T9_AS z{1sk1-0ayBX`|a-c|JLmWY7@P=zdfg7f3fbATcxb#5YGP^AXdQeZxlKg=jxW`Du^R zy89h%FSlS|F$Ey4R0ale*eYEXS`H5nMefju@`ZdR52|vJxieITCJ-tr9qhyz`U^9zbt=SdP#&-`|>wVTZ??Vp8a?(e-4AJ->S46VEAhyo97-WMo&I#4o|44mU z4;DJqQz#tI|Izg3O8onX73dEfl>N%wz|IyN4@AEQV3=ho=iqXjsR; z{4!~DMNoR)n)dFlX#3y!<@TekyIOo(C-OAllRmjBi+2SW-l@P`(kn^w;4ZSOjnV1(H-5mR*U;gEbh+gT)nRcnYW|laXe7 zx3r|}VF%e~Q+TqfI(E5ULQm19D*{6E^C*8lfajVO|D9VIqTU{kVN{c8XV6`Pb6Yk$ znXWR3w582D=g%I|56U$r{l+(ai96{=;Eg0%)xf67UoWg+S9%z=nC{PAU(nP7?mY<) zd=EO49`1boWtY|f<}PvH>F*fc$`~Q^j}I5JK%f!4x}~M%-F%CWlL!E>^E}1{ zn`IIxUIadGm-V%tznVLn%SuYB#gen~WXde~>-&6&16(m?oj`($crN3XYq42<1`I2_ zeLyza2rOzjR5Z{CBgVIu%_=ExcyKb7g*=XS@SNBA@By7I_4d{a^nS}AJiPh19gBW@ zi3eg2rV17^^S(zFo)`EY=h6RY-|&%8qpA3_mdO!pek(J{#FX2cn++>A##b}y2C^>L zQvJW7htphKFgzx(HH4vkx$5hu0pW@>VJTIihW0ZTtKC_Eq`|;p?hK(#bE; z+)c7E>RyDeUF%NA+$Sr#EHGVdjpc;8mAU$avM zr-JtNKp@1n{u%=FOOLX zF~NVTd4W1iYUSd1@PLF#IU-=6^xr&Ca)O_+Js%F19`_eSJFOx%$-uJ()&)Os!ac0# zm%vLT<>*Ws!tOQ-{B^9`l1UU*Ra;Ld^zEe_!APb?IxRyq#zM6|n+{ki{QiC``>ViK zFh~8T+@Su$19;{deP5X2--mKk03s3k<&C=yNmXRosYTfLtOyCAf|M~7+f{@vmok-MqG%8tfxmHcJzC3Q=++ADBvcVA#LH@9r=J**{RRc>w z=F#7*_e>SNi<`ik=l?rO87Pq=2M7B8;x-`ONd0Pf&6*)4yIRHc>nt}}h-$v_1?3^vYX<$Ti|*Ni9Q z3t3Nh0yCodaB#CV({rM>KlW7v|4A@4v@U930EFB3|LX2BU9R+^Av^syHiM8Jcp){QIoqPx$n6;UR?u^qPR@oEC#~^xB>J1n`rp; zGHVUKy-LIE8v0*7{2^LqPNd}^(m2W$<6|TupD8v16EU-t7mG>(^LyR`8%~*|-*30C zq6YN5-K~e$_aI!ZZh_k6qF)|iAi_+LU@io(J9kgQgs-fw$6z;Otqx=G(Wbq0wcANU zFo4ML?>!9-4ILENN)MPArZJn;|Ah6^7X{=mhYb5)9IYKq!YHtBpVyC>2|@2mT2Z$Y z)?83fU{U9s-DG2;p{`g+4op{*Vgi4h#Cgt-((?P?s&M_2*!S3X$;pu(8>0nO>oP8; zqb?ZCns_qnTc~f;_TSHcR`@=|O1iqq8cu7Y__twWUZ7W!F)SYr@Y;711e~^<&3Sd^ zg{r2m`o|Su$lRP{1*K$y4sFxhrzeHZuRt#d^Z*$AWmHrK2^}gB2D5x2(jlvaa`l5D z`}EAg=KKKr5c^}ziuymP$Me^JL^wyVlj-v#R%-rg$z+5Cw072Mpw-Z+kL9Td10NMW zF#RE~rV#AZQLy-kX!dMx7xn(}-wgy+VBqB38mQA#yTkhYH!e}#yC61ps&7EAvbfM1 z>_!!SIhNiR#|G!5L7)G-aLF=-D7Es z-kHy=-5&!+Xs+Uv`=4HX=y$N(1E-k8%wAoHD3@Wnot^!> zdw4j;lP~+4m?~pIlzBHYJ znM8a!$-kT@!j*Y47E=e{{KdvjJV?$5fO0)Vh7&}vBYc=USd=q7Ug681hQ+?3q$d* z+X;Qu;!{(_(`djJ+W&;ZL>?eOY?U``erj_=LmvUJjSPf1fR@~RVGurhW`FwiNbsK~ zz$RvY@Zi$b%d2q)h}lYr$zm|LegBc1_sz2Jkac~1J?g&1Vaopug$iQJpLtPc?^A*; z5|QT!yhw_H5Y;h##6*WR;bdClVmCe^0a|3#6-ylfUE$p!V4EKDmQEtzL~M9_?0r7O;a6tULa%VA37NdgnzqLo;h_b{aB)AaVgB*$?WVDc7_g`Zo(hJAK zc^a@O-u3J533X1x{_Sx-NJ^VX>&1`yx~DO-xD0Uf{%F!mn!9K+gLlO>Q%9wbQih%@ zucw=?{u33G?>GzZ4hcZmQ;a@jMO=`m4C3_a8%?zWu9~NYu-$BO3+U{9q3bi}|L;Nb z(H$7;3DuGWSdGVd-S2>Y=QI^Fnv5L=(G6T8GGhoHuOigH|!{R$im^79K)NDXu zD1>F5l#+_dufJb@s&#J$!U_t*b>pSgtVoOi77H^*ntM-Tl!*^Vwi~%ICL1)iX0! zRS4Lf`ODKdHEobl`c)ei>BkED!1?)BQk9H1{N8L)^!7nJzoPF+TZOeVBIpxQh-U+u zK2#qa0a-yn0}B&VqbHial~uHYuBeOKZ+F+oeQ9rR`ayO{iNs=3t2ZskcxXD%s-Gch za7~)sj{?b=aPLKxCH6}nZR5Ot^QQK=hmIr-up^X|g29Z-uU9<<7q5I*-ZMMx_NK_J zjf2V70&^>?Ba*hz^gOx^u=RzQknrhDqPEUF0Z5MY)*U2oNaRpF!x&uXq*@8mN#Q?nwKQjG4ik=zl@0lT$;`3_@c5{8$gb_*t!#FUK+Vr%)elNw);lm z0jRO%?zfo~vz4_P@yG7sh{5#VK0g%%0@%n)E#AnaTIBL6hZG{DF zdV)r__R;{7UC{u8y(2R6-T-RR>+UBf`+>0#tY~T1uBt^Hy`PY`ZzU=D_?>^ZOyGef z&LUQW>1{8N@rMkQKs5_%1OiO4ACR=2&Tq6`+P;1rFf&umJ}LrLmG-~~g@D$36N50%%lTnFj+#6|9e*%6cX9kccJC1mgK<}0)NFWp`9?<~f>s6%?*f|~a_4)(!MzU`gWYR2EW7#(t8s9&G`Or<_3sN>FRSu>({Rpe|-PGLXLRi ziRLr>rLvO1!)HqfKL)jz zNL#DqkwI6u!$_z%voPcy+u@8&a86EpC2WyenErhLDRv8SdrcsMhthJMSctan~hp%byA`6-s;$%d?{sZdwL2TWtj3>ya?TtmEV3 z&UsV|p{LhP%BaT*dj%Fz^u=z1is(Qo_9R-&7EMK0R7(02VSt@f34<+;uo1QP^=HhE@${6U!<^`5Po3 zETNs0#Ys)=qUYzelIaJ*5gN`;POQwfDwRu_M4~RA=vLW{H#4yx5 zH5b$H^fcP)>RZzzq_q@ql=X^F)JopiJ6Z}UJX|9ny_5trqw%)56Gdh5W!=B$gDdY~ znsYP~Zi?gh6bt}Zf|fi?9E&WT6MiAh<07p208HBz@CII5I8d3)RHQ^Rvw+-n?~UCC zIbT_%X0_yGQ(})-XG?v2<*{3@IZKw^P2%R};=;YZX;WmDJ9$8Q()7ywxnhs>2XIGy z`1(~iOxN(D$A~!k)pJk?zBa9IWkn$R=p0S?aTF1*K!l}dmih-WG)Td+@`^oWCVWwf z>-dIB*D{}?@fX|vL^kH$3i{geW>0;uA)Ha5$G|wZC zjy|{Ll!um<7OjpPqk?>ccI5m+ekvxVaajE@t2zO2F_86vtGo|r3n+p#xa0T}y%*jn zF57C$|A^;OVq>p~?3#~W3gUY>hihT2P7J0&0$@^=W8XYc+Ivdp&Sqa;JG_1-$ct_M zoV_aRE*V+hN%UoUOsLWeG?^e}Dj5Y_;ek+Xp9BXiFdN^Wkp%M z07nKsmgH=s5;pc36Z&D+lV6-OQ%*Z}xN1z0++mYZ2(_ z8k1jpJEQw*f|&1)?a|53#z)#~@9QgF3v@m8?fb#U0fMf^p>1Zs60_N> zGI`~<;csG+NE#c|w2e8Xn_6@ApuElQAw~Wk(Gy?0E-$sghVPxM$dd>tlL#q4X7uYS z#?-`qg?(%=Zo)yJnJ{dObSh_d!b7m4DJdxlojE}-(rM5Kbw1+h=lL5r>J%QzouZWx zU^KWo+pbyo|28>d#$Vmp{mtgs3~x+(q$gL>Br-FBzU)xLGrl3%bU&Lvr_0A5)Ga`- z!lOxvP+OpvO2(?{4r0cyA}$yx>u~#H8$N(eO|~1>_=;=z9zc%S`H?&zpmV?RYTm!F z&^5`^k*^j#8ZA6I&ve49_fHIXng&6FG zAQ``65wtiWIy9nuIRBOP#`Y#;(?$o^_S&`cQu5l$`2GdH2=@2gou|I5KjYLi^D>J~ zcxkSx6%a3Vk>^E*e0&SuB8p!8lvf&a58n=S3=i}1sB*hT3Eue*`Waw^DqkH{7&16LgtZGmd&a)Mq7*Y zOpuP@z66Dp1;cw-Eqy@lWSV{A^7XOCh`1?C@~Yv)1?9yGABBing08xE z(#~H~8hs6_!zWFqFl4v^KT0ohke3I`lDUS3yn@%OX-m$hbbS1iR0OV@l-payMz=*w zzmevbbdfq!rz?!FZC4^+jT_`POS|uL(ZJ?t%92O+J@-Ol(_G>sBb)1K!y6T9d)I1u!3=wGkmv0Prg~|UC-Ae9F*Ixg zEpZlfnMXb)s<)=bUaHBROfBE?%j;FTAADCNq-#_|iFQ9NVd=N}#J+l!!)S4huBE-g zh7m`EjD37oH%-1ix~{jt7yb*avhl2E{X@AXdH3-6eqlI+5w0vT=BdmuZy?C$yV-o6}TO!H-4H*ev) zcURip8Q8M1k2E+nM0d zdBv-pyIS&|6%hak@!0`MDzZXKRquKe)^p@XygD;N4z|g>>WT9diN^GIbu%!fjlI^c_!?`d* z$vV;=O?G3H{Dy#Qt*`yvfcDGZ>PMPA9!utNe1igl^${A*i(6H<)CdSHNYu^1T^jM6%E~fcG36vCsx<9> z`?4dE-BM2b>C>-~W{R=0-J^+TNzT6$`Uk~nv(038ELNJPezswvWf* z6^in_KF3cMV4+|oi|kA!D(*J%wj=*~f5oIkmUU%yL=3EWGq|WShLZ}%9}*OBXP-2`;S}ba9%*(OzxGA#&HFWb4UAyxV*mc_Ym;>{x{=0|A0X zX*u@m7S~`C%9J@5mRQJ7YT@a51r{<3VWy z0+?ReK5|4zD7b6T(=B!oxwxh9}_ByYu6c7HF*KsJ@DVF$=m6_sxT1I zZNv`9jvgw1@LYSJ6wFjj10kQ222@>AQ(q(D?xgivIrLX39SO4ZQ%+Ijs0obz=I8IQ zg2X(ZGL|glrivjjPQu`3Bl0~YhT=7zo4+px=BX5pK!Ej5-dJ;Sv1VzN%re!vqB}G`)UUTUn-UOh zE9B!F5M;e>4IaYD?tXJUZ^7LFomWM7hHEa;Rg^3=(Q?$;`Nz61$G*(w|%PGS5egH(Cn|$?#sheVOhap+9FkHYDvd{dh z3pHPz08K@MBfar13!qvTBNT~;oowfdH=kJ~Su^iu{Ji9x%K-sQ1ous3{8U>wPb%a*-JN=`cGD?TlZ>(Sosz;*i zEvk~x393v6Yo%jy1d*iymW-Yf_ewv7Ec5X2a9GIzfoHnVj!w?#hip5on2O~x3)zy! z(GNtsyZi!pj-JLHo^~IS9Snc$a^H`-FcUN^usW8`kk%q~{vrB^)kL0w&-h1iaj_)! zFjo=U@%Hxg%aL)I>(ksvhGO4aBbZ?1-^yKNOKLwr^GXzdM|#UI+YRz+IK7I}qV$Vn z+v@fj(1b7@3B?-lpN>kpv`!9kF+r~hsT#D!@r90^im2G_ z`Yvy51E=SJPVD7?>b1B&75+=#gSep27Tk4RM+|mRU7ZQno+7&Cf>2q0K%)|mf!*3M z5lkSax%x>s)oHW+bj9@))7|Fe7W>odoIm%6EM42}tpx?gZ+Md8P2}?UrrkDg1KXeL z`xZT)Eqh(s_p<Qr`B=wj*Z@9XMujDk$bq9tIY85Ov<&O%s9KdK=oIz&QdLDO z^6(X!Oirr1PIq@VDXFTBPb4X*G4fx>xZ*D|?W4c;GI&t=1NW_cYgk5$c2!ATsi1yI zBbDIOL~S>Fv6nU_CpkY2ub%Izlr&~Wzy4i%VQn^SqsM?|GIGBR*78ggs$x7?r)-i- z4ICTqq2Ru=md1x1tUC}BB+5!#?aH_~Ws7{iqD1>lF=__>5Tz&X(fXx9A!vM)?qb#} zNzoU|Z2QeY^NK4z$QVet#_w37U&q{E0n_Ug?#S^t~) z#mPAxr(GAqN$%6Lm%o4Ly{Y#a8nNEIoq`E)3MQw=Qa80{XWX#`1OqgV#h<~6yq6;c z*?2V#*iz;@>IUhwRg@9}<2u z2J;PggU9llc7IxzygBg+2y!TRJb#FGAAMe2G_^{h>j_<~<%<#w)*2%L$wj}B0XH-V z8|{64)KHq16H@2($VNE}?N*~AILeo6a@!h2#f>Cx`I(WCzlVSS#u5|L3lnKkVu#K` zW7MX*`!NFnA2F@Tb88?uR)BN;q{A8y{u!5BvgYiYKk4r;p21t>glFR<=Dvy`yLg^Q zX{;*K$@VT?n|A4)betIajSRzNnFyTyB{6=?!I644@D|}|07w&xVPn3yX;e+mXhB;x z80)BcV|hkFCH|6v6J#66iyWxf{}5%)PKmltbyX1gl4k=<&lb5ZZJ{$E41vEcc?`N& zu&yBmdjEh;POVNe7NS9*+Ii=`1_%Nh(ce)hi7|XEds;+5yOZ&fS7LJH+nU9>q7TT- zD!^QW`B*5GhO;1n>q7AbbP5BZFM+YVzz?+d_T(#eOYEhGIU!+WmzE0GB5?g$@8lxC z2Lhiv=PjMXdzU@sD{h76Xa+X%dnBNY1}r4D=Ai#Z?AJ+9XwF+5iA+K zfvC%NtV`F_X88nngALop@S$5r^t%Xi%E&(|$K+KCPbNlZ1HGX5k6+#+M2|pp-r;9z z;|BO2{~)esk+CTf5pk&_*i{#03vBsX9i|Poc+2pW6LD=&NONWJerFw$nUfoO1nOmL zodG{TMi70|xkB{6+}rff4xmj6_{f5|bE7o)OG%_5{t5Z{x5K8Nzn;n!4ULBGKJs@Q z{kHw|owY-U8p^On#of#-DH#{^xqZ5*A>cXDUaaF1Jrz)fl$Kc&7O1x(v~hiI9!>uW z6V87=P7yZuE%$oNFsmRpRQlO!{Yf1@>Ya`a@$WBMbd*Ky+^v_GZy;*CZ^#UBMc-}T zuH97CpX6kq961^N3;2}<{bqd4i8}h($J36B^9x8qQ}n1_l}sMLv+)1H*Pv-S z|4V}54{yG_{A*^{@!z^MbgE!(69&-Izvgd>L{Pn zAD<8eHVDsFhT@x*dgae|36rz)vJ-wYqXSzn68{-W!^I<439!~=Td?y=iOI-dd~ns$ z0$Eo;i}?D1ht~!X$7Yj#Z6NhWA$kEOw6fY?etJF@)dq$S`P_DEdTmW9Sc#ZGPWvuw zA%*2k8RfU6+8>O_M|WNNzCRDvDzWTfp&05`D#9*Q}E^Jz9nC)qvCk=$I8eSAD$ zY05b3(IcNM)aQ+(bGcMRJa^0#;5Xr&#L1^;NA5~y;L!f!;FrUN6IiaOQinoLnw&{k z;d2UzZBJ#C9k#)cFAg+I`XB1>2J71!;*qjOh;++*yX#UvEW21;J^Iif1`{D4M*OrMaYAo|$R_y0b<+>-1)bXZcP8hzj6XP{G zURmd~AzroVw__YW8&}5fsSk0&aPgk3#w8^&Js~Im(=plV%hX>SQ0qz? zNMR%zREDlmt5A19)WTd*IyRNHvtMgTml?G&cC^@FlhnES6Ax^@<*z2EV!S1kQC?U` zwMqSQVS8F$-9wX(NJ5}(T~Rrq!RGLYgAg|c&iFku(nIZuhuV8?-06;?z^TZiJQR}B zmH0*bV6BpA&*|83IQPTY;3J_Y{lLerva({9kO*06l3?HtwB{(6?TJ6gxgKJxWW-X8 zko0NjV*|dSdXBq2eri2ih>CuT`6>S=TF*zhrM+Ksevh#RavH4^pRe6Vc`Bejnn~Ql zOGx0}A8fREq%AKG)_uOm<4s4aovYTSM0=tBqtkc0-kGiQk22>%tMB>UQ_@YWA?j9gG1Pku&?v1-cf(3VX*QsyKy!T^% zvsQI+Zr!SL_u1kaf+^zi3(@%YgzTkQm4_IF5T5JZ4{s#xkM2*{vs;{wV{UcSRj5P! zi7xnW)q46U7ix`Tzq2(q6dv%SfxR%1_C2tA`%@z8e)E@FGc36b@sx<*T+%@qVQx(r zUO_?de1N2&+G?I&v&|Jl$DyBHv)#P#o+@3ijS%|Q5z`~bauRBzM2@W=E_wOql%1|Y z+x<@Fqxhc1)X3c{;7sa$f1i=uOOyN=ZATO!4q#+{!DQ+1hQ}Z)#io8*A?9%;=j6HT zieMoR0LI(BNld7Qy*m-r+NP;PLBXg+y@H*OQr=JsaxZTRXy{TvaUAIlFChskCr3_B z4PINq0%(eQ(DoI_0Ith#fK(h8@SNR8{f(khLYc_G`-GR&AqM#t`>Y4`h4J3y02|g- zvsa%D#i87f>brHNa6}o&rf~BOAhgeAc@va)`MptMhzX#d869=Cdq|vzDe1tV?keHD zECV`kzRz0xH~`0#ps(0POO|s_n!1}8{qdP<7As0F@-2Gm&A1PV(8J+^boK+BjfFS{D(R&7h&z#@kPiVBh~Ks_bJ9)L~0oA0V0Ux!kFf zuoBVMR+6^W;wXy@FolE1cKKk*5MZ8(cc4UOo&u<@!Nb=F zvv&PfLa<-ghvL|$txuU{ZW&9*#yIc$23bP?*{wy+4zkyT5oQC8Jh_iE-Llu((S3uW zRg*x8b-I#|sr)ZfcZrQA=L#cBQ!Pg=zxY+VjcgX(Hl zOpU74sFz#xDgTIjcb751Om$Xj??)?7`>#>QXKH0_?Wex~jP1hMlrbr|P^S%WJj%Yc z%cqN{l&ACZ*A>c$`9q)6(()GJ{28o|C~gMdu7vfG=Jnbn(H5xNpYF2yS)hX(B}HpE zE11^}1g}?&BKTygmP0 zt6ppScI`%hx6}Q0S7Nn3<5DO7vKjv89EJW_?}CU0%q~o9;ITD_XFtwW)?Y6J;c|F; zo#lOZNyMwa$bg1a(i2s&%Nb$t_R4VI&yv-kV`ir|U)|#Rk z%BeMB$|SqLEXy}2YEO`Fem5HFYkpTqb73rghiiU2e_zgrsJ*f=k#;Zi+r4tU#eDruvKKJ^9!nS2paerAfmrN!Q z-Q#m-gGsV)#-x;$1?^s^Md#uoJO8%^WtbzSv>C#B8Ua@Z566!ae5{>GzirO$V7@ni zH5LUPkeciXhb1bJqb8mWg6fxE-vWt<(W!k~{^Co&(-y(=F1R+M)%o)LaUC~H^oMaf zy&f3LdIqYWC6>SohKpC4Rq&XRsEh}<;FaFt-o>P{t+7Yld1!JnpiRiB;rEG%{^eP_ z6REGuWLY$$pG0m4BNxdIWKEN@}LaYq>jilSL=r3cGuR;)@-&Q7J10XJ(3IQAY#6H z?3t^U>#R%R1PL3K2tTiS>En^0s-Pl9k$3J|Lge)3w0tz2V^fGS@Um)}e>snh$OZ!u zvnV>cHOhc`|M>3BH}ovAGYz-2B{9n?K#JlY{iT0vEVr!=3b@_wefVE9J3I=ata^GZ ziZF2i4W?Dpt0_d5&xT2MD=;w&<%iO|-Bhbd(jCP{9Df?-c*Xut+ID2@ibAv)y}rqU&5T?j4X|HI|ICU+#Rv#VC(w_|{N$4!d-$M>g@=5YPEl_T+%b zUy8y*pnh?DAWF`@fWN2?mTG6osivxpoF{y%@!#C0>6d=0R;Rr~hw~i=L+`~1VPgGT zm!|OGncM5xGcmARmL{hqklDdY$vVmK`}C@|7XSF${;bbHw0xJ+e_gXovPm1Qh`!by zL;F67I?BuOF=z8mQ1V7Xr&{?Jq>aTrjOIBd3_`u(VeQG8^)HVmCIw+9<|c0wli{z2 zEdSt;7}v*nVvrr`9XFE3FPf{o^H2NZ2ev$)X6D&Y{(7o1`FpvGu ze460fIN0r#cjbR`cu^%}#p9#TgmBDv6c!@O%F6JM>X3_EhvUn%RMGb#A&*dELpHz6bg~e~F7L zZ2CP;S$baK_FNc+9uFJ5(g$C*M@LEx|CS;&C!WCTl=(6ruei-oH3z*TE#In(vR~ZGdOfz# zF{#n}=~@{2YpJ$Ya-rktV>FCr2ou_t{ap_qBBDR^)UmbH9>0$!ToW2@47(6WC}hMN z-M|HAVoi$lV1Ka4eP4_R2Re9*L{aR>s>2;mRrmL)pGm08lN!x?1;m0Z9oMk;XB4X+ zQ2Z<(o1CVS4|qB~7@yDVZ2MW%XQUL%PYeQPi z;@q%f^)~~{D9t8YHt&-%3jgEsNR_bKN=Y-HDA!|NB8Y5be*QarBbu_EA3v1y7nSsD z6U*W<2TsBI9b(=u@!N1nBh@lOtpRp&$@1?>J~HX4<<{{8CcgS>3z>D#k+1|~`r30{ zPS2+;7i6*Z8V_3Lyl<)~H16&>U}cuFgA}$1RoJXF|K+q{7zB0~84MuU985K?mGNgd zI3(`y{UZ%yikJ2r`M3#m%Q?l@B}%Vd0Vufn`s-2ySO>Mv!)o`@AyL2n#|wbamLxrs ze8qN&lVl@wA&}Lrl9TZRJ8eS*6k2b!a(f~rPF{k%bnwBc*2$GY`&LPphM*#y$+jfd z3y7I#6~3PN7|JR<+y2Djeeq%>qvw>ht2A4)vzvrjIk?7vny0J;9~x;G0>KJ?6kmCE^9DZ*&zvG2Z1v?W`qW`sE6Y zS&w?ib|La8<_{4{on1v0L7mq-6)NB_wb1(h<51fUHK>crD)eP&pWyRPd}LxYbL;iu z*_|)^Etj=U8gg0OOcZ7k-;s-IYdx2BtJGgKT`K03-uUV0;Goz2R)&xJ41uLxmCPki zySr&DL3jj;PI#G`XWmC@pN8X~r`WISti8@d`4Dpj52($4A_lQ;Lb%1uq z<9GW*1#4a8tY&A!L!5E(@kBHVSCWv+WJffvLo)w7%bLn#aZnFASy%+KcA>#RzAV&R z2vxT8^!Fs!4SIO++5i2^n1S%^LCCWnyUi$HAs;ZN3?GQjumuJC2{ckEAK_A5C;^}Q z0YCDZ5M+7(R55K%CXlRX2_b^1?NT3$-WS1bdw_w=eG_6!rYrwDHfp>Ll`ObsODk2z zzJjc()z{M=U@aEO4Srl+qcltZQYkXu1}DWa;5iv7p_Bmu5fL32)fF5PTZmIP1Q_h4 z=Erv`kbr-#z(pB5-Tk<1Y+hI~5~_D`@Mz)8^PiDnB3F!_sD#-+{g9W8NsA=_0Pa`< zbENSKupJ#f%>>?@+WD4@MZu_v>X!_Ctw)zmX(&;iX;Dt?Me-N7NBVOHug@i{XMr-g z^lRoKko*hkU~*E@ZWtHc%@7Dbt%9QlP~oqBNiC9@sHmuYB7zYAu-&aTzT(R)9y|8W zdY@hPn&S-dB_X-)OuGS#$2fd85SawCoxClOIfRPo%l3A*1B*??H*$XDLEjV+P9Q?$ zX9#)dO|S^TDeS`RR%MFb<1e+xixNM#0kjg!pXXk+5DzZqu|ieLO7_to>Tq|KB4f|xRQX) z?#$kdFhy>+NDrrr4aEEpt7Gn?r$;-M@->=P;2^x|*zd@QBkO?HM-4)3)jWF-FsZJB z+!SwW82uSVfoBTb6-B~ntfj?Qz61@b;FE~I4&)YvTw*Z7-&b0H2R zyveP;>Wlo3;R;+~lea(wS*vIn(0mL49}Xm<42t@6xZ;gW&kw8Ff}1!og67~fn+*_` z-M7MH{XAoC=8CBIlH;ag)<94g zlbs!vPLdepTKm;fi|D-vKy)NnPnsq8p_bT_w#T?5NFh&|^xxXk*hG)w2XL5`8cvYj z>3gb0e={rvXD`tY-6VWW*`|f%CzW z@=_*Oj)-29vLrrWz-g#*gJ`1S9mt%eSrcj=C~)urb`at#G#alDd^kUofEV91_V#%u zj{Ct*hssTZndx^C#LC9xEFSWv;S3T;MU3P>RT?pc-CK;3^CDKYpR>fUzT|&|E7iVi zu%#T8R~DMfccs~pcLyY_6yLFOk8f%EPovlvfYNd=Jnlsm?ro#;?6o%TIJqupbsS=% z6B5+Q`$`xGKM5Wt{G`kg{^PlIXT+Bnu@J%LDz| z=qPfXy+)HSpa3#d8f{Rc2Px16Pf2aV7$rsvvE(K^cIhr2$WtgSe~ z0*MJl&XAn37EC=h5Li#5_`NO4w$XJf$Zr6Vpi^ z+*0vnqTlI`hDPJ&zIDlF;fNox?ZDP<_U8R^3$gyZm9TqpPn2b@haiV45!%D09MWe1 zdyq7>+B=r5P^M&WmW|0GxJ%KL+1;UU4fztK_s$qqeMTUj;AU59!?2^d3P9EI{q^>8 zmCZcTjM|vdnMNBQUz*;qH3<$aE3paK8nmj}%scS>hCp~axSxrZmQHF> z&`{nIPo+j8` z4k-T_cRb9m{}dbNM}2o2EhMk+oc57u*wk(E-IVZGN(^ogY+O{g%vW*ovNBlB4_I1S z8T`69p58SJ#S*tTj*TuV;5FnTCGg_qQ6G*vVQ0sg1gH1+QK=avcEp~&GpW_0qN4Tr zBDE6iPG%i-+hdHBid!AgmRQWecP-g!j`26SCd!ViGDsv^6- z%O0=o-G|jQCOvj1RvA24{hqLm!J)GhgL^BEof!EQ3f;#$-msM|=lp#-iP?eotKdu6 z>EZcCUA3Ejiq(g$L9@->uQP{!-v~z5KZ!4D+Rx>#L*B>xC#qNEjN9%`sMxjQOb9&d zF($l@u62#a@C$TQd;|_GPq*Sd(kh)!lJns()CU44vM`lAA6!_txEiFsADT3F*h- zE)d5-d7S`x|8a%N1(SzVEI^V4_%g{D93yT~`vPb|VlJ#BP~>;gz8_uK_ZiEf0jY`^ z1nKO}=Yd+#wWhcFbFqk%axD%i&JVL3MMypYwqA}D$7_Bw7E|xu>S64t?XbweD+;l=c!j)N+Z;njjZ!MULM5+}P z{oBd6J%n=q==GmAZZ9W$6Mws_{9ZWKG`Hot($ab4KSnuYrpRCFv8JFUt zNFPq+bAq+)`pEUBDu)y0X75?N);%&k$56z+AdF)#>yHj9>RafvgEz16_0WIXr;bB) zI`F==7UT?{L+D!BHr>o_xgZQ)it&v+4Ak;j`TG}1`0=97e$6f`l=;uUQ_+E5j>&eo zwbu!K!})(^=z%3S?48hE;sPokKw>r(@NZ^d@WTO9)2CQPJE#X~Q+p!*B0W8Q2%i&5 z@CVw5X<{_j8D;Q13}BhS0pLCz0Y{R&ay&#py6-IGIpEBIJ&}c3RXv_!wU+i?=hBTf zx;wVfiBYWx7WmFtz0ItaqA!>XmPjtti)q$8TD#JKmDqf*sI0>}Vt!&a^*hjic(}hGs9IFEQ9^eoPQ!dJE>+*Fadla1a4^FshJS)^-nX_k@ZvW%le5nZ z+kcO#-YSKW+`H6(8Vuw5@F-z_sMh-lNyd)7b_|mSy)OoFT=03Qt$J%5=e#?OB|suV zHv1izd~9Gmuh>FQXz2X#^t7Li_Qbxt9=6fu9}?%D&=NJ78JCVnzop8->~)8D=!kN@ z3Kj0k_+~}9H9_l)JD$*QAfiRXiqy(K&_VE`gi^vIHx@nwBJlpt%UYl#! zr}FsgmQJt!Ybz?bpAn`n@~()eDE_tq!q-X9>WJ*T zJPHWJJmbz+p|i!sq^Pgl>~pyeABpMsFV|0B94^}lJu3H<;&T7$I`FiHXSPAuT{;1v zfV643L&Unps~@jyJx*%Pg||vyCMZ?k#f6c3rxO<8VUg9vl6hC0IkGq7#a`;&a&tbJCS%w~9l^gsUX+|-W6X9xIw2qlj!mZBz(V;FsBn1DrpjT=N zkM96{E-hfW^yi(HKN$Y-FjZZD+p zJmsaEYwJB}NI)BE_p4U0vLq?3aJ}2uo z!fTuC4mBCuC(TgCs8Spe0uozUX{gi&=+dt`E;tF){sUQNH{if7{}} z8Tt=cPSlMeVJ}bThlO)a!XxuOg~=7o@L9TFzA=K0Bn%As?c_YnsExL|JgvO(<(;Z6 zHP*&u#efu5` zwtiOI#^ySx_PhEG1H0qV5lNsF`6>})DAcw1X`8N+HRTsASk`sI@%S|Z*n|$CtsA2Q z{ZeZ{EgKGZ5cx=Yy#M)$ZEo>rL1tSG?hZ0~ruXv&k2n*XT=H08mG=X`I{6U)q99|f zv4gr!I;#GC&y(R7VixD)6)$Wadj2AuhWyUCPs&vV*-#A#zO=HqI9;Xe{P@)(Ji^zq`JkqO7p}(_cJwr#Nn0&~QE|48>krJe!eA?s1u~!18JFOeAhu6o_;N zxBZLH--}3kemN9g0|B9g?_(^CbEPhUxFdg&x`&bdk{ffP7unC(#uxEc@Cy7 zRV1h*))B#Uube>7LG{SorQ%0!nUc3RN4XAtMYhz{s^3jnk%MI(XMyt3Y>WV-Zg1An z5#?20-09u&6}D~7XBPy3sM1@}WD9RmM|(0~4gE-0xzVb%ax_|4lA(Y9tX{owiQ4Zq zGdG6-!~~*3t=Hr@B->ZdM1<9kQ^$aEO7AYm%tS%p7 z@~j0j{jHKoN8}_rFXkJ$4tm_Jcs8}LAF211zFlw>34X|*hF;}c92DFeiTsHY&2Ot7 zgP!hdPt4dys8f#^{~9~cy>1V=UZg4jK_jLSqrb3~(bp<6xpyc)aRYzFBWFefI7D5h zCT$Qy=G%)Oc^{0$%+I6rbou+|J=-4wXF4%>OfObnHQ@D*=)iiCW~sYw^SWTbw4oeN zMU`>*ilrS@NvJ_s9#2p=YPlycdgJ6`>!$hF+L7jl4C6ywz}110KHU5!O6bg=c3`71 zTJuaj?tseSm zGRtp+_4&M$0+k2`hi{4C&1{iUCtlTqG%GCU(nCs-+m@ogZZu~y6pQ{{2gYg4+??$~(;KcWHm7>|L1y?# zhn)TQ$8fy53&wKvCTv@>7h)HRP=_Iap4Q*4kcQu#+*yx@|M}B-`ZTMpvXQ|HcV$*_GAfKqsGT#=K<_8%3 z*ou>ORMm+EpnDZ!nBf%w$?Ns@oFw%&ZXdf*Rvq-_dRtZinQ-3WAD$etiZ9fR}-LWzDWu)BGmf^C`ooj z^Tc#-N^scg`iBKR=F1>xzSn>E(7gK^M~#OcgxfLviTM3nB8xs|)0%Ja??b6OPQqg# zw;C3hSooVIb|yAnBgpCxT5ic2n&T}Uw+Q*6IPA*9wZA@oScbS|YSP4_u|e3*FGrKb z0HS}oAW2%kgQHX3hW^_;ll^Sek-e7L5+_P_M;_Aal`zEs8D)V@L2%xvuq)q8b5L28 z-d0Y|?l(h>!Vg#<;rx?f=e{$oMIr>OuKMmD@ub0Eb!dDuk#wYra&8eR^xgM+i|Jg) zZcB~`Ois-$fh`QSWNtMl2by?T@Uj5f&R#o36|2n>d^%zi3bBE2uSj&$DB*7!sN=qY=DwC>@_QcD z|1uN9GQ-pBj_v;COh0tj)Qm~Za!ckN$%}Dc9C?`*z_l_4D^WE5ls-Z)HaX|QIsXq; z)>HmYr1C!dVM0(4PG$HfZFQ?iq0lPQTRV=P`vu7R^@?YGejhfQ_92BMA}9Ylc66UU zs@(}gFfhSG1;}gbfCw$hynaU8!2u?kc@2$(hZ*PP`Mdp;sO0pS-y4;NtCW2-Ujr+I z%oNYcUDMe3gMa|s)0!O$(T50v$w0rC-7Nc7J>%xssg6|rq3Lxo-EIlbxEW>be<1=~ zLZOW0_?}a7Xf;Rtzo{zNbOmz_k%p=BX@UC zFvnN&p%0^@N9%wE1#UtzkI_*K4zw0Nk9FYr?`Hu4r0SzQyfs0K6(lW&tQ4RVi(LC! zWppluaq|{`@hhy8^m*rWv2JfBf(3fd;yx}F_@37{m-KaO?JeA^Uz-S~#z)rz{&jae z;$qZ^Yb=FB@DGoIyM@dmkiEz_a+#gypl(ILdXH<#mlz7vXozHnxvXBcjf`J&ZQ3(vTmR&$v= z*OZJ9uLxLR5Lv_Ug(}ue1gSMYz*!l*JQg(bO{lS9Da}Q2>oYJ`1z+JcC~GbLWa5Yd zG}g42{u(3+SHPI+Kx$xod-&lu;NN+=Jj`lh`F^(_?YCM2%VpU148dEAlS}ngh4K0G zRj61Q-iX7%Z944Rbz<522qR0FO+9HEeLxTrrmywiQgypLI?IsUmefm4kY5^`LWAQS zU}&`Lu%%3nz2A)wDpjt)%wu8bh@A$jan3*e1;-e5p2;*DoPKP6OpS1O|GU7b%A<6u zWfmpepjg#}^L`HMCHiaVI(HR9Uo}Y#W?UY(=c{$p&kq91C=OBJJp>*Ub>il}P z&0cGfW9rW`Q)Gaq#w!g?FzUF-;o6z?yG!Ik$+w#XemK!>*%o1|g%TOeUh~xE&KZVqUF4r{cmCTw%-IfD zcF0qdO`@NRI|R!k5uSntT$F(BG^n#^BPX;G?gX~UafdXWO&J8t>OZisND(5`zT(hI zzYJdb+^0ZwEQr<`8!>c-tH_a{WC%;8nyH9Hr`j!GG}x!sS+Jc$4QEnLm7TKp^fwbJ zBqBDTyYDhdX8v*4`SvaSvhbQKKKhTR=+)%`p|IXkkilOGC&N2|0{hFaWEf*d!OqXM z6D&gkS{!sg-HV4eZ|0SLR@uL2-HZW_#i9ajj}AKnSDQR8C>RsV?eNSxLa0}i6b~^m zLqX5p0D~VA;;k@1TLCk@x*GN{70o_+9`W{Lq8T>NZAh1R`#vLmGKp*b74OBoPuZA` zLcU8In7q4>#uv0uPA$!a>9>CqDfs2|VMqlF5N%5TRNLp_tnbZ>IsK23NFepoY-`?u zT%LJi@ap45!50(D4->?M1Q2om)EfZ-ublVE{FVJSURFn`IXO_G!$W~;zoyaY1*8JM z1&CY97LqLlfoHXu94C}*RjYJ<$>2B7rUsnBScaGAArIk=@@)c z*LAbW*CFTxn~oh3eFWS-7OG!3F#@-T2E<%k=#CeSIU%bMH!aKqQZ2yhvLVN}%|SfJ z&Ecl&^Ct#U%y`eW~BSQv36B8~CpVns%cN3{(et|pY*zAWfYIk)-j-v~X3{z4S4QPKaw*cV$<s6DQJbDos*GK>T>qGE{kgqu4-JD=C+uZ! z7jC#1yS&P-n>i-v{2u4*N9*^-Gv2V-bNqGwmm@>dVccn1k$<0NmCmy9$nMUB%kG8> z(vsRf|G3P&%q}R-pr^PJ(eVk#g z6Q5V(``4q;m`(X0M*Hv$BQ`=srZ|SzIy0;FhWWeRfEN?qY?TaxndI|I-JADEP8)ryuevceFDXyWp4(Za@w40U1h@12r@f3*6k&^JSUZ$_m~o!})hO@<(2|mx z+2xSz)n+cV0-v#~BxB_6#(RUipxKypOa=HhM7Xs~KE_hLijMVhu8-UP6@^Yn3 z`>1lrwb0APCIUO5>bHOBe~1hgZG@v@c4ei7Gj5|g%whSIb7j~pmc}E)WjY}$u58IR zF43#bqLO(1Kp^;$QGal*m5~(ZZso&iV&b^ohB2SKh&TYxp<_V9xB^gg`W0T#%}G05 z0w`D#)xHy#JI`w<%hC|ghv_7QE4;M`S5C~V$6!q4Gmzf6%sc+s4XFG5d@TrTW=~1S zWdAjS5P&J$0gr0`WKOLlV_1_NbfZU|uU*rZ3tBbh`cqOv_!tu(k4Dc&{)VmoVX@YC zv!U5bgnBxr7knU({KdJr zF!Iz)MPeeNz)@7v;9NhuB`<_rfHBENhFk&4G3?78|NY;*pimToZ14-`5B3GW>O!_p zh(Qgfdc>&I&9To2W!j@jl6|8k`8lFGAk#z9pVY8+>cY390#mb3(82vGbd9X{D zJj4-ogx@=k(=%jl*P6&OXoQoFr_z>U-dac57L@fOC?0-=G88X>5^MVRqkC~3kB32 zO+zp7tanF`%abNSsUP@7pvG+KAtaygf8E-H7tori~-|v#?mtpqRi>TGaU-<0wXe zroRgFPzfvdapot@LjqvfVrU_Ho*RtOZ`0hK7e0m^UraFB13uxZu&-W zA+?M5`EmSdo{^1=nQ`|=eO382VVAB2A{58+xR!r`x~4$30}C=>c}$~_wDVKMB=LcG z&vYO_?<+lhTySBg@Gzi4)8&pvN2D90A8_Ba)ptA4t*>gMKooaU6_|vd^08Q)W&$47 z9gemC`Vw-B%*s-eHGKrwL%OmCo79$Ls3t;oA*P^Tdw zp9whCKn#Rj7i%KTu+_)3mbqN*EJ06gA-I;7kp2O!l6LPjmX_p5F*rbK4NEjJlJb4* zgjd#y0|P`#+Q+5XZ`ipWsV;HUruQqo2{m8E`ECC3rP?X!Wn#m(k475=yt!?c7O^Y zhSe~f5AH@xjc86an)I6yADd+Uzj`GGWGg1-Y^x~M__=v{BIPs`kkR69m*DLjE#Un0 z*?meF=(?sg#PnazJjP+bKLYH_=omY2_rBrdT`KxA=Q$8YqQO52(>=zox$}Gf@lmU1 zivHQhM?~SmGeotd1{nAbtkVk&#`<5)(}axhg)y)qf*L`*GCWUY;;;$e&=|EaX3$l} zOn$gMnmT&Kl1vT-{+~f@?L^X2#n=4O30r<|wWUP!HqVG3OEHFO#lBAFhmS@pej811 zL|#$k6@KQWr#70;HP0%T4T$Pvbv>w_V9UBM>nmlB`b#9S85vo#9TYkdH34r=JFO|| z`)dq7@H>d`ZT_PZ#-QO+Tbmc)%Oc{55Xs0_G8KslCz`>gQFXe2dpkgix6<%=iv#dg zk_2mbs`4g#ure&MhN#rI7J$_oHVQ=qW77mCKCvC2a=?(LLU+S4VEV{hmC7 zi*S?nH=T}DFqNrUDp~l00B!u`^jlM@U7*0Ei9bw_&+Bu6yZdbr#@TdvLt^jm3c#7g z2*~6HIcp9KA-4gF=_OLYholW;{es!QPqtw$|E}K6*)X|y^-cMhff?sUl7hY}zJo_@ z#^*Q+;hX;S3V%k8v29FV`NhwmC{LqgL@j}j zW@gf#=NCnK^`5Dwf{a1en0cQgn_%^nykzc%WSKM3;EX${vmynrq?3Ln#YrYjdx^ge z3X#QG|7BKmp$JIAU&WPHV4a%>)N@vwa~Dy7A2wIM`?)AO*U8BO?D{?{-^zqk;cb=L#$H~JU>@3>KQ3tC@waOJo!#LN!(!WCl?&h ztU)60$yUl&3AaZ&l);&U3e=Mj4kf$_@7L|Pv;KQoSSY*GBB;8!=Jyh;V&(< z_WkNwI4t=z36}3d2ml@%cnjOY2ygk{l)b&wQ;}sU!=dr8sXdVu-B@kma=XUf8VovK zXf!JwduHW17dR4b#=@8J3v5k;Ds!X5ga{~Gy8Nlc|LpO{S%KKtJ%p?k?01ncU8pcE zJ_tr6(W%U7X~mcv?by{|5eVMQtA_mse`sA@a>%)IO-r&f&o14;DT^=tVW^DKC^!7n!y*@F0kYN#@AZz)gE3+;6T`?}o3hML2(D;1&7WBpUgJ!x9?DrydaMKc|!Tzj_E6Mz& z>l(2i1Havj!Ox+2B;cy|{qZ#-%Eyj8zIN@BRxx?FR$g8dl?YSa5ilMZ$TFW;roo&j zFLYa!T_4AweR7W4UUbf`*Mpi4o(jjW*XlrHFs!66%US7qL+5wlD%~0%W&0A(J1B*c z&Kg7J2DvJSLTQAsYVeU20L{5SmbWd;yPTg#5vDqQ-?5Nb`_By3_y5fthR;D2`Iw3h8uSpRg*iM*lPUsz zGqkw-sjFJvAgOpwYw_5s`r&l@yb-m>a2wIWKDX1&muBVUDx&BVsj4}q>tOcp>IV~< z=y&IoB2vxXSLF|OMsQs`6PYN?jAi)aT^nNKjJygOp-AX$^Huh}U;5AINLEfX+;>S= zX#b^gHb)7z+W$|{O1O7@D|1!K5&Yq1a(jDo$Z*z0{iEX^D1a~a8Vxg5-#iBp&A=aC3!yd#n6nK)UUf*~Vq#?Q?BCT44XCMJy6H#g#nij6NK$MMKN z-oKM40CA7<(tGry}anQM$ycX zxlMw;zfO1006}MxTQj{f2`+(>8tFqg@_%V8{y@aVieP~4GD3Cdnk5WQ!FoM`>UA)* z0~Rtf(C+V=>viq%j|vANFwSJmk@aYX;sKuFCjua@zqsK3MS zt9A_kEBTzNcl<^TWtvh_$)_NZz0@-CzQ(C0un6NL5eXWw>K+&0S$U^dH0|gkEZyu~ZkGRrGcV@{o6N*cS3o_kSnY4RK6`S0Z<>`Yo!PTYP$6)K4 z`4yYghK=%T+O@gm3SJcYIivd0Md%eRdShPQK^z2By$qL$Y=A@P6+sDPFua!z+z`R@ zH8w^~7xW^JCSwe8TNOmW!((D)6^S_CCoorw9s5l0&!nByd&nhc(EYp^8@I8-2#j%v z_Uvz3zA~KXDs1WY<9n@8w=}!d?+{5lnS0jmc-C?EfHnQh(9uy`I)<2K7SBGFKvAo>wsbat%m+Z4zvu0DP|D0lAOE zC-6}Qnm>0MqCfZd?TlZu1FfSu2_wvUZ)O# zsQp%EC3BIaL_R~kqN;XU2fqK%)TwR)>{4qN7-gT55VdbC&G{2r#g(Wb;pu#8C-)DY zRx6X%4yW9s0|@9>1$`vLPUrIuA3!y{`zqX- zus0AK^Q=fnFjb3r!Y9lkH-A|dLoq%sE(F^a6SD2y=!on6sbC0p zYT7siRPN$NSa7zAcl+4N`1uCaV-3$4H^7$|_x);-=tfarE>P|g-J43_9y0MymzR$e zO+?kz1$CUKjoeh6iu3<7!J^b^1x1qypm*N)1&{ry8&KJ0i&y_IglT<4+C$qZeo< zKN$*$x8R!R+;ciW_)v4A_2_6{RDC@mZWi7KHVJ(#iygjBRR#esPsYTRg`>(Wh}S`E zk7qn$a1K<`68wL+SI4R2nBwGMbY>CE6r1+=Y>BVv^<*6=@OPO*I_)FUTEh|O`7VY$ z6hH(L3s-T|83HyP2O{6*S5rh571AG|o^@>3US8{t{q2QLDfZf6?*b(}pt z39YRCulc0H; zEyvN!wx9`ZwB$&t_)!x%XWJGg8R{=Y-TTHg&|!A+S~FvMA-{P2M$TKp_^cO{ECPL3 z-S8JANMx|T;g`bMQHg~N&?>CG8HXj<{KuH~a>0Z{1Gml6ZuWCasa}TCIYyQn?DLu5 zorU;A=tGo0wG?q=T==3$%XiF1jqcBNggH8nqc1^D$>}Qhg@82Yd*PHuvjBp^kp?lJl4HRkYi zPU_Xy>geyr{!T(k-2_Br_LcGPWr71zs<)@tFD_F#YKbTpNo(!# zO~PgD>uBI~AXgi_T6-DtBEcxZ zmH^Fq^E>-BsQ6*1uufiUYaqSf9mc@JowB-m4zniotIvs5mbz+@qN}2s!Exq_3bV%L zDepMOQd=+PNEIvRYHiw%*Qjk_6!Z7m>!g+MM3{?pCGPXxV>pUr^1i0SwjbiNRKq_Q zYg9m?!v|EGB38s|sf_tDd>)*eLhjUfB70l3k zW6R~{Lut$L7&h1A@`(K7^!4Bt~l{^lR2eC;MYSDvFb|MTP9g#X`<-zqbn zR1Y7>``+U6V#b5exl#WS2+A9xd}icA6bT?TO6;hslY0^9*y}X23&L!qg@_W=Hi_()X zoGmH-q{>(&s9mAcA~v2WD6WJh)7;UadULz`n1!qtDh)qgrfj#U(7(HKkS5E_VhC$` znY8kGO52sghVw&wo^XpoQXY#J_j^AV)~lBJoQ{q(=sjQYz0;~aCDxDss!f>~?X=Xi zwwh1=xG48N?Dv7Q?c+a2=?8s{dW^gZCJqS;*Y%Xc6f)=7!;pCg#1<=Fiw=_}cE_`8 zt<2~99c>)D#R{6eq?J_eRF3$9reoUC>EwSYAzoznUZ8e7Pj$RjCo|WdF4VE9`tro4 zAb0&Ux=ioC6%{Da`t|0ikAQqZZ7-{{+##%ixY)@C#&qArKMBlqUDxx3_dr0sHN-7s>L|2 z>%eZ}vGVfkT89bGgU4tlMW?mws}b-Vjb0?J$df1xZSO1D#+zJxx3d}_1AP?-6)Yhe zP*V!TO$*-LW%0GLd#?J-S3+)vsQoC9*xUF`OcotlQ0rZVC?NdWK<>xQVINM+WCl}U zS$nc5qaf@Mx8<^}Y2pe~BDtOGjAyyi!f|#+mB1kWz*@_gQNQP??d6qe*8gGeJ)@#p zwlKicO_Ky9sALcX1VjW0l7o^#a?T=IkepLDAfOT@N=9-90VQY2IY^QmBWvjXl zch6sjO*)(o9in=TzccNGaE!d90cT`nYR?t&v}A+?d8F)M^f4G-I+Fc!u-}K}Cv#2` zdw!##LGtu)ixnW*YU&!hqq5vFz4duUE|%q-xpr-n<{)4fR75MQGZ^PjdvnY{#guiU z8}LN9*x54^5`VR@kuvZTH9ZiOdYnNKKT3v}skQpaIbc)T%u;xmSNK?yXVxy}VsJRh zdW9GjZ4M+P&Wr&eHXW8(gzxxPai7$xPipVli1a89Nf=_*CM~3R_Skat_KAr2oR78Z z+E{f}n^tBYyN*pvY_QR)+?xQ|G9P`rHL1D%bip;@L;xn>nj2vSX*P9TT+tEK?^Iln z&<)Z%AogLc+yeFB)!|Z{EvrM14eL)`7X^53@oWN~InBJk=rA7Q)1!y>7-`kj5^pEV zTr+PQ!TNcPQ!ajRlN5A!yK%9WC={2t`oLaoXO>&pZb#Si%fqQmPxL<$-l^Ye*7~iw zy0#e+u7*5t>!B7Bfk&F<9KI6xT+lpcFsIE;p@!tV0F;2t&^3L^tQ|$R|tq=#=OkU9a{wmW#OCmM{gv zUkucr>%xO)8>tHRb#lF`56n$OTnb}&azC^c8a}ZcvBL`oUQc|iukZ52GaJdK%C8kT zJn{SH{}ru&$1aKg^F5Z>;V1C>v=X0_XANF|?RR%=MIsj`%&N(BtU@~QHK;GN*~2{g zX^d>MtYV2%=Nu&;f|Dz7wk&9WSI4y~z<_Q?_2*Axd21|*7YN*cbzjT&ly= zkiD^F+lH@g=6&S?l;!?icb~dDeA98(-#&pEHDH(~ zDESf+0jF@C5b_G&yGvoo3#`-UYudr1SLfx%YONtmnE2Fvst-$kAMHFoth3j6R_@HrzcFH~3wAXuR2_l|ZrH)OD#t;QfJAB}jU5H(ijaI{=|6 zR&5e&==3I=V=?GirTDMP-E4Ez!gW|bpLt$>US7ZVh;o%qEt?_ex7RXTJ>7d$u(vrK z?SqeU2s*uFsteTfGn|cla;AUH0cLWVrhO&kH%D7T*~0y6wITCs9z%_8#xmheuERb$ zMr`~{GYlF_E8v;!Il_nkD%{$&S?YTQlLV`-i%wz6wPVp4cSnZQ(jYUR{ddRl0sl(h zlwT~p-905ZCug)e)z{tD**Ho=f+y@u``osZiV4>zrxLk(chRK2v2b*h;8PT#q%HaJ$%>G_=Wa%`}a~X z@*2txNPdao7pT1lZ=$2*$?O-tr1#iue2}#G;&E0%f$shyy{q{)d%1vx6=u9)&X&)q zU9r|?gnst7+aP~@XqTA<>s&XxL76T?pYv}9o>kTmPxi2ClRoFZ0_x@syCVzZ;=~0V zY1o>5ux4w3Q_fnjOejQDpr0XIS?j6G&?fw1pmXXerqvmP95Jj%DRY#SwNAvHw(oUc z!68RM#EcAa%kX2K!iaCTtL6HN<#vvmOZYh}VvP?D={%1(bh8dUiHo*;c*`;$$~8J{ zu3wEdR|S8{t4|iena;6LyjxH3?s-!TXea>VQV+j*|_8>QQOWiy3~ zmUbTlam`4Mte%69?(I@Kd|(G&U~J^@B3)b+ZABQ4FQ}?rc|AH*veQGdL_Wk9gR!E2t-5;?x@6tuAuz zvyQE|b^6D)0I2Y_N9S(woX!@Kdz&E&DrW8KkM{IPK+W zdQKNg!N=j^8qc9-+F^r(;=}cH!#vkC^4m8XijaGHg11N?iY5h*=Mt(a_Rt~TKMl|o zw4I^&&FHxq?wl(Y6qb8Ofmc}XISy0k{Vp!Y-T)naJ89VSRQlGCo?*U1Y-0qW>k3r2X=_3-z5cJ+S zuX;Z}t#CASTbrcOZ$z?5xUJ5j8i5kXyo5{u-_G7O^`z^f!qo1kCfX#i^O*3l##CcQ6syyO2aF$KMmLlVBfy61BK!(B61_Tz=GwM zJ-(dpKl1ZsrwZxxjuM~2)A$8irwpp>j;`JwxadTy37YScCil-|ed-_Ya~&WXyT|Cx z@TAaFTsf@M;zGliwiv^&za@G`|9oRT1F!ZPgJIUgwP35(h3ctri>bUnCxP8Vf?{Ha z2F%xQVQ=2F59fGxOuWVsn5nW)<#$-tG75P2IZ>0&)unwq*~H3xeRk53zaXlAyu`Lo ze@&a9y4;lQXeVH0Aa>>r&4f8gA%>XI>1|F|7olmmh|w%hZJ}P{a|5i2vEN5)thJOs z5I5=~A@+mr!0N>&xrk2^Igd@@=CRikE*{r{xHMa$4FF(yBP0G?&EUe(ni>scIVt$O zqquy>)`-fdSYgViFGmy-dGDbof#F$lMqNPY`{m9PLl`6l3E_g>G)1_n3UJjP%OS zUBMn+Fz5VA0juu+mKb>V@ynBlcb(;*ttV&jFgAN%c!UOUq*B>oK$4SzC`ID4!#zRuzUiJ*7wD-Frt~m-yF9;W{e)h z&D3kORe^K$``1_8L?3C@OFd0MVRz-s3?plIEsgv%B?3u+%;Q&Qwq!K}^Qc=AZ(pCu zSjLq1^K%m^&$$^VPL-KT(VJp2R}??-sl9{o3GOuF;e2%A4C*-yzv~)qS5osDYl8*$ z9TGD#4fk?9n0NgP%Fuw2tB$a?eL6j(?;~rm61GYExIn8yot!`971xVM12hv~MS-_6 zxt@?twy$~BaxVCG3tefg(1q-NI0OvsF;!&o6I-IsV|I8PR>7ieToWt zV{P5f=-KRk=GYOmdF6$bJFoi%(F7~}$Wqz-igmh=w>10XL9hG?(=M6hLE>m%yZnaHO*=V(kcO>GK9BT7>Q~Td z8Bh=0vWiZsep?er!T$A07X|{|%hU6~z?<({j4|)Sot7DVQJ)X~qnE;{7PI4-U8Jq^ zk%j#!rbX6i1SSS+AKmL_MRZ8Pa5pJPrCb=}!ik#%YRXpL9)_H29nw>ra@+zhoAwtx zeN7CO%1)o(eN-m?`b`8nA1IS4R|biYp061M*+|ubiTegKUf`ovdvt&Dpw3s{j2BN0 z_PDT=wz*-fyWHE)l4{DYa-hJ~;8&3J)lK3yCpCY*92S0iZDT{ZzTW=VJC=}>_fljP z^McCdebu=jP;2YVzrUAPM_e>MvmAzf+oF@ZGVi2g2q*e(Q>1EGd+c-Ef>ScI*tC|~ z$Mfvq(ejzod-qpjvC4GwSxz(Pj-0qhZl}{mdR>Mm>^o0Pom`JW(hpL?vk6QZXf8T2 zpZEyJhY{W@^(K~*DwuQhZ|;ZBrg-Y;)Ql14lv7jubVZoAFd=YQX6nhN zuG}#P!O`Yel2OumjP`K+=@va2U8y+x3}vz25h%gPEl)?$JLDunjn*Lcz!4a>V+*HS8iCC!j%3{!-RUz z77-;mxtbt4HYRlaVbd+1@lUlU7hArnydVj==6UE^SlF2txnN~QSMAi$(5D0mgiI=g z^!)f`67Q#3Zz_u~s~b_05AG1<7E>1p*E9E9Kuo)&9i(81hx-ix~!c$-ubGf1cWR1)VS?KotN<9 z@`B*V2V@)>r?rbit-ffi?M5w3sw*p|Z)WRcHjePAO2EWj3~v@%syC{ZvRR%P(R@+&M1_!2AfX4n%g}KAwN7M{v?S{Jo;W&RE9(!~MdD&zTCrkhJzNsvb@N zq}B294fR-wA<1{%bjhupn^b)zV`P3mUHLjSOR0%{Pr(WP~R<3U233l7uEd&~b0Pyv~qO_7;_E_`E*Etfb*uHw-&wSA* z)?hUJt+!K8OIv%Apgz@|%S2d$EsO`V=IQ`vG)B{>YVEWg?>PV)ex6pH*Xm{+7dG`H zhq$7@Fqjzfah6a-7>W^1zYgw)Im?`n>}b}9(h*|c-fO90LyjxvaSpuy?bwVhi8chb z;6(stwC*qy73M{ke^K6x2@=4+)eo?If`zLyotvWwt|c!!_I6$#SqIKRr2`VVtuWsH zx||zblo(M_zOM#_iKe;1bU?OIKpc^Xi>TSycq6u|w10t%pbnewAG#ZFg4P7B`|`yo z0vDksbe16O{juh9r}4|SAEVUB1=Bs4C`}CP;xfoWtawLl>@63I1X>?m-MpS7u~23k zT5@t2hGMCAr?7N0!VVLTu&XoyBCoLYXRr-akIUkP>9M`1aKtX45RqXD2a z^Rft$?w@+^6ydeEB8GAF_4PyRW<&HIg&?>{0lL_UW`E4!L+)hdGkZ4eG9~ZJUzPcd zHAfZ7RRT8HP?`uXXwhc~R(;o+YEx)y2}E|1?n3H8kzU~*KIZ}jO+2L%ZTqdCONwfF{Vr*fMy8POi z`c{x)29b2S9mBRzYO5Z75cvk+Z6=$lv^9KlV&RgX_CsAmBfoqAS$eU6k5bUT%q#zS zw*MKA;MpE16dX6*siuFUmKbLi?`~?E9@B7}eH{bA^={!X=Z$5|Z-aV2%iC;P>{2sc zhsPU+JJ*pqb#5LB1s`jC0W28(pfm;mpSkly5DF5OuYVcVnk&5{;uzc1D8mE5s*M0J zN%hX0SL@6X(Dmz*?3`i^D~LR4UwNFV#~RXc83=jcB5_3F|n3#Ch=T;V8xj zNk?RWB@o!x4KK~hv$TECDMdpMm$o?BS{mgZ*UP6qUlGYKnLV&~ZYMh&t+HPO9yEnM zcuq4028TA`in_^*djf@qrLQ0)Ot%cL_P~AW$Vfpnnr=gKBQRxQvcKoa*7t=x}SC&MylUu}Lx%1@rZ?hQy>-=^b+Y@lG zy@_A#9giD!kg)6dNLk|+YJJtycN*f$yhB}>YlSXTAatL0luJw}%&RBDOOc9nGJ<}yyUg!1|MJ=AO!8#lHo(#BaZ zf6mX-kYQoxGl`@75W~}s_jipG#82jQ`&No0fDq23;atJJ*wTo zM1Z7YHRldo=FOY@pLsbc7L@*}WDf%73Z{Mugl1%9s5-m2geJMVxQw`0zRB3^li%h_ z9L(0y5m2WqVzYR=N%oBB74whApR`6g*m|;axYcKi;aT52GE_=LQ0D_>n20Y{fdSG^ zQgI-`;=G(c?!kjlke&G$G<;C^nc3J>e+==0=EX(*E`nI^ zmeoCj-;bu+EJ!^R9TCs0+-&=k_|WG7^fSh$5*mk~){YRek-H)~RmgJ9ks3b@bxl__ zDnU23?Mbn4(r4QmwJzfYJ2sPwttg=gBA93seN%S>=*ngNEFzKYGPS=EtxBBFAQzTn zOxw2f(=bYH;Y)jayE&K*Hbezl|d5Nh0H>biWImt(!PinDtVdvLL_ za*YMS@#d2@pzz>AN-^cL-LTx(<=DXHar@RsTxv`^4hRLU7hgT4nSB{hslA;cMvbGy?*0Ui6L_g#$ll7awA)nJnjednt&i@1Yd4*Q0w&3mD!8mc<5pU;d)C|A@)yS z>6z2{4@?fuqla0)baHaSqoDB4&&rx%7oGZ5Yhh%}65#oBfsWP04mZ~q`CL{p@Rqk; zR%*+IbdMM314sDyt@#(d*d})iB)&v(+!yQcLmwGEvb^)NP+Rrqj}J>fqnYpge22Xh z;y)nqTvJ_rxcjnqH(qMxO2A&&LeI9A*pZikbrvMtJ{$SSaiG{|e6z|DuMC8WqqO`h zUM#IeC7wo=dLz z+{4oXBfU}+k30~KjA&|n((U&HPAa3Z_q$JdKmUrDFR-o)IeAucZ-wh)){vEOae`#E z!IG9wKxj-J7--Z&O0NHliX!r4b?$1a0Lf38>geMVe-zWs7hb^!x=py-p;~0VhZcGR zwvCMaBk~9gT;27dvZw<^ueNfOf21bEQ($6Ml01#o7jvw{u<;WvV)-WqQAe1l*+xvt z)1f14B}Pu-^!2_;XiD3BYQfL12djbx{Yj90S+beq7q}eoTil!;F8R%+$o?AokNS=C zcXJG-NMR0yX#sGyLF+Obz)tH(p}6pCV=M+5f>zF0nhsC!Vl6{Tqe$o8B?bbq{xCv0 zQco&p|4D3aX6>K=o%`WbO%4Anr+&(5aD$B3apWvom(mAsWn^HZ%}k9!Ld|6C z8Sx8r(8>mXBtx6ng(KbLHlK!qy;sp(tTG@)~%r{tyG;i8lK76NanK-rtC09fL(^T^9xc>MQhbE*eHf++KuNb)#hG*NPKT;S_ONIM0O%`{Noy&pmE zhyT}D08j-Om?^Gur0^;HKvNT0sH)Xi8U-=`{kR!EVgam4B8Cuk%!6q7f_t)lzp&Fm zvkAP+U0=XkdMD=y4?kXlm<};;PC%E26)6r623OhFG3ywB?psN;NQv>up`m@3BWZig zKjTPGloq;#u>&Txzymk1mbc;BuASCpOmI@*sjU`hA#WC?3geEVHVsi1o=@Yb7XJ)o z2oc0%dsnIsjyq!@GJ!RShZrS=D9kZYF&urFj@@jPLZ?!9QX6?17Pjy7Qmgb;vzyMu zKD#&5+FkyjeJQzw1h+07V`!Bh@1jAT(FmF>1#x&y6sPbJ8u%@`6iKe2nlYg(P^P1nToI`3} zO@l`EjRYdFxp;UQ4@OlLoxwodufrsCqS;q%fHYMh7ddc%1%7NEgZuW>Lf$Tm;d!^m z?8Z~)q7S$JKm>cZH}8)xEGpUbJ|zw6M2B#ed8AK{2Us$Js222FyqcmaMOCk+)T;i| zIVO2%#RmLX3}0w;dTcCv6Z>`#E<-N=b3Sio9`n{K(KRJ%z$?n{o=ZHMdb|zKo zY!2@q;rAV;XP2&-Uu_*gx+8Mgprd#QwPBe82#xBqt1ZbfNas=5P!ku(oI=PA1n@KEbI2qx2MP!B+lo;`bZGUIc(E%Jq(^3R0CCOm7skF-;?vSMLz*JrcS zl0OjZiHpWr4PhDuP{=v)A(c;Va;`!IYWL=e``spC3ekI97bUp` z1r(sKpa;J{pXrk!b$De_tFQ@^-^8y7B1xTtf6P z9dI2AG}DGdmX$^Myont4z`3CBIV{7d&-!8hkK&<^1KyrqE@#CVT-=qvE+1YM)3`1l zSQTVio-`tRtipcXFTqd2hrEXxPx{qZ285XsY{~_1Bst&);CMwiota&)s07oTRo#9n|`CV7fYjdS!Td{ zQ${OD)dCfqR9;@*JN05Tr-6^1eQ+6e+y2kw*nhZJV0gU|t7+){E%BLG`RO6YMy29) zaM*j-wil7b(PO|`XA-q{X9nci$8Jwg&lR_LGc=9$c)~wx#d{v#BHc=#-9QSP3AerZ z=Ncy**K7metO$iZ157kN`(>@jf~r7F^b`*b;e)Yqgq3Cu-hf^+CfT)sY^i$*!xxrm z-*37S@e<0l(wH!NYAD~G8dFz%l{|aCN@nE3zNP>h%7ZSqBip&XAUwawl#4iG7E?4) z(zOOs^w$7sIm8-PceWTD%A!%2n=IscBH@AY?vFwQqwg;^cq~g#uCFgogAdG2*=n!5 zSm0hoCM3vpR`oZ*z;TV-=NxYnWg6XpgF5N#(23nF=B(L*l7WTw zz8+699C<#MUau#9-m_+SS0q({85Nlbb|;FkBq=VP4R?7Ge(yP{80Id%l337Jo+i7` zODvZ9O^k7mwGY&9wf?;paX>uA;g=o4Ctn*^S!aSYuX-v(8aD@mNFf}@Y$ew*g$Jt- zTX7N9dt#~RuUI}wAvthpM5w>hVD<~0PUnCY%rWP`Z9RY_oWN_dvwv?29^BVJdNlTV zSB6}Dxq7<|L!&_xFBEmBY!bQq40_f<*U`D5d=cg(Qcr%i4Bm7#CU%82{t=wEhfM=l z0|L8so}lG2t@!J@d$h5Bz|6nNa-(r#v3Z? zoMoE`1#s{_ZpHWDzRf*Spp}M8F$CCmE>K>S3;}#3B7`YN`7MVt`>z6BR@biA2S+|VKCSNqcjkr%D;U}g?0}aJjrc;KgZLCU>PNpObam6|T zniLC5W-#!emn1-eVNIhpWaAqXE_5=n9;fHf)fmWlOBQ-#_YTvE7F@!myw_Wg66SzL zUkRAj`7bG?HJ0c(=9T+AA%chf8PsG$`jnwC?iDF+1+UWeemGoEauY2jOH-}Cps+A0 zlko-VU*Ends%c)=w%(bI8I^OoGxKW>jH;D8Ka6gCd1<`7`{7xXsAQFJRGc-(0zD_h znzw5SaHpp!hj{ge!}7xfcB(!yt7fYSo=!WC-$)Nn>|-G{%A1Cv1Zm?JV>3=8@~1=5 zaQvbp^S0gWEBDa>%z;~Wg>3 zxUI&v*0#5=h2E;W8%RjB{V06*{*Q_M3hKXGci3Ow6UPQWx;~xT&02>mBL!>XR;VITkVe@C z)Mh{(mZ{-s0=C@+VeEblVqp@o%~gN=*t^7|>+@4%Gjoz~(whaHi3(crN%4{eT=#x*W2f<%-z1UE?9*fM;cLeI!4FfTlj!>6&g>!4PT=%%2-%+*^hq2AggG$q&v zhj8lao+$vE!WK)(Yh^S~wFgwCx;|ib)BC9S0k7Yw7N6!HfBeg^^;LPmUIn^PQVVsy zZDeIYkrmO>*oP8GPbrP2Y4Q;-dN3gDl>Ppo_OJ zywI?*A)NU9D|GdfAd55g&qG?(tD2JVi{nos3_%CxSkIH0zNVc=2#blHeIRTqhrEWB za*&9LnxUDvAWFV|X_9Jd3Bc)D9Y{6Y4>r77%#TtOKDX^6Xv!diqJbtw#1oLrqOauo ztV0Aj2^zH%vZ~iymm+B_aOJ(4VOR2FM`~e{A8bA~ukL+$mfrNyu0U<>1#cOfB*0=H ze?rn$G62&uL*u>gtzP>2;%I$Ez9oJ*klc_BIik67$oci^lg}986US{fvc$G z#f3FM0d;sH38ldGA`Jx2O-&e5o!ahcPAdeXlMM3xWn|KSXqxX&7J$2SP`TDs*)O&G zc(jY;hMsB1_e6_;M(09LZt8vX_r3^aIE;xXl+jyj6Z?*ur6zSY;HD zr{LNea3>Aj>lb(`>tfl~=P(g3T=>EQvrjyBUpm!geg|_%B6nKU~pWOREnk>-hc_I#3IJSp}$EYSq z&Lsm{e8=m-By7U22g_X~ui?JZQ+EUWL^rVa4!v~hPJ_TLqqpgyJtweYNo~YjK zkkyVBz7%vIX&W#iJKp?g*ithbr!2A>!!c>j=<^#FF2Uf92)K(0YK4io)-D2eGmI*|1S+PCajc%TdR+-!YYlynsjeJcXV;V`(F1TxHX)po|T*!*%$nUfH&f}^rd(=@PcS>vPY?R||w z-nKglI=6hs4LplXx2L{&oeP_x_~eki18q}*M@b}P|adC{e~RWv+MOd0v{0mu_+7xft0VyHQm-X!sLl>_Ss!QhC4k8qsBQQ0v&j;iEX{ezVO z%X`;L_(M!-A+8TI+XC)YuoxW=XUQ?Lg5Cyb?5JMf0{Nm@M8iOax+(kEu;Rx;{WZM!n2p3a;=k zPUCyrt*5zHc$6Fh{Sa008kq3D6k1NIcGQ}d{ya`Hm=n@dHS$VI(r+;yrbCc2Oi+H&+A_MPstw8?i4I&h_CcMA>Q!voBSv#&5XDlKHOdxa*$FP-I4XUStWHqEYqt&cflEF; zO62NiFqo3*uU_Y+&Dq`D+{`iGL_2EalwNp#A+oqf&_=d;mj`4Ri$Hb+^7hg>2CBBwejyfpZV)oXz)WzACiyQnXVeYpW-vN#(mv?;XaxZy(a$ z(mRzH5;%`kJY7kd_NjU7b(`c4bPZuVOu+Xe;@PnG?clQSERMo)gpG;2(Nb*TJ+1;; zYSryVE?)f#S9(TtUs~@Am9(0Q`-KL8fq;Q5d*nW%raGp}-Ruy7(Y+R)fgQ@OCZKRrSDTUoWg4_k;1LEhAy`jt1&j z-jm6$Z@uy7JQj8FcW4QupZMx^53VOrGa4}(hA)-+yl;u))t_`s^4Yl;d$i~%CtbZ2 zJkm;pDPjhj=3n^y0o&dhcH|Ppen~_u@x*>hE{PO4;k}-w{_U9K-?r%H;-KFmxolVW zZhM^GpgY3xj7I4eEGaruNI@j-W)wUGSsYxpdbm$k1anK`XpNqvwk{r({%8(=3UR7? zYLf({uWvIMoopL@a6D|2wyWu1oLFM$?;2nFtN$z2)q3O82Q<{MMcF1fK7Rf2rKA>0 z#(g3e{_zsNfEh5%EiWg|@uaQmdYRJ44=XK7Udb4pK;2f;Q>)*3j{1A*VbRPYy@8@J zzCf~L(#*Q)WXS?0Y*@TW&YoXCj(0yk=te>v`fTe|4VeAC?IRWX7Z^VS{L?TV17Ik5 zN;^EN^h~ef-FAZytLEpD4^bS;(|xCj{j4I3&uN%pSC3RGojmH^wV7iO5gUe&wAzdx zb5RD$(L$W6n5{<<>JArpXCEA8=_>o3<%cJ(y$&XNn)tBjKOl;|uDg?2!mks?tEWd& z6c!h9k^ughXdXN1pNE$M`-xBJzbfHkMbkqXZ~d~ZiG257_K!#9kKg!zkN>|yKy(=E z3f}Cfp@k!QuN46Q$w(-O7r%JrXKBpN4FKql&sC&eECFaTNk4`W2Rzvw!P7w{8I%?`KtSAKs1~Fen-2iv8{ocs+x(l zVcJcVKMEIFX5yG&uc~P46m5g}Q-^m|9-VgT`@uUR_1MMt)c>zH;$3{wb@aDY)HZd6 z+i5QSU3uy)t8651Zm+Cj`0{1z@k9j)I@0uN0cJbPUoDYzza1 zLjH=HoAVX-lR!v90?+=gJVJCMdl4`E#Sr2U&%?hfw=K6&-~B}Wo};~ZVYB^r<+1OF zh4?@bgeb&l?WPKWLZ1mSc_|_qC;}DLT)wIDMPZ!nfzIHrR^KM{<{#aobLThJH^|1J z-hoI50#T^{TexTbpK*Wl2Y0J~ao5&z8)^b^x6=6!?izlY5Uu8aa91<7GgMboH+}mb z+{;a!5*^f(?3`n4|ATu>+Ns}1pNO<$SHFL8kJNMWw^PzFb3^i7yCE$w>+fjro$D z6uS0zUt*6y zq0Q$kFZsDZTwM`vXzuQ*e@P@b8;(B@Ax97n2uFky!Wj~K{I`_v2JWJo{A>|+2z#hQ z@ZR6GCvnNkd4X>cHW1&}sYaTNf7flpxo76w?r!DK980dWNNGEm%4xemS% zH`S6cla~h`fzPo3NRZ`UAAo?b$iZI#Kud!FXkZBe{{v~zfBp&s($N0%{N{}#GaFO@ zAPU?Zy>NqU&0r_dn|hz2ay)lt;)S$gP2(hp#fw)AejpH?%(syAP|52<68ZFp`<`TtI){_b0J=}~IVs8MvdIUZ#nFnM%LXFtddxA4@;S z^Tj>AMKA>FWcqg>&s1lQ)a+OXSf#?B`ty>8(f> zaMc-65I#4tno1G!R4LFX>h2Y>n@4cNSGr@yD#U_rXT`D^+JshCRDjthbSTf;ZmJ-se8ulBc;4*nteUE7 z6i4eiSzbd!gPO5%1~PY~V)$pPudnYY=uhSt!NkN=1%1i!10LcAX33*_dv>6Ix1W4t zougP%QgYa%?)&#K9R*?C*7bomPEMlP^f*BeO1+n{-B9JxD_N!ER;(sk-MjGGfT(zCf+7P)(n=~WryRmr$gTfAH=493?P^~HI=QaQnP zJ{pqJ{T1ac(be!ebQ9e~M5XM$cB&~#r3|jURJNeFG4d^@OCxV^L5(|mpP_3KxR_+l%k3n9Z<`8#*+ z{8af+_{qNBy2z{e(}0IoP7p_t!mLLF^@i*9k-KV`+by}kg~W+xNd&ARFf z!(JOpd+r|Ixr>ar+S%Nvy>|D=UELhWI2c>{E%XSkD!FX?5h?g!sph#Xd~9>w)N^Hq zaTjtfz|92D!7!;agvVCOz}3hd+OzB}^~hr%>geh+X41BC=`hcbE)1`+%lP|Y9lQV_ zbLeHad%YEtVT7VI%Fvn@wzt(@O88tj%JxhC?2czreQrpP`9i9zxd%+ZtS*Jq^7O#q z$!1BkWyvRdZ~khT*}pB~TocI5J(J41Q|YCa=ayQ$T*AV$58(p8mUk`UxR@wE1^U~p zCv(sU31Vah1=%=#W`_rJC!Kq~^!FW`4*;O$*n|H-^6ER$O;;rz{_-dnjdQox*Ld{^&}OYWc-Kmlvhs_0=?0W$T<<>KnEwRYeN# z#s&JLIaK!$#tSpW8HaRbk;Df=uU++#?VECUt6tJpfh4n7;wlIXgfubEb6O>0NQtaZ zj9$hR{djc>4JKhhmI{i3!z)qT?zMJ07!~zrrNfe)mzW&%Kk!j_lK1OD+~|6u)LPFS zj!-m?Vm6)#NGKY)F9}qJBn?8d&hQfXNSUS}oehX`cu2!)4n5-D>*yx)8(G1>K0g4v z9@oX?9h*u5N*V%yVyT5SrRl|(1GAPV>ZGGsYfaPg7sx zOS|Vr8v#Jb0V1XMCSTIg3%#|F2&;FaPUGG}Z$H&JpI&V)dneW%n;ZOTmIfhe0O8A? zU}VHXialXDQ&&_R=sC#z*s#8Y!!WXq2RYfVv*fq~fu+-lqKP_n`$-dgmZvFi?7nYa zP*$QDA%Hm$C1spU%Y*At?ljY={;(*8mG(E?O^C1IX@JSruRwQ`m z1liOwxtN7MWF|)sfr-H$Jc`Iu66X?bc>!u)j?0|9Jvq}x$rP(=^7VYzc(pTIqNGYS z4gz>bIxJ@^X^!%rgEzaRVq;a8$GSJA?c!LOnoN92Xj^F=M=`4XU)ojg@t zM{Um`xB1;i``d`dgO>eX4&Je{xnZ@I^#Nbn@?jn z4mLrXhVzkU_~RiU{^U@Ft3AHT^mc?dJpc?TUfVJw&`Ecv`?1Q`*aa6+|X1+m`%n=RWGJ z1Ao0qj~serLXK7eE%`{&nYX1@hXuquiYRAW`-n1))7NNpS|4tV=0w7^^VpXu{vD|g zqPu5jXKxh+_kUc!efu_w3-%*(6pK^IH%V48P1oEQ>m6G}IX>8ix~Be5Fa^b8W9;6M zHvC^L1sY_8q|t#0{I}pyhRa%)?SwR18ew#)%oVT`SJCh&YX}&KuabC}gYpBf6-w9JwyOc96raUEw_D@8VS`|WeN#l;PVe!`DF`rf(oZ$k(+ zXn5uK@3Unt+fy#pk3}`ll4E>U%?+Q)KEM)}p~+FXn>GI)9daM$(6E$xIlZa^9wn8X z0b`>(#((~tVGKVM_!YDr@t^N0DhNYf4}KAYUo1x{-X0+!2#3q>v2qvRLn) z%wPHBWY)rE=jLsP(k131KceKnNJ#_#-~>RwV0B(Ykn?RMhF8CjLZRz~1hUMfLuu$q z_cGHe2Tll>f)IzEZ`H4k@sOYqyWALo=kxt0E6_hv3Gki3J_-vBz5WeGgB~*R+zQd3 zB;2EfCEd&7qi=qMB`!&`dRbU|Dd)7V=>30i^_2lpZe80m!ysLXC?E}@v{KTeqI5_% zNQ$IL=O7{|B3*|Xr5mIq22fPGOB$s+hlcs~oacR>!})&ki+lFH?-kd&R;_4?wxymm zve}#!uwCH|{6~6aA0X1Mm-<;+&N&=R2Vfl|I$*9T6Ku?vvmQ}q5o*PKzPrjw$pW>R zH%-T=H7-hR>N|t3P-(6>Y=qK$dfka!ZWAH?|Ag=z@&+egRPuv>wY>qg5^>O-!RYkt znR>FQllz-R$tl8v#ywAP7WSLlWfmz>(P+ioZC`=9kCWS2Ml z3aV+&_rjfgXVvDuRA9?ZITA2))Asy~@~ zmwLymm`280@WR5#SY~b_@Q}&G1K%i}&jnU`@^HOr+5sok0Y1B@N4x2fJ#J6oKSlnz zFUrJ6GqKtQI%nO>U{=pGm_GNAF9ELCQuX&wxAV;uy2kkh*+Zb$peF~tbR)*+Js|Sj zlbAm0F3BEPo_5y{QTRvU31w9gj8{Fg_DuZ#&`%%!d<}2mfJSkDY$p$8gv1%2KV6&} zz5G|+Y2yKUGu5MwBSDfs4r}*~JbL|~3u9K#MM~za_&NEEkLS-n3AA&FAnp|Vt^LfK zCj^-e6M`J(DH!}9{1pJlcRjJZ_|G6SK9p~ex}e-~6MMed$X}FwprF1i0JBKG@PtEl=X$Mk8TVm* z8$X|^dM~^IQ3BVS>ymu#I4y4=?uE>7bH2UGY=(_0?>_DjKei62-ND{o-ogHW^_x*$ z_;P=k)j8v^GLoP`cVlg7X~_@7^ONRPOiXoMHgvECqAjc4@aWgpRL=e*g*~FvzAv9| z|M>x)Ribf(-Quwo_@5I5VVfQ?DJiMZmR!J|9KC}m!QfG^D3K8V$(N*`lu%RrB`EGp zUW8w?&oygz8oe)3q(-EVW(01YVzMG&xHGL4SMWuFlczCiZ4YEILdE&XY zt90qpZ2;AUIye-bhy}FnEyhYN@MDg_y2!_jQ9CHD^AaVEH*F;U)mQ*C9bqmd1qTiD zyiQ(~Sy}T}>7Wy@6LlOx5Yf(SG`d`;bB@8BCz$$s741O|E49w~3+-85BK~Ix)fHeM z^xKSVf$uX&`yT4kLAmngGNN?pAfKL)E4=?!zJm><@J0Q8$6fr3H4YmSllWri_5c1G ziI9ehkvAC7K^GL*n%F?kNFL~oxOdHiQAuKPmo`ug7x{6D==}Al=_n{m#?a$9p%_b| zCb3>IxpS1L-)|;z;Z5FNjeLv@%c7cj4a)J)v~2n_sG7WtQuQeA(!7U|LB8J8?blh8 z(a`x}dbgzHs3h7E3reyJZKHa2xrtua|6@m(XKpfwLl#@_?BJu(Xqg)~Zlt){!g~uw zBT6QtpVGnbNw%!G65rvIP?iRycYbkOzz(FJ@7)27carJ|I-XY--tG~RvZ`uvoSeBS zZ#XmtRK6$r-#~edGk7YajDxnth%y%|Xt-G-xy`svy+6=ab74W9@U@7zc5K6hcH)Hx zL16t?W>jWpXFU}0kPZ4(((xir5+B5VR;gLs2>b;90!Q8AquHk{#a>T(QLux3tLAIo z_o9X2Aiq#|wTv(3g4M|NgxbRI?W#C=57_z~Y@p@5p`Koe77isx%5uyl;F`R=67`YD zGr89HhH(L26VvrW1-hHDOy$|I{-+legUbN%Az9bd8!S(+vLD^)1%MvS(|Mp9uY=YUM^yAnPSN_rQ66C4w8`CxZ-CPy3%VyDVT~5pGHE z|9KXm8wf!=1sZbn*c@Ndx#X|F7B?W}QJK-sh6 zeYcO?&r2=2uscCo9K12<3GG-W>U18v3s?haTHx5&*t862VmU9*%gc*+jP%v$Oa`sp z$kEq{CHOl!=bLq#4HQZpbEXdg>GF@cnWuVYZ-3f)r{%_O2|(`|j0bRM#_|MCN{#SJ zATVWo4Nb4Av5A)5r>k~R4WQIK{Z7F7sSjS*YciJq#<7IV>PavlDhUm{pl8I?$;l~Q z(se0PCo#5qR}X#Ht<~*5Yyw`&oc+$E^(e?(7_!uk%>j=7D2#@;KjLKe-v_#O@5qAb z0QumvA-ktjm8{j`gp>4OHrvZ>^k!SU4IGZ#c}KEv>9X5C* zpx>|^&!&TRjxU>0$<70W>c6LhYb?{1APb*#Xji|0#j&e-b|vVl6lco8et0k0`H3ROcn%A&u%@hR3KWlEA$r5v1dg@GsASJ#HV=*wsy3J#8 z5|$6B1SdJ>n-4B9>VPv@F!h>`izqfhkNMw5x=lDfEKC1Yu3}xG0sM)29>->?(@DhZ zBdEf1@;MqHWZQe7__(?)zjCTTkl?>C5BJ1Zl=4{`9sKCM{vSZ*eLS1rkeMXFeno5s z5r#R)>H(xf#g{_)pd5P-h}mU1#cCc!lGzeVUw^_EWeOLC-kB=$1bX_l@oc;iJzq8M zIKb)Ab*J8>-^+gUvq%h=3V2eS&Y!6xw{t`yQ$+0fouiO|!w~+qh>r08|4iQ~Bb8hO zR@cDDo(0f&f9cC@v+Ep`=??u6%Jk1%HksY+jZ^V%yivuc0hj_)KOeC5Frfp?vAF)0HnwNU;Xd@p2|?vMnjMEKoh-+s`8G$2|OZo6X4PLESXy z9&M2GmmT&j?6ACetD%WtUfgcLIp__j+yGIXh!j-$^}a=bVEEHu;3L(a;yZQ}pAj?x zqm2btknfB$V26_gR3bN88K(W0pZr^LLK_em712r85fDGx&_N0=8}KN319^GMl=Out z^Av!**y(%k3`;lHyeH}hj^%J^kp^vlq3$sAneP|;KCrSRtyvHmzZQw9C;SPpL<>Jn z0)ghyD^K5k2k#U4g*8?9;XcFExkY4jF*a}9snIV=a%a=7Jp0=P%LHh6tH2f92o{f2 zP^;f<0@+Vocf&hz{domv7$1;Swc0N;$Q0F`r-PZT-oALFlL5j{kg0Y!X2Sl?1dxxiFWhHVc_PV&lZ#pvJo=Q}{*=FBL5eB8K( z;sp)lb!wfYhnY}RXA_me)YK;%u5TO5MqDelBayL3&Z7w)9bXdCPLR zmhU2VyA{0sk3EKLHMsyAQw~LM^Yc}=H>PEGNS_sZpbKgn8qUEK${V*Y7<428j-T&T zw_c^Td;87Qw(EH2@Wjy(LBgGMbF{pLPY`N`zW9BWvi9YoaJr_;Y-5GidGd2R zJ12f-2Acc-7-EnRA#Am1Y`pCT@nh8+AxqhW&qeagT>-b4uIjQN=CM{`gcsW|^NOS) zDTOEc%EenqR6%${jj%;deyg&4_=zf9NxQZXdFz@Lqone){TnN`w%`T4a}wyW#!l&N z_bz@oc2hHutdog8K_)2$rE-$QP^fb!T@A>|Cr3`|^F?AaUq{o4|!}@p8`Yp81@X*22vK^oBi?Ij8)0)yoyzysO+gnNEQB z@*Zu&is|d$6uo!`0o_2H>YCm=nu|$2fR(OLzEp|9eBuW0;M$QL+uBK?xZ{o znl72*q;wxt$7yl3h-kkYXwb_pEhJ1UZxw9g@@ zf)27bij4?3oh7kcY^ZFi&?CL5NL;cr?*+RLMZGi<&)y()q#k_U)M?43jI*?kxrCgH zEAX=!nq4O0`+@?~GWkyn=B(mw{Ocz2aNu*q@2JDngcS`*aU=5S_hu|fBms)F3riuN zt`W3$HxfHZKkf~Y7BcNV$Ex1_tjPD@Yys{hO-@iT+rxtoCJ^r{*(Sda7UcQa0fcz) zihsa*T_TsUy89e7PYng=XRk-`{7VE8Kzb)mk9q?9KS~GQ8tuc#`b>VCQ&*e4Y5^W# zZsa-eQNrUvd4_>R(ZpfN{qFMsq4QC8f{UL)T@_mM;&3_zbh|FRg=7~$Te&trA!JLy zZbmGO>MBdROZ>}283Yx8Q$nu*KKf|ju47E*MX6?Hfw}zIs**V=m$5UbvQN@ZkF-zv z*!@v#``H_!Ha9D)pi4;4gzA@zg5ePF#0CJB>{eD*q^UM}E=yf}8#o7!zdQd82pK1D z=&#jl_k)|<+iwARpnZX-JhqnT9iziN={91li>YfosT0M&j+gwuTm>#Knn<#ACDh5Y znLeL`eqpT6~Eal3AVi$7P~a~?_B z_zSoY7^YY-7x;7$^bXm~Pn&G^Dhm;Q-|BdPhae^Cva%VFNFTjF(A?Z?>*d>m4YwH% zrMoDO->4(6ybap`Ja#$e?W4ENgM!Mz)1=L$Q4T#%0AdjP_Q+Bgy_>|)ODBUF)EoeO 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

  • BzsG82Y$gr9DBr0YyhJ~?IB;t0dP`KR_; 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 I_vh;W1OLh3X8-^I diff --git a/src-tauri/icons/icon-shrink.png b/src-tauri/icons/icon-shrink.png deleted file mode 100644 index 5ebfa3834a36a2c36fa05ec0ba5d45a870837e19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21580 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 TmvJ#s00000NkvXXu0mjfJXn~A diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns deleted file mode 100644 index 88df4a03c6afea45a20be7f8a78999a97a0cef80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456833 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�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


    n%jqp$u64}Wo$O*VJ78>Ll2 zO&aTH-0a~+$wTZ-%%fu3*fsEq4xQF3GrT#{P;v&Py|YSZQq=Q_kZMs1<;Y-!F66io zGXdZl8xRAPmOBz03Um`%Z^6N}@V_O$x->=;2mjV#Iks?S@riuvlE7`7wKvM2x6$H9 zC%o$i3a(mwGFktq)ukaauW`5D-pVKo#Lq8U)EjOoN}8sLP45QlbE>s3xN+b0-ajUV zc1;V`Q!7$v@ExHt~#K(^qc<@-=wJhxJjN z#Q3TEWy<7oPkqXzP4&N4NpKz4Vu=Ky+Cp)AIX*0(MaUubb&tSa+m8kE-1E*OM{gub z=F6E3e`i5F0{N6HZKd+W?_`V@zNViV8+DPh-{YhtZ9!!EGS|; zDk{&TtV>K%1;R0rX+ke2^MxTy&{p9jQR8l7O7rLUL-8tORBt;zlZCKLX*};>XYoxR zqHP6>As?=J!M1}TG}@0x*o=%S#k#SgStlq0#CpOoUTO3+X;pX;nU^P%{w1CbNx4rf zUib||g3qq=#DVXG|I^}PvZYYQ(xII6m35UvQj6?-NmDdF2#ScdNj3JpvGZguEkr!} zD;5op_Bn-Qk*=%qmR;tV^Ql{-%rwDM{7~zH(HAp_-9gqKla|~X@hH|6L}k7X%We(( z-i`84A&51!ye2@&+rV0(;+}39?N(A9#eF#XP|I1|H`)#yHN&M1{AXGQ-fiwwo*A+W z9N)Rsfe!5^@1sGZ?nQ~dxU=exy4X~tvcb_XQkK5`r)ULrZ{^ckcEcQ|3kHtli2F>$ z@DssN#^!PYC0QBRi^5&2>O{e1zP%a0LBJF}6uTx9N};1aC04yZY#sjf>~*@c`RNxp z10Yf<+-K%*Wo{%#3@K?oydb_&Trb!CEwK>x2^Ek0Tk5{t*ZCxs5wNfrc50aLp0)yu z4V6fU>vu1RJmnR0+wAK=oq}qmW%@qJevc%=DHh#nDcuj9O{%wU(ioMY?n4@8-{hm2 zAv;;n+IThYlj%N0i)9oKZR8$xnAeHzf5gWHloU_}xZYr(f+>+3y>IE;Pjy_? zX-Bfd{dqn977{T2x`O>sw3I09M-}r+s%M)bl9{rE zukyNbAfi*nZ?!+amSN_*cB9UtGpgKjm~FG3Y>bmBOi@#G`6ME{sZ4w*MR4?8{4e*x zSAj5PXBo~kP{a7Qp|x#SSm&(jYq#XwXqF6$ZT2+u(QXd0Gc|?W)|_?-JwlWG-AHwz z(;EnGOU`Y1K#Y(!N;?+dzeWH@hkyQJ$4hn)I~k45!Af$-?Guh9yh}G>INu+3tP`QT zv7KTt`(%LJ%*AN?iCp)tSgiyCNSapofK3w=Y8?9OZ|q~iQ>W1|VVQAX)^LGaQ=6oUV(4VgJFyqHZVH?=#w<40`zc>)OkkY>`avcfTG zq4b`gpW0&-K5A{a<4e`226Pj#Hp>&fe9=BV2#IACp7%8hODUA8&}`k{+L|d z&yF6FanD_uSYKIg110oG(dGu{xRdZ&ntqaxMUS1S_+v@n3!!+i`ciE-!c;Y(Xytq+ zDo?)Tk5ahvft5b`l5)YNd2t5AmuaJ|VtG;*f#c>zF!cgH*jZA4u`}v18}L6iOPN|^ z_XHRI$Kj&PXEPAl#|0-{nb=xeSSOI{>)Lp1kk^m2ZjDyyGDO1gfP?l1=B z@D%StEWC8Lcq&fD!McTl?neR;nkN`gU*S`ff>px5xBX-pMU9FSZ`3X42TkqpZTmFWOxI9x5u5ap6G)+OCkNa@xxLDJ*yekrAEFcC;{`>M`&mZ#ASydL5ARUf* zG+i?Z`BFBhs(EOMN|oWDwek9S-S@t3V*p=pucb8+oX914;og^%K`G3VR%HzFg9X(? zD6RUK=s}|1FIy_}>ek{!#(WeNSVmK0BcqvB>FZ4n8M$AMLfxpg1K%8b$#8WHIRdpL zL24sHdvN6Bt2yxr@gii`xHGgI?#Qf-ty74L501A)%5m$7)VXU6lS@g64Zai*)km2~-Ux1&CaY9-kz$WibS3d8~2t#$APK$02ifg*Q;Hk={BJsn5=tcY9R)b}&9 zhT6SrjfU*_k0(T~-fy;6X=psZO;Y`HW5}i^#0wa_vm$2)gCG*&$@3zKzbV~Bp@?oiDx z24V&$bz&AEt}9v9wfB-Xx%g1>F9GkUWKQl>lWnd0ud*g11~guSJk{}$M#}%s0w^Y} zrTvQkKVxlD5__e7SNkmUh)H%FY$VA&rb2jz2U*2FJWw!L`7kl=#7p<#`8jAgo9|2g zheV@f%8;k+<;$D}>*K{*LYWPQA%3Sdje7MK>xmi1*-t>mFzkT41e>0ho92_|)nMSd z?{3#JhqE6|z*gAlnGOO4G6f>0h%&rrFnT0 z_Pt)s2ecP;ov+aPs(ob{R@74iRMexgp?-bTw6NJ9Ae7lh|ChLSeL4z|b|rD!)&4<| zjtz*aV+c9nOFE`vZ?q(bXK7u+A-6N%>4q3{ALRB#75(G+6SV)Qc;>p#X7fp%lbRN1 zPG~R*YpahRQ9vV0a%4jDpto@-28NnXZxz09c(&ehc<`T zYIOxtUF-1qm*ZaRPLE~Y<(2@jc>cN<^gKP?wcPCV;Vi~}A{(%5S5`BnD&{5Qy<$h+ z02m|Yk3;HQGa!W}5sNZC$W!@=J|3!_Pre*KtkQSM*IZCdp`h&9yuJLppeAvE(SVxq z?Iy4H--=|gTiHq=P+~Ia5ZG2`R+H9A2h{pRHTW64w5XdL>dd{`Y&=PgPJ<)jsOSw- zJYKuMDrTsj(y0-Rpxo2QBdNHem0$W5x~hTpG32%(pq@PV`pbv}oz!0{pBD;uG~$)m zj_L_CnoU8L&=qHwics3ks7}m-_U-NJeUqSh5$}D&s=5E%9*wb?(>}=mnREyV1_QXe$=w5>VP0RbVtEvh?|D2pOsEy~{&K0c@i3FgCQM<8v zKocuAbvz4|1(U((Yr&6*%XhV1e2+)EEXCE#yK1BzUvZMV+;R|fm+|!CpGQ0hKxW*qDkHNt%vR@=E%_ap5zjGEc?A9!2e;Y za|gD#DgX}yHyYd9d#peY|N2~iN-~L^%n9Uv1DhzsFa$1d~U#GphldoT|=XCWv|I9C1 zzbb^7^=)Erge~I5Ps}~U2RuQ?nvsQ6MWWZ?o%J5#cQRBm$Hn__uus1E&+qm-$BSUV zzimox^3ccrpvl8f@!|<|7REn`e@MAYKd_|My+X_#cG1i4^AdPCCgJ9wh9XO4wX;vtcqUH^3L)$Mz}J*m zP;jFy;VHYhaz4kdFLB-Zwt`92K;N?hsSsubqi2tYTQS3M!zSM105-acKDb~XYp5b8 z^u&4OkHCfbn_m+08(sEX)2sO;P~Y9u^|43t<3TB?kbjO#BWI?2|FZJ(LagTAvs9lQyQqtm*xc5bWf?lVtn#0JQu*|9ud;JRG;V2~X zkot&T2T6c=V!NcEb}w34OVDM<jxgk)Y36? zn36AnI2F5{H5Fj}=STl!4Pv6`@k^#P?UKzN)mtS7aHU~Lh5?WQ0_0D*U zHQ!Ncv>+g1#!hBN;xd&&+@Vo{c&y2>^i<)qiy#v6MrXdx2oBWDJj`O7#m+r#IUe2 z=`zzxn+C{DhMK~|sKjNxoyV{{Q2llXLv1YhxJ9*AWaFQnx%Xk2L`O&Pi|EsZs?WIJ zndGMh?5#C)x1a7}2XI(kk};cT)-|^$S>r$nhXvMgRZ%x%@4dI92rXdD?9$B>y}vH& z$$#EoyqSI^;>LDN`r#M4V(#sAA99#QFd0FkBF2}LG3}d2hkI}ed~F_+xQYq^mNjW~ zyv0Lwo+|PA%M_p^_!5{k319GWnb`zfP5Ub)W2X#NE0RcQPOvY0iv!!Dd}b$~qT90f zTWzNFt+K!S5^{WfsoQfTB=#i(vu$2|E(~V&vFG_Tr{O$sU#I0SnXa|(0`=6%?gIQ_ z)=*FeQxV54>aGa)j&6Lu@6ORlZiCur-u<`=X_;TYA>Q!o=G3dtZH1cghd@hiw$3FX z!~>Z(I*Wjk=|lR6f3d97TuI7HtX0(WlvQ54OybK+%o;mc8q*`F!DCX0HejA*Dn0Gl zH!8kU6;=1Vk1XNhsjn!{camE39RFbctnGLe4oWex?0DTTo)bTYiq;#VWKv$Fmb&F8 zHI8qlgRwuw^YMMJGCcn%ed(f+hvscX$g}h9n5j5pVk0}z^JU}6=b%%mhL?VRB+P$J zB&gVV**$)yMQxXt)35*j?r&blv~IkWXp%_QiY1@DjF~^0QQ(ODqOx+F3CoaW&?Ei< zIE?^>&U>wJd?^%M4z)A;eAPl`mh1K!IFYR_@&Y2C+VI%R0$C{D!rj{unz!~`3{qQf zJ}jt6zqT4JW3>+Yv|7xzG(v05EP|xP44}&bhnyJje!lqTkGJdYB|_*nK|{fRc^7CME%V&8w@|l_~^6k&8Wm&^>bj;O2|4;89 zYjO~((`lU7kyn579?^s*q)0Z;;?ACzeAA9;q2Q`alUCQT4zh1yptNK%nUHyGv20`( zTNesy`&sfEISDkup&>cIdLNa|Fdmwb`^e$)Ri2L$FiVbfcAWa~)-O6Y{{YKQe#gFHe;x zA&6r7?{A2WY4?%M*$*ty>M%nd!I!{Q>dcktJ}(Uz^$l{{Qx=*1hdpB#%Pl8U zK!L!J>$_o>lCql-Gl+}0c%hBU^=a~~ji`r{aeHGaoJUY&of(o2v3C=EdU4^} zYzZ1Z%jkL1Z|S<{U^ilQ(KCFf>X9R3MuFRlSyuU+nCD_g$W^E^BPDZBS*mMOFp($GUFE zd_w0-_NE$VDoYCBxkdI89D7s2748< zxxXnT?;PrV))FH%)Ahb@B+7mV(QBe;Jx|AN`)WhSS+JnU(;ujNlLW+*j?zTc^DnwX z1G#hSsu;H*V_*`!;aL>pwZ`cJgMt`^e~l20kCgP%`w{7s&EiTw*vH;|=k9yv077v8 zjQ1o$XfrKOq$-|X%gfKWW@jzq$d9?oZORZ!p#!^k_{V z3#ph>=vA(~goi|tZRo)Zj#H@UNriX>HF zxWRppR&C9--zflK+>7wuEg^h&(qRdxVSiF+b-Rv<*sQ+!hQH`MM|h^nw8=90?GWzc z5I>rez1~kr&<9+ZcFu|YB^@2ip?igzc4q}W5iDAXK&QnzhjeXBA;a6eY4OkYcHS>h zf>NeP%!r7-gPtzl$4)pS0r1WfdpOslRlO@0Psv_zvCtCPW2pDcGt76VD6O#YzNw6A z?R-oqAk8=*-W7`ssk}eqWi6?sM$r|H9|i3uFh6(SwEKRq(j}iV6?@!-6;6;d@i>=i z-mc6kczFP_)R4_`sA54uBgmug@pHp-uLNBHGgglT8tL(w%C5B^?q-zX?$3R-(i75y9o+tX&TF6fwYjD$;dMiW$C|5m2WPAyF(}HZNEkCAzplCyH+ws@eAfN?3lD=9zc7buCYW&@IN!}VCS(C}29&eo z_Qt_&y#IGo`#Qc(8~{rZXfIPK5aA!k9ImcExfP)rKI`7+@*Dj;MSUMHlq^lhpn9^_ zSJ6X0i0dc(?;%kEz4zoB65+be)b;J;W1osZ&^@Z-pT?m7P)ll_-2>dPqJ)=t-I(Z< zLG}evdLtgzcN)&aQGf*y(;=)P)gA`BNviNR(llaAjEjp-Cij_qy`D`J*AiUof40x% zzC)XPz0ctQ1VF@|Ds?%$u%*v00~nax5eMHs9FuPi5%yV!l9M6Cmkz9%`r{s5TbXk>K4?IHXWhzyL{Q7~fUeA1jES(#-WN8}GWgKO$1LJmYu%2aMY3W1cDlM=7wYt9;|pSBWCNP1eQ#JHos$E<;G zPi(03*Zq%!mMMKiPZs_bV0A9JzE6Vq5cad#V-FX8LF{NuOu*g@TCLt}WlpuYzx|JD z5$lX=mqEI~D^O~>sCKeA#WJhpy9pA!%Ug=>s6xZ zLF5;4Lh;8}l`et(3CVC7FhlKK_2`~`E##c|MqVJHWE%;Vkj+#W*WSf z7Q3eyBuUE8>MODDNNh|(GP3i0!$G;jA^{ObZ5IXqi^{U$-;w^(kG z_@eL5&{#({&oav~?$w=}Qku&-E}|ZWJW~_>4-&X*ZmIn|qsCFzm^ktc(jIS-t+Q0c z52H_d0Hue8QQqxYa44c%r+X+}fK5M$`qaZXWs7M;Sx!C9C;k6L+67?8-9!+W`kpK; z)kqKpd`+X~6iqQA6A#=7#osehXeRiI2pj3iIbJwg0>hhmjVcnkkFcrkROm@+%tjTR-V5 zPZAb3>I%Ca=Vlk?K}UTn21^?kL8waVLCW`UnjPMW>kJN5#G{t+LBb}tBecGvdMRpB ziCCVlT8CzZ+M&1!O^i6tyfl{;$NrJ8=IdxWk1lJzwzp?KraQ#?2p*1L^vPF({HOGQ zXIQ7-Lj>AUtT&9fVq$m1JH4OR(UOYkAx>bf=_rMlRw6R`@d;KO_aq*iJZQ=`P#w0L zD8c%e@Z=3aHn@>Zko6z%Ph+cePMJr>AP(8v%c)t>NuN4^y@{`rK>bQQaiQV}g14&& za=`=JDxPx@T@5r$lu4z3jJMMLwT2@DuZ$T>M8H-sl^YYEsoSh6(OYxTBZm2#`IlB$ z$oZrAe(tL|>>mME)$PtwG8TUtsn%!xgC!#YyXyE47S%-BcXCVvvYx55f2a$7aq#_h z?Kl1?_(QKJlr$a$)xSOuI&VHXRFfEG+nZ^b)ke*OrN+CHo5405YP$gR)|kDhLMx^! z6$ZbeaJNc&c{vLkVf<#emrTVgb-@ z83TOdO7X&m;RNvii@i}nx;!#mi~IP9C5%c|NMIt^{UmYNdP5DrNT z-}=zC@5MBON1zVnHwz!YvkB5XV-<;M734i_d;9&{RkYY~qverOw*(TzCujL59EIrrHa+_8kD7bDo%! z1~Y6xQE@&TAVh&_Bm9y%+`YCh@sOq4e>#xUYeF8{G@eBU+muT!26axazGtC ze0$(GwW7S+PTh|3dk+1AWMsM$w>=u#r}YBl$#(K45tHRm$%U;cW_@c(eJLDTWXfD; z>rp-pgG6kn<<-q_7gG4=n9_79pEB1AQ%kO$FNK;?{+7esn?FIMI8*d~ZI>2bcJnIem5%%4y3blX}`v+Fq z^x1(Cr6b|eU*qv_(eCillUwB{O3=5?YPH{Uz|`OKygEgO-~O;0yl4{OaO-paTCePM z+X2d(W9+*ZJWu_~rcGq8@yYZfA~D_*poP0J72Vftjk2Z&vFdDS%xG`o*sHdB{+8*^ zs&`l9ZX=){%ZD{}&@`y`vplr+v!PwNsNncnQkpVtnkqcg!*@)TLeokh2`@pN#Ch5_*1Y6l)#S!lmU;PxlG&}gP&n1N0lMWGHHt{w`CHt>&n5uv06v& zX~fjDhlcLfJjUy$+F{MBHQVSshJUDVpXabH;JL`i2Xf^ksWMEK76n4YFx!+dbj)Mh z`r(>7#zw6I=c~Gpx8~dWbPvyL5H5m4^bf_|4@+#q8@ms1rd)g84)tdfyxtb?$070w zS3=dY2gh#*i*)C;aoc(kJ=Up7rQQkR%2HA8G2M=o*NFnd*W{Qi{ALMG&{0`f>+W3x z_49#ljnSjP#pvc^d|FO|h@+LSZ=%uQ;j<&uZjQc2UcWsV+xIby>0!c>D4i(aVBcq4 zry!0nKp}th3y$=;&ph(J+>2=Vcq==*3^oF8-222x6aPc~o0ca$P{`A;ZbQJ?@{tK_ zR|28rx$HXj*xvWNA!6579)2qVYacl;_1;G)G~;nLe73CKX|^C zxY`7%zq=>f-HnaK;Qw3GSkyA@|28FG=;=8}{+F_mAb$#h9vl_hZJEno%LBXLg&TBt zsVlbgBO%7iAx_E}B{gox`;wRj4l$O!&=SlxX1)X;6oLk$*}PpmXJ6K|zP))$J+bUm z7;Ldm?M3X{gg|r;t%m5xVc{s~o+!VWoQMIGm zC(cmNtt*)jGlk7dZ05Q9PH{?;hb0qh|@&aKalkApn>PUig%}J;{`@(=YgjKC!vKU@lBi z*XDevI6l2u^nY61`Xxw1hXRrGt8o;R-|Dv-+kI-h`q5s z3C4mmV?4oy9lgo-lJL99awLMG&2B#H{ouCgqKG#+koxZx^|4>6MI1^^0#8vd3S8cu zj0f0$CC5-*quAdMk!rO00h5ZBdbrUU4AX*(= zzn-?ETaAI#Hu!%D`!7T;ue>TOaTf}Eo=StZpDKp`P8)NJ@N)czM7n=A;s~3P3OO?E z5u0CJ-2J1Do;0TNNMo(+Cl0<3&+d~_KLR0H1@`vl?W8^wO=T@zFCFM{9oH%4MYbN- z$Tz439U0b$G!~uH!)&*{n82~GuQPW0x;e)SJH6@rJ^r@GDwMpP^~rEOYdGhj+^iCUQ(0o^$XK(FcW3AgA{>kXfwg zuCyb8Fgv32pLg%R#H-BRkigbg!(sl5oeWVgjg4FWPKS(1Y+tI|U5D&_*fZaZG!_5b z#0Egla1IN+4g$^d^zv)1U3+o;QY9 zUB8j>De~KStUqDN@7mikKil&up~W9hnl_U%-|Ms;FphsaFPJ+zCa&dOh;*wI>?iMR zAx4sQ60VgH3h$0mP@}a!9FeboQ-~gFlxW@`(}X8qtWA<_4Uj!=Tpgk204-c3zAp^B zE((xe;KMbLWkQ;f|3z4dM~ZMt3tnCA!KZ+I7{Xd7U7LgJ7u$M)yir=rzFvoI`?~kb41PY zWhHQgRA}&z$qtKY*EHKh5zovG`nJ%H+pX%-Vi?ETRVMS$(bF_v-sFKB$f`Cl1A&Lz zmvs8}v;$HiV#z%yE*wXBPbqTS$`3x-h`%ALQPIe#1A*bwwrT8aaHO^Q%MQcl?s zuUT-J!_k;0&b|9H?PF_z^P_<2Me5qTMEB(FeCQ>Bf=v|HIEOL$9sp&{U|oCjjqg5BXmdC+%vVGoKdL^eM~V3bH~)QY zZ`e+jx4wupYp%!RHDJ?2cQZUZwpbKfFruu>fteH9(yC0!WvG?xVbg-4!0B*P%s`p! zB<$?u4M~n__b?n1t(w!6@y&sX-H9{jhX*U@97r%u9ZG!S_+&uinOOm*kv#ZLp=23W zq$yq&gCp9B?Pi=H^)Ay-@BaWGLEpZ(a9;M~pWG+!)A+f2R1*E+ZJOtvds6nLFa218 z+{b0jK={F_SW5Xa^j5o4p2sLX0u}&xEG#$k2&_RDVkJAg4NykWNijOOdfP2mZ;P_C z&pN>|N#8ET6)vuH*Q{Au6BZioA|njabX!e`b2~JqH8&&=JWf^c1Olc=k2>nm?3rh7 zlE>}V$(7@f`zjyap^kgVSYeJJK;Bc}W(MxK^Ff(Py(hcrreBM$xc}ZK-&}WZR+AY8 z1TFO-fZZojICwx##q-Wubd@#+6u6x+B?i1dyZ7Fa>`!acLY-PVO^^4d|mAr%EHkxdEw2%?1kr@ z8VYc$-GBH){WP?$`X|ObE-dHRq>%3?Y}G#fc?f3<=Zu4gAY^1@EL*$w5V@cJ)a;CB z9Gk6Qzq01|>rxJ_=V}?;!nynIN9B!uw@OfVb9UeT+ps+0r|ts5h~1wn z(1H3yM7bhlGT8n67k=oz5{SOAVJ*P9=bRv~NXGXO2BZf4>$%fz;N%4Qe{0Tr;kyQ| zzUm#jeU;_PAYcJN8I+8sV+77Q_f5;?`TvdM0 z24rSnzy&5JoN#z{;RR21Z&SPOy4&~u=huEV56|o4aYejl7MmLJMhA>G^v_Mk=nJfL zsRjthIvXzm!MH5eTE2XNIJw)hU;XM4xx!rK`hmP>KkIm@zXMmi6)Xr8E+>WmRE7&A zat*>8DOm>fU;yl(Wg5$+jIf?{&4s}!!RelT_E8Q4Py+)v)hlJ?KictTNi3k$&C9Lj zau_I$*F$m;C%7oJ=6z5Fd~rpMuMMtRrMDo?zu+m(k=8nN37u$I2f^471mpN&2k%#| z{z>-vFWlg6A1qxuDEjx+Zht`;AAE$ekk>x)L4s4>562CLdE7dxTiYx5;IqZ@l9{{j-sYxs@d6gy*Hz=HZUk6iZ+EMW-*LjG-Q>l?b;(VKf@A$oRGcsEiZLf(*ttr1sl&F_KP&!+3twtAKJisl6;CG@k5|9`7p?xVIzJaiF=dk?#CbF~6I??ryb_BP; z?~XejlKcW?k^iCY$ou|5lGnwTu~tKjNwq4k^zQlG%{O250H|#%k3ezAS6+ru8Ulp~ z;O&3fIJH`S*z@5W)%h2))Y?g>3zqb1Kz{o2lW)C)H`0d|%<`yjSsV=&h9vg`lrmxAM7 z#{&ll1OAk!94+sHcQ59VTLyA8-@PTzOXQFiZRk7PNGkvc zcG%I1S%u-@VcGX)fAS|U%Kqv-TinwJXv1-eH^DEiat8wSVH<|)Jj)hky~KLxxjUFbX3N} zd5^*XqqSj!nY0mO5mr8~AnI0q)o1GpQf`hgZwzb`N(`#&DiA$YEO4K}f?q@xo%X zcf9?g?6t3buA3gl{b6xV0-j=tG`*uY7*%ZExMJMwgDC#Ltc&0 z%ubPob_jYfHYkf%{^D(S^W`oM&nX>){KqKV7RyYPL8$bUgBncx<6~80W0mY(?|hjH z_)w4Y2b%+|rVH|AHu8`b{o&TY>t6SKnH@Vf+qP{)!0sdh0AA*r8&OO9?MrFOJmDap^4kvnB@Hlli79G-sS{x3>Y8Y zhmY^QW5E~kfquFx9+0a$>NT&&7spt41_n%}x^^XuO>su~#Q|D*{Ryen~fwtX^^1+8ZWMcc>-~A1_#qn%6CIo%j2Hb(C24zZ% z>2}@qoCkmLUc)AvFHf&r`~5rIERyR`{$U2<*kf1KW|2^<#}zs7g**CS8F?MMrW{i( zJq-N3;6UEC)(H5ssx_@q7y{EqKo&E(CjgoWfTPzRGk)OQ)!4Bd1_PSU2Mjc9SiOxa z<)e?5HxJh~yyEs3x7;Iv!Ju4WsRg8QflcMr4X;Yj7S1w|HcaK3tPz1fwK=7!aN;Wn1WyRrH;8&7H*DJ zR;*Z9KYw`qe*ELRf ze^1hv(1g488vX|@Hu5l)H2}wkbe1oNfCT{Ma5Ab65V+ui_YCPrfSL=5FJPTN6PB=^ zfq+jDG%#53MiPsf4nKTZ{VE(i<6h*Wk3Jz&lf7@I6%;{Qta6? zD))?c%Qxa*RKH(~78pElK$W(W|CEK4vVZ^8XJ@CKw!uvu_w;a)SSP*cSRnz6#2$Tg zn=BanwG&7Ke$t7DyYl4ZxEo*IKjAopy9Rc7}1q5ZOO&uu5f6XH#E^Bf?jcCn5K^sb%hMflt?h; z9%ofP{g0;-@O}%NKPnAk!*d3C)Ro<{WfxuiK0Wy%(6&+tSO8E8CL`(ufq@0f*9-q@ zI`p!#;Mk|T;p*eqV|CI&rk9 z<;!g2Er&3LeC#-P@c7-@wM*UjISd4l_uc=v%z*GQPInBFw;e<`S6|boS%4ttBNnXg z&Q`Bpn7!@~pXa*c@#Pq)L$^}OMT)-gnCu^1dXBrLgYjcSy>88qZjC5N8s38tC}r6M0u}%y zK(VUsA}~DsC_dOR*oi}LMJ9K2;(~?I=pn=_#dxAu3 z^#5(Q;a12V7ZkupLN)^k9E#K~lF=jjED98yaNNS#vgKLswiPO%qdGy?Jmde+7lPN* zPe0m?QQz@^F*>~EA2O*ur5cdc4Z#EgCcIB#+qT+^3Z)4F$LiIK++s&iisbr{bEB8x zBQ4s2kG3J$$mC^P6N5{a9--4x5NKN|1S|k31(OkVf-?@ zM1U|Q&#+I)?9pynRJmNKk=N^P-@bkCE?(JS@!oVd1_&Gz90IPMxUrt) z*-GKCPCxxv`6$e8!2zaG$EYTfrV{2_jeFW`t2tMlm4Dv6`PtUTw#$15cI1YFmn-Qf zlc8(kG#+_a)(>)FmJEvl z!)^6yyqrseDeWh0Et97XpsiHK#`pR+3zcCvnhva>foBMmL_iGMVfcaL${f2+v2xK} zDPHOHDR^jJdt^xgK47$C$B1L4vBn}xtUtgrh5k(Lb5RiRehGAf4 zn5Czum+AZb>*@bnPt~cjyuHi}^Pc+k+qFGgJyqv<>eQ)ICq)xu6IAei`id0`vc-%2 z@zGnh?2yBqb`0RH2n5v)oTIKD*cd#KN8bR>$4K+nCH*u5hy8TTo7e9S#{m{}t7EIi z4KNUuq-7n-_GaR(Dv*RRj zv6ls0+_96h@OZ{(jSTMackdo?2AoC(u`IJbwR`v8{{H@{Gq7k2mj919;)SjA*~?_L za!+O2wiBDHmM@?0RsrVC!$(+PG_5l!*Ed#1*jMNqICe~$&`unJV*?(sVB;a)U7t4( z%f>~^xrzljtM!wX4{aEKw1V!o4H_58d0i`Bke1iP!N4b61BoyRvAw>aa%FAK9~;WMaMJ;>P=hlaEE z>i7vPc{Nw{MrRtW^g?iHQuJfxlpbKWm^C@-zZr=Q{4pfBfTz z+-p|qXe`6D9z6smNEXI@*Fc=Xh&y!6QHr-;h}E*c#huZ zs-v%xrP!&dJfm(eg`I3vQJju?I|;z}!6r`}c(hNrV62{cN%CW0L?&{b`AXL zpS*L^<4-)}*8fIF_PVd~jL1x2raU`eBpW z5nlc>JzAdQMGncCEh|VP^TwYFv?)T46Y%*8sr^t@4sbsd;3GZw1oGpLZxx5FCuUL% z=!4FkWj^+G07E%p;lpL}<{r;+vV&Jl&p+>_@`>qn+3aZi?2)n3PQW9J6Hiz-+}Ag^ zyEzT8zUG<`sqiV(B0kTKgTx#Iuk*G0~}vA7Q-_v{L7c9+vR~f zxLLD$+;ec?+Pj-}X-yWMjtX>eXO#+7&L222jBOK)ECb8qo${2QtRNjy=}V@iULje%LF*i9Xwk z&9im`t%q+vB{a`jv*uTik_o__?PGT)Ml%8E%zoczt==;@;!fwn1<$+o>11wK3-oTq z8?5o0JI6j{$l8$$wDG+GJOjt)dKqZgnBN~UcIN8_E^x>4sn@|&%VYJpFZy??!$wYZ7NKc4{b>!h4xtA%PAcBz{0|kub zF@j9L7j*gdjtVpSQwhu{A7uRFes8~wStO^)IQ#E!L zEh$_vjF7szvHOfGtRdt@hi zZ?!Ku;emPZSNvI}0Hje~X_+#;HjDYv`_ zW7MC8H_ zVZ14TfOy%``SNwVSI9?IPHd5bBb?jU+h>;<^Ul%VslYJVkcZ{nwSKOcC*-BzES-Io z-nwn4djv4m^2~B)D1@!J;)>g{&;0Kz+$0N=EiRFBl0_Nd;Hv^Abo)DOdv1Gn#QIg) zXaD}U+(eR23Y$%35-E?x@pvV6@L@h~L(wDwbnw=}GtcPjmCzOW#WeP19^)C4I!xv? zl((;1He63SA;hVG3}`Ptu=IC-_aE5}H{K(YK<)pLk%^CkIdf(nwRGuvd=sFV08r5- zvG0u%pr)$Pz(h1~&bb$M<1@g0eb^yBQ{E98e*rj2EOfd_5Laj?5qM=yAz?U?zW;$u z*~kCezq)e(PCRj4i;TQ3DDQC3%o$iUxByeS-T-@fP?icjRq%lao|0-m;Yh*mt1=kw zjT@hJn-iysr|M)h*y{k}4Tt~D%YH2133yUo2V5?W(Hm|$e(KH|{vx?%&$fN*q3~ux zRY*OXwm4NZ6n}<$qvY|&x5;ai4+NXj7A|sw*uD0N!)w?s@ThbCft5wmSea4>`($)L zP9ApOmf(8_n>KBAhxCB6boC?x#)M8Fuu3Nz4DlMs9FC8F_&-->|Ms=-XNRm_Dq|L_ zRyaCXKe1hK+2v$`e1IK~=gNfZZ~?j_2iO$kG%(qzU5;Q=&}e`fkWF{<^fSQfKyg=C z{L@W>xJxhpSsLCk!=T`|a;3hKch%LmQw$g5wI*!X8y!^~8gMm4-oj}fFt{57s?sHW zjU7q%4@UfcnE=2U?ytbMfd9h}Z+5S5p{)q0Yxn06$N!UhZH6VkK0=FjhS#{|prH4YVW&PwURjHZ9USK5gE&nn^(S^mbMJNq+0Mz-~_$DSSk zY&H((nVeK;v(S}~_3Y)NIo}CSc5#79h8aX()WB%~)z(N`pJolUYFLW%R%^zBcV}S8$9-I@LGIw*Y zS+m3$AYG>R4nM6Kt*6|17_G;9+~OGAm(DhA(sS}*r1nRktUtNsK{>T=0L#_RfKoR_ zaY|NeXi<+z6Lh+GvA$kNUU%H_sC*;fIXN|MrZ@^ck+FzRopMeX>cCD14BCnb9VRk& z-~B}J@uR*uJzaC=%pZm$6aBOXkjkNx0Zs~RJnjJ9WFamGKb*MtzynWa4?VOASr_*8 z7y>`Eg8^d*k0vnbvyU%W-%gA+GaMpck3`^P8J}0)x^+-=j)}S6!9xr@MrzkisQ6=} zh=tzKD5Gnd8dEEVO+_;Rr(9SVOc+i$+AUkQXE)vafHL35|E;sY^VI9EyHjME?Tjeus(xrk z*$>UZvw7%r-uUZkY~tPbJRz@kb&12&Lx4c%`5Y)eoH8bKc$~r@C*zGBcG&zqaEu66 z?}SOk)&VM>>ImgfZS-LJYbAdKRW+<69gFZ z?|tuQj-)lF%46UC|Ni&ylE)DnWunvP?#NZ|)sp}i|Dqr6#`f+VmcxbSwH~jaMcCz! z#|=1knS0`jXaJsdNFS&{W!&rb0pP8LC!gHX5>@(j&ir|EdhmEa!^BJ{Cj|O90Pn)j za1*v`uf2W0KL$X%Zk0zL_ucoTo9tovA7h9=eN>{4VK8~opI*1To2%|_QL?{$6Sh>JIY~<%6*X2@T&qc<{le zTP#JcIqMEzCc5q3tzSQcekUGu9O_2OB}?XJci*$AHHidO$O4Vvoyh_>jZual%bhq5*2Z1f;2IG%zs@h+A2QiydwoPPpvnzyuO;`UeM7RHx;% zm*5G9_{gK11HtjtwVs|H_e>jiA%qWrTn2`>?1wg?RcfH|%y>}F1Ng!hzvm1a_@j$1DQD9f-<`JY@Gj&7;dg7cQLL zHB}q-xC$V&$MD$UAHVS3Y^$t1fLE-y2{fe=1w0VQ>+;KQkxA@5?y-dQsSE(P2me!f zAsc^wjDv>K30(^O`=ES=W8JzHt#4F-=f;g&<K88>17iH8W_FglB6iTtLU@6NvZ z)gL-=w0F7!bb!FkR6qLBec6}4{CznTsb6HrofzZ-e=kFvcR{yGDowo*K8_)Ks*G*2@hsWbfEA8`fuUCM z+BHj;tXjFKcWB6$k!K62jRaN!5a4VVESQr$^2jsU=Rbe7E7Sf`d0oL2|AXA%!59;| z&;G+zSmBT#-XPJ>LhDKeU{k;RgiSYt`UwKW-o1M)JNB5h?mDEt@apWd&+d}(*eshxxdWH;_n z`-lJYAK7iUJ=`KeBikyNWP%18WH7OT;r`3Nx>QykhGjV(uWjiBK=ll$s6i;I5y%Id zw3aQK=e`jSG`8nwcRePjucf{KNPaqzfPQ>GT8Dvh|I@w;`_z_!x6P;0X+EAOaN=O; zunsE3+Z`J>ZVAQ@PMTc5e)U#Nyod*$lL^EJ&H3|ZXO~>^qYQ^DA)pNP!c}}0u7vZ{wI4zM~9Y=U+<+96$ZvR z{VR4NG&pn)jK|!a>E_KlWJA+N#~Vfu;bkv>p^HaG)Y;fo2jxQpl8RxB9lDE|MhRY( z>+i=$fx5E`KmJvDwQEz$xGBce{HMW0jQ6NN_@RH!9(#PV`vRceJwa|5S^UO@EzoON zAIe83f#vRFjycqQAD%kgym`CZChCzy3yc=g%H{ z785-31@EZ}phddq-#`8ESF-D`zt63XfrmO{j-C2k?W6(pA^)~*d$PmVEzMr|!b4hw zFtNG)_D5YFs}0&Oy28MTfREAdkhl03?o$}+)-lWv2K0G$(A<%%HB&P$eJ8YFZf)twtSq>gB zT6RJZr_mO`<$uZ(lYm8w=E_~;bJ-vL*Dq#w-Sv2jK4>%8G|P%&3k$=E0GaQ+^ReuA ze)k`;hacIPtysRm-T5o5*NZ>`y5i?3;$JI(4)p>Z{oJWXxH{+q;nrIpb_d1iiUZ#N zN2zZga^(Rs`9NMQ(RO&bRqwIG_WeLS#^@gg(BiM|1Od2sL#dMX$ZnmDI{W&)5?NmDQt8d$b$!v>rI zV2$xq&;^ayVJHt67yZGI;qGIG{BFMaKDQx|ys;bk6{jC1j{$az!J)x};a0jd#;F+e z<4J+dgT~O%uo&@q*~X`y&3^CqKbL*u8#g<7DKm{A4KeeSk9pR!95L?*zxr=CWbYRT z@#K@wjyr$UqV4KPkkg?0pkC_7aDX#p0<|YQKrUn&l0cpZfk1RN+eE4%ZKM_LC0p-(V=PJ5}0pIvx=T_s^( zAtv3j*uvX1s9`_AQu&_6z`)=VOad;y{8lVM>;^p>h-b^APyF1Nd=L+drg zJY#Y+G<|dWvIib~%H1skW?Yu+j5ChU9T0Ducj)7@3g$A@J1|KXBFI&1$ z?tX@|zxdSGvX5P;j|5N`Gnw?5#UBb)}xq^9Br>^NXt@P|62ClmY-Q<>_} z0#7V0tKO{6_wMa-&#oVRY_lv^KjMgS1;mXXd0xL~&yZ_B`>t+m`J~cV=~=R50bWI1 z@~QuEY5yla@wGubQbMrs$d~a?5lE)j*xN!5Y)_cJ#^@XP-b<4MPF<<&`mn~3!;T6E~4sH07?a7|h@(0mN283|LWflDvB zz#Zu&E^XbE5^jSSjpE$7vXlGC?HP8-!w}K9!65zI&%H3a>grqNE(Fi*)sV8jh?Sot zq#@u)NCPq~6vv6L;9Ys;E!j;s-J6~M@?*0z&paV}!3$QoJ4sL>e2OAy;B~1x?s!aO zyy54z7R!`UG~7Vx?8#`|Qm z*fzPd>uHrqZA?DOR~dNXGmg+*7Bp;q70nclxJ+r}^{4H{^Z0>*z1ffCls`t}=9C`F+EP|GIJn0-`Lo_| zk^|%T!Jdk{?s`P7jr!MJ8J|?0wqvY&=gwzVr0Sb8uYqO);C0cYrceX2l=)&f61f;* z5$jp1DdKMp+1$Q4*>|tKBYVd?UOB$QSsmH==e&k^O?HI5TfchMLU}&g<6ehC^LOtaazE^n#%qlC z$Z@+*Z{F&5+++E9?%ZzY__+x!T6om(_!G}%XTRkoZn6R@pow}+ zMDY4wcXyxUi|L0oRe*JL9}lA{nxO=mtHa0Rp}lgdvOGq*SN4p&+KnIF!9qXh{qkw< zP8O>Gn2e#X5$xDAlv+vZxK)ry5Js*cp`FP`nD9toPuG|J`TKHE&yCsf#~+rRc*45u zsH0ZPv-?HaJQ)|=d>$e6Mn#q_&+c@~?04V&WOmz6A9kx4J9iDZS49^uR>zO!cPlUX zLL^(B5V5ofxZAhy5jodnr=6yck4W#Tt8SN5I!CkBtNZ1e2>F*1ty#(a2f7llcLUIP zQ&N*eM}ajHfR5_!ebd-;&iQ!17@_s!7h}@u!XU&BBz8!Xk(S16;X*tH*qB}O-8-^# z&-pn=5_MP+IQ{fv-Cf+WrE|vbgeGVBD6h6n9Ta%shr3B^*29Xxy>is*oj-fjfn%RS zue`p8_vvvSI(B8lfbSJYgV5L4CturJ;O@#{uzA=bhGa{HXisPal!T5cg$sS`_4#B~5MZxO?eO9Oap-%DmXT-hY zxqSI-86SJHAKq}6$aA+$9Px$5`7$Z&kqM%HS{PCci(}oseNaBMvlEXI+@VG|BSKdz zusKi9-DexqGU+NvQLD$|RaclD*c;Ky-E3f*gyZaxXFS%=@h<_Q6qB=eT zfDZ8*auHlpt{Q0e05l_E$~CZK*A_Vfc*bg6*z&_c-_G#aSRELQqyM3-=m#Mcr=Gar zrA8og&g?SzZathU%K0q!ZErnY>iXP{Zj?`Dux%Ar>14;DI+zGxMPQ{Y9pf4PLOB3N zH}|Pgo-?P{-K8yGzA#(0O78CF;Z?gaar`4LRx#m7)B(paU@h;WwB5XD)A%aeW;x;S ztT&vR9euREN=@Bde92AOPWe{+T+tbHtGuiny7FLUQk_D#`cpjMDt?&Pa^Rpm41SzQ zEg&ZF^Kww0Ft!|30Qaaxyw$h=<5pM6jhM*%imWOvUNm2v?QS&Uf&@!$gAP2)rpP z;?yrMNB%nYZBTmntnYKr4P+;tczE{4H@?VLXW#zzt@8K*oBw9JNeJl&KvR$*U3`ih zuOm+Z$%B?eGXXegyLSIItZ&YuLuChb@3>LHr@nFqh8JmBY+C>t2q{{&&f*BPEHjR| zXQ_AH^=Rv?b>96Rd+gfmtg~JucS_sE39F$dt&q;-a_SJ(cv61c$z!K9?)-6=$sg|O zcswdzE97K_da9BHywL8lA7mgs8$&NJ-fLv%|J&bwx?{yx5Ao{Owb$M$6Baq#5!79O z=)^|bgtGk4P6qPn^n_u&tH7er4D_+R`;jE0~c>O^>v?2e~v4*zCwCd#X_~^-v&t|e&F?;cgU*OntvVF;=H@TyZp-a#rZ=`Lg z!w2v&o~6MwUPG3&e+7XRP2AEzGXZF+qDf4Z2E@d#Qv<5IqmkxM?ni_Tb{?yttP|TM zYNjD8jYulCZGpprNiZYe;IS!6vydR1i&+RzE&2S4rKtm1}#T=nS9G02j=|X2Y0(Fjvs8y{Jq~j+db+sMfRWn%bAWm>VS{WDqk#{7yJ6WyCI&ZpPG=Q%apgafpk)_NGI>Fj;(US zH2;zs@I8{OZVDR>w66iVsNKV3oY5Tze(}p16Pw25z~+n6Fj909sW|2<%k5*>DgA{n zT;(<++4|SK<~VoP`{c%Lt-D(oCJi)>bOw26VU3Tad*G+hwoD#F%#fYggYrCkZub5^ zJSW(=g?$tM|KDFBeKO`AO`xr6w1Me$6Q@;ufb~wprh#3@_^0~TmRa3vS|ky%?2qzV z{$Uz@9XcD}qYME{?)Zu%zJ2hy&t2*ElAs)P!4n%w&p-ba?n{0%W_X=oq7>_;US8!< z{;9O%4hfJL51wzH2S8kd2pq-ap~YxdJ`hG@ZM*6KZ~NfTpP`|#?0tW5w)-Xq#|h~C z-Dm#8tqkbikx))d&Z~a;KK9oj=xhIm{l_wS6>uG3nvm8&-a@D0n$kuCwKX6gkeTqZ zTWZo^8LLsnMPL524gfe}#Jlib{zDHxEk^trM^cTL8phxG?KfpFma_piKDE`=Spx<* z1R50^y9)EK%vhlgfw4i`=Sj){=f8XRZaMdUclL+x`vtf34`JYB5iYvu`s|K7AC_mz zeX^fI-%M~7ll-SD1&{QPdenY~aZl?%>}S<2aeW+@BOm@if4qBK%aotziH|KUUfkzC zxeT2kP=`qW`meo44oy1Fo!fx@Bpf4_CgAFYv`&PhpyP+}h?oKSvL9iIAIG3W7}6|{ z*>lRym7{OsaO zu6Kt6ktPhstXbXe?pHqd>XyQBR};T$pE59{!8kNzYT#Ih7&I8C=-GM)I1T^619GB` zcrEd%O*^u8z3cTERzfHnp8aFv->7N20V?PNzb6l|pV--G;z_z36*RH&z!IKY#eXv$MkvTj3@FqFTpK{zrU0&GDfy z4%dz{tv-Mk>Ls5~O%5zSORtC)`9OZcV?6AY@v}8M&0+Wf`X-Lro0sOI)i{19K<#d-n|BH*=&SV%O8Y7$#_|cENE$f*z(|rjJyQr}| zsj`QL+dGr6+%8We4Fg3UWwC7|jbxQ^3+ufcmR6jG+>nE~PssDxx4ikq*}LC$h66=8 z>T!D9pa1#SWOLh~yo!j|{%D+Iiu*55M-WN?IsK3ADbu~`!|P9VgS>Spx+>D!JIgKg zfBLV#)q1Uzx>+vgJbe7Zx5*gm%bs~=hisr!$tb7F;O}fvuKhvY;Ky`PY-Ot3Cte>y zbzDEGNkLf|@O0d0t1_81&y?r;+q08jv?2SW51i|Yp$on$`8R+2Ew?XVfxJ0_Yp*(h zzYow?KBycji;m@V->RPRDq!lfFsArK$ZdE}92v)8`n_?E!}^y<}%<@CGN z@=f+zofDip*YA247vP+u+9ge+48|yBt7zb>jJlUHZ_rRz*0!=bOE*sA?*B>o-u;=c zJ30Hv1?RgJ5Zt+;9N|-+x-|RFRkyg00ns5&lvm7qU*=Q&V)>(OfbqZZjuWtKH{&^T zX3IfN54-ataMB&hISIhQJTH9V>g>DUz1^L3hsh>ak}O}L+Ty7^l#iFg%H-3E=Vip$ z3PV^x*(iGm+fGi~2s-#-)8A8@p3RPwW0C*tlfNpPByqZ+P98z^^Z$5F_U~W2-Yxyp z`Lk{1T;cT5hLrOMrY}#oiMWs#hXHlZ=<8efFL&N?*%n|oA=E%K0SNWcsHY)g*#=Rg(mT18=>{nky&W-Erq5lI@c30&Hl>3OJm#zG1^^ zxAT41u03wmK&4jWqlS!WHRPzLfn%()Ydy=5 zZP_bcah$tj#a%7R==|}u!O#A~x8<1PMJ;&ZTRsOvI@Vp>CaM-O`UL@pIn9~VE$8#! z=gv&Pw*jbY=yC1ZrP<-@SIJSqcgg;WVS&|G-xS;b2R-}qHAtaP!7%PyFNcGYYRKk) z;k5*qm_`v@g-!pr&K(d>$=5CqJ#=~Y*Ps3k`KG`EH-4zgZ++`0*ud(A^-Se;teOaMBy=clRNM;~+6tAzA9YGh!* z{BQh%bjGqSdm5D@c<*FG!v{S3^AiM6(mNF#pZX*DNY4WKeDATxta0!(bcY?bOrGa1 z&%XbIpUE=#E_sb`juU}&s^kK26^xhN8t^bpr{kDU@*f;LURA@g{~2ezC~*Fi6`QvH z@~^%woBn!bRiMW`0x4n(9O|nG=3pvUCx!{+UU@5EmK)mF|L|@(F>$S|lq_+&KzpGV zH-6U1_>m)ow{F{!&Fk-LsRDEW6aIu8E|sRj;EQNtb0b!XuyS<# zafitxqIbG)5!jU@ye9dH|9+9YS<>xZy=9vqLv;X9`~y}kl{bty z92lJZs+Cy!_pb~C?(oBxXU844PELV)AbaG|&2kFf+_CXHXlb0%sN!EHeHpHo8;(LW zS@NTi&GXX76QG4nYTLID$cKftXKy|KRoS2Z$uG%Xh?#-Y`kvgee&Q1s$z6XJ_DP6p zaEh~cRC)UCm4Mdsf5M>S8v8r?`g-JJQp4E|H{P3_ARp(!oiGCX6_bEtj#(=o6S`l< z&n7vMvd`%jI#4(lwH&|Iby2#wuay?Y31DojHIAc8qOSZGjya5VIoZ>F{`m1Hp3PqK z>JzgIWv|1E6${;j0OJMn-geu=*##f@7k6k9-nhX@mZ}TJUXuDL=o>-xULC7$6{q$8 zC->ZQ)pf00lW1w6nE_ zo^9`pCnsMhm(Qi;_Vq|rO%haRU2?bD?KY+1BQd}8-m|m!zW1!wz6bKbo!cM(@jp4| zfz=MYHVJ%u&}PTu_568r+_?+DMNr*&nyxVM&rTXB1NH7>?I)t6JT+lpe-_2W zSKKb={Bd0N7Wuf)d*1bi?1LZt1=-o(E41~o5%}Pf+ZTM~%d#r+Gj;G)t@01mGH+^?-U=iCdsLQcTvugRIc>T~R;5|Kp;6nUEvfoXK7>b=_UX^k2Qc#dDc9=%l({Ufrcw+6y0&e_kdvzc zAJK|yKR)NYMUIlb>Z;r1QPN>dL zD=124*jJ>L&xhBK()DE^%C=$r;NwA?j^q84xm@o*HQ-~&?OrIpE>f#SAOlDd#)KOrq-D? z%>NQ+)ZzS5Cv9=9A$65o%h1ZyFYH@lhB5Hk4QLPBhCV22e;Hk+QQR+OxaD=| z6Akm`^|~+cefQei-RGORF%Y%jk7wd|V*r~=@4kCu_W0vZJLe@|>66DwUNdD5ZJgDF zBhMuy!M;O1WL3vM>b`F-39$4_ciwr~4y|eaQv=Ne zfSPFHNo(Nblh0c-G&JxYx%BL@Uyd$}jK8?u#fb|v_oFdVVbYTX>lob?9!Rc^(!zvk z4@_r_dNC$$X&=usulxSb`#WF{>WJ`OHXQ%6TXtkyw(QK-AHFJk-|wHBz3Vq# zE6=O_PIMS}9Px|ywEyvoS7meLEr9W5e-T9WXJxhNSZ3twOc2obVc(`Gu}u3NyX|-G z+%4_dDc@??Bl^r-f0WUItX1-oOHmAbj@Kd>lq(-~RQfoeSM)lXUH`+MWdj4l*-0lI z-g?wRc(#M2dGUfksO%(KsB&&hs~ zV`X#WZ~o>Rv-iB`b#DIx;L&DWBlz6#r$2pJ_RnAWu8f~Ka#jQ$8}T(+)!$^~W*?N% z0F3;#etB5!MY%2)?A-bEKRx)s4>sjtI=iHq0CaZ$PigB{uRd;VS69#P%SEZ*AvM%- zp_T<2Tzf(51)iTI*m7epg?#mdA#`w@EU08KaB!mi^6vjnWaHnhw>*^La3H+n44%02 zfqXasPeHK0APB1gr@#D|Y;5n0?7sV-%r?nubpq2hXHKts#tXUN7}d!7$p9TV=*1yb zW?|IP;yrzRl~HvyLuBq2KACg+&&X$2*T|0a-}v=2vk!gn7iEX~A&vy^`oZIY2R3DY z`r$8USA6G|Y{}xeZb!Sy6>xKHwk1XBdUA)xT4ndfJIv#`bGJLF3A%pA+g>e`u_Lm3 z?s?oD!o%m!kVoat>(a^!`Ko>vzMVAa(vc#DBZnisPBxa_b=Q;Gi6Gzojl~l1ZMLy+uh_56UYDO z*It*s|NZB>$6*dykSN2QcRrSV^rK(NejpQ_rAy|!Jtk;7L}HJKy=*>{ox~Rn92^h6bMo@vgfb&o2M=E$;9aydpJ6 zp6}u-adHRiOs#IHBlY%TFR#Z#necX7^zmBXw&(C6mXU0&tWNyG&%aET{7-7_NVm(i zpn!M$|NieUcaC)Rs>RY2tXLH3$n&g9L8i$B-*j&~pQL7^Q#I1}TGU;J+NuNPhC%9k#kC$W`HovMnn{K=)4eCWRy!F6i6*LtUFplSD%Y2Zz7{@A z);JcCr$g-So;4<~&UI~jZdZ1S+=0I5J+IGR`qCp?Xf#wTz-Lc?aQ(gRje>_B+L-Mc z*dy;C>+9FN61<1$Gf{qeBKzr z8gAtAN#8Gs@y7Br9Lys5@*h6#L%Nn9%4{C^Re^K}*A6~$fg|H*Ob#jPTE2W?_CG%L z>uv>xjsQj*=Y?M>x7Pw_+@U%22L){o-!iLD7+N#1dWMhE5c+4Vy`u4@} zNcO5%ogiPFJiRrU0c_kyk3Ra0oEva=_T6jm$R3t`CcAeJ$|O=(c(4+pW2f82qk$rWj>(M+R(wl#3hxu5)F z*>Lj-i`b4Muz34BO@|_{5Q(81&bDqHaL>_U$loSAq48*dAvTt9&JR7bDZA;W2eR9K z`f&E(gHHHIXRGg9(E^$$t5lPHTO25zwje^S}d7$z<)G?DpFq%^rJfQ-)U!2j$EG z1WYPjEaQQz7Z^)jU3e6vV+QqD*5~*^9-lMr@9)W0u2>{zUaXN#eTU0A7i+Usa^hpk zfn)sLa?68qr0K5O9IpZ~MJ8yOk;P1}ap5yXzd!X9X8mEGU94-fCjw(l5{BTjqe z-R_gJbI(0hp0TfKiA_fp8&f!881%dEe!?BZ^Mq_1d{&Y#ixc$Q}Hne;9fQ+3HcV|C1hhk1umAE}_ov$2sb$Rspi_H(iranO`Je0= z7#O)o?m*6^p-(xNBIhs}ama5nG*Y-~*u&@Jcq|}ybX|N_d;00eiZMUQZ3?tT6?a|; zxI>F41h})>DzE76*fHpi8OEc6!QDgI!0tV6&q2TJsP2_h`j*IZ?u85c+@UMFOFWb^ zUP7kf#(o6cv2B$jjF&Fy6Q?kzwcKx={&e+)w3l9j0*}8L!K}v63pSwPQN&}9Ka;)i z$TjYG;&^oh&{l_>5a5~gC;#kg**7oyksP%1v3FP9%{W58s>BbDkBPNllu>%@bFQAP{<4Jkw+eq zo%YhBvQti3?~a8{8QsaqP=w26T0G;w`R4nwyJV+4miiaV20D4Q&n@+*^a^@Yp(pB| zwD7oO_wJEETug$nL_Kq+H#fi=8j`&XvaAiqb=DhB$^PK?-y)NqdCn=*In(KoARW8P zuk-EouKK&U(M^^po5r|?kGu z>=Dt|N-+`9gP}-Y`$lsI`b2=&F65L$jeb`i0sL(<0boz+%*f}ORHK0jYT(tc`Mni$ z=Ptfc4D?|n0jEIYY7HRkt740vf+bBlAHuMl`8sh-qX@^+#{K{V9DllF$L?%I?)q`m z>*4EGxM!?KA9F}{v@F@I3u z4@ZLcvEkGZAgjttzTs*{ibq{Nq;PR(-PeaD=SAW?l;`lUIC^>1f%o`_hQfo`=FRJK z$1h_A<(02E+L25-cswqFGr}@71K~J9fFr$9zV~v&4fkZ5H*b^v(4Fnzf#aUh2Uz}I zC65bmXN=W@uV4Hlc~$R`)+B(m%i_uChji5`;nT}H5x|N7HvD0Ng1%e5dYOC719|aj z;k9d*$o_$TcPGyFl2+Xq6CO;oo_cDVK90KQNf|>M-J}U`yI_wAc;i#qbo^GwOxNXS z;dH`~UvaQ7)0u|skU{kQnM*GI;BQSQujde8oNh*P|5eJV{H^276II6OFMY}~_Utp)P@euX&1rE#cZW?%yXEl)maF0DY*@UcU-mcjIpd6SIvF}S zIO#9To&A+p-sV1B^y*h1pS|VHr?g&iBo5(`$0P}O&=*44Bb3j5{_5=WpTE+bU0+vU z)UP9M{&5VLqSB7rou zT?E6vOw|LQPB~RS4Q1{zfLx!KT=vZm|NJ!2f8LTT>E`Ecn;OCQg9dO0fEdTCXxQ2n zq0Hd4ORF9DqDe)Op|7GHI|3MU7-@?RcYv_TW!VUYgcm)BtI1m50W7lQ>>wmsS+LoWx#Qd3uGl-ve-*Cgd z*=Ij{MRwcm54%+rz~a#ccC4R$_DkfE!AZfH`@m1_w;&J3+&6*#c<*n2HoN!U$8%1U zuyI_ZBfwGrF;2UA_5mjZ&_C|nAunV{;N%iIo;@3S#!8fqE#P4i3V2Kq5im)_YJ=DI{ca>+5n^bs$5+dp8$-=CxN?OdD%BF*wzM(GBA*LDZ^B#7YD9B3K?4cdF8)Uqp}fY(F+g z%0Wn7FFWm+?7w~dZLKAHv=7c1PMU%F*lFWXoUi`d53{S~>v{-y*Pj6sC2V@bHx3S! zj~ktR_KV$4dizEMClekg9CvU=2!HkIZ)6wAfi_E)%ys?4J|-UGxZiAD-86M$X|b#> z4d9C0`fcWMByH!Y=rlk60S_mSpAG1*aP0WEB`h4$kkQJ_GTFf(N$?D5qdpy!4tO)5 z&uu_k5ZE`YV>$CSt~04n7>_06@Y#`(oo9UKia*!E<*Pb274}5Os-bE4WHpdF13=8k zI9Uucrqi6@+v2+iYcx0sNMmbhj9&(8>tN`t!JCMIw)mDd(kXh@xY{&viNl!Xh*R*k zet)Fde#o}*sjYH!?}qHXzjan{@J*3im>~S%`g`P+#apxMum72I@XMCUGIw7uHf{y_ zjh?RdR9iz)3@Df*|8;aL=CS zei?59RMG2{`ep*qDLp;S?Zg=XLqmhVsTVGseY-;|oFL#rZr4~@L&N5l8IqK-0v-*! zr%`;jQ)XywUECI1XL-hOlmT&!Lp%#((||9dXJIFsrflSg_tbId5Y9_D^UM>nb?cV7 zM;}<(z>+rh1l%vLo!xoIqwehmY-Gd|KR#O2*N0E#;uzeKoc!!FtcqY2Wyg*^?$HXK zg=1CV*y9e9#}J3groY9)f3DkKA)lyrdjjsf^KtoP@2&1l37nwV)6*+F^jSOQF4F_s zSOx<+7OoE6GJ2?Mw;u^_2^J`!yo$^`ug}Dzdqhb^U?m%#|pa15^cmA2oF5?lymNvUV5YK^v5fHeQuK_=xpD< zL%wh~=+0Td!Ae*jr}IaBN>3;+3+!tP6Vr+F78YsJp#I`|!lcTp%2G6|<9}9pfs#R?GP7b=mv{(fw>+`Eo)K82`RgU@5z$S(Og^)ErUtb zSp!+eKv&U->tmXA417!j`52GS?gWmL*11$E>Ab%X~*d*J~4cpM_<|NsZ4e`sq}V% ze@XLA0M%l%0uYa;Cf~LOWI1)w-n}#WySntwDo>zYXAY)W9n!s>~&zRa&8 zLQZZwQ#tE=m(c38TQBF@K> zf?mwKiU(+__JhE-9KUM_d-X^Dl$)b>yqE!2qfejAc#9q-ARC zu)z_As{9A%p-x9*<`EYK&`65$rqQ! zaxl-hiVy4e?(JG3lhHNIcY55c0Cf5Ym_+;eL5<$t`K#o~s(YBryJE&E^0<>mJ@2UV zFeM(&0mI>z1>!SK!GZ?rt7uu=I z-oceKis3k6KsnRJ6qFYoWggBu%6y$Iv2d~DE_TqK0`OxzOVdM!sTe1$RmVZvsAF1X z%D0>KN{97!uR`cVLVk{ekN^w~yc*s-T)QQt7aMSv7ttd;;}}lmQ-^~(z@e;&F6(1D zMf791>BvuHf?yBe$@i&WP4V*LZa5Ys85AHy+U#)B|Z6<19V^7WVmseVHl^8FgN zL-9f!KWRwmD8vsj2@e>X4xu#1dgPd9oPsA!@@JfaWf@@@%Z60_@)Q9&I1Wcf2P>j! z`ouLbW5%qta5iu<8Y3P4K%EW=r;mmZ_HbG(zda!N18N=pNeA~n;*wt&HYQZt`pPE3P30J`V_YLoO3?j zFCQmaqu&h2dG9bJ>VV+fnT}&Cf_K80kK)cFKQ9HoP6#|rO9N?pmuu4&j^&;wj0zp5 zg;aW|BTiV0TpG{A#g5t6XbSkG!8nEi4b)Z9vUqi1Q#3uEwz)_q<)ymueHA+vN>rd; zR*QaH$yUM|`c|Pyz)1iGaVks}A2eh7DPH80l7VF@Jk}iuaZ3NOT5{mXY6>S+W^smx2bK*E?p!2g&)D)#Og9sNPVDt5Z1b*x?Th6Mfcfe~ z;Vel!?Wpaf0Fas|4xLio@pvbVi2&iln5zk4spc?&u#ViOQ}8IG^Y^@qAdAXFo_VO2 zvhr1}l46~-Kq?a{KB+QGh)OPotC}QGe|}6@`aWIOZyqX4(a0mNq90;vPVxK_bqWS$ zu%c^u7PY^gMh-I+XZo7J6pT#t7KBXs%hqS!1yn1A0 z4_*aqCID7>O}f!QyBg^2ows3hbZCXYL#4x@0|_Z|C4i+qPdrWv6rU4@GKWnE!c_vo z(gA@N((1^|R~aZ5V$xx3>#EYqOZgVV>IA{cnTMrb80R6XOVWMe@jx3emWNGy$S@V- zgtckCd0Bkl`m&HhKIi*T>)@EIQ^{kbOB64Cmr4vc6YD%!&KPwFj9H$FQ;sPGm!d^E zQt(A(b@>(Hw_9F!g5crOD>vku?^9jv@%rI)Obm^Ey)U==Ls|}vT+-jaRNh?5?($Hb znQB%5I;Sh7OP(-Vq9z*?E`ijrKU>rhd4m47In}S7I8BgNG^uoMvb6PIy%)_ZZ zLq~!#@~e*FoD{x#1ps`?95@{{P{#4iHCk1&9I!Or2 zLp+^Gh>kXdP@S1;CIFq;?^D+5fq`wu;G60&wARR$GpI8BH1bt&;6m6s7TnW|opYS$ zgn;ePd@Cmj(8}{vhodVOz)1z`Y+}BEhaT(e5)MG+V4UI!dgXnTZ;PjsZilZ&3izbK zIE3&zt3!{tF>IU%FO~X& zjM#CfCIl%umIrC3;A~mU%hv6WG<04S03)w0H(v!5Mb%JOl{%aHPSt>Z1#tK}xu8zd zq2!HfeVt5n2!dC;xD$~tZi(k<6Jc# zua_9t=h&H(jkYib#i#$T4{!p2+ya8 z3gFcMhm!@;i}9@UZ{L~a<*|LMcbQdv4TG`ZQ823`LWIDo4x-LXpD-ei@A-d`nNqKsXkw^pxUhX;$G+v|e5XJVIUt z#NMT50x(e}Hh7(_0onYwOuqHLqRg4l=`c=d%sP@(y>}W#4gf}#b#)DF67@HxVAlUp1jI<5XQ!qrY$c@Lx*xLt&p#n;xRx+zY5r_02Gaqro2)EeSM1- z$ONFb*eHdbQf46l06+jqL_t(Wt%x9v9pe~|j>8(r5XKr+n-jW?fO7f{n|_ zD=sgh$#UW`AIF}ab<8$R3_C$UndV!yk^rqVKjI?BFAla}Q@jDsK4BcwuzB0RHqHJe zJ=CS?rQ2b7RQEAxRMDZ%@;V85*<1`8=K%}8sdBGJQuOWjvZnQtrbjx6Z9m%bFkQV@ z0q{l67EYUvn{h~AaZyJaj0wlOxSaK=7&t}z2p`kKgh+n9_=>5(+(x)gjGGBSC-(Xj zwOI_(dNnS%sADIhcb-+o2ad%XyR=|x7`WUW!&DnUbzXq;#x$lDRqhEzr zU(VPu`@Hg?V`sU|vy5>{dX`y-%`(KKXUlAww9&^!{cIf@(?$F&?Nl1Zy*yL`2s-<$ zem{gfi+B{36PtXQN9=LZ`U_>G{zxItvpkG(ZG|O8xguvC`)wFFC|fp+Y4^8CtasIj&%Fy7vPCmH7ofgj_r%+k&wngZY}EFCZ_eLm(v z2=tl0#lRAE@*zCvXgMc;p={J0CkUYt_C}lX&`}YOF=Z%=iHkVy!#rLnC+hRO*jC1Q zD&-}49(j1sws6R|%MbV=PV9)i!?e7-H0*2QSzQte`e8q^j4|+VefjI2HDT=O+v_`o zK@ReAta#ZK4&|)NV`_=TCrpYC%H;U+j(-!NnE-HI>h-oqfJv@e@2XE5~C0uHrt3Y_fF&)y7uL2%r;W{xLTH8+4K-1<4Y2du`KiPw?0OBwlH5N2r zh>Lz;ML1l{<*Z>e08{+KBtj<$fKC5!*HBc)av1zFK3WH3SN0Pq#|v@#$F?I*{h$w) zBR$bjq1aX*6v@eQ%2F1mWh`QeG)862?oEBZ10tG-56 zIy!U2sh`RN9q>*q$0R4Ek~Kn2Lw!pxTYvbrfI+-!~ss7<(wd><4{=E#dtQ)KCq`Xa-0CJ zhz2JF3X_%@wAo+e!`RA@N(0a0*K^!yIXr#pkg=~xr>f|svGU^p{4A|FAJU=DirP#a z(s_s2K4<&Um&Pf5#K4I{Tx;{)-7{B<9a|}7kJ|E1N;eaLPU`KcZEK%A0$AAH%?WfJ zBV>(69bsr#l(u#Lz>f1uG2{WGk%l9GT?8vPE;>mlgHcBn@+OC}*c+;PxZaqOYN#VM z%&IR!akL$HbGGRsS?nYMRCEGCdXz2XPiI3Y#-zo3D#kdX z6VLZU3d5HXuZX{g^r`Z33%ELci_^e02`*ez$*NxW3`4moER;3rvBuo+gqVkwmF`Qn1#r33Q`+;SQRagEZ z6q>#Gm>KIkF>WRRo!IMB&}Lb#!-ZqM0yqUkTZUvZw5p5*jTPe*FVH}}(yDg;Fz_il zEK{SCavX%ffjw1ApbAsUs6`IOt|){~Bn3rW#wnOkM=6NvvZ}VQ56a-mWTXVe_+<`* z*mV4aWz70GF7IcBPSN1xAdX}D%(IUfqull_R+ns^c=coGtyp(T$LimvEf>&WU)u6^ z(p7SRRyhyVtCw+XY*aAD)&a8<@BY#5W&!{$G@)$`$UC&F_U;{S8*lm%`~{xoRo9RJ zyNZ@_@P;K#TkpuLCkZ7!TNvpof^sbT@1Ii_LD69_E`qb=p(BA_s2j!>I+dP?6G-dR zQz!4ba2_+CDy9)TYfcD2!=_0yhG)5rz3wqNOg~~u(Lq1xcvEL@X~t>x8OlAs7%I#Y zM|n`cAxxMn)|-bT9mc+YR|! zXVvNgeIJmDaEkhtFeoQa#vZFE<;O`8M3G)RJloDbLY`$Fsyszp3l*37yfjsG zGnS2v46n8rotE|wL^`eIO?xM$ff+Np*U-SU6Vu2P#Sp5#@tIT;N|0%QieeZNYoL&C z_ZQMu!|lspp!^0wFDfPzML*s7?qT)L(&vE(=L08_{_T}=yk4b7o&AvS-(nfOZ2GKP z`x$)0AM}N?a=m$d2)4k+Kj1qeNE8J2i>;1vkSAO!1}@6W0_tP=G~d;QJN)8+KEW>z zR`2Lroj9OxKo>N_AIeqVN-N#R%0=P4^G4qCtCOa@q*W9{FFKaf`pN4S^0)gdqRnzh z>(i=3@YuWl&2PDIA!<7@G%Em|*z1#QGj_}l3=FKr1>bIfVJQow$+!#_byf7L@F!N! zcE@o$)XMeX4HS8#XoH5Y&+8(b-=n+A)$dms=$ykYhQq1e5J^Lum&dn({ma7XO_#btk z&)C*_zP8k-iR0;~y zL6HIU7iQ|Bp6Urgs-5J^IBz^sSo^!o>#bOlBApjukS1f`Bkk!FcH=n7@(BWf>Q55J zNft&`vc!mxjeX3z_WBySpl%q0QeID_UoZChErtibDmW`s5v4Q@I{hLnmiyHKeLd1& z*OX6XuyDk+v7Nl7c$01%TN-6)^fUXGaLkh?%Qa5xuB&TQzGgaOy}(=@!goflnE-S~ zKTl~Zc?LjeY-u1YtFWx-T2zJ$IMoxJmVae-#cq;t=a2 zu4kV5fzx5xWa1Q&xQskm9_Ner6RxPfyj-2NI{z3lUPa&}Acl+c>>rk+pRm^?4BD40 zgB;|CGUS2B@y5Pp3>enM{7_dO_HHPzKX_}K3BbYIx6{@#akwkxOIp45;>$Z1u&41V z6UD=X^neo@v-rZM&K$ z0y^KGYA30V!}1FI2aaDsl4L6mB6N};Og*A!-RM8#ghaJm+x!zD`br2^b-Q=4=_3rz+`}U`H2Bq4;<>7 zvDHdhx~r>mKMK@L0Ln&2Q*$b2tAn%Ve=QZ^5jGSB=RsQ z4P{GB5-bg1v>Q@j9a4C8^ zIZ(J11(fM3LpUk0u)69{P6P0e-OHcqo48MzXKcA54W5uIq~&=ie4NiwkpjS^^%Fz; zd=-3MnrZob-zp!UHxkI*d_H)&{G>tQyq+jq9zVRM!wDsLrR1Otd-v)`fxddthlW_z zDRDCa=#-wG!gk6X_lEWyroCX9#s$xGk#OE9q#>&6fdw8RoHr}!hfR&=-CE8!9P{wL0 z;y$Z`AHt{}P!`kj+|fVDu5N+Edlgz0;|YDt;2%ZA^_q_zTB?uu7%NQyrTNJq=wOU^ zdZ7;TwBmZ`rd&sP8pZllSkkKlm#1F0M0LtlqC6HS2wwMTc~Cz(I=lk=nuN-uc}fR& zNizXBxchfnS~q9T!WAPUyW5~08y=vhFUU5CCO}hsVleQfkz!qyEHOMBhs6o`#*Q0~ z9|oRAo`##;5vwx_R~SMb7JB08Shf_U>EN5g0G*?aNY9(M z{Aj`WIZYBVo($iDa&dr;jS~PQJkDLK8%TbJt3<_a1XjB-}m=uYTqEiH0T%Nkv zs|<;y27JA z6o-9L7V1$swxk%OaM~jrYS4bfLt((<#L&) z7f$}UBoI@E-Wrh<@wlFbCPgcSUtCsZXkx6Cv8cjlJ!8-W9pqE=P@f8QVDmK7`th>F zdIjfrf{=nqNyxI8XB9r{8Bbl`QlhDfz253kO!Zk64c2R{x$i&pDj7SWR zJdG6%SPVmhX3K3^5znG>(ji|Dm)3!oEABs1Dv#?t&M2lZ(Z03gA>FQGp3_s~_2}t) z-TSh#6#FbiOY!on1K>e;Ou{j#3web3>b(kl6k(}wLcuaDmA9*R?0eCE!zu+rB&Ze! z|MUG^t)qZ|%Y-`0*Q3PCGCDf693KU`?3)*K)HeZ|2|#*eG^GU^kPU!GjE?SU9Rd^^ z1R8gXjxv@bPKB5b^NdqCaT$5AyoeX;5rck=XY0M84NJ>&G%So`Xc{zIPQ6&eW$WWK z;VciEj^S1En zu?{@+z`kHy2akOOSUBZ!9PWtsykhvO2?F$|uiT~jTB-3dMA&}nopH=LmDhgO8sE<$ z-53w_?f3{M;pMoX)z#H=a5#PipjZ!HF6x$aQclFuBwQR*_b4ys>#;0foAwZ4iuCKy4lyU1^Ezse0{aqJ z?5|=9aNZgiTYRm_Pa;CPI*BOe!4-r$Z#-BkdA{MwU!A_dcw+xDW?x!fHqCm{9~;{< zw-a9lY*qm5sA$ra8jux$C9+&r%K(!YFEZxi7#FRDvFRdMUg&YX%~!#s_*CJro-t@3 zouXxBsh6gKW?Y698fb+q!($y|V9*hyXch6U0}CD=F0GpoCY}(fPW?m!(opAd8u?U+ z`C9xGJnI=xZQrIiPPEMSp-mUj^LH?(7^EU;2M5}r2@2eb!@215DCjT1)(TQG_3g`xQl!B+4@al&YeF8JAXqq? z=4+E4KThdm29$a{=s$)_PYPlvn@1nY%}vL>3D8Uc>?ml`l^T!@fa~StEC+X>7&~0N zRu-GCY|uCWX;@=!aakVIj`J4Brt881hrD8Z%4o}dI%fraRWcPC=Ol^QDVQk^b`)Hzl8}gf)T-;ApRDEAmLHc_3 zk(PL;jeMTJf6Nf#d3yd_g`&R1;Y(E$3I9mMQ$`=khQ&jCNoS-c(yN`JnWmLF4V-h% z$NNY3?!8`C0glgAc3?ruQO9bq&LOTV%BOJZ@UryOpoJ47TR*Wh%thXChqPjoQUxDk z>jb070mQIn`MNZ`e06kOG+Ce|)I0NWJQaNln&gwB7xUbI`Lgj6j}u7g`=Y+gAstK% z!ih$nQapJ8Jla&zR+PXyv7vu98?+mQSj# zZl8fpJYJNxwmRZTTHZaQXO6(^B;3IsHxqz^y@#i=ePh{jx$x#4 zSVm?l8(2=Os@*Wg7RKgnIl0hyGjHPw5$*VYx$it)q&!gTp#D@9E#`>zN$WUByk>eLYb`o$OSPRjQKV9atKYnyF7=#0r%0cWk=HLzU{I%_5XURzD7 z(ZIL{#E31Di)SGXS-E2T#d%;EnR2NoQyaH4&c_BfuCL2GW#m}~nlT^Ht-~wEBh9*U z)#a0?XN_^bHZ=OF`nU}A)TqZb#d$woJxp8{=gG%lgtwNyLL7|tfqT|$%IhV?R||eP zaUkYI`<7#cbgJSye5zN%3|!liNA|3;_P+({?uv?X@JDW+9);(E}m>I2}!cyT@@OI%jPCx!=) z>NZyy{&4JgClHs%+-<&!hlORj4t+Ws56f$WRKl3>+GpAaI%&W)MSWQuOb+4@^N9PB zdB!n*D&KD3f(GSnhfj)k{j!8Ia>%|fvI|7QfDOxd{&Btl*voylI>Lrw^j&9>sgnBsPq&+9; z_%&XK7I3GgZ(}L)dB~%@I_p)yW&)5O3r$IZ24>8dIaim;LSqtw=Z)I<*x9Y0_cu8v_>d`|<+NRu(?QILIQT*&W0iRgv!YPCB;Z%ccn(j%${NvBhJWaR{k7&_sP1?YJ(^=ke?5B9tqo-?B+U8a|dS zY;%mmJmU~rb5qg3)CUeaOYt~Z%gTG>U~P5NuC_JsrZ<0Vj+~W!m3%hyG@S(GNx+Be zAsZN0q4CH=`;zeDE?ZsjI6UwJC6I>~u!V@zc10nstDpCmOdX!}={~<8(PxusKk>u9 zuhs#0w#zr>1^kKdt(LA1gdab3puO|2e?5hC>+%Ery0Dgmm#bZ!f=WDrXt!@cBko_6 zwG%AQk&%(h`}+FM?v%3tniYU{MoI_6%140acX#(JE;|NTCk8YkjH{JqFF-hHn^$bm z@`gqYm7geJ;t?Akl_lnFWr73qG-Al2yq!cSPfJrLB6(Rtm?GNGr}BIswI@CC8MlKS z>$eOSupG1Gg)*kgaBW?RCurF6dNl1gwj7Gm96OAQ;EKvq{6H%%pD2Bg7heBG^2Ft# z9Qc%YJJ%(2PQ5dZIn>RgFUQ74*YDc3W0BxIQy1^~4A)Emp3l9v4`uI~F$3@auc&4j zUeML>Aw>G(k7@dR+L*&I`*XuX4$Q^Io8@IO_*(Rq2#-iFw8Om?rtAXvMHTAC50yUN;qvHN{HNOqG!bXrMkti!g|* z>MbnNd77#lFH4n9G5Js1jF?w>9(>1tD@OMYFBIrz0#L59rnaLrFqSP4r`m^ew%apc z?P|$i{2sH|uy})^FlrEZhnJ!Ss(?kErwhEQkZ(7UJe@pDo~m6%KrM|NW5oz*qOK0@ zJhy|VByK3L{zHZC{V9nLwzBruKo2$z z?4$OabMA%R?XsE(PP;tXfIn2;0_bT2ehNWxftUSgeBdOl5kYzW=bgQ!iKR!yFN)D1 zIB)$S4TFsz()!!GcPtBkqd{Jszn2NdDfJU-tu`wT90+;WiPhnx3?kZbFa$VAi5JsPM)8c}@ATn!1*J8E7KZp-mVI zk2H8y1@f_QUdF0x3G$_`qrH1aS>7vpUvH@&%<1M4z&`5TcvA^B)$Q4{bFQ$LyJ{B( zX3y^5^{vZ3vU@zA#W*bAAF*5%OJI;-xDLD!8-+L@N~}!?+fmgnIC$XkZUROm#=&Gj zHz$%G=GQvM2ChyLLcXd~!Xt+4fKfQ`P+s9&9c4uUGTM6Z(BNqz@5|AzA^mZL=Y16S zQJjw(7?1HdAH$dBsb9opbXZp47dxswr_&dcY|6ty{MYkRx69IQoSVI!44u*xsEUr87 z^473aOQ%M|!=)UiUwt5)=TWQ|b?}@h#KubXt$GDjFGpz9$PuwRe_yZtf(e7llj=h| zVeqs(4VKk&9)y1W#c})Me4Q4>eVw8a_W|;8SqiU;e+nn28|P!1paGZ^tr*tl{aE*9 z?WFQ!jpNl*smsICvT0H(FT;5!ggn^eW&$t`J&e2i;o*TJ<(<-3&73*stSlQnP6pMA zuC7_*OX#E7tXZ>#GX|m#YFuo3%AVd?%7-a%SGH|vX!x#IzvlP8E*IoCul?@d+%*m2 z)*^|EqRb$`V9>BIP7$7%aY<3y-(@Ldlrk(TXG(W)x^U=PS45BHN?X)i8Dd`Xga8C$ zm=w{}q#)n7zRjSC`Z}~z{0^3~xcw=e#4uHD&+A<=Vmc|f7^W_-6fNL_UaC!1bj#~g z1KW?Sa$MGu24j}n7&K8|L>q67%vx(P4(4=`77pe%Pg~n?r$0J6{CfGW^e>K$jhrD4 zeB9xO12TQ_q`D#)sM|(H_WW;o74I`wUHPd;r>zkQ!sng;$)2rSpSxI=x8Inkc13lJ zOp!scG^fY7SPlnLI@RY^zPjTk7$;(!EscB{la4SD!B&Jci~2V;NeF3Mn$zVxLXHPR zE^Q;qTb8=Miu$dLQWZ{$Pl{d@ofOXG%EGahrp2+Iu0^S=%--JD*K_JuFZ$3>G1S3P z)2skYuphBOk4y8fdF>xydH!!?(0x`=+MI1bO`Bl#3|E%Ssi%P;RB9kbi73AR9zk+cGdL+==3iHMR1;8eZ%5$(kaV31wr`` zKmURqH;}%(4XSrIYHcZ;HPgQB9EW8SFiaBY^a1CwQz`JEo>8CDHDoIq8;X-2H+gL3^rnpWlptI>LeRV*T-}Chn5|Sd)DFV{n z4bmwfQcEqhz*5qZf}pf?cS!fr4GS#NDP2n~UDCXKzVGk4O)X7Y4$7VxVsL`P6x+#)CTYZv6GGyQ-`l5E@UX3p^y?dP& z9b6nlrk<-029BU{Eq^c#iN|WuW)0Df99Wl>hUxeo<#4By z8F$XBtDnD{-}d=#KGLBOB=6u*iCHIDmHv5|&-U6Xx>uGqV=sYoGYJN*51oHxKp%y@^!50?u*1A~Wlp|Y z_R?qR97fQMW}i*&@<#tf!*>sfK}MW?I#H<`&7_QMr8sF@$Na}S5ZrOodFc1G+S=gL zYI|e$m#-~0EyZ7HaD&k?wQF7~N6O?6{^^po3{AU##r;vG%z~SRgNlyjL!2H zt}&`H8Wf5`DPd_}_!4F}1H`~Es#dgdklS&`4z*Jv<%#6`P=ta6k4U#Z%r|+Eh}sHa z8Q56V%(|x|(lWxH>^}_R5m#D>aBQt0!b8+ITVP+y6eD)s3LJ_zt}0Cezi0&Ye6hO- zs`4c+Ac|^|FnKuoYPR#_U-wNn!b{iI0&FT6$D%wnC3T$jM9c^5^` z^-6|@3N_tH3_Hg@R5(m4D_v|Ww{B1zbRr<KJ8fE-Kl$hddG}8sQtQ}zb10mL9g)_V<{`i z(?uwQ(35$p^^~1c*&UO{Ko5o~CKYLSy@#-^_ZlxWA+}qTZEPEjD-#7~Xwlc!d}2?L z3F~njQ(!?8{w|nfYDhZxwmr#yDnm08B4HVFb#|zqbvXRRcRWv{SRl6Y0!uwlFw~YA zYE^^nEsUP?v-UtgPXnZpAtwT>EV1Lh80mpJPL{f2z0Y<@P!h?dExDlpho!2R*Zs;0 zaba|n(XPbXfPkQyk|OJ0u~&BTR{yA^@$?@7EERNU8t(9$CytU4)fGp+JAD9eyB@1P zei9<}e8irsh8nPFYOUAF3bCLF-NcZt=QtLKr3R3-H#OO1TB~{v+0qPx{~CsB*xL=t z0BOCqka>7#DiORe3>*pDi*I8j7Lm|-6T`73s-L{FrTm;S*++bwY+oeLn`?@oeSBLS z{`8vU4_xx|V5f5zs=to<48K2Rgng7MqXdiC^xOwUdyobtMBW`L{PKx(!B<`W+-mK4 zI*8xJvo1y7X;Yt3Q@D(x6uDb=?6dd}uI~S&fZuToYh?O3w}m3WY)osY(umWHke3{1 z_cyt?^FD+4wfzW2i5|chd%UxSzi9bDNjk~@#!?F(q>k;M;5jrQuJkW=2On?}zBr~w zbY{G?$Id^H4$9nk)~00Xj}q??gOd2RGxp=;Zf~M>KoEgw(EJhKH4DQIowSMfV*wSq zh#O_D1WiUv5aFeaRPXNsbaI(7{iOohxoeooXqsJ&yN+z1SOU%i#|HYE5l24$5g=tf z5%NUv!{x!n;fBFYovK%IWE5`0O!qvK(3dq%<9i#L86pfpJ_ETixqNW)U5(lq%T78b zIjE|x7L`9tD>1lR-8zE1{2HAQAnoRVW2@qNJ6-(lADGg2;-hU*u$m}l35i>(prHDn zV44x$ks*(7xqD)jda}vBs-5RIl{_&N+jk0}<)lQ>X!@F;PH-NFv2-Sa*}UIIN_!%@ z$tl!ma5D$Sg7cbOaSZTiZqmL#Dx3G^P1ISh`fN6(UH0wnA-;5!w%79EmriyezxEfe z0k18f!9@g1-V_ojGV;{yVM{kpmCPFcy9FGprT2*8o#;VNoFdbKTA%HO!(eKjBR0M{ zz1FsN?nZF+VE^|@;Fx>|@U_ZqJ&H>Gueid+S@20csYe2g5Yhb+OAPN+EmrJh&K$n% z7D366yW7TJo*o&H7{Rn-z9KTVXwuDj$3FgqR{=&e+vs4~)&lI59_6m90I#2~x3u)u zdIDM%Uii%Rn&+q`^f$|fYmt1(aWZMy7wTBUwl7K&nC9n+m-NfOSl`mRn^1J}1fVl! zAm9xCv`LN20yL+aA9m5Utfz7yep>V#Hjh$_u&4DA$Fg@$VDR4WdcUS)auzFh^RUOY zu&$K0NDd74)ePZ!VA7{NFxMl*V67Mzmh{q9s~E9YU#KWKi@8Y)f4dFD|DeO<*_u{J zPihq^$gWu1ur#;<|8*6>t;h#+Wh<@{w8eO|Tnb5wm2C(5A|v4<^9V$E3-*h4(R~ z3;5b!EG)Z4x@zIN(?)Dj(WtD9?fRwJ<&XswLg2PP_?wgbqUzDH41T52 zR#YGuyG>giNS#BFZ<}n(5_YPwsrZ-?+y%mQ`x)WKLh*qpJWk(#ETh7_?>2+(@eQ_yv|t zfftV9^AHzaEd64y{MpVYrJ~BfazW!(BsNJl20)sgDoz?bQVtGAW(l(O!i$ zXi`?(OitVf=Heeot-!_7#SAtDcvg_Vzet{`bUPZKbXKdnc&wJT=9(`}ODDBkCNmVh zhzSKPTC<@0llE-;o)u_;d;w$uH?FIc+#>6M0wxw|g4gjh4s#(~1Ui*bRLREY0e2ow zcXG+s4ZTAjE7E}ufp~C-=Ixrj>7c9)%?SeomJS2kTWGhx;a|#O&k@Gf`E5gF9&!rb zR@+tEY8nk>x`2YkyJvhZoc}S0xDO0^{azTh#nqr}$dSHRS%bj^R&jmrWV0y=N}J=p z;)>)t2_u-j=uLyng8(-td4=2Um?L^Dro(Uje&Za5y2T4^_fTz6Pz~ECf4_;B44QBi z#yokSbAJL1TX z1ZkGbiohZ5<$r_UzoHWIfrA;XU zHb)7cFW%brGFS-P^(sl75t&Dvn&mxEp0hB__aXIhw)O2CID&8>D9$uXEe4 zTma++xl2V;SUU`1LLv@}de*I38T6sPmF)=V#!%#7Uw)t$X%|%7WoFvztLyV>g}+{1 zbjB$@tPnB13dE0ZY;NjD8PrTU>#3p+q3fl=s=-q;)6i}{dL&UK;C9V5@#0`;=)=ulaJz3H;qh1c07N!HqSS*umroL=NU{g z5=;a6Z@qrD;;A#|{bhAE-gU=2ag5e%J(L8=l1I8zmhdkgGKlqe)>-+%T7H6BvlCuf ztQCP}Y4B0@#zBK0B;ld)fH$GxCXnc}C6C=f&F;(-O)i%?)_s`5DDpl$n;D zIdcC%7A?cTdNYp1<6yANn;mb_qFG#}WGEgy9RF_rz1rSvH?N#K7~d?*lUmdEC9j~X zTH?as%!~Ft;(0Q|LRo!=G=VNs(;T)J<2iVu6fB0L5xT(D+6ro9hv7vo+X&^^4ot%u zr@SpqNL-`TqNIk0Q4mD-Wc_pGdriX!dmPXc`$?q>;K=(>?AX`{_>1(Re5Sb0quNL( zk8@B{V|Zfp9~ksa@h~gF{_!{g`H*clJl`Crnw;J0H#WI~SjrpdciZ7VSUvM0QR5VB z*3-rjSui(>2-tYWloplWw8;h|x)sEzH~L zrC9}uf=vU)nim~ymawK=JPr~=))ncJ=7qgXN+gt%l53CRbF{fQ)EXQQO5DT-VK8S3 zFcU=6)L74i-Tnl+t6}l3nwU}v=L)=JNIk2rkFv=t)$=4M*f7^ z(r4>Z0za>G{zVt@-2Th@;LUnbl62PejI1#=`#EtqGh^@I8rFdeXh|ll8 zsWlqN`p3!3NU%c`=#6SxNg(5Z6!Zl%oiA2}vQ*Jhr87Vy^ESdW;xu69ioiHS4GKw3 zm`Qrl5Z|zIA4140dgH7u)S5W-d?Ugqq0;vVLgB!J%~OXEJ5sPsFZzauc@^&KC-tPd zM{?i|lmDCfe({4PzJ|tBy-{NC{*-uejB-ReKCYV=_CWP*ew&@8{?(QzdC}5oFAr8l z(cPlJER|-3$S@&Nu*DKgexADBlvJ;}`JQSfY+NNnt`gZHEV8xo^XSZA_3M_r;FE7w z3;p6l0Mp8o=UCk-rU@I{=jcI;YFZrB0DatQXP1vyF8bX17$)Ok-|;c^Zo^(wUIb?> z6Y@LmI(1e4{W895S|@no9I1VuPzKfpFDtOB|7BUxrCw~fbp+C!S6--&^>0%Zb`K7f z_!KUf)3|)j$u(E=fey9V>QdVX&!$OL*zaG|pdK=jYTD9$ch1!I7sXiK`5Jp^}YKxb@AN@0+6y-xj1HQt}#19S9`Ve7Q;-Q=~ei zergMho#ju+MHu>|&)q{EH*coz8?;-uxh!p;vFxCNQCc#j7_M&vf?}4pj;(7Cd_3dU z8!^LuzerOSUhb-Q=ruC-{9>O=HZf?vmu(|dYEr!6&G{$>Am#LZSmqTe`zP{+x5|ma z0iTrSRLtunl=e1LG2l$wcWPyOaOLH*7&cK45 z<$1(2|4Z0Xbs&y56HU68)#z!J-lqCVf8{Efx-7w5iI&~qRXgi=wAw{>oZ@{E?fFNi z1tcSg`N!;RCG~4&=`=^$B`d$`Cg&g!F8Oi<{??TNanHtN1?iZHHZMIIqQn~@K?b$Z z(7I~t^CPj}U68kN(U>rzh>!^%c(#_TmwW6zC2wrjr=+CTNB$jOW!bryrBn= z1G+}>M^~3^b9+#Bs=AV8(fW_GHTJ#-WRCyzRXdaVqnB8zZ;VS<<+v#SXFCn@tCgWf zzu3Lrt z;b4uGm;#w;G!JNU+hUZOZFo{Hi|pya6&rxx^}ctP3J^KD{I6}Zf@pcsoPh`}ExiDH zvgN%M)kQa5^dMc-ll`&ZoJ%t{;c>T#q7sMFVQ{MvH)&cz8{w7yrdG<6+>Lj&JM;=;tA~#za1QJ!nS=&*x|!Yx9M;%TEDcy6_rDw|M%9(Ag2u)yP|Ic6N8 zgGJBf^+^e0@*jd)ZCNh{1m_y&^?mAxJYEG$ZB0dd)$z~yY4ci7^vuItb)v67y5$2a zyR2>4IooW#j^Bdamk~v5(ycf_Ab(d$1jgBAL~`tLFPbQ&^*Rn{KFcWf)%LH%4*&LV z1y{y)jasbW(Muw$a!`6COYn^nxlX}PMkNE?9u-WGi7#g;+jIA!*S z;&Pt8d{@AJ-4iV?CNY!N6aBtigz{vJ;~D7uF*1O_GWy3U?OGVO3XXc|oJXA7Y4QGZ z%&clRq1TA-Yh}U z00v?!ie`*6a$yw=IvHVJ5kKa>x z9m@A&k6ycO(ohFGXM88+l40Je0=9a+&f-K)^^Dsp)S(473S{~{PA_tsiM`pnojP9f zJ;zyT&^dInZgt&^XhX+}h`RdWiN82E7vjO+PlC1&G)s{x(HA# z^um@Z@XO9v+o;Li>ORUhhUf;;8ejXh^Wouvm9unOzpd>4dLjj!Ss@Q>Q>@)@8 z?FepCK`Prc#n!&dwO9L|PSy=DZsJShk7jZvBWIiv>t^9(a|5GEWqlr7f1WlL7B&c^ zZfn96_+%_!bplNcjQhqpF9Zp!*`Jka8Ed(ep>Cbp5$dJvBh)H~vY3yYxK96n!82#X!TZ!9T2HCB6^?U*M`-$=KBwM<8H^UANWL&Oys>Z2)bAgou zk{->9#bC?8)M4k+r=TFZID_iut=*;7^mneU_o0T8;nab1?T^bHca{H{ixX@ONtDmIhVXOpn#eWhs7Q9ZtP;7AXSU+)O#a& z&yr!X=XNwkmFKaFsgdq}+5GNEIin)*nD;LF%~>z$M<>>Ef;x{A{I2xQ9kjd7XPh6< zZu~tvTH16|!fNncxl6DyFtj4T`}1S#sY`a`k6aS2<3-OkL2sfQbA5N4KsjeZH!xpC zjomD|$#k->ig|~D%W8`oMRB*MK*k2DsA!?+tvaK&rA|1cMb*hDm;Ooqq zhsyc2SYCo#mHAS$%shr@v>(=}1E-2RuUt{?jhJv;$GJi%BWC{ujhq=^!bFK6poVMJ z+RLXB1H`CU`;w-MtiRBDR=DxAyX~s*ch%}vA;3%Nd)0xSL+i3mpk-J&m@M@4d(kfw z(rokxnfus=ZQ@5E?t4UrQdjAb8N4SwAgi_8$@OLOXz4|5m~Qz_4V!}J+Krr zsnCaGIJ$83Ut%tz&~1vBqhi!vv_8r=48IZlSW|#`3>ZYY&2+`y&QwlQ*rXu!NXrk*DwVJ*wcG%`6u^mp*mWi>raVY{t68p+DTrgP2!ls zz4*omi6}I0h{UkxXElb(ugefy0e9}v_sTu`_U~3!~ zTEzCv86kfg$u&^@?n~oXFqMB_`ut@fLv~cRrU8^Q`PlBY?-V7_K_?5GCO9*| zmy5g2eOP-J(g-iSI7&mSo3&}-Y3%Q-D4=szpo6d~NDMHL1}k8yhJnbe#FKt07|m4z zg(L4q_>ajZgI7>u(U9pRq;nlLynmWbOj|ekuNQtJ>#3WF+lzvH$GZZj|B>GBXo{bn z?C_7IO!Dp_I0E&nLs!cr{kj&k^UCJ3*vZz^C+2IlDN|bXcOm0eENMP)BPf{W9>}k= z(f#fl&tO@^&*7nAVNGhg7R#b*dP?6yzOix1NGw!P!RCB{d&nvFnM@|mH2o}6q<1oR z3?+*4&JsjnZ#3%L^}4BefC5rY4O@HBZj37Ivi*m=jpl(IPAMmDiz$tWH`lQP!)m?|W zCQN(7#nByUHH;t)V8iLNU_3sW#|l0YpgCk8AT@GU(~pUN&|C2&G;zXRBx4bfYV*ex zwkAh?V;~7@DvRmMjliGR7l(9Y<5FZ)$NuYXv!tsx-(|2*;b&yXLVo-!4ElsEbykN5 zW1r)(%?)B>K?H)H%x>MLkfA2<5#&pz~ToL-XA zSO84U_!OukNzeUo$q{%GM^m5IP+K?+H-vDQ^q8W0*m?OO;Qzb~7lc@p{zv*Il1Lvmd)Q^9M2BS?oaC%b6bFne~H-VcQdKbCeTBAF^e-4sD zY8L4&-7${uj@3N*xu|b8&1|cr>Ik|()aOj`DB?ol5Y&B zz()at+L$h@L+v9}BeJ9VH&us7->f56bVWX-{$tIVyRuTHz^0%A&e{yfQ|3=QYjc7) zq>_vNJg0ACZAqS&L6?ybslfCK)x@AGE|~ec6Vx&aVE+YCejL8%5a>t~^&$Cj`I2RG zx!(%Uo_kxJ6K=IsuD-KT_+88CJSpOGT|x9vt;;LaTRU6JO|8;kd&pxXxJBv+FmJwE z(k5Q&QPx&%-E26a@)}<0C75l5;y$3nm+EU^@^JU$HZwnY_L0%0oCJTim3sZhr_5N>IHE{)zc1nF&vyEE$pWuG=@bPsAcVlI`8K(H2EAxlmX7)#i`M$>>*jw1He2b zd!vS%Y4K|QbRI4{W{hlfnond0&%K)B$633#-)ESOp9cCS%RXA?2`E$(;2m-O?%DW^ z&p|6PwMJ{8!0FPa-=YgVQX>DFHMFyDyQ^%oZr;vW6&cXuJBT0m53ho-26QEu3ev9JMGMQ*m@u3Hp(5WL20vW zpRlt}mwYK|{nZeE^8L=(_A}|mIBmQW=39L(f5!dc3X>+u{W&{>NWl^?IqT3jLH4z^ZLe0G#&6!i(ukeq5;9jt(!(fGNI%cg+u^hW>z-J@PN{MT>RdM1#~|qtzcw zG-^&M?kLd=VhLb*F{>iR zCdb?^B?Iba71};qSdIaeQYm(RiJT!xg-VASdK-#!!uqdO{~w<6dR1)&uM}|^#O&!h zw^b8!B|nV{x>Lhr8{PjPp(&#?A06!m8-7iJ;RoS5yscj28Ug|7Q;iXjBc#rCMR7KX z&W6>nYM?F9jIe1p*-N^Yd)R=%yQ`B%@@&k>fmBP(1=3N*tY<87jKT{$P>pG_@`RH+G4_(R4>?}WOfRrgHr?~5=ZZg&x@$kGgJW4aHBL8BX zCq&Kf7a;YWhEs%ee)LZX&#csI6QzO+lnueqp?M-{ru|ulMfk$rz0a+g_iXTYm>#7^ zR2W2Y4&lX*M~y?_xBZ-}mNz1LN2&$_ktDY!OAEVN^_$vRwxRuPnY41ue%OAx-Hhs<&=9;i>hw+5c ztkrlY9EXl$a;fLXY!XRQj1gxhrIr@Qcj-@!lPi%2sAlI))WVWAC{L}W%=;R6jzQBb z$u2q;g9gpH31WbPUp$6M+fGW#WOjeer~x8cPJI9{7laR^n`Z5gle|%S?y)r-i|h04 z%PdqZl+5Frx07_dOkY_v$W7HX4Inn`qp62SH|0fxhsS)wv)%d6{+l~@H*VXp zyv{xTgKrjVYm)m&w7|;%ra#4iM?Nz|Z-NnWj1tL&d&MM89vjU4XpwS=<#f9i(vJe+ zSQ3VD$-b)ADehoB2Bc7xeeU5Fs?JOF2iQ%-bN7 zsp=(|UghY&nPhR6AF91^rNOuf#g>;W`JAB0pa{G!^dS9x{$YnD%mGRMPrZEi!M$by zeAO{2#KFG<$aW0^)-YqJ8tlvReMq~^JOP&crF0qq#W4AFnqip^Cd|XQzU#LMZ7fda z300^h$9h@i`Z&oV)oB+Z6sgQxq9c@yQ;jZ z?y&b&f#S z%(AqDCUuI;=-jc=sW4b&xFD^OLs7Zp$ijEY)xdFf7PJ!NuObxd{}O2T|9D-4szYX9 zn?>R8GG}mZw1L@o#N~fF1t}SI%9{YT&VO1fjLIEoxgF_=CSnRaL zy@V6eQm5D6?BxD-UC96s^!v@)(v=zp4kx+%4Xy8u0Qg4K_urRgtHtA$zklX3q_lhk zW;(2#=`cMPfRcKOUMq0oTFw!K>ODpNDET!qgyJ_rIEM-zXUT@V%`TM_*^1K`*sAe; zZ!@@8Hmp3{gkv&Y92#~Xc{hl{u?wR)m~On$eflD7f6&UUG1Oqi?RA@6X4726QK&3c zPlg}e7I^f0<>k}L#1gLLwJKmyX?MzHoEqq2p(xjpeLZw8oXgSiRR}AFrri zYQ?b$ZhqUqo(K~CWIjx{niM4VsmOgdH_@|Evvc5?Yv@vveOMsx z-=sn-35#a}u&a76KcblKh=K$@&J!lgs5wo+L#PGJpFic+2Eao^pa?@^DnC4 zWasL4#&;u|9PRG#!+bnTWZQAcyNEpM)tY+F3g!=(0iqZ+Sq<^W;Z7sSH8PV1aa1ym z)>1O?WqSEKG|($);3$y<<<5d>J5hhR@1i1VM79u<3|;*3$GV8*pTZM7*y z{fiBXkf;g;3Pzk1I_a-jxyJdU0ZEEP-a?6~l52AP&+vJTQ(=S?9;D1i1MfGOlpsiT8 zl(1T-T~O@ZU@#ShFBD?MHfr??#Ny2+96n z-cTNim%{p(W?=9t`5mhn{x}KjOxWxaBN?+G>Z1stsodr20Q~pwZKo8S?My{my-3-wdS3oc4SP`v zH+yG+DD`4ndRjyaJ~+vU{Ljt>JTYE#z@d0dhtTJJ18$LsTBJec=A{M$2k19AB0KX| zFdJ!uy-KXvy4(~Tn>UsSRt(bk02EA9M8QM?2HjJrZ`qIYmau&;@jO@0uZ*&UZ*nJ$ zF}keqc2W4`<1ts25^W4LT5u-$JarcSBYd7-i){{91`a;nZptmXmV2ny5|C~?I z?FJN@Y@I9aZWDZT4{Lj7rCIje17AIzYzx)!5xp1&O%~@bo>=rl_Hx`QD59+O&|0xh zLi;hQhWIluO47r#n9^`tqTqmF4bpwLc!BIGaXphPRTdny;TV~1@@w=DL+`hn<q1mc@iAC`>59+g z{&`J!+5Un%!Ox!?UP#MdJTWpf#ZN7fsb_CvW~k4sH6WOqYn1U;BsDFxayjrtPPUFv((OBkJ zl7Fc8N%t7EeYr24P!h7t;=b-GbZtyG9dvy%__;2t^M=J*7=V4Y4X@l%Gf1_?(hF&R zccVWBgNPts?JUq$6>$`_uFPWPFTAlWCpYq;*p{pvOwar7`;6YZj7swzsCV3E`PJl} zqpgrWp9=mgS%oD8`4ky6Qf?UBwRs+Qzb54}F(PqDTg|7X(_dCx%XTwD^&^j{ zytfutHw-A2{rcu9ZVB&}0rd9;*;Hl)l6E=D#p6&(fP_NL;1BTJ@x{1Wz)x!QgZIDzp)9=tFEsGoFCDIO7(_ zxl%sP5G)V=9+u2>Jxm7 z4(n~6fV!SF*4($;T1k&NfYOa7bypsi;-2+3yT{_U@z0gbzfXS+H=vhtB%niEGt#vI zTCcT-IVY1b4~4iT1Y8l|ses}n@KgFrOLyr09;pLsxU1CB%dP!GiI;ysGTDz_KP?P% z*z6e`IRYp6rkdL}*24ajZ=`Cd%1te!HrNBuM1~0znlI!6Y~8-NJ_CI$H*{IfN1Nv8 zFNZqO6=R9PoP{63cRxl8k=7ffgR zW-j?H@z6y|8QcytXcS`;;}tRBlpQ5%jAC3t?q=cFAS>6!&z6MlX{*`mqO%;uabM92 zBx_IB)3_e%7JR~5Luwy{sA<#0T|p12;1y#RBp?UY>eIgW-0ocBZf~n~Eo?#OzEJJj zOReW?8eJ;&G7osCW}l(Nhck~J%6&TLf8bsf@Q+PUW-0myR=ih@PxFiFi|W=_)n5P@ z)MX+ub$UzgRjBiGbrIEB=C&+cQH{i-2Q;>#_7jnuez+j`?mq9J+2D{|dlAC}dyPBp zdrf2y{}wM~Q#U5OaSew>&oHsE}{; z4m6G*=wK9}hp`!PDG_*TyYRMp(t?MYB-*syXOHwaVDrvVZR(Hb-u`}%`9!Qx!vSIR zdDMjCEPjLw&metZI{77w>E^Zqf^N-L`H{C3Ye{{uAJ3eHQ7loDTSmq{C{ATZ^flZl z`K_07-lI~2Ky`^YF5B}Y*~4_r3(l|PsPzjuMkf1;q7})7hh^DCn~XoGrahFjz43t> z3fZoUr0E1YcBdFdl706%)PT01&t%_IzDxHBMi=z0!NnCi$lUPeR^oHx{C1GAF~nK1 zOgd};AR&y3lr{4qn_h})qe^lk)Q<4@#H4|WdMvXx64B6PiJk`ghR>Y0Qeh^~K)_m4GRSGTqk}kKj$Ch@2G>>8dCn%P2)FIhn5Ye%(}Dq zNh?wSH6JU5i$Tf3fw_qBzw0TCV=QqIxt#}qw(2rkx!<%0I)GP8{ZC9f_v-Xx>oE;R znHvRVeld5WSrV6QliLIi?yc!8rj<6-L|gyea|>8dyWt#uWh;!%B5Zl~Ns)`moVq1? z8{UL-m{6%vO=ZE#jG}?^Ev{lp$A6rT4;eI02%sm@w#sGVqCM0eNTbz|Vz8+u!m`|zz}m>m4pjM9g6iHQYj1iz^YT!I^9I)b()qm|GrbIj@3#e+lv#$=&ClbkUObs_=6BNACwr^9Jct6f z1V%3TlemyR5xKJATxvYQsfGDkT$j~Y-tDcCnOyaX=NW|raIlBPfQY!!t{P%^zrw5-QK5R4LUK6qLb@Auqjpt@WrM;)(puhyKq2o_7eeH8bH z?MT7>TQU<>Imtd;XjGiz8h!h0a&4T;gM`_{_55?bQpSuD=Z3~Y)rJPh_;)CF@`Gyd z(kk$*yJ=>VC|YKMiAuc6&Q{Xfx$qkAi5LVyvNdOpX&#uFVQSlVxC`!W%&O;pc0 zr;HZvDn<6F0Nl_HAu8;L)ertg#r`E@7^cDlG@ER`4RtMLh|MmWLdbr0BigsWo()8{ z33fHt?~S+($PCLEVp4bkVf;ukb(<^u0!d8MQ3ymTGR>w6c|-R z!Y%l#VPR_qy0J$fR^Pr*B6dpRJ*x!Ug`Nw%-qjG!#*FH&7xQ6-;#61CK4C@zH!++V zKdi`n!J{OhiW9OGi;fs_j`O0$O-pY-r}X`;}a zuTMrg*=!cFOLmN?)7?&O4xM_m1RZTN`en4luzZB*lO09yr>#meRO*R8yQ_W6b}LLdB;MF4#9Eqv59{1| zx9cN{DvH5%*7Pd23e8$5lq?2@;&lNckYL8|QsfSJ_vcfm7qBLJJz|wj^QEs^7O|IG z@i75mCjQ`rC)Gd#refDCGEP)un^KxVlo3jbVhkgA(UrhDU7+Ub`0pu-#FB@?&A>N! zouXBX`J8E;iIt>>dd(autWF*T+V>^AgJ_)l*qG^+jsMD$bfQsN^(8}-QKHu5rDya{ zSF2Pu6cLe>bIS&TLOdR*AF5Pps@bZ&vMrC}@6cB0PZd8*tadHpHR_oEjS{A784L@A z)_rmse&vh~r3msVQ5HgrfXFsr=-TW44wT`l#Q7aUMUBIDT@-Z4ofMv@#!ca^V^A3K zMx|Xv{HLfedVkKsF9J=1$7Pl;?nTDv9g2*R#Y=@Z=GV5|)n__`| zOpFqM>XjnqH+0)9h@~$0jVG&<@cV#LVKFm{{dcF6lPk|nThJnk{(POyYUgXNBbikH zrcDzCC&^%8G@a$1r7{o9quA8PoF(RywVU(e>;y^-DJIL92+&D?#RB5?1oEjeHfhaQ5vMulJ@C z6%|0rHZ*PlS$Ss+J(kdO=00pMQ^@qT$sKoN=}7o~wg-Mr+qBg87@DDk0PVKXF}V8s zY$@M|3902s&5v-$UQ^PrO=U0!j8;gqxqef06H#WY zDKVps<%ZvyW7mLV#|`u@;5`4h*{~pc6FzYW03Z>Fd?}7O=u`AN(;#1a*<9yn*_41p zE`_j2O`d5OnI?gn2`g)-@;1$Whws(FUe%y_NOrRKwc^=b&okHc$@1w@&a`JFmU1_Z z@(C|+r#w24q1pv~dfS!|R_DZMxagpZ6d%;K((#Zt79qmEDfm>tF3S$1-LZ>c9?cL5 z9{ZiGuuk|Neb6`h^Jpa3Q0n2=&!0a(s-|Gomj#pO!3n<*4WraBfgdU##rj^w4!^*0 zJq~Ou`}(m%-Q6AWCy|Xb`%Up0OKOTKVHVfR5u0bk?00*T3o-@jXBev-l9gAQd`%tS z(1E|TaTdn2mIi)&4xf1nbnRiiQip|>a(5Raq;M2=Itdj>y?z#cfPb8O8!V&PIi~cGJ!skQ*qzMyAn)yqVB4S)XM;Ua z791>V|9iO}pH9@UMc4ZzhWg)zEE47fkM9a4D;kJfx%6`eX54Uf+`iTnzi-A^4&=>W zL>ZqS{(F441-y46T=ZxY3=Q@`6@GG~HLv3_2>!w?5m7}&v)6b)u}1zRuta#H(y{C0 z{>kJAJ#G*w{)a@G2EN}s=k?D4AdJe0u5Ax#AGA2MyyRWM(vRaib`KW(0bI-Sy|?M0 z3%)diyt7KD4CPIMbFR?OfCOC?W|zxu!~GfPl4vtf?@PNx>Aqc%xtNL*eDj&TfHg1i>7!vwtdKYK0p4@va!wZNR9e?IC;jT8v_N7UY@-v~?h;>OURdHz<{ z^KmeVwcDVrk%94`yp|-R{!D3O+C99x-9|+leOg^H0r4-7`(reu zpNV^`1l(0&=}5$X`_*MkujMBtuR)cJ=>3AZtx`vx@Rtwma92s{=_Wp&OX6Y6sr{PE zPpkuZ4{0iT4Ru$T`*a-pfB#eTR?9E=g&4}ysj6mxPpm2WQp2;jmnP&Z>XrBw%rt)k z{QvC_qC&mI+ZqVHmjHMI_9y%{wmSWvHa46Tsx#!~un{cppcL#Z8WdKN{{ ztvVU7grar+`I+Js_gSn%1LKP2FP^lmFyM&beYN=B|7_<}0Eht^)SIk+b2p)xDd0Qd zE;SynwOiaj#p61Dk6FNcM%|$^brw76rs<0OKIthnFE^Nit8GZ3ybbFp$ZBMA&&9U9SaBr2H{&*{Vx!n zU%4Ep^C+>aXIf%SWvgi8p5s|Q`#%$lvmbjkJGK~CZ(KzFNim^4s-L}7@>hHw59JTe z;Y!ii`QO5Y3A^wCvyW1+JIl~{##NLQ^Jz<=wE%IKvvnby;eSI-QU-N;VyJvST(tl1 z3A~~sJVMbwNe3u$C$+Z*j=eMucsT8BXllCf_>1DB;sh8B=>pQv_@TDH5Y7F+HLVe1 zQ34`@AO0VEU%?bdw5>b1ySpX0yGsZb+}#;0xVr}kPH>0d0fM^?!QI`%;O-7@a?XAA z{==(F)l~N|J=L&#?Qea{2@{N=b@r2ekK&b$0-g?)1D__+Hg1p2&XuFr18WV)Tgo@E z|1>4|u?Y(E=%iKEf3$M_w|PKV>5{NDpi#YUFFhl;7kSq*T=UD`6(McjyfP zV?7Z}lm;w*&$S$%A-qQ|J@SnRdncWszMv8N4{IBfRnlQLC4!|tonVZmJpGRO?<$DH zLsf37eakWQ1aK01*HT`9V9vYWUcT+0eR6TXB^DKWQIlhfc!cRS?o`6wusFqOVcNnO z{D(5Z0y6n+u#|kEVhqN~DenGWJ(B{>-eXSHpkjHeZdZHzT}`u7W10z&{O4~wPVifZ zWgt4Fi!$1oNQkBTpZ|Xh3R+k{NxfyT56Wwuw2ZqR87-QNtC{OYdMmj5wM)dSv&K?< zxz%;@O*2C_Q1Oh&t5KoIv8f$KP0NtDj0{!~E`^YxSM!@Ksy9+WNrjQ-+6|rCXzu?A z;1VVDJUR%HY!-026aPLM*dU=R^yds66bH(6xM{raI&L{Z^$Rti^~&&zJjmMZf_h}> z&_I1W#b)cx?*-9-&LS+n?&triKK%7nqcI-j!hrJQKv)CsZSubmo6iSbH{inZD%wF( z!nZ?;)ds^Z6Kbm2g98UCYZ9PdOgEx;XTy%zQhKEA$@xpURo8>$jBtU4-1Y4!zo=pq zwlQ8M!<*qNKN?4Tf#X_?&N!TcttV>GkAHO43APSV!|L6I^LB1#X2x?kV&{!oUSJUK z3@~=Nm8{Vl`)!{!yH(TfVf-&8siAJG%V!U?J_el*3DR#nW^3_LRNYD^t-|3gk-n%O zx&d_Cf{(*!k)|>d&88l>>^<8k52VwS-YbyXc#uKY;s2bxh4eL^&de1?yE~yEyXq&S zj}bPZ+lExSMHFR?{-u`{PLxMZ!s#*9X;HlL9C-;y>}!_ullcQy&Vky#CJRZNBskBd zsnN$OL-Tk4jz?(HDapJq5qZqkqh*QX80ha*rvH9`6CwnFija6$UN_6oLl5;(%ivGgtLZi*=u)Uwe;S z99a)nn`}cl?|CHBj@No^FbRW}i;F{w-`Vsa)j4(j{UU+txoQs{P~eoSq)`+O*mr(! zcB!AAk^Q!{`Y`EaJBI!vy&0I8G&$=93Pi6h=sb(;QogEM^p9Js;6VB1^D{`EKZWqW z62=Uw7+_Aznk{C^GYE)(u5uH0^7WC-RNuV>D@vt zn^f$rc`EtQt?cFZU}KQ-pTB9q`5&8q7I%yG8J4LY#C-41-jiORG5imw<3(-^q&VvW z&j2xY;?3>DES`k&95{S-Qm0+eoBJX|9A+(i9y(C)b6liFFo8 zALk0_lzu3~C^&4b*BG2RbE8VU8u2cRE>Ytanfd;-kea`H+3}BnmBm*rI9tT!4OC1N z|89JZ=33Ukxc|6Ra5GtU)dDNOroC^@||8yq~yF<_Y;*JKG%AoKUY(u8@Le zQCu!g2?n?GNrPGhu#}l)*I}#WQg2{|P!Rp*R7t-dt*$O)0LI-AsF|@%IUr@*=9uzT z%)ACF)GVVC1-tCk1oY(*=BiZ&R094fu3sf^-^yWBuQdnB7eo#ULg$nTK9&44V#^kx zAZg5o=ZCR0CLC;Xs5`+NQPRvZj)PS>@z>Ct{CsLxF79eZlP%%u!g#?x6E^ta)MKaL zik-$9_L;2>E_2dSC4nA39{a7zGV+H{@qrG+Dn6+AxSQJw{)hB}0h! z4DkEpupl<-+uuLS!z(MTG!gN}IuM>+$7WgqJbxNu7HKEPfCv{BC^o7NleER}am`58 z)!V+VF3{fHok9a&nH(Jy!VE0~#NsE-K~DaYsFR$7Ac)T_iMkK1)c^U207IK6<(jJ1 z$p%I$!EksGI$SD8V!!t! z*`;yvA@=0aj5*8i<0=VtL8?Uk9$zyNB&Ru0Q-atn6cO<7wtzWf34)t*a?R5UlAqdM zDRFKQ+t$<3?FXBV0(zD*>raOT7?SEwt!onTl^&%+SsW*Q1Ke+q@C3A&LRtC9B_~3X zjm7;gwoEx*P*8mDn6q7X&^|QL;u3tTvY9CsguV_2c+hHT(VD%~)+mxi!|A5q~R z)>Tj#xAizC7?GMHnuxo~E;#6SPXx+Hk(hQMo*zNUg=fXZAmsy@;isc<4+ZGcM?p zJd}nrZg1LY>X@1k^mo`7GOcVTbHB<*``*5^Ai{K6**L?k?&Z7F{Kg_NULgy*j4i*n zPNP)ud577+{qD=^q{Yib>SD7iZKRix;%RhXy5@xDCGx6#8{GbhPHFAw#4+GTWW~B< zhy+;dY>VkL@Lx^%Phb6y74yG`|6PgyuY{oqJ@_4C1(iZ|_OfFI0Qr%VQu_S+lSzn; zIlBM=ii6_2ijoW(GBGmbBQ!bL&uRbwG~^T-fCvvc+<47BK@L!^YBHYyzb8l!A#Xkd zb>u7+6#JO6hf%0uHf z06-k@uiU{4>ZB7XomAVM*I>O~wvcFe1t{0l=#`>fqZ@+;%O=jg1RrAmJq$Jy#`N*W zx%{UtfT{A9JoL+lFrH!M+z%K7d;2h`ykX;Z9t!MPwU@|7myGgt!iB(v_m2CU)%%50 z{q^}-k-|i`qm0b<9M`i}N6kFfqlKzp%=P1#?69a%lA!-R{O=O{e>bA8rMGG`e5?iU=>2W>vAaTxUFNXuT-Y=zF&VJtdF-{?* zTJl;=urI1pt|2d%$dndQXLn_v*LvdqZV=TIi5eUV8;rv0H957lHKIIXw}MZ`Nh(tE zT3YvWa}nJ408BHyTS;T;e9fysOsti*VKl)QFLOoUP@C{(EM;(Q;6Y+Ro=- zcEKx)c_Gyv!VsD@OYk&bh;N(7H3SJ!6sk%(>Nk4IrQECB_$>iapTeP}gNQ05UpA(Xp`hnj!ZC=xG0Nn2S}?HpVZ>mAAgm`!nE=i{Vi&%O>TG~4}&E9WFa9=u*Hq# zN*)}|_IQxFvGJySWY3-bjv78%aTXXTm_!TIS5_zQ(k*TPm}qS`O;{pB`OiD;8aE)|i7C!5^t%5#8e6DWo~;r$Q)c=9Rv$Crus_LdzRt-0U|v2w zzC9KOwjnL!>W16Py`~cBVKJIDz&Mb3eIy+876RCqqeFRrEAiESfupImC_VVJ9^z54 zL5HXVs8Kd)R%-tqB<%U(rZ7%$8Ve;sNJ@z@IKhpM{)e*xeKcj($2aYb#@3z-_D%*O z-hwwghsw_$p4?ZWLGGcUqo*V!>)#s9Z6M2vT7a~ahS>7_uIo`Z2G~0FAI?z{!lU%s zk5}yrmN@3rQrxMsdB%o0Ud2pDhi;5FdW8!h;OaCDS6U#<{vKf4y_|7215OhMK?h+| z5)H3OK_<&Q!aJ{JJ=}2=N%=C0tE~K84&}EN2Z03P@x36)Ek6TB)})5HxnPO0Fe6^} zTT*rx8@XrPs^Qt-M%Dy_n7SYCzMl>A$mLL)K#9{G5S@$4h?BN311ibClx`|e&4k%7 z(pzgG7&(ZFebnZg?`~uwp*BA>kO4qdD2#R+gf3+);CB;^l>n_)7NM+&kMF?xfGKh# zNUeYB3X+nqpgtjL!$^G|ySND^rM9{i3!%HcZ8PcW#U0Pl_)gj%>B=Y;}Tkr=h!CxtfCTl*?~7+GMFeqQn?K}g{HD%=~dBq6GX zuh07sIob*BU)ry<|3zxH;Ceqka}VC%9O59=Dy>{@p-w$E;J-bM`bC!I; znw-S&&=%)3lH=fZRhzBDd&r$bntT^nV>3a>!!(Hpdog^{)%E5%RwBAh3^P3XENGX- zgy>Zvpv}!Gf*Sk-k=dZd?6j{BtjE7OJd70R+VvrjiQ7c`E7UY)qLK3Adq!)0570|!i-iz1nCAILQ0K$XWV3Q{AN{w!XC##j z+8eA(L%!)iV|!(Z29@EQ=gJi2?JMqpnB8sC^NVkSm~bJHDnUF*g5I*IMwUl{Gg`Cd zbjv{`n=tSAhfeJ+6=xDyRh0-Ru1!vPGTXZprCq197j%|6@a zL>;FJdpd97op}l71xuuJ@{33L@CUAkwWiAGc{t*8N5)9{{t`LQ1BO+$hmt~}307SB z*ygUfB4Fwxu=B;iu^g;T4K%RBexVGqQEWXmen6yzfkMOFn(}u72}8r2m6E&Y8f9BR-t3tHv$0NVNf3($RaDdoAjaJ zB6@zcM+IeDDJR~)8b@8L@fB^yt+Z4o*Iyb#Tl!Lf>;UUOF;D<{0E=-~jNqQ0U777s zGpCWZavY_7{liU0adE^c{?MSdI*E{@?}Vl`GK36>9V13M>$6FtYRSYT8(&iFk)$A#d8&5lItB3x z`p?voj;L29r=FIe&1+^|^?wvspULOJ_WSnhG z(Bj*N9a38+*{zyr-iB|dNlEhopkD)NZ_ z-IvHf@d%ZQ68>`uYH6ytFq!WX-jRiCk3_l^nc7qY!*y~5cXGxE!SqE`DZSJr@dw0y zFt{9r;P+EfvR?%k?21H?@pIDkOf3h?k6;ghb3?8fCpwH(b6qNX)m-6P)VT;DBSg39 z{_|t2ywnL+2!k49-B{3%KpetuOOomnj>3W|#IM%EN=;0w>d8n7x1mRI2cvjr$V7=0 znHpx``VqsjBWApC3D+xfpbMadQo z+qEgOUNT3Pb``nH=b^8U%aRZnU+!J;If911LJM-|{@?<4%1k)2lpek=Yse~&xSCEN zxoE=DLvY18>2twO(WGk02xqtic?;L3^E>2?SIW^nT$~7&*YWW|pl-r}%X*iTsaGvi zdSZH}fs%Pu>=2x^jIzsD^SeqZrsXSy7ESTcD^A%#5Q8HCI_AgO3Qa7oIw8Rs&<%T~ zL`w<0SIIa6HYFLA-4PxwQao^5*khq+=T>#p{CAg)U(G3N_O+ZhT+%fAUZHjZ?<7Zl zaF#4?RQc8QYj#wS{bomH|LPV4&=R=6xv9brrK+>mNZ(JU!KWw}_>8_qSJysjxy&z#U)+?$q$$Mq1e=BmQz^z)>zzmH@y36>)EO0+kHzsKKbv>&4nB#ba z+=5IG;FLgi@#@{;WvP=oF>K{-dP3~U!(BNjE1<5D%}6d9DVx@q`rhw6Iv7g3TPTs_ zw0A3fEK5-0bho5CD6F;&Hf|c}B9wJwW(obTRmdY9{#P|A zp+NCz(xU)I2|L=V?Proif8oO8JW@h){@D_@!udl4KMrvm5rVx+u`8{JCMdki)5enh zITAoRE7-vW1u2dRuJ>M;R~^Xe3(dF<7)bfmFYsF9dEI{Vq8dB-rz_Awp?6c~@i2oL zR5^j!N>;+o3E~;a-#D#b$Po~IF5v_r{bFEY5t8YC6a{gjxtlF)u{i_x1(>Z6xv7Iz zr8sHso_$1jVN^t9Zb@P2CL7t~+gj_kdyRfZkDV;@u0ozO`)Z_q;HgvE0QN`>x z&)bP+?_9&ATwqCXsfVU>hMTD7K6;ziJ@?9hD2GtK{njper)ly>O8$WDKPl&^tt^g+ zeTZAdVlF~W2huBgs$ZkDA72C=E z2y2T1jvMnt*a>Fw=#l~onl{ys;nvx1v{Fgw+ZLkR(TF{ph>X73jvuphB4^cq`@|}J z8Gpjl(>Fdt2-R^Tqx86jQq-5YxR7oFJSu|yfzwJR0X@M9kCH$H4>LO~DNQQg=gv%H z-*kx3m8q(;ssLfYAccHePAlkO9-O2dY{1s9e#1*y3f6Nqu>QH*pCVue!%=Oq+EtB6 ziF3>qM%~IfH$9+Q;rK6FuvvUXU^H8MBh&B!h9B(3426K$-mno#Wj5=NMNX|0TTzAW zvtAK&OchI~e4EzgV16fYaS)n4^I&iY8x4D~Wy-CreU>4t7yP(GHH7d?(L$$F)%}c!x5|SS3bWS>fD*opGsgBDi3xOlFm#b2 zxpqcoQHelvdjO?X`8zv}9f?7RDW1czT^pi;l9GK`=N7tpUq^}C$Rn=Xr^6UjRJ5ik z>)I3IOhK0mvk1REUG!%Sxi>NEns35-JI70Lb3`h_B$0oN4eA~XWvI+odtw1%sk5uA z@7-|UpDJp0N&g~g0TQz1ZZkrle}o?`)FUPkAs{x^y>z%KLidGt^X#d{Uy}e6VcE7MVTcZBlMAiq%cM5%h zn-CX>u(fi3JDKMdNgCZ}h-MI%&SkjPo1F-JG0Hk89`hx>FR1otV_!js*x&h*fLQ-M zEJ9*E=X7SZANyfnJ%$Ao+*8YXHK^6lFmJjFXKY2T5m5)ngcc%cqcxvn+lP z4>4Zb_r4B>a#Kb?DmY8&Zd!zenGE&RXK(RyRaQRd^3sg0u*~H%9jVtke9;|z@Ls@wGXS#Rbt&ZbZPN)qi{Kj;ras7J^iCE16k&c|h80^C&*@|)nB(uy ze+Gje;JpR6CbP;+6%p7W?xr+Xg6fx)S(#1J@7#@FP4eBwB5cTM0|&Na7Da^hRS8lv zB5=VOA?PGP_Pj5u+6|gYZuS0B<64{U|A0oYh_+@GQKO=hgi0Ni=tt(Z1U|`8%OJ2( zKAY&m4HZ58NVA1-&c_7OVMF^76;rMJxV6beFxzm-C-DPyOCdVRD0hXZyU*eHbeqyL z#Y#IAZgc3VST1~`>$?}fUz~{B(NG~dgLMr=LDiDm_xrXybz7%GS^at=T@hT~on%CXSj^XJj0J`NEQVHm_Wc4#or**&HLDb=^E=e#w1(9qG#t0xTq zArzVL&`w@g(E09WekDDIsc=2wo_w${kK>BRiwaaLe^xQEikB34vc5!UEqNw-5B!vh z=#q{K%-gS-362Wdc*+pO-6>3pzrI}BE|ZJqW*xktkKi6EwWep99}qm{8)Ow*Gg!Wr z^2tLk&B_?!eG(iU=Z3CL$vk{h=%Sj!hlWrvooIc48R^R3)%(6FzO`Om_&I_}UME^A zM}EAZ^78MVkX65Xoz6i+yBLAA>Uk5n)4byY$b2C$qVFxAt&LzfmL%Ux4ELU@BOQsq zPS#CUqZ`2hj(h^S*9tRDlK$Jcu1lFKX^%iY{GZEe+%GQugC^v@$__#!T|XmeNdWRuoLa>m#(>q&`wr+>6Pb?LOiTpTj{PKS zeTmiBR-GEzPmGs1KPI(?vIoB)Er%C5#CEJ%mkW>Az`A^!s4~ZtVRLKe7jY}5zdpJ4e6E1#wYcq%I>oFre>xN$HWqK(QQHAR6Ur0!^_ z5uST{d*e3(=hHU3dXX3}9R>MQFtccuJ9c;WW&1Tb<5u+FaS6zLNHkThd2<8RF50gWPSs|tLt8Nz2-VewBH3ARA>(q_6}8O z!=B2D{i4ZxK)i>NGb1_JWotBtHLy(GAzVLvY<&HWt*X7Qt(OKB_AZw;x28rYWK~>+ z(fJ0>2eI$g_&px(pK8b$22UPsIfAMaNO!*)hx|yAd~qqd4Y@${4)6fPR#xNSTYM4( zOV9>`cV_NgKLT0`g2sQfM~Yw5to6q!BvVbXLOY3H@3TGszQ~zottLz+MM2f?2$n`O z68&h%9D4iA-cNZ1gR@>uLcZa1Hm}{;Yxt@pQ~l4^`QBu|iqE3oWZIejI{!4ZI|pyj zSrK}!&+ETh#br*;slArrXD$)AK2nm|C?e7(zUpZ;3s(Xm|Tcii| zuoqe|D@~A0J}s?u_37cEzVft-=7)je>&6Opl>(^f(GxZWx!GW6lz#Ug5xef)hL2hx zvDg^lmo_c+`<7qXVl{S&7garlT7QRl&3aNyoRVX#QV0#bXU#ki!T3Z@fAM0vL7Ere z5y~P(&gqMOcG(y|nPxbUY9mfWz#L5-ku9uTcU2huT9qXKdIe|xTa!b4sA(8=J}%ex zT!b^Vz4&_T?oZJiuzgK0EcfKQ)*xcY<%*TSpcqS-^9%siXcw+nA? zVJovQ$s`;fHFpC8_UaZ_l32sc;nnqF`9rrd4<;}Zd|R^WzHA;%1va=~17X6J*!y>r z_lit2e-`Y}^Exp6zB?)k#5ylgU}_QJY%!Tns3Z(zb41vhmJ=4C(y7AX^8Lx*hZ81) zudT^zDpAbu%csfaDD9C23&UV;(0pea*yud{C%V5n2`&_bgAqGHNm*tkS87vONqDR^ zND*>;*0CUOn4;G@?cI-?+{2N7QuKt}%Eu;1!Ppq_$x}DpDg4W{4FA`g_|dVRyPh7P z1H44`v*aZ)thdeF&Yy@?fjag&mx7B<#al`3zEB%`z-<_Ju-|&6!(k-+YnTh**9W`#%mLp(bNg%f95iC7i}jEEI9WX{J|(lUGIxf!+2N|@&}W$ zIXZB0jS^Zu@fd&JzBRLI6LGJF5DN=+utLdEv+NVJGy5h?BP`q~c%w;JP(al;zyJvA zld#DH`^x|AD^SyjUI)@E$Mz^tsROeQc$JURG~aGsC?6{7dP~1WXxhtRwW0a>J^L8_ zAX!uyRz^y&fm`tR0Pz%3$!*pam>_4JRxujL0=1xQmynMFZW~UJW0LsYK2JGl+r>T{ z6$oz*`WTDUAJmjcJCFpNoKN3zra!7K%l$!oYyCNzTb8GKp9XkwA9ktDSGO>eAqAmA z8U2ezoQQPTV;Nfd%)Xxy^j2=kS|Ww*N99Ao~)1{%&pwCwzi7W3V5rL$0+@ zPny7OAvf9(O!+GkIItVJh9}pnF{!RRY`$X~*T+)vdV8rTR??bR4=_2SC=At-4bNk|^#tI>12>N)Kkfv*O~Mo~GG<*djak43Z4e*BEC>9R|}BxkCQ zI3kHuwj_Cu9M0VNIR~ODx^C&4DT6Cm#n zuB#=lC7Xb%vf_$ID--FT+YL!W(UJhOEL)a}JD-^=7R}fI-VlooSfnN>*HjFyt4eY! z0f!6r`}gf~MiWVTkNKA7^LUs3bmxFrxDqLzxFgMh?~ZN>QHtjNm;CbrCG3i$UxvdW z?zU!xC||pUAB!}nExo!(Lo=Mu(g0j|*m0j(-beI5NLA%AKhT;DBL=yI(|S}JdNP_8N(O`O>3LqWmIL zQ^OJV&be;R{ss>7Rtm-gmjlAjzt+AiUJ>?`A4(Tax-jl)nlCLx#S5ddf7*bdJ9k!y zm#dzMW}os=npFQ}MC*L#^|Xm9@CR3^b2)sAvU`^)nZg|t4Bf8@p$dccfMRDZd{)5n`mGc|B?w((*>sb|j|CD3t< zkKAg4vw@rgCQO=W2|?D{I&jCGE_-q@ed`mFg@Q6%aNnQ!eDplq4lBTA+Bp71w6^n;OmiQ z;M=gKtSg(WUTn5KSH!=lPehemE-iH3jCY~cx9dfwo(`x1O*iYH2YeoWi%COPf~zM# z0i$B%9OraLS{S9cI2I2t4vIq^inLyzz0snoCl(rWUh9zq-7vXI3H5b4K1K|Dy{4%2_i1W|GhEtX~7Kd4;#YhK2 zt1!Ko1=+?-hX^XP3;puZ<>bj-n#%7N@<1bH_x}!nW?0E`w4LgVNzX(_Rw_G@)+^zl zu$U=V6}9>6f<<=No7_;wbd+`DELNEpZNp^P>zp<(=5{0{>~?1=^q3xQKa?ahdDwC* z&Uii8&rPmR*w@bccsasWuO`(-Rnp|*iFL8i*zTg3NyW|rdx7rc7eS7$A4@~Z=oyKs ztcwQwCvI!%n#4P0VUn0KNIXBE;UV*s9X#$KtQ65{9qP)s(v#$3nVbM z^}MFzOKts5{+D!N!xFG}(IY^p*((GZ9E7BCQS zJQ{=E>ELD->L?<#S%7i)8TTLV8RiHd{H60Y&WE4IE#5>R_*Xo~@s;I)2A!xo$x^~n zu(`;nX_TniDewt>x5y&w)b*pW^dw=@&oqw9H3lKxY>F+LhC5^t?ma3)u4U&eHeYjM zA+ehXCRehoQj}-58KepRBKiGUP7xL|4I%UvJQj-qrC5(XaH~Q=6f&%djt4p=yXNvz zE`C4y?C9l0t22C$`Xecj6He?pA9=Sxl({fR-=G@kC@X0+qMf<4^~8C&grIg|?awHS zi1y${W)p=GhjMFYPHa0MoI|RKvVAm+I@}Q*>hDrJwKn%*(vAdn|VOb?X?CjA{PCo*GbLmPN%*hY5<> z`~sZjQCHuwO4dZ|`Q+nDfN8em1XqZ1KjXGuHZBBm!M;{%OGMzDujOlUS4&EjD?I&3 zaI78E>QWlhnpQDE%gnV|o)nG~or4eLlV5fuD*duT?G3cRy`0$fiEAg>kc>_n&*j{vf7y6>*CMfP>=&P3dvOT%nHftXPew zg1m$)$W%h*XrEe(BJruVe(atgRSym=d6*jv3=ov~)Mgwn@C2hsLlz1vBHZsI)s#K5 zpgzX=@OCt>$mMo69(hodKG2YiB~;r&dR>d!T4f#mR1%~0Qk3=8hVM2m$A4PKIc})S z)&l(f~Xew5u#*hQ-K4@Wm13*z=+Nu4z!dP5l&?0#|*sqHZ>PD}G3L{4#6gDMu z0Y&GB_F>e!WYY}qNQnB+UNkb?W3%!~E8^xtg^U8>nSS>KoP~bi)i;~^F3C1_iaV@@ zbBssMblg~&LBkCs7jPYrWC0}>4j?7&uHpzKj<7}a)f0-*t%-kYn}`wQsm-cb0oh+sQXr^b8m&uqbkTv?% zl_NSNmJ=|vI^JL?!mf2O&~^9#zaPU)mJzld6dmY^Dbd3RWB6xzUr41CLD^)XzqUso_n z)diSX^<+z!oNv&@9iN^OXh$A;cs)=L9+FAwJuYPwm0vY>Ro{$BxYC^iy#*>!atMz9 zCM#97IHs%`XfYZ5H5yIUHyswuD6#kizrqk*J~Jb+FL2FmnuYP>Q${W{;U2KW9cC|E z;9^ZQEp7WaYxf{1YdYC^!Y#X2GG^3S3>5E zPwRq)lX_J)2>EYviGpa_XpbRkva2<{VR*8KGMV~@vh$xlM^mR7ZU*s=VQ%`rhwF&| zLI`_^&;-U;(>#ZC05iB*=}q+>K=aSbIngxEwE|LiP_Ago*N!IwSEjH^nOv9jU!<^b zZNd0(S98BqaXQIVbJ96E%P!`efs}tRCe;uNjsj(PSItFk91s>z9+Gs%Zigc;&V&|6qpm0 zP6R>Os3vT?o4p(DbNYL|u@med8t6p$)tgHS2up*_{g=7tWqv6=UqV5HnR4LaKp*$i zb0QtfRQ<;OH1VIqAilu+0X{{bK52;Vdg%^wpH-~8EICH;&BwJVJud=G%xc$&8@>fG zYzbA?|0n#?DTKI%6x8(w^>{^)qi$!htjvS}5aszhqWU4?Dq(;d91rnK8+^QU;Lfoq zBe_NNHUaJQ$2wCa_j6BDq<-4R-kWcYNX{&UvC{jTwr@eXjG%b7zNh&)2nu-*xJ`Ns1+$V*QFB+12u3h$(F*oPBP1T2 zpV0J73{{#RbU#3FmsR&KIkJFce^HFeN-K2-z=-8+L<pSOxW|c&g35+Q|8Rc3x<>o~&N~*Q7Hc{bm*;leSX{rSPw7W0q+!(T${(bA4y`IjRJ^wDOLhNmWQfv#bp5tR{X1=G!=B z?6szJcNE08HX2AHOf~$BE*=ydd~sXiFg9RynaU51(TVF`-})#4e{fazf*M+i>guMW z(91g#irUcpBW2%SE6O?A#+-D=Bbg!8CJNpiXz{J1|7JtAa8j7e60ydcSQ{16WL$#? z{Lz`YFhl)bIJx*0WIE`_%=M8?{c37C;?~s22(cj!DBm6-{+6~X(n>pwNgoRm*zdA= zgp3ymq({A_@Ls9)P2^eKXF_)2W;VN+(?iZ7Y{%dCA92EWQ_;!cTli*S&%-SUb)Fmr zhllWmO1aDt#fwy*Y(ho$yWiK+Ty)f^&yw-d{_O<(VXxtY-)>C<1ozQ*f28fIIAq69 z!m;ddFU|@%&;@!O2fJf?;7u%f5${pviIqN-evUxbdtcpYp)YvV5Y=$=R91e^&^CB` zLRi`7jiZLOgU?4Ks>tJk)vDybO0KOHIR-OIoXBZ1KWRvvJ+{7e2KR&r>6QOvdQTp) z^>aJQIlY{(WZhGLOfa;+p|@bkY2x%@zmk$}D@$5}45rxEgF|Oni1q;=lZ3+0NbrFf zs%01d`ndD@_^E3^=5k8wj*}4|@L)n2KE7QM7Q4k)&&+a5H41lCJwcJ#FvyR--D5Y0 zqPuu!^-zeR5eLa(#ls^ql5paR4Z{WpO)P~qQ>5Pu2GewN$PO*?ruz6)RFu-v@ybTS z0b(x{+6SP6Y$UB>)<21}>M2DqyT7s0DJ_xEpAHHI^4kWAR9D5m6R}UV?lW9*p(djd zgXary?+ZAo3a3@;@{&1#Bx=OoC8i`-VC_P(X4?$z!v$_d2*OoEse7T8(LH21mTso= zCg(U_w;VeUHHUv3x|pC}{2_Ycjt!Yp7i`lx4ZNGzgL5ONC{*Dx*+dQ`FVs;o&}x0s zXA&eIDHM~rAxZ5t0?oc#O1_GpkMkW>q&rVpfJGrK(!oW2l@%`se=& z$-VS|3l{P9s60K*p~FYi5^@`0pUIxF(6)0l-9C1ixiRyz^~W0>MnF2DU;x@0k!dl@ z^o7*{{5bD4Q;AG)xtOrruijuKuNO*yg0YynDlw$+rqrG!9HO&FLj)WjSl< z=wD%OJWqCfNMVjbxfc-J84)^`PUHXxlG^XOfGJIWMV)rU?E62S!-Ii7ahm%WXB}{w zz1V^VcbJR87}{WV?v~huv?R}!lXlsjb4`sz<(?ke6s|8m1K-wBsWl<& z_JT{kC;@+@H%uLP+<+Pfbc*(k+WjPb#6RHYEU?~;fobM*M{<2>h$uSsON;5)%z?=> z9D^~De;QJbYHVUDpNQ3^0b=(tXAr0&!VKo~n+C;(bJ7=eA8 z{<^Fx%?nOUWYFVtLQv;4e;sKFaFKB;k}nBwB=)-2G;URWH$6hI$U1Ajae+vJxP~cp zMtx1gvEW+fsCi&#do_V+XYTN22PFQncC%xxMWZB7So!PP2wWI{9MEFd_rCZ+_<}_= z?dSA0B!GM~_1Ba6S(U)>rR#0d=yFeW(y>+PA5`Mp#59}3g2}hwo!^cR%Vwdoh`e0F z(AV~(bGRP4=iwqZ;>Gi%jfTFlDs00J^$KqCec)rY#6=QV-UyzT+SO#Dm%wn>>5pSX z#a0V%5_kLE76X%CNPkpVmP=L}pP-ZjU?5iCy`0Ds1T*Zm2qp*{b{UeHz7h_^Dvpvv zY z4B{sF=(mQBlev^Y(MT0EN-oWFQt?7vmIVWO6R^!e#vX%) z^cwyM+BH~lz81}94gJxXtfpX)IjHQn?-vg}OWE>A>Se?`aaDMip~yoG2T`v`o2iHy z4$Yhg|OInU1wE)Ty#oc&gM3l=f>dCrJn1rqPH@;Hak9 z0`%Sb>qGZmhYO3hZoUH$ERn={W(pB=18ID4aTBCz-mTnvnf5QSg>rI1g0#f)yMj*;5AV$3h0yww)NBsv>2!6Bz- zD6HTP^|=0gZ}72JnD)kYlHTl#9$XU#y)`X~_I;6ZF&LOIElYz==^tbm^z%>jb3SCi z?-1_)0TV&&zNb=il&u^%9SYODti}?Zb&=en`cP6#gTBku!71YsK7_0>Nbo(yGJT8B zg|d7tavt}hgUq!gkP*_b9N#_&X|yi}2u!us|7U>UYkXi51P&+LlK>$?o#ib6=nOyO z?hJu7V&qnGrF@a7*wMvh1_U8L>%yQR3<_8u^6Ve^A}1PZpLUj@@YscNm}lxJ#e$;@ zSxmz|;(W*(=1JFjt%B>dX^;>)DwV5_OM?J7CI$p)S*@I892l_76#QXcb!hK@N{3Wk zC>4EzrWu{;<%6M+pZR9|q$v&(lp=QQEXM&tqZ~N+W?L#S@O3I*&fitLc8$qr!!vsn zuo;*o+bjSm36zm_4}l9Ve0R^4Uwr$--aR{y>FMp4g+0ZFflj+w@7}4UsVKiF1sD5C zrD>_Q(#2M*rzg}Ja^^ZC=t=^8TB^Im52W8s}YSQ!Y^#ndv85x2FH8_S5x z?oE0PKN2|xbu4%u;k5EjQ{@P#HC|2pcpLjc5Y>FEcUeG2ex{y`TFCL0%D6qALGXOc zVO;W2pf&RDki(>I2kR}JJ^~g1OdmVr><|Ho>DNO3B4;*@)kVVdPUdqntYWxF)`uJF`P@-`uls_d0ed` zbyX zx44hck1;^-a>1LI9XczOtX<@J@_n-89b~~NCC5B={@_j3QD#0BT{Rr34P4L5$;z0l zmff{$mz+!LfN>t-eCX-vkpQtLn>Vi)eNV|b<^UTT+nbG!jXN6j5Yizpas@23xX%OE z`fT-0l+jsGnVckfNucgjdNZu zj9<95Du=YpH%53l6F}cE5gE=_ZmmPli((KSf z50P|PcIc|b+1j;BvlS~A$rZjB@czc1;iLo&kn#BAyRwHK+L3L2Y&iSnoeyRA+`Bb< z&-j!7~i<8Qd0dv2I|Aq%LQLv z7S;3o1i*?iW3!-C9&8Z3kM$Qhw;o}%1P(0?CMcIg9#BNDPvj-pCF6YdS?6Jp2 z+_{5u3UUz$ELhMhDQ1|oe_4;?#;)TF1D7x#kC|nRy^&6E!0{oGr0GDy6Ew;|o1D+J zXs>djr?p%s2sB!rPRz-)9RL7807*naRHPZNAy5*53odxikdQ8`S-rZ`D#>1&jPl8l za*C-s(lZ53YJ+?@eoX0)jO=w+`u+WV*_t&=vLlaNksW{h;o0$<)@JM1uM|VxC&o5y z+)}bpw`R@KY||#4D1i=p_l{@3{`I!(w%dN4-FV}@*)MK+Aba3}?e10r90eQ$3_ETU zU@J2=N4QV^r5t*wNZwhhlMmaGr;Iq|*zsYgkPi7+t|JKkQC3jpvaIJ!Lo5gFS_cQ} zr^drs2bF=-iN^-h`+EM2x>+I|$5pEqx%21fqgH3f9=pZ`j!TvdNx+CeFLb7{j_ERP zHSOL#D#7IT>`n-yUzy+^L_9?u2_=4VTm3<`aW6*4CuPy z;jQOhebqa5=Uc4QE&>(+w2PS0cLjlqFZsy%63JiI)6+YM>kXKfW`fiAR-18jzm0|$ zSMkvJ(MNZ>PEI-Hu81lp`k%H8$jKuTRUmkM>~9ThqlNe7imc6-{|OpW4m||d+;HT85*2F z+qXaAW^Rr@eoglL=bzls`Ga!@=L5E8`l0{SISKwBNf2=T5AMvq_q{vZErW#%2eQGz zLD6;G1p*=$Qy;;CzaspK>RVm;7xCrmMTNV2diu}2;_}zqHv#g{v|Vaybla9@42D2S z1U7H^*rlVRyZ;G~xrxbYYP29y>57HVM1TNe8E&}h$JF}Hox9y)zEhukcy`gto*`HJ zN4kYrq%CsfxH`xE*lpW}CEX$S_eZkbvM_LT??g5{vfDWWnS#yc$t{Hbc|CG}chJou zESH%CtQT0jc9|IDdF;le)G;*r=;s^X_<8n)Fa9`t_~9Kg8-V-6ea`8CKBUbFD=4s! zuo*I@BP*1#|Kz6=KMBHOxEc1dyT;E5-2-+yl%PMkxy6*M4I`pZ`wBDWI`$yO|1=+2)-iw5d+%*6dY z@W3{A{(R}nKXGeM21OoZ;^!c=?nfcVe;U3cHMNhRp!HQhbVc9V@6;|?KlHrMUhzM! zuha%|Pw+5jy63pcFr#uekx z&^(zEUYMqjj^c_duFI~v`bKdQyImmA+lxRTAJ~LE%yY~r zhvQ;<85yLdj2NS^egDt%wt*XM4PdMTzwb2x^*E%W5@Bk z@y2`Pe!bkYm;3hd`Ga$X=S?hwZQ+w6OC+FNy=GB%%+YJI6HYihJMOr(x$`GJJ_rP^ zy86f2*S_`(2?Ta#hb)>W3r-OT_$LSAe%mNdj)C@rWd=IJPysoLxS%|*Ad9V4* zWv~0^n8wQOAz%SOdw3ajmk@aIOaAWP#W4PkxK5E+?lh!R3LR3n0t5_;&X|S}DW>E{ z#x7l-4a-|XuilPHoPIePGI6+85-z;Ej6x$$U0pa*(v_HQpa&a9~^UBrElH3 zGh4oVQTE~sPs@Jmw@$A+-uPHycIl@-ySsk=JpAxZcg%V2Kql4>;M@sul5#!h01b6O zir)xkuJ-Ji%$+}L)-23UJaJui<{8JjfS@Rty;q(*`Shp1pZ(|8_0jtkG7fBziFtt9 zVRm)-f9aVM&V(RMJvES*(RiLB5a{il|F+9N^M`+(r?pbM2$ZwD?MgLzL!b!)coSf? zI`B0yU}t;t(Rxae4wJ^MNf$v=%`Vo0jL>KXL@pc8BH(Iy+qNBetZMg5f9v$|SHJ2x zJxiAixz$nBf%0G^zy0l-v+sQ8R=2_$S7vzDAJ6RL)&c36#(kG5qc8Rc<2y3qSB;-| z;_B?2vro#N`OHljr+LF$5y=1F&;NJ!sZU)ad}A^#yx2Jd=tG&*p%Wb`BbLc}q(yDi zrIY@PWQYCFWS+W1kN*CO+%6iGDf`E>bIv&-d(|t?mX-Z@hmE{W2UqXG8jkS%!K0pd z&L30n66n?Lx$D~iBpAR<0XE7d zrq^6^Q}(HU{ciTlUp^?0v@R9>@wCZAeeFTB{=+r|4EVJd2M(T^zj$V>N0+V0s8#e91@GOiYYkE5>7e`x5BTl@kUccHE)N*nrTeK~7-gD-e$6`tL0QqSYVYt8W#UEzh`qoWC|F~S)4YDnd+xcX)UPtbKmZE`-~WLt zvzu@JwFCi6TyTP50vnwP$HsobG}a+(W1ezYPNmKIXx5gJ71qW2wbG@NzQTTyN8gl( zpl{o@CmhLZUwe+M6*=AIK?CQ@86-@ze^Jh#uYcoand0B(&L6D((4evLHPDprgtdH} zQK|I5U(iTBaqjf>P07r_M7Dj$E?JARR|1sPGQ)LhcHRq~Tt9zE4>_3O`ozb-o_*!3 zH_E#S76^a8JI{$T^$U6A%*y>}^~yigt^Itp+JD^@m%ri6_Bo9sM8E=o5Dm-E3IY-U zJY{rr1E1Pu)BNA_o4z!Ub=84OY5juR|kFL<(y?acq+(zUc?a>ea$^Uv`zdVk$ z1cohiq`bfWpI^JtIex5|Ubt|9yBdOl$CZ&9Lx0r{J(>k8Xm1=JYSSC_Mn4ER#>Pfv z-N7Db$Pox!a>?o0^PYD~otZ`%)65_K@K?5f?dvx!f!>(BzAM@Y|k#*~qXMg%9=gHOedPg3fKR5lK(q4)JYV|K4cR9?d5wE-!IC8lfthTR zqApxY-r>txU&7C%c;Y(rT;J}oCjshMOgq!~4$^6hGDbt790Dhtc;0D~ljE0)#SjD6 z@Kq2oCeH4;6~8bj;ojJTGdNP+Dg`I)5Swum%sd3x4roMxRKr{}qQq8JloVtN#t8bo#c;W&!&8X!=w zbV`|FIx#Ws`oy9@IP{0)-tqUZy*<0-mV2{fk6GhpB|s1T(EjXaZ;~nM>hKSKa69}> zf6@J4H;6X>QLiF4J?{DA3Z8gZEQ_RQeXG7=nW-`)vA%4d90PdC!&#q)9@>_jamLZv zU%vGv+0jR@28pA=`Gf6xd1u3W-}}Yvo8P+G1(i#eF02J%dS4wh)Cc*Q*eD+<^yhen z2IspK|BpPfGrRV>+q1jwemFb)u;p^KKjd^G9bQg!!U=1$8*aGUJu)~be2^tu?uRJ! zQtj3!NIe{St~nrgK|jNMBQuZJJah+WG?3GpZ3*Bp2Az%BU9x9V1P4jg+#ykaQCD7Jv z&j$&Rp%D}HK=6Ubw)$nU*qwJiDr*yNa?`mm+K^itQy*SBvvS2DPuy_BZF^;1zycU? zj)UXQYuKGqYV4t8_T3Bvwo%`ZpZQk(gmjccxkV{?;uPl(7W-iu|M|~9C42KunFo zdjW3E<`4ABtiamv{E>A4i{+(7>*aRR{qlI?qm`kd`L(AW-0#addzD?E0dNf(1gOK8 z{@jqIu1RnJHUU%vU~t8bqjln%^ZEC4t#kL#Qs)oG_~e%Zw2*t41|=}lrB zAUHEwbCTY4=A{WY42xJ7<%V-a9%;D40QJfz_ps7m-n~EkSMS+8{JiI$yj+Of{eBup zT(!OBtyg3}`N>`G4Q*K5hiQJ1UfU(9=WEs+RkaNPh_iGxz3CX(uBlTnUzIEAph7uu zUdjCx9j5s4O@eQH85(C#}Exns5KCS8jVq5HR3oGN3Ov z4NO|;M(WN}V%|&=@QcSDm(v(GN)73dk9TsQKGcnQOrc}_#RCs)&1B{%``>?lp>v+3 z2i-5_)w}O}*JtHk|Ig)WdZC*!(tar2oz=cD%Q<4lZe^%05WtK8-Wd4xum8;57JKrO zH@c@ypgT6q49Kmr?Djhz$nL)9F?q^F&mZ}XIgvslCr<3#!KuF+#SnQq`1+4X3Bc@v z1Qgv?&-C`r`@u~&efbA$u(W*yEC6U9GvnwGfuoN8jaQ0@lf^F9JSAK+EDBO?$cJUt z$0_OZsg!E+^7W9Zc3e|jEsu;t2&j0k&k3Lj5+{689oHF+a)c^ULFJ*h=J^ZUz zFLe$=@9}#lDRKkFkdJo^HQWR8L{=Rz9F7kh5@ZEc>|3Xl@zEGu(f#m;cVs{L@jcm- zpS<3^WTf>P<2K(q3)U|J_Sn5Xmy#sLDOu9 zg3a35MrRif2=$=BJrv9iZQ1h7?2rD(3mh5SQ26fmZpq&Ew$Enw-~X5_Dn)F`N9eqM zuCmR4=sWDEP4*-?$4uFfkMl>a?z12K;EwDUzqrpmGKhtW+|c&yXCI&4dh31J9d|tJ z*216-yx4FUkmPq1!!2qK$e~LEyR?sv4&Qy-t>3sRlw$ez5U>ECJ-m#%Lj>>|cERvD=bU(mT+Q`i5g(>O@!b92 z{oR$>zy14n#i-%SYeQn}$HcDblqNz5b zrvo6*2O(az1_62f@^zq{%Udh`^tgFEId<|f#asDa`qHOn|MQPu=!Q!^6h8a^U7!7p z1drqL*xyQdo1+h`^2mg;%jEOi=@R6Gx}>RE*FpwnITkHi;AS#@@Za}lM<2D^oj>Hp z?E<{f5HBve>#m38meYLK)I^7Nehf)kQR|6YZ~gkeQ3p%gN5BGr_AxV#4iGryNf+S~ z=+EQ|da?Qk{BO0x@weI_19U321of0mjpK@UH}3h%%YEw8{&1R@_I%G@eO4ZK`kCCz zJw&F>`)Rzzrm0gvU&uGxL?cJgf=oofSi|9}6D=1o5EkVjFH@BPR8%f>J>-x3j*$gw_-bKo>q8JQI5e>J+G}r@HwRbyG z3;9uQwUf4}FYt%@#&ndAdgzWauJ#{!bcf6a+$k@gT9y0u1!kE}KIw?;zh$QBp@(+5 znE(bn;O*uHy=C8dyEk5qh72BodNihLMBM-jm4r^1MF_c5mPeG3jbZ}JZV4+oj z5RSDd5B)SC@u};2hW}yR2v+-V+<0jA?ss3}7FhywY|shL{}Z45mV5p3ym|VB2fG!!>9x3{aH`KN2lQbbehKT$8@}!LXK7NtKUoFI~f#Z)qEc=f9cH{+G z^+k?Fdc=B_Evs&m)ddR{f9B?!uG&_X&*<_9SOAd6!%8!ZfIb2^_S@)2e#GHTbku~s zvmhxQkfyL*;Ffw+$cB9LT_~kH&}8yW^sFByk^GspV1D9VU;vuTw(^ z=a0wzmMt541TXoK{+7a+Na}|9p$}b^ee;_)%hcvFx44UK+V162eq#zTAze+dlV0=> zG{w8L$atEyJACAy%+t!Q^qNOmog~XTR=hW0nXKT(?SQwv{WC5gf@4Dv08C!{nsY~w zJaYYy@HRw@9XN!?fO(aT5qtded14EGzlY9VWkZHvflv8NLC-u=I)9ae;3K`~bt%#j z6H(NMLy4Z3h6Z&4c37Uj`rvyFYGbyH)>HW{&yOKA!-0eGkTFXd}Lqolf;d8UP(O7#&8seVL1Cd4t8#-nj(|E5LcpPiDL#J@lvIZu|$2(}z zM^Ru9){{2WDV0|p<#o6cG@bW?C*|I<2pK<A%>s}%c(qGA-sIqkoz{k-~Yqaj-GrN=qrEkIoVP2?Sn_q8}vgZK)%Gd(WWeJ)_uhNM z4R)_S7!B^?-X9Dnke_821a_OaKgS5Wr56^JF{{vr=wEr}}Jy z=+`3euZ-bXguiB#kfwHyK1@M}a*Doe9rTYk$n+ZwD>h(`ZRN^E^0?#ovmgEFSFT+9 zH}J~e`;C>Gjyr5*czBOo#p(TQI^5Z`OrTwS$ zi|cB5@3VyCXh#9ygbn8fo|O4_Ie+lNtWXxdgK*)6PnKDe5jk#o?1?jirEq6`Q40AQ z8w4=AtdIT&0@K{)Gh7lMVT8>BUTcz$Uwzj2*x2|m950VUN;kCWrh5Cb){3~=nB-tc-|-GA)cJq`4nqS4odH0*-s_hf zsN2|8mW)<-%I&JZI)7aKKk~?q?Ci5QWzT-rCXwOJDVO5IIN$o#Epq-0*3TcWn3I3OYh0Z{1x}bKwyV9Y_EFN+1Z8-E8IIbcupW? zo?~Gde9d+Z7PQ~d(OpN?>f_@bK0n#CR=>4Y1e(*@}&FzP&L> zfSsX1(G+FfAsLI1hKEPxG8WPHHDp5m1HqtBVx^w{WFG3&8Po`$&Vu1B*^ zed=4TJG7(kCGu$COJ4HyY;0T|I~u7IWso*3H_LN8az3t-HA8yH12R2%xg-cOJ%3zr9WfY1s9%Le_k8L1ylc*Uw)m`;jLxjt;JYD zmKq*4Qm6}eN@NO_)D8pBde}kks-Npa>Z;;2;9&AQ>mh@i=p+Mo1~oUE!1jD9J)`%g zyN(o^guM86z~?{zL-)ov;80u0Ht^z?Jatmu_BOn0m(C7&9`@sFn&AB~eoa^&5 z;{5Nwf4f}S&3DF28)0N&fV~UKyBTksLqpvn@75^@jeK~hPaOUfjCKY0)p2ihtE`g7 zo70eP-MU+5EAUl97;xO<)G2SwNI1=wG)F~j}N*CX*;|OOHG!LhVvEu3?@>_5v>o)mM@P0-}PCZ!zc}bX(Avm?vR_O>NH?} zr)%oVbPxG*{UQ6fdv5zTU+|RN)jz(@_SLWcwDzVl(5bOk{a}>ApWk4dQwAuc@-#5C z+JcnNLgNv#k&#i+rQc1tFJHb)UYR=JKGw5)_oy@ETel9ocNJ{gw!;~1Og#?_;NAQa zA|4mFm<=`DD&}x7m+PHAW4Ab1x7g%1C@3+@;2jxT+lV6C5_5a%2*u?OAwzJufT!g znRZz_LM)tf`}Aesb64MkgNvj*4mgCTy=y8k<+r#@9Wh%}k#lFa3rH|)^`s{qk!?C| zZFc05hq`lH#yqUlQ$u*0%qQg&ay_fumDC zr-~0eybf_)jzJ2Td04n`UiRak+$ZnT__=#j68+(An&+N-Qud`U{aAwB$7Rhx_`#`I zO8GMMR=ZN3$0$7l765oGEI0EAtU(uIB|E$gP)5;7F*>+<+bvgbi?XxNI>9kX-!8=! zF0ORftXWzU78>p%BMj1XTTO^_J2a*>HzW@{PF3&(0;WihI_l8unP+a2$L-e1mE(~6 zDj(jVj(f;hVU8d`-c#Ua2JX1?L77UuC%fsUUyH7||K2CxTz79)lNkjBE%hLP-6v8w zctB3Y^Uhjyl{N+xxScU22E0GJ_ui503c={@Z+n?zhG2Y3_|#L6n*ZJJ-iE+QfY9{| z;E6ZNjO%^5b|8F3A{Pse%Lx{D1XA^3U8?VVUF{gk!qG8#;myMAh3B0b3UI64fA~ZF zG_j?2Km|o2_5JvgY{f zQVy->Y8l+Zx%=)%<&Ax}N>F!mcHjNmvO!s}he!0#9}rci?gGJx-JdJaf%-&5xgumT z*!}z$e(1guh`z94Ex@_woFK1A#`h5hqz3)#xzldoK(g%mF3DH zU;#iGl#Hfh1kO44P0Qu^|Bd70qaq8p0DKToY!au}ZD^>Tcw%>U-g!@!t6Kl05EgFX z6Ro)N##XaI)9Wna3j2o9lv*ZZ16RBiEC>`XCx!o1h6^Ne4Z<5KSqAlB z0PLV;8q1}Ou%30zg~2Jo>7IS|Q4Rx80|PkKD`n+B+VN&dETGiQ%dO>d7$}X`Lvj!& zxG1&eeNY8_aYc=<4X#?Hw;;~H;3>|L);e?vooHAG!PpQ4 zEL}P%`uEjte?b`^e1x))*FN$=f>YiP#|?&j2r_>0iwESxKzF*QCcqE+=RD_x47c7e zlcBR(H4r4&i8tsI{+{A?mSIyl#=NzT#1#`#K;b41fKfT-#LDCbmR>( zjVU(?VQKJ#hfhfDdAkW)riLJ2Uj!J9-=00=V%)OqwXb=uIMn)A@3PPR-|OWa__v6Y zTjb0=pOd}mO&4SvHms6+`WkbmjCR}ybi$75 z-s6s2+bj3rv&Hg~nY-`a=B9M<0v6oYRpY8|1Xy8jcdL!xal)qKs_oH7N3uf}57b}o z0vf#M{rc-~%^usf8!rwLN}WMqzp(RqOd%@Vons3tTINM2PL4J=YQi+|P$eaC48V1K zd@_6GD}Tei{0EL7)9^q4`90aEFT2(~6+n?S{8%hVp$qjA4rE=~>!^L}_bPVn+9NYR z!xDg;kiGRSFLhVb19IyH8_ys1i!|KX?ug|d+Q55~e68vsLj~!so?;0H7ccL>AkQeu%eJLNlfv|Juu>Afeva`-Q(e;mZ1h>HNjyoQb`~qc> z|Do>4`~E?a*Tt8yRzr+QwJNXl?)lu!H(&JtsBJ5cKyk=dUWQQ`0)+_R?SI-hwOW4I z^WhxT`4_U(+DWGimh@^se){s0Z@q&zldFtf?$JMSp02EQd$VtU`&Kt~iq-dO&^rGa zKqu7^PNLVX3}3fydG`N&@KxE%U;a#I;9xMhQ=!=Kv5a=oGKEvV=w+v8|M=nGlNITw z$Re-pay2?3K>%LR0}k&~DW@@op1Q^Xc9uK)Ahu&;FxK<3>;LPQg5zGt0|y8L{*YNv%v=EkL^3(y(QZ%ufbK^9q>|13>XV> zPo;3=s7I;`9q}83F7Yl^vOy)RIr!lZ;p`vON>^WzTVThzz;$$VRK~;O<$oJ$BQU1? z&fls}dt`X{e#OLsy?b^ZQ}4twr4i`d@|Et&2oFXCuKeQL-HLyC2f%uDV$+== z(|q{DPZ>8oMSbAl0|N~tvdiKe zO~SU8I%KLF_;uX@?$_fpsUQA_SIg&i4|h|>aGo^CVOrEdNW(nw!eX>{y#1o=wXc1y zn;ypfVR23Zo??kKy`wi6Rczk4V%+S5DFO>w=_d=x9?pLB<6kLD?f)5P94nY|>e%BB z{TK{{Dde*(`MR@1UXB@*#j$G|G~^UW7C5eaBaTV49Y-y{D?esdcI}$XPLYLn2zoF! zD2rGA;%#^H=Hmn**$- z3-V<)@{kt&;nu+GUiW;N9XmJMwrxb@<2DA)ANP9#CN8gKj9q_+biSgA&=>E}7YqF` z3-Enee-LhXJ0RW}fR8FsF8ad`U9}G%yl7o>n<3h+M<4!z10~y9Az%SOD}=1QD+u)U z&D(?vJ^e8=)gL*3;7DPdG(bRJuQE= zi)w~pq7hI~4ocWi&s}Ts|J6XM3>Z~B%6IIsYqR&hcZ*whKx50R$2@m?C60j(%_6<^*vJ7$4q;kMF%>!58s? ze!43jkgGfDHLu4P$5?j;227>8b|sAC?}G*579Digak{=lX{PR+s?9#+XBxNi z!zP7$AHLXz?0@Fr77Bjgg0GbJaqt_oZe&F2I*s&Z21DekV3^Z(5y^Sm7qmPz157#!l z;`SG}+#`X(pj=_81*CC-P36@MuS(Ds&N7fTOy!!b&WC6C7t2cLzkKV<+(IoiqH1i_ za8Z-aQ;u`XmNT0n_plzan(d&4Z)!||vkw@;JRMn>f?xHej=5A8ZjMz}tXNn-e|Y?U z{Nuai+!?Fg4p5AoMk)|8Wu#^H5D8_51I9Zb-uTAn<(xlSfl0SF%0wXfyyu-PLBLMe zkK*L;kbg3AsOmP&Xt{Wdl#B5!k|#>;yML>!TY1DuVB0ZAuaUkc-OK}jPtuprguC_{ z{s%2K@-US(0LO-OmM@2Z1pwu6GO7*`xZr~K4CzOJnhS|9V4Xh`mav|IfKL%LFj(+L z5{sG+KYUsJDjYrIUgV>XJ|R<+y>3dH+Grq=zw)4=Aq~6G#Jo z(us$=^5o>W8(-c(;W&i526lPl?i{wz<=ZeWxS66I{kPhkVzqxt+ZY%CKIyCBwgdFW z^gmYrA9mPs_oyc2A%MK&j{99Z){p3T+%b-35yBY-1ZAmB9Vo|wKJh{yIAW~xz=k$% zJnk%aD`g*Ve8X>McwhhHkKf_jBb<#nmmz|iKZ@y2iTF2dVDqcpYjvo#OP6ZCB*^c|$x&TTSL4g)uF>^~C+!gqF z@~k*kJj3wOfYKOFcN{4`$b@{Rc&rdlI^c7@^OJu_}$vIOWpW63>pfuj=QCU@nb{1Zq1KwjVMUumlUwzvDIJPa-WmOdMwOc zzWfmP?hCCW`kHFr{wr$%Q-h&V*W!VG*762qbv8wJOFg*My zKG-qXi9>HkBN&f)^ZK$4@}d-MxOa`ZyK2*rwRh+^$4}>vlskBs_i5~KG-!bF!u!p! z;`w)e``KW{?1D>a>|CMC{~#M&R~ z6u?J9HUkJ8iqtNW(IfgS3KX1h+``$ikIziVwJk zI=tl{GO0bK8j#fu!2|*(yia1=w%Usdr3nGY>eY+fVn?jXj>@+EC474lM!`-KyOdKMCMb2oyaK9izfgk#}ok) zglWF9?3{?SYYI#-n}Jy(ys83VFyAM(TFfMdZud6Hux|7@H?90zrM(F;$LEZ!}l$5VCCQL4jL4y8vuP)qO9Dnr3-fL{4F z!7lekLh$j4hP7+u!=UmB>huQLtv2+ly2&wFU>^l)g;!&{1ptkhSWTA^5Rk(0|eeM^0 zU?8J*jvOdq0VzI>ykfS4{~9a42uE7ZS`uroJ)f# z?I&z4lcx@#tyIRw_xd*rm0>rU4y>SoX9$!;Kn&Vp_<`ff9J@}ja?xEYBiXz?RsoI= zS8%IWFUuCov^+QYD9VzNk)74vUN|*4z|O8%F&;Qr7`DR>TjJiZ#=d4Vjh)3aPCv#4 zL2zPv^^eOiVy&s_M-0*_cxYaGWJv)&V6Sf|8{{Lt1P2e;u%6s9{(=$CiJw5wA%)l^=$PNNgQCtzl1;_^1B{BJ; ze)lG3HJYnQM8)ehi8nD{a&Np}%++X&CYUIoh(Q(+MGzDakbPfHGZa z>Hk|#)v2?*z03^rp8ECMwLM!sRp)u?)TvV^MH6EaRPcWKiWLj8#f$y%(Ob6cki(sJ z4B)K@1l0|kqplv<7(9_j-vG|XNb}bv{WJrI{dCQn*Y6I;0Ty(tW2?puFc797SbkX9 zIZYk|KnF8s;O^YXGrorbs~BF7sdU^694ioWTVFXUY_9JI5u<0Nshmjzthv6Hj# zc*bar4DRrE?;ddmoJIw)EVDkfd-vY{{{E>muxJaG|BpE0g{|}1%Vf23Pi5M+6Pv4+ zFQ4yL0p`uaM_6DqturatH&#a2SLho!c1)VkP8@<`10Jzp<00N%pEnQ7#zo7yiUm2V z^^=wlZ5V&Fg6_5r8W+iVT`OLYme<7OS+P|_f`r3R7~BQJ88Yk{8rd>5G&mc5-qi)2 zvZj?_fz%_(a`IuUV6G7Yh?Rw7k6n}Dm}rJ-9T9SBVvZkBLmK-@aE1nClM@2j5L{3Vwec87s}M8FCFHUi?!gITk1uvCkct8e$8@Ns7Ww2Rlt@XZ9E zlY4(3w0+N>;n9JC=k^Q@&2+n+$2SF+nj^5|0qpy;s*r};J zqi!#SoorN5oQ`@s3BdTlCQlrAv|vHE=#Aq+V`+D?QJ5e|aCMxdaWV;+F@dB$k;m6C zvDe~fcRekub=VMy#|8QEft8Y~0NkFQ0sqXV3ZbcY8fYc}%|MuT4gBe!ymQmzPdww+ z|3*jly07w#$V_0SJUd?`AGg6NXWSSR3j-&^I|f_Fy9MmN$Ghr$bqUYok=6}HSZ&aK z0lNkU2LyjMotLFG(KH+ymPuEM6Fg7?bjdFt!r0mX$8HU>tz)_jMs!Fp7vq`rM?Uga zw`&}IP!!M~=odVe!1L~j1mJJqK9Ft4{)T#O63gU+30KK6A0 zLpfpL!)5a39?x;IgI7$?KkudTiRpFO>}dS#k+ITFz$1$jPgpnH*EhGjISsJB=9&pW zeO)z>6VQOXj@Nzq=|`Q=-QDFs$2S2w6G4Fk9A7pT!!s=W%a^Fz<$*i6S+jcFb8z6= zyPI}tO%|Sx3UqL1l?qkPA2>0LZ4-j_qB1O zafusb4P9KOsJ-NU3|a4@poL*JIVFSW3{W3K&CEHFg#*JmeRJ-<4H7 zn|jqiGXZEu!nA5&#*CR8F1h3;IX1QrcTrQy3(pi6$a82+E_!==WG8xWwsPg7;C*T= zIpX=FJc`(gEe9}2Sb8lB)~OZ2snP0|M+<|p3tpd%gLWO@g9X{{AH|KI3&C zSbEi!p9&8hs3Twp!ZZ_r4(#-O+2jQaR<8Qo=dTuLG%C;k${oo>|T_oZHviXO|iC&e7kgz%bd6hvnV1ey*4&1TfX| z%yMTagsr&Zircc!{O>E=Bny)*E|GJRMH%4Ws{$r;`#WrVZhLmb`c>Iy|Ngh!M3PPl zn@wdBDUZeRcqMl5VLom{(If$M@YcaI&*DxfgchGr)a)*dabs-Vqvq0XRu4bh=3pS7;{@cx6o?VK|Y#|A9@}$N$^Ex^nSQ$7>j2{ohyTsXek|V!cv4;mTrQ5$8*Vy&>dqSeBDrSIwtefN@Mc0)NIjdjI8`(h ze};Rbp|z4nR2YuGOEsB`{-l||E7nNkP)WOP7I9(LcB;Cly~ zHf?o>^nkN;^&|qugiau^N+%l(@fye+j*ox%KUZe|_OV|ICT!Rn9aS6}a5Y5U!f75bxElki(j|S39ZB~OM*M!6 z0KggUufVo||HBV&cCT-ttq7=V_vaAD|DnCu4L)m@tlx?b5y{>I6bMjRWlyt)Jp{TBaXoH$>G04qV%zKc4AM?3NHqmk^ETOV?=>UhZH z6VkK0=FjhS#{|prH4YVW&PwURjHZ9USK5gE&nn^(S^mbMJNq+0Mz-~_$DSSkY&H(( znVeK;v(S}~_3Y)NIo}CSc5#79h8aX()WB%~)z(N`pJolUYFLW%R%^zBcV}S8$9-I@LGIw*YS+m3$ zAYG>R4nM6Kt*6|17_G;9+~OGAm(DhA(sS}*r1nRktUtNsK{>T=0L#_RfKoR_aY|Ne zXi<+z6Lh+GvA$kNUU%H_sC*;fIXN|MrZ@^ck+FzRopMeX>cCD14BCnb9VRk&-~B}J z@uR*uJzaC=%pZm$6aBOXkjkNx0Zs~RJnjJ9WFamGKb*MtzynWa4?VOASr_*87y>`E zg8^d*k0vnbvyU%W-%gA+GaMpck3`^P8J}0)x^+-=j)}S6!9xr@MrzkisQ6=}h=tzK zD5Gnd8dEEVO+_;Rr(9SVOc+i$+AUkQXE)vafHL35|E;sY^VI9EyHjME?Tjeus(xrk*$>UZ zvw7%r-uUZkY~tPbJRz@kb&12&Lx4c%`5Y)eoH8bKc$~r@C*zGBcG&zqaEu66?}SOk z)&VM>>ImgfZS-LJYbAdKRW+<69gFZ?|tuQ zj-)lF%46UC|Ni&ylE)DnWunvP?#NZ|)sp}i|Dqr6#`f+VmcxbSwH~jaMcCz!#|=1k znS0`jXaJsdNFS&{W!&rb0pP8LC!gHX5>@(j&ir|EdhmEa!^BJ{Cj|O90Pn)ja1*v` zuf2W0KL$X%Zk0zL_ucoTo9tovA7h9=eN>{4VK8~opI*1To2%|_QL?{$6Sh>JIY~<%6*X2@T&qc<{leTP#Jc zIqMEzCc5q3tzSQcekUGu9O_2OB}?XJci*$AHHidO$O4Vvoyh_>jZual%bhq5*2Z1f;2IG%zs@h+A2QiydwoPPpvnzyuO;`UeM7RHx;%m*5G9 z_{gK11HtjtwVs|H_e>jiA%qWrTn2`>?1wg?RcfH|%y>}F1Ng!hzvm1a_@j$1DQD9f-<`JY@Gj&7;dg7cQLLHB}q- zxC$V&$MD$UAHVS3Y^$t1fLE-y2{fe=1w0VQ>+;KQkxA@5?y-dQsSE(P2me!fAsc^w zjDv>K30(^O`=ES=W8JzHt#4F-=f;g&<K88>17iH8W_FglB6iTtLU@6NvZ)gL-= zw0F7!bb!FkR6qLBec6}4{CznTsb6HrofzZ-e=kFvcR{yGDowo*K8_)Ks*G*2@hsWbfEA8`fuUCM+BHj; ztXjFKcWB6$k!K62jRaN!5a4VVESQr$^2jsU=Rbe7E7Sf`d0oL2|AXA%!59;|&;G+z zSmBT#-XPJ>LhDKeU{k;RgiSYt`UwKW-o1M)JNB5h?mDEt@apWd&+d}(*eshxxdWH;_n`-lJY zAK7iUJ=`KeBikyNWP%18WH7OT;r`3Nx>QykhGjV(uWjiBK=ll$s6i;I5y%Idw3aQK z=e`jSG`8nwcRePjucf{KNPaqzfPQ>GT8Dvh|I@w;`_z_!x6P;0X+EAOaN=O;unsE3 z+Z`J>ZVAQ@PMTc5e)U#Nyod*$lL^EJ&H3|ZXO~>^qYQ^DA)pNP!c}}0u7vZ{wI4zM~9Y=U+<+96$ZvR{VR4N zG&pn)jK|!a>E_KlWJA+N#~Vfu;bkv>p^HaG)Y;fo2jxQpl8RxB9lDE|MhRY(>+i=$ zfx5E`KmJvDwQEz$xGBce{HMW0jQ6NN_@RH!9(#PV`vRceJwa|5S^UO@EzoONAIe83 zf#vRFjycqQAD%kgym`CZChCzy3yc=g%H{785-3 z1@EZ}phddq-#`8ESF-D`zt63XfrmO{j-C2k?W6(pA^)~*d$PmVEzMr|!b4hwFtNG) z_D5YFs}0&Oy28MTfREAdkhl03?o$}+)-lWv2K0G$(A<%%HB&P$eJ8YFZf)twtSq>gBT6RJZ zr_mO`<$uZ(lYm8w=E_~;bJ-vL*Dq#w-Sv2jK4>%8G|P%&3k$=E0GaQ+^ReuAe)k`; zhacIPtysRm-T5o5*NZ>`y5i?3;$JI(4)p>Z{oJWXxH{+q;nrIpb_d1iiUZ#NN2zZg za^(Rs`9NMQ(RO&bRqwIG_WeLS#^@gg(BiM|1Od2sL#dMX$ZnmDI{W&)5?NmDQt8d$b$!v>rIV2$xq z&;^ayVJHt67yZGI;qGIG{BFMaKDQx|ys;bk6{jC1j{$az!J)x};a0jd#;F+e<4J+d zgT~O%uo&@q*~X`y&3^CqKbL*u8#g<7DKm{A4KeeSk9pR!95L?*zxr=CWbYRT@#K@w zjyr$UqV4KPkkg?0pkC_7aDX#p0<|YQKrUn&l0cpZfk1RN+eE4%ZKM_LC0p-(V=PJ5}0pIvx=T_s^(Atv3j z*uvX1s9`_AQu&_6z`)=VOad;y{8lVM>;^p>h-b^APyF1Nd=L+drgJY#Y+ zG<|dWvIib~%H1skW?Yu+j5ChU9T0Ducj)7@3g$A@J1|KXBFI&1$?tX@| zzxdSGvX5P;j|5N`Gnw?5#UBb)}xq^9Br>^NXt@P|62ClmY-Q<>_}0#7V0 ztKO{6_wMa-&#oVRY_lv^KjMgS1;mXXd0xL~&yZ_B`>t+m`J~cV=~=R50bWI1@~QuE zY5yla@wGubQbMrs$d~a?5lE)j*xN!5Y)_cJ#^@XP-b<4MPF<<&`mn~3!;T6E~4sH07?a7|h@(0mN283|LWflDvBz#Zu& zE^XbE5^jSSjpE$7vXlGC?HP8-!w}K9!65zI&%H3a>grqNE(Fi*)sV8jh?Sotq#@u) zNCPq~6vv6L;9Ys;E!j;s-J6~M@?*0z&paV}!3$QoJ4sL>e2OAy;B~1x?s!aOyy54z7R!`UG~7Vx?8#`|Qm*fzPd z>uHrqZA?DOR~dNXGmg+*7Bp;q70nclxJ+r}^{4H{^Z0>*z1ffCls`t}=9C`F+EP|GIJn0-`Lo_|k^|%T z!Jdk{?s`P7jr!MJ8J|?0wqvY&=gwzVr0Sb8uYqO);C0cYrceX2l=)&f61f;*5$jp1 zDdKMp+1$Q4*>|tKBYVd?UOB$QSsmH==e&k^O?HI5TfchMLU}&g<6ehC^LOtaazE^n#%qlC$Z@+* zZ{F&5+++E9?%ZzY__+x!T6om(_!G}%XTRkoZn6R@pow}+MDY4w zcXyxUi|L0oRe*JL9}lA{nxO=mtHa0Rp}lgdvOGq*SN4p&+KnIF!9qXh{qkwG zn2e#X5$xDAlv+vZxK)ry5Js*cp`FP`nD9toPuG|J`TKHE&yCsf#~+rRc*45usH0ZP zv-?HaJQ)|=d>$e6Mn#q_&+c@~?04V&WOmz6A9kx4J9iDZS49^uR>zO!cPlUXLL^(B z5V5ofxZAhy5jodnr=6yck4W#Tt8SN5I!CkBtNZ1e2>F*1ty#(a2f7llcLUIPQ&N*e zM}ajHfR5_!ebd-;&iQ!17@_s!7h}@u!XU&BBz8!Xk(S16;X*tH*qB}O-8-^#&-pn= z5_MP+IQ{fv-Cf+WrE|vbgeGVBD6h6n9Ta%shr3B^*29Xxy>is*oj-fjfn%RSue`p8 z_vvvSI(B8lfbSJYgV5L4CturJ;O@#{uzA=bhGa{HXisPal!T5cg$sS`_4#B~5MZxO?eO9Oap-%DmXT-hYxqSI- z86SJHAKq}6$aA+$9Px$5`7$Z&kqM%HS{PCci(}oseNaBMvlEXI+@VG|BSKdzusKi9 z-DexqGU+NvQLD$|RaclD*c;Ky-E3f*gyZaxXFS%=@h<_Q6qB=eTfDZ8* zauHlpt{Q0e05l_E$~CZK*A_Vfc*bg6*z&_c-_G#aSRELQqyM3-=m#Mcr=GarrA8og z&g?SzZathU%K0q!ZErnY>iXP{Zj?`Dux%Ar>14;DI+zGxMPQ{Y9pf4PLOB3NH}|Pg zo-?P{-K8yGzA#(0O78CF;Z?gaar`4LRx#m7)B(paU@h;WwB5XD)A%aeW;x;StT&vR z9euREN=@Bde92AOPWe{+T+tbHtGuiny7FLUQk_D#`cpjMDt?&Pa^Rpm41SzQEg&ZF z^Kww0Ft!|30Qaaxyw$h=<5pM6jhM*%imWOvUNm2v?QS&Uf&@!$gAP2)rpP;?yrM zNB%nYZBTmntnYKr4P+;tczE{4H@?VLXW#zzt@8K*oBw9JNeJl&KvR$*U3`ihuOm+Z z$%B?eGXXegyLSIItZ&YuLuChb@3>LHr@nFqh8JmBY+C>t2q{{&&f*BPEHjR|XQ_AH z^=Rv?b>96Rd+gfmtg~JucS_sE39F$dt&q;-a_SJ(cv61c$z!K9?)-6=$sg|Ocswdz zE97K_da9BHywL8lA7mgs8$&NJ-fLv%|J&bwx?{yx5Ao{Owb$M$6Baq#5!79O=)^|b zgtGk4P6qPn^n_u&tH7er4D_+R`;jE0~ zc>O^>v?2e~v4*zCwCd#X_~^-v&t|e&F?;cgU*OntvVF;=H@TyZp-a#rZ=`Lg!w2v& zo~6MwUPG3&e+7XRP2AEzGXZF+qDf4Z2E@d#Qv<5IqmkxM?ni_Tb{?yttP|TMYNjD8 zjYulCZGpprNiZY ze;IS!6vydR1i&+RzE&2S4rKtm1}#T=nS9G02j=|X2Y0(Fjvs8y{Jq~j+db+sMfRWn%bAWm>VS{WDqk#{7yJ6WyCI&ZpPG=Q%apgafpk)_NGI>Fj;(USH2;zs z@I8{OZVDR>w66iVsNKV3oY5Tze(}p16Pw25z~+n6Fj909sW|2<%k5*>DgA{nT;(<+ z+4|SK<~VoP`{c%Lt-D(oCJi)>bOw26VU3Tad*G+hwoD#F%#fYggYrCkZub5^JSW(= zg?$tM|KDFBeKO`AO`xr6w1Me$6Q@;ufb~wprh#3@_^0~TmRa3vS|ky%?2qzV{$Uz@ z9XcD}qYME{?)Zu%zJ2hy&t2*ElAs)P!4n%w&p-ba?n{0%W_X=oq7>_;US8!<{;9O% z4hfJL51wzH2S8kd2pq-ap~YxdJ`hG@ZM*6KZ~NfTpP`|#?0tW5w)-Xq#|h~C-Dm#8 ztqkbikx))d&Z~a;KK9oj=xhIm{l_wS6>uG3nvm8&-a@D0n$kuCwKX6gkeTqZTWZo^ z8LLsnMPL524gfe}#Jlib{zDHxEk^trM^cTL8phxG?KfpFma_piKDE`=Spx<*1R50^ zy9)EK%vhlgfw4i`=Sj){=f8XRZaMdUclL+x`vtf34`JYB5iYvu`s|K7AC_mzeX^fI z-%M~7ll-SD1&{QPdenY~aZl?%>}S<2aeW+@BOm@if4qBK%aotziH|KUUfkzCxeT2k zP=`qW`meo44oy1Fo!fx@Bpf4_CgAFYv`&PhpyP+}h?oKSvL9iIAIG3W7}6|{*>lRym7{OsaOu6Kt6 zktPhstXbXe?pHqd>XyQBR};T$pE59{!8kNzYT#Ih7&I8C=-GM)I1T^619GB`crEd% zO*^u8z3cTERzfHnp8aFv->7 zN20V?PNzb6l|pV--G;z_z36*RH&z!IKY#eXv$MkvTj3@FqFTpK{zrU0&GDfy4%dz{ ztv-Mk>Ls5~O%5zSORtC)`9OZcV?6AY@v}8M& z0+Wf`X-Lro0sOI)i{19K<#d-n|BH*=&SV%O8Y7$#_|cENE$f*z(|rjJyQr}|sj`QL z+dGr6+%8We4Fg3UWwC7|jbxQ^3+ufcmR6jG+>nE~PssDxx4ikq*}LC$h66=8>T!D9 zpa1#SWOLh~yo!j|{%D+Iiu*55M-WN?IsK3ADbu~`!|P9VgS>Spx+>D!JIgKgfBLV# z)q1Uzx>+vgJbe7Zx5*gm%bs~=hisr!$tb7F;O}fvuKhvY;Ky`PY-Ot3Cte>ybzDEG zNkLf|@O0d0t1_81&y?r;+q08jv?2SW51i|Yp$on$`8R+2Ew?XVfxJ0_Yp*(hzYow? zKBycji;m@V->RPRDq!lfFsArK$ZdE}92v)8`n_?E!}^y<}%<@CGN@=f+z zofDip*YA247vP+u+9ge+48|yBt7zb>jJlUHZ_rRz*0!=bOE*sA?*B>o-u;=cJ30Hv z1?RgJ5Zt+;9N|-+x-|RFRkyg00ns5&lvm7qU*=Q&V)>(OfbqZZjuWtKH{&^TX3IfN z54-ataMB&hISIhQJTH9V>g>DUz1^L3hsh>ak}O}L+Ty7^l#iFg%H-3E=Vip$3PV^x z*(iGm+fGi~2s-#-)8A8@p3RPwW0C*tlfNpPByqZ+P98z^^Z$5F_U~W2-Yxyp`Lk{1 zT;cT5hLrOMrY}#oiMWs#hXHlZ=<8efFL&N?*%n|oA=E%K0SNWcsHY)g*#=Rg(mT18=>{nky&W-Erq5lI@c30&Hl>3OJm#zG1^^xAT41 zu03wmK&4jWqlS!WHRPzLfn%()Ydy=5ZP_bc zah$tj#a%7R==|}u!O#A~x8<1PMJ;&ZTRsOvI@Vp>CaM-O`UL@pIn9~VE$8#!=gv&P zw*jbY=yC1ZrP<-@SIJSqcgg;WVS&|G-xS;b2R-}qHAtaP!7%PyFNcGYYRKk);k5*q zm_`v@g-!pr&K(d>$=5CqJ#=~Y*Ps3k`KG`EH-4zgZ++`0*ud(A^-Se;teOaMBy=clRNM;~+6tAzA9YGh!*{BQh% zbjGqSdm5D@c<*FG!v{S3^AiM6(mNF#pZX*DNY4WKeDATxta0!(bcY?bOrGa1&%XbI zpUE=#E_sb`juU}&s^kK26^xhN8t^bpr{kDU@*f;LURA@g{~2ezC~*Fi6`QvH@~^%w zoBn!bRiMW`0x4n(9O|nG=3pvUCx!{+UU@5EmK)mF|L|@(F>$S|lq_+&KzpGVH-6U1 z_>m)ow{F{!&Fk-LsRDEW6aIu8E|sRj;EQNtb0b!XuyS<#afitx zqIbG)5!jU@ye9dH|9+9YS<>xZy=9vqLv;X9`~y}kl{bty92lJZ zs+Cy!_pb~C?(oBxXU844PELV)AbaG|&2kFf+_CXHXlb0%sN!EHeHpHo8;(LWS@NTi z&GXX76QG4nYTLID$cKftXKy|KRoS2Z$uG%Xh?#-Y`kvgee&Q1s$z6XJ_DP6paEh~c zRC)UCm4Mdsf5M>S8v8r?`g-JJQp4E|H{P3_ARp(!oiGCX6_bEtj#(=o6S`l<&n7vM zvd`%jI#4(lwH&|Iby2#wuay?Y31DojHIAc8qOSZGjya5VIoZ>F{`m1Hp3PqK>JzgI zWv|1E6${;j0OJMn-geu=*##f@7k6k9-nhX@mZ}TJUXuDL=o>-xULC7$6{q$8C->ZQ z)pf00lW1w6nE_o^9`p zCnsMhm(Qi;_Vq|rO%haRU2?bD?KY+1BQd}8-m|m!zW1!wz6bKbo!cM(@jp4|fz=MY zHVJ%u&}PTu_568r+_?+DMNr*&nyxVM&rTXB1NH7>?I)t6JT+lpe-_2WSKKb= z{Bd0N7Wuf)d*1bi?1LZt1=-o(E41~o5%}Pf+ZTM~%d#r+Gj;G)t@01mGH+^?-U=iCdsLQcTvugRIc>T~R;5|Kp;6nUEvfoXK7>b=_UX^k2Qc#dDc9=%l({Ufrcw+6y0&e_kdvzcAJK|y zKR)NYMUIlb>Z;r1QPN>dLD=124 z*jJ>L&xhBK()DE^%C=$r;NwA?j^q84xm@o*HQ-~&?OrIpE>f#SAOlDd#)KOrq-D?%>NQ+)ZzS5Cv9=9A$65o%h1ZyFYH@lhB5Hk4QLPBhCV22e;Hk+QQR+OxaD=|6Akm` z^|~+cefQei-RGORF%Y%jk7wd|V*r~=@4kCu_W0vZJLe@|>66DwUNdD5ZJgDFBhMuy z!M;O1WL3vM>b`F-39$4_ciwr~4y|eaQv=NefSPFH zNo(Nblh0c-G&JxYx%BL@Uyd$}jK8?u#fb|v_oFdVVbYTX>lob?9!Rc^(!zvk4@_r_ zdNC$$X&=usulxSb`#WF{>WJ`OHXQ%6TXtkyw(QK-AHFJk-|wHBz3Vq#E6=O_ zPIMS}9Px|ywEyvoS7meLEr9W5e-T9WXJxhNSZ3twOc2obVc(`Gu}u3NyX|-G+%4_d zDc@??Bl^r-f0WUItX1-oOHmAbj@Kd>lq(-~RQfoeSM)lXUH`+MWdj4l*-0lI-g?wR zc(#M2dGUfksO%(KsB&&hs~V`X#W zZ~o>Rv-iB`b#DIx;L&DWBlz6#r$2pJ_RnAWu8f~Ka#jQ$8}T(+)!$^~W*?N%0F3;# zetB5!MY%2)?A-bEKRx)s4>sjtI=iHq0CaZ$PigB{uRd;VS69#P%SEZ*AvM%-p_T<2 zTzf(51)iTI*m7epg?#mdA#`w@EU08KaB!mi^6vjnWaHnhw>*^La3H+n44%02fqXb1 z2&)07zxOzi_x_-yoUM-WcBeHw$dE6bs!{^VC zN9E4z(#i_?s(u!}oiymuks^j8ha4pzsH_A}%G{!|6f<`}}AJmkd$X7e-K-Q*Dy$N%ToUYEW9{pY&J zVGdf5D8rq1K9+s-qhHB>AQPRXOXj;hCTKfE1Z~9OuUh{qlW$?1_ccBh!lcHRNbF=0 zt2C?cy5>y)uREruZd8$C6L+izax z0R{)1Y<}iBcPijJ-}&0?SAXSI&M5(g2A>A;uDc%3F8}r|?(i49A~i>z@8Tz>h?f)`qI5rdp4%Y_uuPuwy==&l#)ZzDp95#icrT^deydgXL>{DALbTXzeD8%mh z%P+q*yY_px%9z_J6VP6FM~&|^;4u^UqFOz2lH)UeM)x1v+c|m z#pB&1`v7MA$)%Tk=)V`ib!xfSdZ%ijY4?f7$XV>iySqw!-Wb6eZshSv-!F*q z#_}{A%p&>nA3p9wx|ScxY##VkfpiGh4nA>#BjaaG4k_wdzI_NrH%AYYt3 zy)~HuY}`kWKKhKD8*q2_-D~g29+rJ3yLS)DBvMy+uo9wUr`yHkRTe`g$fE5VbGpK$ zY0sWfw-FJzaN;MOv>|(gY;ryR_`_s(|7=Gx9^2UH_oaXSuDr?cn2fo8c_c8~jUV#2 z?Pu9^#%PmKxv=v35BVyjT+3g&`0F3|)v&I~6=|)}OrwFeHE_6m|ha#^KiJ=?Lwr(A8&(UGX-zGbu@o0b{HkNSC4?VOgyXmF}vfF<8aQ5JXPYV7n z_lgv7!%roW~C*0Y|@AV&L`4UIV;OzIN>jG2H9qF~m{X;fJqi ztxh;Z^AAo18~v{M&X47}^d52ieFEDf8y@kRp9b<}zTFtQifK@P?a;!i3+|eiFPoQr z>MwpnCN^swI`qo`M}tQgAG`2hoHLSD3|CdO8bG{MoRS-GhFuCRR~9;=uo@EqtkP`R zvdiiI%rj5Pe)*S9YkhSQ(5dnBzynXoWbK~p_S+xL9(!z4hF1*-<;(#DOe$S0&AEJ z7cQ8Sty;Y#J4C)yaMV$UxaYF?WHvWCnD~LJ<$(ppFv++<9-`zEkeH7szX+CueVd)5-E? zhI?Vgkxz{uls)#?v$Eo`S@u9YA?@Dk#tuFmCPTMdi>#mt-&4uqs<8ClvBdKh-WwV1NAM2eM1QakETf?{VW3kF;ja#K*DJ z=|4}Lzv}||*VWzK^YrZ5b6@_i|MFY+r`p`9Wz7VjQ+s}j+kM{opX?bJ7`aI9K+dJ1 zPdS$&=P(&@$Zs+H?mceLLBH&%?v+#emdJDNg$w)Kp)0yeJd`qCLZ;!yegxdH zZIvU8moDiOr!c3r+;5%!boGU_mtKMbkG~ngtj5p_HlX2A#AA;?lfCfBHST!gcy$HP zR)?Gr;Fv^G{(ha6ihl$uCSCxSN7+}t za-DqLag*CXs5|lXkqREC@KFlxma)MQZy2BqaJWk@(hqsI6Bjv0>It;uU>fI4F@7*f z!>SL*&#}iHD$n8%ZEeD9hxbHau{!k=S?0g_<_BcC|9*L!MK-?51Y)u55z*I5F%i*& zp-5l*Mso-HM1a>WVT8*+X(3!FJ&fM}qgU;nWZy ztIA8h;c7;TM_oOnaB*kd*M}wNMdCb^=kTyNdU@1=_xOi~!h_i6&Fgc=FJlGem9IG3 zkxV&wJT8GV!ZI`i;W$BnBfV0-_j1Dx_hg$lZqZTbk!;0)5|&$z={Ai{9%HEzFWO|nS0CwdGTrCwQHBi{(*jX zC(ibgR^1pA9!#{JdTN_Kj=JYb8ABW0qzP}kV2=rS<5Ssm{8qOvcGk`M%uvEQ7 zmTKXwvAl{?;^F`rm{i~poGo&&&u00E51jrp;@qCz{G6-9z5)A|0ahg_)5P^)C8@7V z@O$FPZP_2a|Ch42zx{M~hfPYmQ^71z2(iPv|e!}4&jlg@BMztWvuUsqq$uOn{$aSWKE z(xkmJ1t8jhJ8i6rU=;-p8vzr?#fvd!7RZ?q>t5*-d^k*z(H2p2apZvqG0u11jD{e)dQbS zIaNOmW$rP6T%VU*_RSCf{4~&i-jXco=I3pj8o~F225<&|7{{w<*xD7L%;2<3s~z~F zNkx&Nuc9400vK}`br@XS;UVBotG5@gcg=RsqGg_t3xEag;2wb{F#R{h@W@gaKpXXXFq#IcH8X_ zyHypy;?V|nte<`MOXQKkNx_->z)$VBAP>geH-Y|m?{9xLyZ7G5b54}7aa^P$z)}A( zPP=*b0Vf2|KknQiFJwpHcGQ7$zIjKsut1E{zsT!Wi(AHQX_cm|n{GQ*Pj< zWQKDe9e)##hTTfeXXe<^4dX3A)T&CvN(1&HSRNL4s?wxiM341sKQ>6pK}cOMJMEb4 zzkU2|ttET356&4*nt}P)Y2#3wum0N)v#aIndI)&ep8*pkYz27kA6VJIk~a1P z+%K=4-Fe5O?(GF^WW*9bK3de*hfn3=7~GMZ{OmKVieMFG$BsSj(F&f0V^!eT;|`O@ z5Qoa9zs16TuG?QBpQv_w0`9!?artELt?o?;oS@j#(>eAdjh#hqUU%l%)==g=zO%wzy1lQXu)3LE@VLgz5BHw=s9R7Mk`?S_5K? zSJU~c^KN$n01-TnUcBL?piD^5)6)Qa%8*z(aXs1)8_qay@tLOKXB^|idE&Jj#|FHL zZmK?}(XI?Bc+#YU#u2kPZNwW04?OskbMBX3dZX<0$18q)Zj&YGY~Q{^zHm3_&RM|0 zN?0DJ^GAJ3Pbe=7>}v}X(~0vI7HQI;{^EMVq{^$xQZ%dNu{2Zow!TifT^f)NIPt_C z<0`&Z%lPYc+_E1nqagGTDZ}fux@H2Yf`xYNf$H3+!drw&wx;?)cAXB+4guvenL zA3ND~S3Fh+aOxfdUQ5KGHVEK_KwOt`&$TsG_kSpFzE6wjP>DZ8avl@9yXL(3ziqkOJO)wi&Xt{M##XyA<3ec;gE-u~~2 z(>*K=VkZM>hqgGtp{16jvFSJ8;; zW14jgd`tuR7?02H2@5`!mu(ke>cpTyTu;y6L0UOjPxvzWVV~-zH}n~4_|0%-RLUm> zb>skb&$FCYQEgp579TvT@KSOCCsl4~$LT6QF?^gyU)k%aOm;b`^mc)NN%Ktr)nc;( z5RaxN-?j#1Id#$Ay)*i|y7bN}PoQ0A4yWuLbDAFO+o2u8>WQ_!%&#KkIiiI1Jn0q_ z0$c7fTH=!hsnEfsfoRmMfvYmEMaIudA2Ap)tjA@K(^Dz(Jbz2zA!m1dtLv(ESh|oR&c~91Ud+3S2WX^V zVmdLeRK7|+%PU1c?5ng~hVT46dv-39{G+CcM9<2Y^eq!-78v2=^lfW;5>Oxrl7y}$FZqp6aIedqgG z$4jgatR^UIJv~?*rP8rnF+b#O01bo`Etav~0hauWX_tVyD$q~K7nj9yFweM(59{~t z?OGv|(KXC>dfco4bovOGMEm(cjo#k*tK`Y5dzj0+V#X=*xRXXb@2K-IB_7TJ!{L?% z;xkUcf(GiVXj$Aku;ny;n~Pf%l{9Ccnq*G>=!lafE|>u?o;cs7n{6!ld*IHbYY;xY}s>|2&q z#j&h0Jn7Yei*ZwV+56c$f8L69Qg?l-zSGK@2|%ay_%yUvF47Hfrf_cF!Id+L;W%MH zIn%`ylouUk9?m<;e4Q<^aIxbqcF>*z@MAnn(?f=-7$>Y%$3fbtV_Id(x104!hxK-^ zLg++7evX5X01OSh8s0oyyCtL-8*r8v(IY(L7*6F=hl4u6p{$55>ti}a^kcZ`$WLT~ zU=QHQ_o-h^@$%wsKb$m#y2#giTun_>M@4-R(`TM?S$;N6I2&^ul)({(^2j>nI!mLI z)6E2+lY4)P+Ah!37WMS>j~m}`c`?O;2b5Vy&j|sYR|?OT5tp&8Q>P54P_@!vu|g+W zZ)HFoGWl6*K25ra8El$mHfBBJaKb=cd5myenT1Z{TjAI@j@IwX-MfP z#1AnE4;Y&cp)|*O3{Qyg2 zjX3p-X#mI4VjeL9>1j@3S)QVwDg(UbK^aK%K#22`g1l5Qj7}QjzE10%dI|g3PuMIs ztDjhJ%v*TUwy~{8nly=@iens`AID$K{Y$p46VuHKKqvP46t?-Cb3WcLA17I(-welj z?=U3lfZ*Jjj$B(k zR-sA2NdN|MDohq1G-LWHUgVRKfn_N?)*T3OO8>E3=tB!<)4X28e#Uj257b4hTR>Ln zlDL*?3MW-&afXKnmJJT>TqI@B*z!(HHxqzP?DZ*Z^R9vIi{%V}`RYXBEJ-}=sO_Wx zkeVkBol@TMcqfgC0O7-!s|jJL<}iVZBi^@Zud8n4M@>Q*pVx6== zDibL_sWMB5N-l=0nj}zveoR>UK3&#t9x6=H$Rn09JWT zy3s(p8tCnvw_$X2XobH+rNf{D2`O?VfTcc9JWdJ}pA&{MhfN2d4Di z87LQG(qU}ts?y3!`4+?K1i{LghoxQ^=OL;~(tY9aKpQZYhfRCPFcss3wQ0S1S$yC6 zvXDYP=lf9W;Fzpa$z!BT6fb?3N(?v?>pWP_7x8kG*YyHn<^)bR2=hb7e7UFGG+eyt4Add zkI5LWZ#!|Y>0-LJugAvp15+|?)(ghf#aNwD(@X$5qo1d(m2zLbE+k&Z5W|4SaB&_~ zy`c|zq;erXoi*bagN~l%%oCn5>k-pg>+&Y<{_+M0c>F|riU#P|$$?Fyj=}Ttd~F%w z5OcCnM5~@2L;YF$iqF1a971RgG*W$=01rX%zJf(r8BgNG^uoMvb6PIy%)_ZZLq~!# z@~e*FoD{x#1ps`?95@{{P{#4iHCk1&9I!Or2Lp+^G zh>kXdP@S1;CIFq;?^D+5fq`wu;G60&wARR$GpI8BH1bt&;6m6s7TnW|opYS$gn;eP zd@Cmj(8}{vhodVOz)1z`Y+}BEhaT(e5)MG+V4UI!dgXnTZ;PjsZilZ&3izbKIE3&z zt3!{tF>IU%FO~X&jM#Cf zCIl%umIrC3;A~mU%hv6WG<04S03)w0H(v!5Mb%JOl{%aHPSt>Z1#tK}xu8zdq2!Hf zeVt5n2!dC;xD$~tZi(k<6Jc#ua_9t z=h&H(jkYib#i#$T4{!p2+ya83gFcM zhm!@;i}9@UZ{L~a<*|LMcbQdv4TG`ZQ823`LWIDo4x-LXpD-ei@A-d`nNqKsXkw^pxUhX;$G+v|e5XJVIUt#NMT5 z0x(e}Hh7(_0onYwOuqHLqRg4l=`c=d%sP@(y>}W#4gf}#b#)DF67@HxVAlUp1jI<5XQ!qrY$c@Lx*xLt&p#n;xRx+zY5r_02Gaqro2)EeSM1-$ONFb z*eHdbQf46l06+jqL_t(Wt%x9v9pe~|j>8(r5XKr+n-jW?fO7f{n|_D=sgh z$#UW`AIF}ab<8$R3_C$UndV!yk^rqVKjI?BFAla}Q@jDsK4BcwuzB0RHqHJeJ=CS? zrQ2b7RQEAxRMDZ%@;V85*<1`8=K%}8sdBGJQuOWjvZnQtrbjx6Z9m%bFkQV@0q{l6 z7EYUvn{h~AaZyJaj0wlOxSaK=7&t}z2p`kKgh+n9_=>5(+(x)gjGGBSC-(XjwOI_( zdNnS%sADIhcb-+o2ad%XyR=|x7`WUW!&DnUbzXq;#x$lDRqhEzrU(VPu z`@Hg?V`sU|vy5>{dX`y-%`(KKXUlAww9&^!{cIf@(?$F&?Nl1Zy*yL`2s-<$em{gf zi+B{36PtXQN9=LZ`U_>G{zxItvpkG(ZG|O8xguvC`)wFFC|fp+Y4^8CtasIj&%Fy7vPCmH7ofgj_r%+k&wngZY}EFCZ_eLm(v2=tl0 z#lRAE@*zCvXgMc;p={J0CkUYt_C}lX&`}YOF=Z%=iHkVy!#rLnC+hRO*jC1QD&-}4 z9(j1sws6R|%MbV=PV9)i!?e7-H0*2QSzQte`e8q^j4|+VefjI2HDT=O+v_`oK@ReA zta#ZK4&|)NV`_=TCrpYC%H;U+j(-!NnE-HI>h-oqfJv@e@ z2XE5~C0uHrt3Y_fF&)y7uL2%r;W{xLTH8+4K-1<4Y2du`KiPw?0OBwlH5N2rh>Lz; zML1l{<*Z>e08{+KBtj<$fKC5!*HBc)av1zFK3WH3SN0Pq#|v@#$F?I*{h$w)BR$bj zq1aX*6v@eQ%2F1mWh`QeG)862?oEBZ10tG-56Iy!U2 zsh`RN9q>*q$0R4Ek~Kn2Lw!pxTYvbrfI+-!~ss7<(wd><4{=E#dtQ)KCq`Xa-0CJhz2JF z3X_%@wAo+e!`RA@N(0a0*K^!yIXr#pkg=~xr>f|svGU^p{4A|FAJU=DirP#a(s_s2 zK4<&Um&Pf5#K4I{Tx;{)-7{B<9a|}7kJ|E1N;eaLPU`KcZEK%A0$AAH%?WfJBV>(6 z9bsr#l(u#Lz>f1uG2{WGk%l9GT?8vPE;>mlgHcBn@+OC}*c+;PxZaqOYN#VM%&IR! zakL$HbGGRsS?nYMRCEGCdXz2XPiI3Y#-zo3D#kdX6VLZU z3d5HXuZX{g^r`Z33%ELci_^e02`*ez$*NxW3`4moER;3rvBuo+gqVkwmF`Qn1#r33Q`+;SQRagEZ6q>#G zm>KIkF>WRRo!IMB&}Lb#!-ZqM0yqUkTZUvZw5p5*jTPe*FVH}}(yDg;Fz_ilEK{SC zavX%ffjw1ApbAsUs6`IOt|){~Bn3rW#wnOkM=6NvvZ}VQ56a-mWTXVe_+<`**mV4a zWz70GF7IcBPSN1xAdX}D%(IUfqull_R+ns^c=coGtyp(T$LimvEf>&WU)u6^(p7SR zRyhyVtCw+XY*aAD)&a8<@BY#5W&!{$G@)$`$UC&F_U;{S8*lm%`~{xoRo9RJyNZ@_ z@P;K#TkpuLCkZ7!TNvpof^sbT@1Ii_LD69_E`qb=p(BA_s2j!>I+dP?6G-dRQz!4b za2_+CDy9)TYfcD2!=_0yhG)5rz3wqNOg~~u(Lq1xcvEL@X~t>x8OlAs7%I#YM|n`c zAxxMn)|-bT9mc+YR|!XVvNg zeIJmDaEkhtFeoQa#vZFE<;O`8M3G)RJloDbLY`$Fsyszp3l*37yfjsGGnS2v z46n8rotE|wL^`eIO?xM$ff+Np*U-SU6Vu2P#Sp5#@tIT;N|0%QieeZNYoL&C_ZQMu z!|lspp!^0wFDfPzML*s7?qT)L(&vE(=L08_{_T}=yk4b7o&AvS-(nfOZ2GKP`x$)0 zAM}N?a=m$d2)4k+Kj1qeNE8J2i>;1vkSAO!1}@6W0_tP=G~d;QJN)8+KEW>zR`2Lr zoj9OxKo>N_AIeqVN-N#R%0=P4^G4qCtCOa@q*W9{FFKaf`pN4S^0)gdqRnzh>(i=3 z@YuWl&2PDIA!<7@G%Em|*z1#QGj_}l3=FKr1>bIfVJQow$+!#_byf7L@F!N!cE@o$ z)XMeX4HS8#XoH5Y&+8(b-=n+A)$dms=$ykYhQq1e5J^Lum&dn({ma7XO_#btk&)C*_ zzP8k-iR0;~yL6HIU z7iQ|Bp6Urgs-5J^IBz^sSo^!o>#bOlBApjukS1f`Bkk!FcH=n7@(BWf>Q55JNft&` zvc!mxjeX3z_WBySpl%q0QeID_UoZChErtibDmW`s5v4Q@I{hLnmiyHKeLd1&*OX6X zuyDk+v7Nl7c$01%TN-6)^fUXGaLkh?%Qa5xuB&TQzGgaOy}(=@!goflnE-S~KTl~Z zc?LjeY-u1YtFWx-T2zJ$IMoxJmVae-#cq;t=a2u4kV5 zfzx5xWa1Q&xQskm9_Ner6RxPfyj-2NI{z3lUPa&}Acl+c>>rk+pRm^?4BD40gB;|C zGUS2B@y5Pp3>enM{7_dO_HHPzKX_}K3BbYIx6{@#akwkxOIp45;>$Z1u&41V6UD=X z^neo@v-rZM&K$0y^KG zYA30V!}1FI2aaD zsl4L6mB6N};Og*A!-RM8#ghaJm+x!zD`br2^b-Q=4=_3rz+`}U`H2Bq4;<>7vDHdh zx~r>mKMK@L0Ln&2Q*$b2tAn%Ve=QZ^5jGSB=RsQ4P{GB z5-bg1v>Q@j9a4C8^IZ(J1 z1(fM3LpUk0u)69{P6P0e-OHcqo48MzXKcA54W5uIq~&=ie4NiwkpjS^^%Fz;d=-3M znrZob-zp!UHxkI*d_H)&{G>tQyq+jq9zVRM!wDsLrR1Otd-v)`fxddthlW_zDRDCa z=#-wG!gk6X_lEWyroCX9#s$xGk#OE9q#>&6fdw8RoHr}!hfR&=-CE8!9P{wL0;y$Z` zAHt{}P!`kj+|fVDu5N+Edlgz0;|YDt;2%ZA^_q_zTB?uu7%NQyrTNJq=wOU^dZ7;T zwBmZ`rd&sP8pZllSkkKlm#1F0M0LtlqC6HS2wwMTc~Cz(I=lk=nuN-uc}fR&NizXB zxchfnS~q9T!WAPUyW5~08y=vhFUU5CCO}hsVleQfkz!qyEHOMBhs6o`#*Q0~9|oRA zo`##;5vwx_R~SMb7JB08Shf_U>EN5g0G*?aNY9(M{Aj`W zIZYBVo($iDa&dr;jS~PQJkDLK8%TbJt3<_a1XjB-}m=uYTqEiH0T%Nkvs|<;y z27JA6o-9L z7V1$swxk%OaM~jrYS4bfLt((<#L&)7f$}U zBoI@E-Wrh<@wlFbCPgcSUtCsZXkx6Cv8cjlJ!8-W9pqE=P@f8QVDmK7`th>FdIjfr zf{=nqNyxI8XB9r{8Bbl`QlhDfz253kO!Zk64c2R{x$i&pDj7SWRJdG6% zSPVmhX3K3^5znG>(ji|Dm)3!oEABs1Dv#?t&M2lZ(Z03gA>FQGp3_s~_2}t)-TSh# z6#FbiOY!on1K>e;Ou{j#3web3>b(kl6k(}wLcuaDmA9*R?0eCE!zu+rB&Ze!|MUG^ zt)qZ|%Y-`0*Q3PCGCDf693KU`?3)*K)HeZ|2|#*eG^GU^kPU!GjE?SU9Rd^^1R8gX zjxv@bPKB5b^NdqCaT$5AyoeX;5rck=XY0M84NJ>&G%So`Xc{zIPQ6&eW$WWK;VciE zj^S1Enu?{@+ zz`kHy2akOOSUBZ!9PWtsykhvO2?F$|uiT~jTB-3dMA&}nopH=LmDhgO8sE<$-53w_ z?f3{M;pMoX)z#H= za5#PipjZ!HF6x$aQclFuBwQR*_b4ys>#;0foAwZ4iuCKy4lyU1^Ezse0{aqJ?5|=9 zaNZgiTYRm_Pa;CPI*BOe!4-r$Z#-BkdA{MwU!A_dcw+xDW?x!fHqCm{9~;{H?(7^EU;2M5}r2@2eb!@215DCjT1)(TQG_3g`xQl!B+4@al&YeF8JAXqq?=4+E4 zKThdm29$a{=s$)_PYPlvn@1nY%}vL>3D8Uc>?ml`l^T!@fa~StEC+X>7&~0NRu-GC zY|uCWX;@=!aakVIj`J4Brt881hrD8Z%4o}dI%fraRWcPC=Ol^QDVQk^b`)Hzl8}gf)T-;ApRDEAmLHc_3k(PL; zjeMTJf6Nf#d3yd_g`&R1;Y(E$3I9mMQ$`=khQ&jCNoS-c(yN`JnWmLF4V-h%$NNY3 z?!8`C0glgAc3?ruQO9bq&LOTV%BOJZ@UryOpoJ47TR*Wh%thXChqPjoQUxDk>jb07 z0mQIn`MNZ`e06kOG+Ce|)I0NWJQaNln&gwB7xUbI`Lgj6j}u7g`=Y+gAstK%!ih$n zQapJ8Jla&zR+PXyv7vu98?+mQSj#Zl8fp zJYJNxwmRZTTHZaQXO6(^B;3IsHxqz^y@#i=ePh{jx$x#4SVm?l z8(2=Os@*Wg7RKgnIl0hyGjHPw5$*VYx$it)q&!gTp#D@9E#`>zN$WUByk>eLYb`o$OSPRjQKV9atKYnyF7=#0r%0cWk=HLzU{I%_5XURzD7(ZIL{ z#E31Di)SGXS-E2T#d%;EnR2NoQyaH4&c_BfuCL2GW#m}~nlT^Ht-~wEBh9*U)#a0? zXN_^bHZ=OF`nU}A)TqZb#d$woJxp8{=gG%lgtwNyLL7|tfqT|$%IhV?R||ePaUkYI z`<7#cbgJSye5zN%3|!liNA|3;_P+({?uv?X@JDW+9);(E}m>I2}!cyT@@OI%jPCx!=)>NZyy z{&4JgClHs%+-<&!hlORj4t+Ws56f$WRKl3>+GpAaI%&W)MSWQuOb+4@^N9PBdB!n* zD&KD3f(GSnhfj)k{j!8Ia>%|fvI|7QfDOxd{&Btl*voylI>Lrw^j&9>sgnBsPq&+9;_%&XK z7I3GgZ(}L)dB~%@I_p)yW&)5O3r$IZ24>8dIaim;LSqtw=Z)I<*x z9Y0_cu8v_>d`|<+NRu(?QILIQT*&W0iRgv!YPCB;Z%ccn(j%${NvBhJWaR{k7&_sP1?YJ(^=ke?5B9tqo-?B+U8a|dSY;%mm zJmU~rb5qg3)CUeaOYt~Z%gTG>U~P5NuC_JsrZ<0Vj+~W!m3%hyG@S(GNx+BeAsZN0 zq4CH=`;zeDE?ZsjI6UwJC6I>~u!V@zc10nstDpCmOdX!}={~<8(PxusKk>u9uhs#0 zw#zr>1^kKdt(LA1gdab3puO|2e?5hC>+%Ery0Dgmm#bZ!f=WDrXt!@cBko_6wG%AQ zk&%(h`}+FM?v%3tniYU{MoI_6%140acX#(JE;|NTCk8YkjH{JqFF-hHn^$bm@`gqY zm7geJ;t?Akl_lnFWr73qG-Al2yq!cSPfJrLB6(Rtm?GNGr}BIswI@CC8MlKS>$eOS zupG1Gg)*kgaBW?RCurF6dNl1gwj7Gm96OAQ;EKvq{6H%%pD2Bg7heBG^2Ft#9Qc%Y zJJ%(2PQ5dZIn>RgFUQ74*YDc3W0BxIQy1^~4A)Emp3l9v4`uI~F$3@auc&4jUeML> zAw>G(k7@dR+L*&I`*XuX4$Q^Io8@IO_*(Rq2#-iFw8Om?rtAXvMHTAC50yUN;qvHN{HNOqG!bXrMkti!g|*>MbnN zd77#lFH4n9G5Js1jF?w>9(>1tD@OMYFBIrz0#L59rnaLrFqSP4r`m^ew%apc?P|$i z{2sH|uy})^FlrEZhnJ!Ss(?kErwhEQkZ(7UJe@pDo~m6%KrM|NW5oz*qOK0@Jhy|V zByK3L{zHZC{V9nLwzBruKo2$z?4$Oa zbMA%R?XsE(PP;tXfIn2;0_bT2ehNWxftUSgeBdOl5kYzW=bgQ!iKR!yFN)D1IB)$S z4TFsz()!!GcPtBkqd{Jszn2NdDfJU-tu`wT90+;WiPhnx3?kZbFa$VAi5JsPM)8c}@ATn!1*J8E7KZp-mVIk2H8y z1@f_QUdF0x3G$_`qrH1aS>7vpUvH@&%<1M4z&`5TcvA^B)$Q4{bFQ$LyJ{B(X3y^5 z^{vZ3vU@zA#W*bAAF*5%OJI;-xDLD!8-+L@N~}!?+fmgnIC$XkZUROm#=&GjHz$%G z=GQvM2ChyLLcXd~!Xt+4fKfQ`P+s9&9c4uUGTM6Z(BNqz@5|AzA^mZL=Y16SQJjw( z7?1HdAH$dBsb9opbXZp47dxswr_&dcY|6ty{MYkRx69IQoSVI!44u*xsEUr87^473a zOQ%M|!=)UiUwt5)=TWQ|b?}@h#KubXt$GDjFGpz9$PuwRe_yZtf(e7llj=h|Veqs( z4VKk&9)y1W#c})Me4Q4>eVw8a_W|;8SqiU;e+nn28|P!1paGZ^tr*tl{aE*9?WFQ! zjpNl*smsICvT0H(FT;5!ggn^eW&$t`J&e2i;o*TJ<(<-3&73*stSlQnP6pMAuC7_* zOX#E7tXZ>#GX|m#YFuo3%AVd?%7-a%SGH|vX!x#IzvlP8E*IoCul?@d+%*m2)*^|E zqRb$`V9>BIP7$7%aY<3y-(@Ldlrk(TXG(W)x^U=PS45BHN?X)i8Dd`Xga8C$m=w{} zq#)n7zRjSC`Z}~z{0^3~xcw=e#4uHD&+A<=Vmc|f7^W_-6fNL_UaC!1bj#~g1KW?S za$MGu24j}n7&K8|L>q67%vx(P4(4=`77pe%Pg~n?r$0J6{CfGW^e>K$jhrD4eB9xO z12TQ_q`D#)sM|(H_WW;o74I`wUHPd;r>zkQ!sng;$)2rSpSxI=x8Inkc13lJOp!sc zG^fY7SPlnLI@RY^zPjTk7$;(!EscB{la4SD!B&Jci~2V;NeF3Mn$zVxLXHPRE^Q;q zTb8=Miu$dLQWZ{$Pl{d@ofOXG%EGahrp2+Iu0^S=%--JD*K_JuFZ$3>G1S3P)2skY zuphBOk4y8fdF>xydH!!?(0x`=+MI1bO`Bl#3|E%Ssi%P;RB9kbi73AR9zk+cGdL+==3iHMR1;8eZ%5$(kaV31wr``KmURq zH;}%(4XSrIYHcZ;HPgQB9EW8SFiaBY^a1CwQz`JEo>8CDHDoIq8;X-2H+gL3^rnpWlptI>bWLzRNdt@`=XU;k24$g5 z^;4afy$LJjVoV+aRCGrcw!3`~mOVNZm13YQV=&jb&OdT1Q&wORHa-R+<7iu4Ce`oUu+` zylf~BI~eK9Q^FMw4#kUzsGPm}fza0gRpCID^pCZ2_F-n{9ZGNvw&O?tA_ugjb9AS)km zZ7?ha9Xou-&MiMDAlH=2?(#685%!6wxgx}TAG9oavM<Su4cm2Q2L1R%kcvx06cnODiGC}ZrWWynzQ|*f&&Y$wq=rWGk z0}geBkL!!_Rq#r)&Yc^KyBhGk;Rp9B$AiB4zwLc{ux43R-@Uh=b9=gHx~F>{41)v* zQn3n2j6tKw%)mfohMN2lFi}dYVlXK!93Uw~k~kLd2c|GFj8-&aX~js4n8b35(JC`T z4@4=MR8k=(P&lB&7zF92XL|bGeeeCUerKQGx7S%`?|sg9pWium?YiIHueH`*`?vSm zYn^>w47#+q|8l-A>a zJ88xoy93Z;bnm|B9dDHz@IEMpy3H(?e#>Jq zJV@G$Zo91#4dt}CVhQ*`r{(B$q->|+_O4!lb54Q6b87T~uY44w5{*y8v&cMS@HInhXgFir?7^(L)RsTMkxb0g*KpHS{KM7 zy_Rd!oKK8xJ!FLT^6glj?aOm~(4tPKHIT0K2u-3khG-|YWw8l)I0T@Hvg}x*PGe4- zLpjE-scJCv&BC^B(yDR@D4%hZNI9V&sreddhnY%Yvyq;JaV2g+Qmzf+ZDY1iJ~`og z3EtJ;l#KiBMv;1qaSlt}SG#6+@yHIqG2uTUzh|_Zv8CMs zNQ~&K?|R$!%1wU%Mh?FE#*W>{;CtM#|O1BHSNK|jN& zqy!m3&sf}~AJ_QCUe20ok9AW*#50>e9=*8rh`m62dNfxnKm{}%!3}yGR?_$f}!aq zd`rLc`K~dK8s_^(W8IdOI*uW+iEqj=Y|on}57wfnTS)0SRF{|?1Il1*C8YDQp*#j@ z&Y_m-egZ3b_4$qR!%fzo8)~2W=UrO%jb^BcMGOp$Fh3n+UNmdN32Ua7HPkdQlRkZ;^x@=C`_V^lcK`$>oaM?Rejk>%-8CNZ<3#8K zLZGBK7Eoc5eCC2~Z&2FnCZ)s`isI+~!?-?m&bzz78;D^ANyo@adEZ>|sv|W}} zqG>PwZCT)_491oUa!{w`>9nOsKGp~0AIc);T@FN3CU?7GdAV26Lk8;l$g;c}&-XC|aUo5&2N{&Z zSW|M5M_HFF%ct`;&9;Kf=tNk$W}XW@@ebqCG&)U=kRyGnj%6HU#w=&NvtvyyHZ$fJ zkEXmppO#PIK}K}=Sx&v?b!_FGFRfRf zN8QJf+SLw#yh``_i^u403w&AMoKK zp?g=xt-U~$=qWeV4(oJWlC`soOJar9if0z)NTT_5I#Ps1w7Dqj+H|@-9%(w1M%i}$ z2W-3UQilxNp3TG9w9CNBz%gdbavksNSZhr-Bb^&>%8q!Yu>(J4FeYy>>|s1n7iDRu zK&K;Tqzz?l*^w5hP;ci>Ra4)uz%gaqe6c~>UXUJ zfHQv>fBACX8!$QH0Hh`9&FcyFAr0$jU1O;^MCtxZ~H@+__f2yQLUR@Y=8~Q zY`NyK>C}Oq;!n|8St-6*X!^Fnep=ZZ%XiHsyV&Mh>!Rz^4ro$xQf1TwV_(_<2r}th z^EjhXpcKSuV-qMi#^f)xNm?zN>8`N`FKJ40C~s%uK4Y5KF!nEuFYt#C*7U=gZP;S~ z`S7Bp=Di2aRw-Z0B7LX}?S^!dH|D||;u;*wXGw+mlRkmbaySR@D4_iCU4SkB-imI2 zJJY+;0f2G4c=5uA<;+^XZ;y$I$rlfPI{@Ke;RI!jMT^gS>&b1oL!OHZ7sE6a4#03j zjog9yoEZNf6yyI}Ioho(=ckUPjbrw}*X_oIM3YG{(Kz!mZ#}c6X$H1y3`(IpkB+;>6GM9uMM_Nx8yA zgV3C`bPymf$iVZb`#!R`xaXff{@4efvF+?c{@S%mx8NNBJ00|*0bOj~>c@p9MaR0- zxaH`re4S76==xMUwhS_;m*(BRw4VE^R-1FTO=0wlt@*3ccU{Gpd>+0-61DsiAl9ZzTqGB$EdmD<-5WGz+3*l_O(C%6*>Etv)R6(Yf|=+!-<=ttrnbLl;=(VnQZyb-;E}dg`4G2 zILt-S_5uf1DQskcE6Lrix-Mg!s<#H#=AnCvPdizu`aXT`;-k@E+*f9*4}Ex>G~01J zp~dyIgX6S17Mm)YoSx52Ys_`puqLyqn;AhE<>c3oNRt#@IeMtsnXyjmwEoidjA?9* zV--u9semQNKeh!YAbbd|Nk69Cu5bWOo%)M+i}8Qe_77Z~Otx*Al+~91PCVjgb;;#L zM|lh2+Ol43!h#YG793c1fdMTI#@HQ%6mA+T)Z2WDhj^vxSeC+>b&M?y%Nh68h4hFi zld&FOO}9Pi{P7gq&l}A^laj$Q#{C?E*yb!Lv=QWY8K&Iv!!Zc0ru*A9)*Mf*Im;01 zHo9bK8S|OuxR$g_<0u@}htNu#L$2$-I636riSF`Q-+SamHvfE{x*^;Bej8goRt7%ec-9{=+*(u&s9ox0~Ze1SpuJlXK#pWEP!N|#}dZpT79&uNopoJk*{g26A{{KK8@tcdg{7X|s9F-S_#WXHfILO-} zUJFGX7Lu-j1xlX*rR0KUGlFhsGvsZxj6V2j9e`aIPYT}@kETn>P4Q@5kk&Mmq2*e7 zo7eodZsYmX{IycM<}YMu8s_`RMq8SfZKujuXJfVpth>+QQpZv9FjmcA3@F`^Q=mEYy`jq5^x<2#W(&&7C-o~~y zeJstVAQL=@`^b-y(rX`OMLL_}JqqAwTGJ5gFkWq)Sg(0(dgsU5YGm_^hs6mvWJ|}A zADsh0!zx?<-yvtP|5)DkmmRB=VMre=SrNS|(2h*>pOQ!XrXTZBZ`$i6V<(8#)~+2B zCqSBRAKYbqu()u6V+F$p&nO!*ke*eRmb?Bm=X^;**W9(o3S}~e?Ec48Ta)hg^}N^V zwk#a8sogrXQP#0*eC!x*_gG86mc@?TDjoS;s^3E|8=V6{!zv!@du3WqxBk-;v^jj3 zq^F?&Bc(>J>LU&sy)hW%gD|Dc)X=3>qrE6dVDo*4iAatQzqz$nA$8~}{c-S@oXtrFeaVIvX)nwz8v(z+;R9Q45; zj>sU5|7-7k*KxTC5bwcWM@TJ5?Ss2pFc+GXyc~CE$1Vmj-*gC?3s74o7ckU71{V+H zbviWK8{t8VCzw;X>^)xrg&JFi&JuPv?yOs8zp(o zIy>iWzS5w{(wUp}c*-5KxpJ!jju+gcz}VI|^QmLVuHiP%F+e-|SZzvf<}l9S<9O?| zrewJ|0qa}`wY2$6kIn(WjeqCQpMINu`x+*VjJFJUeh|9q$qBk#;3VWkmI*dUz!bor0&2l!p7E5hkm%D+(|`mg0DR4MumEVoj64G4xR5k&Xsn3TKh6hL z)JpcD(Ymw*44{Cx8^Gx587ZqZQbnouDRZv&vAa+ z@?6VZ@>6_}&0~q}Fiz2X*@t9Zv!0d z%Ya7b0LYDhKOn~c70n3{a`pPHtEOo>3Dbg1qU1zyqM{v{RD(7CRo5pAH|*PY-Qm(b z6d8y%P`sW6$2Qls*jReB$#xNgKjhPkdsBX(iDwg5I`Vd5OVPx|j=DrDEJA39^DEZ0 zQ+?WMbInHy7vz#QT{OU{iw5%bi&>Npbr>rr=qjCW1 zv;Q9q2NWhy{~_u_i%HUtZt`RE{)~SQWR8gOAK-^DN()V@*LIS0@u%t`1Lam$XfL<8 zH?;{yz#5cjH1hJboGvG!yqIc9!%SQJQoR7Ced$vCC?kKru?85Qp8-|S%?mJybMg7<>{>%-XI%W8$zo4A<`lA zqSo=kg)?uG1+F^#?_;QE?OK;iI0$lP@vs>G56&uk-so3XuZ{M`mnPO&eDn_sO4kn( zNP{#NFfB)?H4W1FK!d;-lvs#hxI^50ArQ-;1L>k})G@|b=t{r5X5*;=PF;ZpmiXEj z{2U|3ePoiBv6XA{kg3a%2QOpF(Xp?i8hyI0_GHk5rknR(5 z;~pJ@aGZq~FF_~duU)%%6P_;X)56ebMzaHew>6!8{?ywrU^^A$`qS^+eDe$5wNveH zX1j9Zi@XE~i;eb(cMjXl>|0qD7oQRp7826s78T78TFXOzO_xrG1wY>o3`CHR@yegw z@+^m~1i8$GSdVwJrhjfHkHP+0mMH_Kd72W=}hXIYnCpqoWL<=VJU zJC-M(@0#nJ+dNM4l41>MyJSa>W{Pd1RHrpnXhXi$a>MHCf_xKY;W=G9hV*D0fOF^1 zyv|TrQ!3?8O)JhnX54rH_+gNjDQwh^y2V}ZAeeAgJ-@wXa=Jlcp(W10rX&9I$Gi=FMK zHo~@!ym6c?1@H-DXK8G{%^7)7M>#3FQkiXsa%{PlK^k4wFRkacPUpCR4d*uF9Br<= zPdng+L%pzk@zS%$CF2f24$hq}m+RGUm9y5$7}v+nmaD{eF7!4JW-Ron@|@tI8-{ehQj1NhEX^HC?Lr6sE*Z8SGEf#BfgqdzbLFv~ zDa3Zc55^(L*L10L*PIyoJh0fLFeuT`(3WT*lXP0XE$fn@d6`b}Sh=KSZ0jKdWhq(Y zSzm1D^?IbFj;EX)`66odWz>Z)oSE~n|AY0D-tP6dLe(1)4SZpj-le-dR7qBkr;HM16 zmM1z0wkDNNE%@=wEX4tX#TPN9>sgwb2drZ}=6TV_X!bR(cAS7;m;Ckca9j|BpE4Nh zdZxF|Nni`P*d7D<<4NY?vPiilCuzv#qi_JOUAyvtoc&{vsz8IqnB}v?U51Uar1EmO~Z^b@|VU! z^J*SjuJe#bnT&OPpEPyrLtCb4&w1zs`SQaTQEw{q53_dg4#1ng=L7q{_O(BMyktNJ;>*+lG&cTAW;-*6;n zT+`aL>IZ+B8aG*(uAn%S;aTIURvi{Rb(`zpk1AGomndNP@ zk41bj>kOxIFk37g>2vjhp3R1rW-a0@N$Gk{1H=lCt3;5=f{rUY@Pj5LlHC}CKS9XM zFQ4Hvb%b6HOiP2h8_DWRXp#EX2xr@(tgV38=e6`;EkNCNC0IMFl`6K(7E|^rA+_gi7ETQ z5lB96H&^A&?h~1IF+zNv8{JTN-pF-a)>fXwBr{#vh&e}Xm`4z5gV|G6F2XUWAAFZ) zhthsFvKh+tho~6C*M5vjO_ZO2;KW>zToYQ5aCP|jo5wClguEB}o>3U;nDM!WMBDB= z_bzLhj3UVdv-QU7h`ha+h7j&BSXWE#A!k)7@^bejOVf{zj3e*G2fiuuowf zz{}i=?r|d&A&<-OK`l|^ z>$ZF!kFie3)HTk-jx5*d$qwsq;so>F79B*bGH|7Y$Fp-@A-iNYofdahdVH>0fgrJ2 zZP#+lh&tJAP_y2Q_(7Xhas9_TU#9+&knckSLu|4{Uz-i{Z^#Hd@>oX4ctR0j401Q- zavl9oU!L)&Ax)9Z9I$s!WQ~Hu2<{CH@Xa+xJUX!&3;OUaD~WnnU$kk#u-R_^!fPdd z#2X|KeeG?tcMj=&>m%$3~BxJB*t*``<#HfnJIQHZPsKoJ=yCq zxG(sl-LKh$`OKE(>7a5qy(wW>$Ty=`wDj|_f*RYf-oN=Xwdk){8DlLEl1Ow@bykNS zr3luT(H8VmvjgorZF8!OH7WXhMqtbotC*w=!eT;mzo9Zpq**YZdRR z)2s5pUQHa-9l~B}I7{Hl&Lbrq%Dth2@b=^?3IiGKx>I1mcuY8x(crMR?0~s9@9O8%TB@sWfLQv<_xGdWq78j{xP z?~Sl(WP@*lF8HDc^Zd8hZmKk$?{WLaU7qr(3saz8VBw z+lcTysVyUsd|K}@KNIR%KfS~y{sPiDV-X<=#X0vx#@j;S{xhk%3e!xlvHlr}QiU?C ziJKx#4p0_pomZB zylZyVGKCf<8ytR#&AI(OV_P~dOXomQ*$yV7gX*fq~5FZt6X3$D`Ss7>^A{mkq*0Uiwfb(W;Ygvh1DCzn` z=IoV`B>qc$LhTuoK4F5KDH{cP13KP>{9nNEZL~Gs`O@by)RGsHQYIPaQ^C-yzh+%; z7zQ%8-zq&0-m`#M5r+vSJS|;PZ!Gl~p_nsnOVbY;EtX2}tmg&DS)a#;T&{_597%P$ z1iC6@$T>)rt8WiD4f{3o{sGPDuN1X%6+4x*RvI^Hj7wk*mb-k)&;&d7iLoSksOvo5 zLmj5)CeGw3Y)i3GXIhBXzA2|oal#fiN@UaHNI0&(L>1kXK`A0?79&!Ok8tgcV$LPS za`ZIRT+Z53^sF`d*%hB~m)xy#{_Cym`CjcOWDe=%BW8FDYo0IWQ3n_K*<$9Jb+=Pom8>aD3}30>GvJ7oaSwsHnu4d9uWtjU zskESdKPO7$jk7Wvv0a9ZnCD| zMqd%?-Q_yQ{GnZZh-Caru|vmNs6{G$sC-VrcYc`KhocNqQ`y zc0SHkESXrG88Myt;vT(0_;Nv*9WlWJ zem{4uUYl7x?Z|xGd>`g8!ssVMV6tQ$yR%Q4aLHlpu7Nu7erI$WNV?HV9_#4!s5}=w zV-&hVAdYtgMrW41y|D=NHE`>KTzEAeQrlDB#ndG$a=p}!B6F`gWlTHs zs;7Yz+#_tp@O9jaW@E^B9dCbw(Jus8B6?oNFpi6ty*#)c`v@)LsWf>WHt+a4Y&Kxg zTA_FO`Q0NZPJr=M)lpG&HMTkaAPT=hH@izf4zp1KyH698sZJJl`7PaE_%~@EbqBR#o6q%gUoU~(GGA@fpdE}EL(O_hQEiPj+AH7p18$vAq94OwD6=Yy5t{V+WLQJ*w&>MFXT==>fht$bkJ3EMZ&PJ^* zaO5~`E!#_|RCI8-_s8LH) zKpdZ7lCg&HHg$~x1;tgysW{ar^f&x@Y}nj>?tz;1P~vCBZ#|Q2)62CAm`P^2;u>c4 z19O;sl>0N}3xo4}4{mpQt}}iCy($DwVL_Invs*5#C`3s3p4-4!wX|WYd$^(xaBkMV(-)_@!UHDJzx}lpDpQ5x;FMCXV~{w;mCQ zUC#O^$c({~1^x%|>Mv_y&6KQT<3U6Q)w@^eFo@u^gBY)QAs*2^G(QK?wa{^1yuNLZrU#rU~0JI)Ja zLd1K>yh{?gU&@RB_2zuD84HnON1WTa27341seLT zC~9~B>^Y7;3u87$oniSlqgarAGg_u^v&!SWN&jBSkoZs|lFn2?V9-P8eLt9Px0m>E zs^L}%YR_hV*up3?P-n#Ga+gqI(v(k^C(c`oiyGbv`2)Q261qITh|F^%30h$P-o;Om zL8_z1)|7T+rK-8UlpYD&uzVD$f>k1aMf6H8nn@A}Je9}Z>xA<~t2A5P_b$K9+1 zO3`^Qa+nCQ5q!OGby#}m+Glowi}B_`5a!?Uc}Cn{fCOMW>2B7o0@6SD*n?wCL2MMV zlX(*dW(*W2IztxFZ*MN^T;mU1xEsHE<(JXZGW6J>I^a%>{Al+?csh%t*|E*O2>sJ7 zHwlai<_@Vq9Pm}?buq`m*24#@xH@%QFt{=;#kgjdDWz-m5SRGAKXKUL`!AH+acWCH zFUrD(1@aK^={}0(S%kuuol&soPTS>5tu!V|+naztb4cKW;iGvi3)NME`ByFt2$T)B zNep*Lm)1<(+ zrG}Z4LL4aY+jtHBQ!kpA2Y;PTai~m3*S8>=67*JE?;1qj_xlmzd(>MRv5Y1@lF&f*Xq(vr}*=l^w4sr@?N@aeHk8#J#vVAzYeA__fl-31z2)Y|CW2a1Sa`x4V=B zX;e&~`SE@@zV-aL^Cl(7xIjsrEI34xj`V=kA603v>lY=g;cEhMyUQ9l&rRR_*T`ZN z2I5TGBACqYgP2?~Vn`gN4(_y?g+e&$m59^n_h`-@iWxgtGfbR(5>G5L@Wa56sriP$rX10QN|3MFR47>M? zP45yu0Umo<&5g1L>dOt!e8A(#bPlInpe6_f{5qruM zCut-Q6W^4K`bjD2jlo6rbXjXHdr4F+Gi!&8IS0Ojxy{Eg=>k(SlC5S`vv^IsUpp6r zaWS%e76qe<=x*=pkn`E4LeUT^ex}!bLUVQ0xiQ>F+ex;etcAGV>1>b3e!c^;mA;((ZL~f8WRM6XD zHA}oo=V;ht%7zk8N}jpKXfv&EVf4-cyr;y9IT`vzCa!4Tk)4Q$L%`#J8SYga{XA~Y zhc~8~CQOYgsPhALaWp~5^_E*(g99XvvBgI$8s;z5g$LySOvBP@g%SZzG8qi6}~7XIGr*XxjAeQ zn33e!ge;e-xPH5o$c9Wnq$qx9eOn0J0?z z>i4bA$3L)e7<4qTEs|GqNJ!O|L>E$>B>w#5r6~5q3n_mv=91R%E)Z~k1C3rpxg$6D z{Q`F~t?YngDa_XCNbDmvzLfee?Q^RaV^ZGViQo?3PnAwOQ!2T#VG!{$t8k+3e!#_; z)9cTJevZY#9FoM#!;LN&40>AdI9qx(r@h*j6Dyx@ThA0myWZX*@liO!W3VxY(8n@R z>mlMwt-xS7XDDhUfT#KTxB7dOmqBseznQq48uM?pNP5-UtL+u)kE{05#OkV zL5k*t((>bCG_c-g_n7N026(dh8~R&gz5Y@V+u+Dl4`;QH#AWqy)>>!ONhEr4Yfu#A zECROv_?^$b`A6XX9*)I_U_0JFuQvCOxL^G;;Lmt+`Tj*Clg6CfiViZ)GTGF+z8dta zbUjH%QgCt!rp_D$%RYoA(sUu{ZR%ie2L$?v4sZhWPbN*__D720WutL^^mzsr+U0qJ z+JEj62==vHGxXPi{SqNOx#P{l`flp`ym9}j+z>dZl3;87`|#nX`{ zwVvJD7kIlM!CBYz56I&t_z*%CLWgZqHo8&)yG#70+l*BA&1}Nk*8>-cC4*lPd`93m z;4xlguR zD=?+Y{Zz3gn^)q*kqRdrGojBinE9C}6<$5!;Yx66bks^DNAsP*7%Id<(_008Bjl1B za%wvNwsPVN6A^Z}ZkyX4&awB#y_MADFXz4e{Vx6S$j^0$=;7yK<5n}MA+}8YWRMiR zOKRPXZILa~Ra5aN<`%?7>HZ!ReQFBMI9W!1esiB_i5(8CLCu7>F5=lwVzD19i@1*=QA~R_C-0$67r5pGV(Vlz7bA2i7B|EYRiaZ*e&3specSmh1cZy z`H)EjYW)r*`<}8~I*wD=!fp01ER$N!4sC440TbtU{pbz;HlihbL46=@HkbneJvZE` z#jsYwcn5Ta5GQ3y85o#j{?*}-x<*5|*ome=5HqHmIQi0Z)_&IZnqE^4g5OHXtQykwB}0ibj?|ufqWIdfPvvX{1_^$U ztgW%%Yl#%2)X^bX9fzRS$`TU6LXty85XNE;lv43Qnrw6}qE0hyJ-5U&;(jEZ`;um2 z8_mM8C52kI+=K{o^Z7lupn0iV`XLNcHaKcF!!u=321+Ia+ylPFCVDD zGGO26vPng+F;bQTpD}b08K#0!79|78kwRZGiHrbK?0gZPS*X38o(%>rFa-j8sa@SE ziQgM*a!zZK8WUkxmLe0Az_ezt+^fw2X-871t*Uo&e2vGMm*WEsGpvVdn9*4mo7RQHB{kE=rGL;lh#m8XXT|A$AMX_xJSg5j zK&CywM>Um#t-c|}PQBC_`=NoER$Jn_2*$BX;On{m4feHWJJ~ic6+_75apC>)1RAq? z{L=_jANJiR4RotE#@l-Ehvaek{*U*uV`<9y4fc4&-3WM{eHPe#1uh!VKY(5R&8s5` z`rF>NS2pjzQjziFd-%@tC(e+sY^aWXaA8UtqvCiD@g>A(nzc_$1o@C%a(D zP!Lja;0~elrJ*S4ybB(GIZGgsrfk)axV8lW&Cmmqw7YAC1!+nBn~6 zl!ROr8k*X-H-8sxSUI*3#CmI*5zS>&=znOs?w0`Prs@)rQ=;I&a z*FeB`(e7nEz&$uiMYXFIPjOwEP`G@2U5&zQYyw}z757xpam~O(zDKnwRsW&7@5Np{ zd3|5v?%NDhork)XKVBz-6>Znr_P0cPC)k}we0>Wxa84vJWgo%4gdwqaX6_n!Evax? zP7uVO`=8@pCdNH{;HJ4yu^p_n(-@?of^k%d5L(7RRpK#^o#sZ43noGh%GaNFDvGTj zf_KFmn--*KCYuWD0)xiBJb0rJa3B`BYAPRgc4*-Ia6MZE-Y&=Mc+Gw6a`2$dnXDuW z0$#yz?TT=6MoHvTMLuTk$t;2?LJV%5W>_OtO2FS$9pl$)cf!u^#qFAdpYRl9*otGU z^4Sei`m)T$-0%PRUqD%c;P~z_xM6t1%;V74A$o6WVnOIWIm&4 zN0V@k9T)qLRR5G)QEU56_j6VphO5Hr6T6&cmXnB8@?~Q>!jd+Es9pmp-#z=0b(h>H zE7Q~-emPD=x6fn=R_v%#M#ZTTwXanjrF=6S@)D0;udnAJF3!F0?bv*`>&5}Y0nc#O zh!I%mvV=Tc2)RV$O?_@D-Wsk*DekP$7twjsQu&4 zgnh9HqMaDH^e|c`#l-#KVFLUDc+J85tB-4>5ZRTn!b$wNqQ|@q$QzUnj*5jG`s9wd za-1WTCc4BA)=p>&4@J!Vu=M*c5mL$0Cf*P}Kh&#zxxQ9|WndQMMk!uz{<` z_i-x{{|p;qDNqNmWUf>Q;b$mED)c8LLZZ3J_c>yW56+fi#CKIx&+~sH(I&z5or4Xo zCv!duO&0BGiQ3*VUkk2Xlp?fXG4EFY#+0%0Op&E32tr56gs}N;ByWIbOQaQT;J9PM z_=mgB`N;8H`7tm_Mn{CrjcR2(tKCYziinKt)5v4=dgrY83kS+-nO9L7d=W_UN)*8t z&NSW9P|56#^9O6T_uj>9oO)mO-1P_ceuy;kxIl zRcD`7`)&Qb_j%57lSXdF#^Cr72z0QumBULnTMrF?r|aWkE|6stE|BOQ#~>0ED$6w0 ziz|yJrSsuKhxj(}e!Iuj;a)|*w0}l|>y7ByeHW1H3N?g23F>wYM-uEN6F^ZQJEh?e z@=9B{sclpA-WqEPjRgy(1Fn7rBSj}+Eq2V8x4Fu>v;wrfBs*V2s76xR{YDEjMAp!s z(+54mRYyV@29l24RaI4=Boh&9OZ@P%2hr^@hrm^oW{>4hoIf!lhh8Ar9Yb16+~wP) z9UZrR#nIqoyeU|vPD<28PiJ^FYyw2go_8l%2D;j6sag_8xTWPf?nz_oii2-WY}inY z`LyMM?lXrEr!b^aY%$+l>S$|OCdq;fs0vxxjDamnd;memk3ji~n;X&yJFPkj$MA$PKYlLjvt@{rE*YM#Ua8`VD)mek4#l3cGr2(X114(ey$Iau1gju3xRi zq+r%WB7z#KAbIZ2=FGq%#%*%*s(JaS~exJT+ucmuEn6#7nUFuoBGfE){ zWKJBUUnZM2_+%$Cvs7{y>_tu*Pm&7rP~6Eu>U)7}tFO!L1V;!K)k8v8izg_Iu<}{7 z#A5%70DA9rhQ)h*fcfa2tB=+*7j`9uqit}F+4fVdp*O{a5nhHExT+H{2NQ_9bqX@6 z@Q>oF@%&=Wu5)>_y52A?pqnpxZ+aULI@4Vbf#yC7XBu&;Wxxe*EVBc#k%kb&g-86(mwpBKs^@krA{G+OECeo2YOjIxATnMLCOi}iAFWYln?2F=`eSAso&Q#& z!hpPp(l%;xE^hweMy32)ZlR?Y43cOh;d6r7tZL{HZU%*Z_RnVd3(G3vAwJyCs|{@s zCZ!kFYNUwvauJmObdk6>#~Se~jfvQjjW*FgcjJTz{w*G#GC)IMH~BZ`$5|{4<#S7k z6X;ufYvbC{I-HU$eC02LzqbywH-BF(59+sryySixV6|JfMQ-9_e99>0f~DnXp9v>DF<86 z^6Jzglk?;imLW{o>b6JNmZ-st{mlYZYC1t(cB6Z;w>wv|*#QyFuS6rLDx;g7+|FqwS5atqPvoG+0 z8{`byANO3}?C^rFucwnlTU=I?E@D9<2|O773LNN4ZHQAd;7<;f37|!=+_@@{;uWpR z*)9WrMg1Fv&y)@H2km_&*WTZ@(~E#OL3PrNMum)xuzDh>*2s$u$E$5$9-uMERsj+7 z2td>wI9&rM#j`56AcCu~Y+$VLza~5{ab0|#@lPTb4To|!)t?(Ect)iY*TZ3M>TLe2 zM?>i7-4Ud1#D5k*OW=Mf4KB)W4e)~$KA&F=9Me>P%$+WW6rbh(D+((HEBY8Rc|iav$fAiL)Qb1yy`V7oG>ikY!&`R0D~0$4_NIa1tiKC-_`;d zeWmODc-m3d*m&Xe8|)@w4eIyr)FzwuglT)hk@fFAt)e3mfI|EpaU*qM)OKRs_akI= zyzcg7z3)a6mM;&!9Lt6*c~@x>Hx?~pcGX9EFmP~vR7)tUp)j$3?mV3siGpyIokJQO zE*d&79whAxbqgfCj+(Kuz2L4pPCY*lijsNhF{``R;6ACo7_D3{bAru9#u9#W9dn@c zFJ|`NK{98X%y;XG84o{4+b!rn9?A_8K~N#aW$njL*E-I76ZR|INu^#HQsMW8Sedp# zg^SF-;;^!vRT*!z3jXQDGU$&kvz75-7tL&jBmL~hORXCl=jiG3W0bwY^_NXW zXP%@Dg%ZNT(!g>dvg*_E*v{?JR%y)lyUBj^NjXW(Tlx>4OPy4%b$tu0f{HeNArTzM zi#S~BZsmZl$gVH5@=J7-7cZzBhSL94z&TQwY1B?2+05&7BLX_)UCXb|+4TptGrTk1 z>Z0zt{h;v>*~3qZ(k02`+iuEMJNTBaRSEg_2$P{Zv%8bL^G}eW`A%kW#a^+wQe8x+ z9W_$)E|=1qr_p~*Z02W}>Rvm#N1j%K{LdSN7|pPZqJH|yKd@c^%bM8V&L---cVxf} zT9vt_{E@a!x?26?r7gk<#;f*#{mk5wA-K8-xg=L=b2b#Fh%D>HP_^L~QeT~sA<@s_ zstsHn6_-C+Sc^r=nC7B|D|q=ee)O?E;~ zC_kyyTKNeBHoh!I1e0~h95!(UHhyzQe%Aq_TI0AKK>4OG%HN>x^qTR<8qy8nIH~JA z@H0+CFxA-EqnE(G#^cH9TqswEBt&ODMDIhn^r+T=m2N?~DMRb;#kis*U&Ubk&{u1e zK64&?@QV7`AnqaBwJDnhUOOl9jT*%{PA9L_#3)4Zbo~AXSFcTwc8CAl0mBa!V=QZL zPn$wb=q{EoCkPzG50zcgV>1t0eb=9YtlMfb+MZBaR^}DL!gKj?1f!Y^)#TCOPxBcSnTNb92o3j;${xoO?fr$0FMl)<=pYiN$zw~zo z4PbRnbx#ksw_>`&jT3k??kr{qi3twM=E^9XE%eG`P30##l~`;4U+qmoM<-8P%96r+ zY()Jy%P8zFuk!wObz#$6^7ru{AkUwK>v;)dl6Vn2r4xc)ID$#KlKc6!haPmV!uv?r zZtq~L5l`NWApus99#5*BANf{({7nT{`tmo#C0Cn(i;HCSE!T5U4U?&3)Y(i1C zt-QQ`hc%-B@R53qh$ol^bxS(tVMkXpRSd#mmj>~~` zcc_1p-SE0!|AEFl-lKW$jYn`_XbCe{d;bB2TJSZraQ>b9*v#ajyvADmAWOA4c>gLF zIfAa854D*mNh3mwT|cZ-}{#raEiwt9vkH2BBp zZ>_Xvk?n6gc8s{)WCovF={d>ExM>ciRW}W{OU@joiv)*6N4U=VWm9qHwXqh#a~}oU z?1_4~U)ezq9Y-@bJxy)R_9_qGE|Sg@c1|MMogCrxtz{BI8rd;qX~mY{D#YV2;5d;G zJ*MOdzwa+B%p`$^9T48qV(K#i%eD>BCCg|(Y015%8{*H}VywVnI@4=2z_wt!d6?YdSh+*K0J(T6y8_M+@nj zRCOAhsCj8_L(cxh0)h90(f82-4ou{y^{(Fo^YcyQK@qxYK%8C8 zpkHEieAiFQ-9n58C>KU&Sa3BuVWY?GqK>@1t7Ubyx22;ai4wLfF>0qTEsUrU1{-18 ztJtn6wb(QS4s2RM$sfx>D0JKgJ_wCD1X-kM2P z#lv!>&F)1b4^weXmm_?M4H=Q&^N-}4W`3oXS`aSjYe^jPA?-JGST3>}B9GVOWS)#5 zIL?F|2VpdnMtJjP)hO*(B*)5>c*D4qpg{8@Db^)o^HL(JWncZi*N?g6nxg@B>X@1% z)5<7pnOk8$I_pt)FUQOMH|#1je)OM-1xI{ib@@C_R`r=4kdWN3XjAPsP~O#3zQzeC zGn>fcfI0U8IZ>*pP=0x+s+1-Qd7++ol_`bYYjA(9+u&`q^??votCz2n0wt@e1v|6v z9tXXP6Sr8&1r2t-klrs-YX2053hs}EzgA^E+@PVitNM|`Do*e66U5X?4Gt|<1LV|xn!NhLX^lZ125hmJuo!(DOAjVEhOIAt3TAhzjh2z(iQzK;XAX;UJi* z@i&1W7}6chFc9pkWoQOKWIz+cKyZ{d&__vNyFs=)=pale2qXi6BF_qGyZO3k@wY>v z`>z3>M+g-Bzz7ryLZKj)5D*x46exIyfDo|uppQ`K(_>98ECG&A-$7vTAW%pJ3MlJ9p(6+ciwGh<4~K#m zUiyPxP}j~8GCTs*34tHz1<~@o39MuU6#U2nP=QcG5Xd+Z3X%Yb#zz7W$QK|C0ipnE z1_C7mgbzT-KyOpkdjKNI4+I1Dx{ZN?ssliXEIvg&+b36dPeD+)$Lo`wsP7;w3<7c* z7A}4vVPQdj9xisqcZ8TQs~|v-YVv>}HM9XiYHBM3vQyL100b$mp{D^5ng)PW;Z#-C zHPrw?YHDh0Kte$;l+{($RaGEr2&(ET>YD0m>Y*TbC3R(G6;*W~4X~OTL=~hAR8vw_ zl9yNXReqtQprE7<2p244eii?Yih)MuO2?=S*?;sc%Q86D;e=#3%u%tKu9Un+Y*k2?-6jn@Jj2(ba zNLYxEUl<}3AnYpwBPt^02ZHAj5)xGA7xEJf5P}GUMMV5Si2TBQAP~P0KYxILzaUsx z__-FZ00_h@;K%33?<)Wn764ehg1pbHZ@hkdU?KkJIs&|Wyu5tjykG%df8ad7kRU%F zUnnmOp8#(F2+YOr&l|}1f|rMvm!J1L2$f4ffS;f5`4WC!9zI?O9|+jH<{4X^|G`#E zNB&Np{}K&{*0}PhKh=snud=i zSX~{W2GRhksi-Lfp!%x303cP?_y=1hRU0QG1tleA1sw-_UDao%yu7OS7c~b%^ z7C@~yJSr+HFF8CSGBP|qH#Z?Z24Kd9L>9+K=B9^)g(eoq#ulfC0Z@hqXGPac#Nyf?9U-u2d}V=svmz%Jm!HrG(2-<~VZ4Gpu)bq<#jSCNF#-NJ@3(Pkf1LZX8#f?2ZOV;dQB&6sW? zqmWB|p$df3ZANs~6H;W7l6L>hCF@4)6v5=HO;Te#j3?{Pij4vdvE<`@-$wpO5R{Yt zr+mNI?Rd%k{BcRMV7W~7^6No)af8R7Uu8Ac8TWUk9rocnr+gq7bO;EJ6a+^6ulS!F z{!@bgI>UdK;6ID_pF8-^E&gwf3HoF@d9PlJ{S)}eeCxEUpDFj1dMd5rpd#A%#H(@`)l{<$b(Z zAzGMI8`{5=$cy(nGWT{DrWoZ=CFh3-2t5B3A1~HP$HSI&oT{qsbcT$dX~fsRzE+lK&!|lq-pwO@zakk;(zfmzw;e`cy?EYgl+tO8dGF9p zP=v|^rUV7vY$&iI^69y}q@|-v$T59dGTSd=dGo{`=fEsIIkZm`cdl?Ry>hJ^>m^)5 z<4p*+w{&@VvEr^{7WO87?NM8f`8lre6e86;?Qp-o)F_#LIAuLCX=QtCJo~)yVlBe8 zNcXZ;$N-}w?cLEV7w>egmjKcF@@T^>KPm4B}@rsv^+A??58E28v36C{JE;o&Hp%TyK2HD0;U;A$gnl4m9P% zObz0didM>wb*-Z}12G^z#4AnKv$Bs#O>P>M)h?b+TwHG+OIu>yX!qE=+cDo7lvVem zq5Z43Pl#GASC{+i>unK*?8&l^XFJm$hQ*=jQ|BdK`?IfGdZE!OlAj4^)x~CK5Ovo< zd&&4^?#ZAV&lOo+tA@vwlh!i=vGS#r&t$A{!ElkF_Y-_*fC^<=zs!A_n0QEphfeD6 zLTj7`aanABI0THD(%=C znmnJMA_jADutTK_E64|Jclm3=GFJe#ee6vfk+^e6c1h?WeK^2x%@_}Ehku&+F7f%m zPBpLPY22yi9eDmjL0OYp--nqGL(Lo-4Q=lp>GpILwV(~T@KzlUXG0ZBtxXnQuKyZF zgtsR*8&JL0@wuDS`Q#9OC07NyvCw2f^MXU0`QdZ3tB}EY23`4F=>T0tg3F+<2VQco zW}z*NTK8lP3x|DZ&WMMypqG$GyfxToRW8B=_G|jBP&9>KF(W}TYYNR~KHvHH?Q@kk z_dc;D_X|toh9%ljAD!v@_Ohn~A!BPPOfV(;iC~gZhM08rS4X$Y{pnEz=+(+oh7^oN zl`!nzIIaajHtL_Fp}lQJciOhvWb;h#&*6xr$|z2>Wp z>BU>EC4)1$xgU2_q7)XkX!KtA2%^s|b8-pswf;3@ou^ohPL}M=9Octl{QjP{$2O2?1f^_co4=Pq3aXKCsyv;A4 z6i8YBsx2}#7@A~~URG8P&(b_`%=x^l}4z6QL+D1Q8RRsUp zmx6c~S2Fb4-taCpo~lA=Bf>fW(a9qcI*I&wZ-x&4*K3E1t#TjVY89y}eRJTj7uST*83+6PxNz9pDpB?3G5y3#X#c4b zgO~KjGtkHsK3jZ8zE&|sd$CYMGUV=#!cTj?^HD+5<#VgvqwxDc%L>_H&5x}1WUH&j zpRPDpZe7k>RvxLu3Q@L>g9Xyy01GPP%WU>MzGi#tgXX!5AnabHyK)}E(6%|z% zi%I#i;6*hAgAS0R&-lA%4|G|TWFHnlO6|>#?01mN<)u{C&*`6&pDz{`Vy-K7)H)+W z)LIt(06}dZ&vnk71mRG~Rmv6Ld25v1#Gvs$Ojfj>bnzNs>aluz$KLV0oXaBQ`Wp(5 z1;JSyL+3Rl)2LU<<&qV#9fwy`D)!mzEMmGS9B1+;rzS2K_S;_fod!6yG^v%e<#;{b zHN2y?DRpHFx5J?Ni!>K0%zQF-{lfHKrE>bD=~Fg5bf+%KLV)J-a>F#o;uHVmjH5K1 z6r5RQ=6A?#TpZ`u64MakF)E5=3~~ru=QmHAU?czzc<{nKwA?vNw_ItW!JYp?wN6*z zOWbd>K`V9P7Xzxw79V?-{dip))1Hu`!Oi*N(eN6!FGk`M*UDX8 z19NsIZOn_Z{w{smyvk%xY!y23x!^-|0qgauzVtH5x^&`y zjCv@X&(>;D!BbxmsanQ#=0j_JXquuVQ+|AAGy55@&Z{DvuV36Wj-?12dRIKo@4p7c zn+1g@a8#j@0j?(SBuC-hKd$Die>B{z2g;(MehazUgt~^+8S(r9H(ch_U*{QCfB#}B zh?pPu5cCn@G)klHOr>mFx(dPm#M|T_C(94mPfy#f^Fi5L{u>q!s_h#7)egzo{;4UM zO(+R#w&1P3WwZt<7DDC13y+Fy7VwkMc5llHQR^>tP!LS838EnpC*$9zOMKoKCkscP zb4U?QrdGxeg!_1Jj#2p1O8Ysq_PvJhbZlnOHYCqH$-)T~B_%tuCet0ill~(KWEwDZ zfXcfjt4n&nE%VI{Qa#B^?$2=B&6SWms~@K&9M*awCey!mVF<8U+@rdPVYm@bBJvS% zOP}3&DyGk&&X!XP&(4dz3e%HEV!HCwX*kIKK@7ghjynVAp4qt%@*RO$<;s`~v@f>< zKYqd(Jpk$0^=5&g{iLhmu-usV?~@T+W|#<`yOOY~s#PqFQ>g7Inj>Wxl>cSW$6Rdu zJl`vy*p>AfXLol)@%`zo&*HQRFU4UV4!p0Ap9b0xqTfaF=?Nj)z;}N0Fb#eQ=<+Kc zBi?Y;68WjA!C>C3_K`*oK2Leookx1!*ka`bhvn<;5RP|p*E|g-K#W6!i6V@tC+B6f ziS_I*_z|@_p5g{K4fB@2y6(jMY{|USRRB>{QCN;H1|+{oRM5%)^vSn)DY2%&nh=Ol zEdh@{7YGacY%L}!Y>ws`lt08>MY!r*RFcFd)V^3vg`ZL1F<$sGRAoF_*4ilKlpL2( zP5FK~rzh!Ja#|qN`_Et;?_CV^gv1L;92A7|=D8IhEHw=c`q_hxW7O_l?)huzN+I{1 z`1GTR(mQDh9M$czFt&72$w&2{+D94E!3#n{ISNvz8va;Trf1aZN0&w^a3;MzT zVd}pF+4|o%U>uEAEv;&G8EuWKT5ZiByj9h%y;rri*kXrjsVZ8kX6(Ip5JYR$iammu zwZ+~fd5(U*zu)ux)hkIuKT*r`F4FJTqpa1rIO1<(Y>G0eC+l7b+q#n#dDrX zSn20ekM}JT3`Ri-I@}u>yM7i94p$WeAHlsTE}GH`8-=p6a?NY~QGK{<=9;|f{@Rt> zaKn}zEjIA@*Gf!g{@RCTA70gt#NITaTva!MTvW158k*Jy!u`MC+NTS$^Qbm_65;>) zq;A7oQHOBD~C%)&)C;p|5f)J}o3&?dSCHX#Rv(&u_I{_vE>>*o-HUU5d`+Kz0&mFiy@SVBxS92%#Kf+R_07D> z&m7H<&y{!{f!GD7KussTZDrbaYM(4zU$r=bKYFThN{>w1)Q9n^*YGxDvhE;}#*x(N zjT`(_Ry4_%fs&v`2@bnBv2odE`01))CRQbP(&bb(f*`Q^<58FyeNQk)bF<%*XO}N< zpJ-4hTVzMoF7ZV03jg{r3D%uU?|mTBafQ2bcLogO_cwVNZx?PH-6W?;o9(+EL#Q_? zfoV7gHS=6Iui5y~9P{)d*6^U8gzD z>TzPWknF{c)S@6-MoAUkAhqngIPf4VM(6n@=J}h^msIbTdUEUBTZoV!P_o^d`XDW@ zT*KZE0o78b!J8<>gUCRy;+qfFQ+dbiMvgw3ddcVV2`JXO$nHiY@$yd|P92eR8U?u& z3L-XEOs(z=YF?w-y8IsrXDD9J{PNdtUsmE_xIn`;-=US~oAh8n2JVM}e*O$79<|Yi zKchKkIFsGxjehBiuE`t`?$`Z7LRc@HF4YGb9QM_J0)A8HaI!8#^- zXzHaZHTkHKsb=^>?e6*BRyJa_uTQ?@^fTEFfGr9AxeP=~7wGOHM_Bblbb}dF{ULFg zmxZ9zp-aS94<+v1NW#14m>a|4ij0Y7ciBq)?OdN7*XqWp{P;l)d^ymRs*~-T{leq~a@D^+I-|M_P&$t<0lieIg}hBwhK# zqW7va8n=PH5ko+uJX&lEFB zo^RhSLJ|=EtAw#qc((Fy3tusne~8D~6;xtO+cAm%s|Zm`*}X)1P)zKz|5;;C(X2?3 zY}|CH*14$QN|tXHJ^ULS)9Sn2r8FEzeQVR?mhl7U3gDW>45qWFF0v>o5MA+%>w8;S zQOnQvMX{xmRl$+oXoqd<;q>Gfj%M#zr}B{k?NU?!pK69j0_4vxawdjzHc4Bz^3IE@ z-O?MR;7Z2+!FN^Qz{7XX-PrOIKnNCH{Zj3D3p>cxC0f}B{YhkJ?|dqMQCBtDEU5xFX(b8k8@a?8dC*3I|FTqKv6Fi*6;A^@ovpt~h8Gj@+5t zI3CoOF$a@db=K@PgMbU3eM#HX>;3E0N7J6m1*i6WH09(=2r>8hTgY^Ds6+`Cb4hId zEPdKst#d#FY`WA+e{o36d12=}On>#=S*CcPF@?E@aQ`SJc=#I- zjw|wM_HcCpr*S!;SOhk^T=QB<7tpn3{YDV5MG9p8KD{@=!#WP`hh zV)>V>F^&u*7}BdqJAjksgHW-c$>(alN{!NhGk_)R959>K=2JfYUw;>SKtYT{pBKC4 zGxfA7?uu$cjulm9&?flaG_@|JT9sU~6~Vw)nFj);rmCXEZ3dF}`bYifDGTbF6 z{v(sK0klugkWOf!TOB)DhWEj#^0_1!+bIlfn{4cL_1sZ1vzRV`FEZ)ojM+2jJNm%zQ)%^ibt0)dqCFSCE%$#%Kn^rhw*#w&!^*I+h7$4RBX3)0 z`A+)nUqu18K?4rAL#&f}!}egC#uBKi)?1Y~j(NVf1~Qscn9D%!V?)S5A;B_@C6q2R zaiBnMTCy7iwlD=z*6{#U@OD4C-=RH5UHT-c-CVm1!pN3zA&n6fWT^XI;XMs$&tS;<5jvNf8Ka{@n`-T4{FVH-|7KdFpWT4ixb4&V=K>=+?_HAoWr6J_|sjL%$W z>*Z~)E&7b(IZa!>q~S8p(P>$JHt*2pV6J8m@JGq-qIS@~Hh;fZorm3b>^G~_L&VKL zJ`XIvk|Ub5{04)c3J&Ag;jc2BK6!3^J~24BYhL>D>e4d%7!b}h*UF5n6MNqob}S+^ zC?zvJt(82s-+ZMMS;ho&sCm@LN{C3C-b*-i2L;qK?U3KNJv=1MCPlxFSxO$Gh>n<~B6QwcvGDGdm_k$iONEBK-s$z6LKyX06nVrl2ZUpQUOr+?!a zLmNnje_%M$N5 z2}C+Orww7-LW@FsN8?OIda&MdO047G3GLVfYKpUqxHEg{1sps3_AIS&UBz8ThvVf1 zv4%XU@XEW#YPP>1Wh1Uftin3X0gw^h`KUdQRT!XPmQE+6W+@6QF4VEB5-YZlsrn|3 zxrOA|N^I}des9V~n1AsCj1KH&;GnGlWRd-D^m98~tH##U zH?fmty;i6*R`bahSBDda-D@3sXY}(+N{HV9h1Me4G7wE`u%%4lUUIry`Hcrij&a)K z0H#;(;SWBm+<(q?jv6_Rd4e(ugZCG7qj}W@MzWJmj#Tdpd%YZcc>a;CRh_F7XXZB_ zmLSB;`~+W{VA#nFI$K;noWQdp=5e0Ei$Wr=WDxlYyhO63Xz?$D4#L;xhyF;iD&O z@giAc57bucP%!)ILcLTzkF&NbKtCX(pnfU&>3sFp5855zodhJ1;6s48)hiI+i}xTL4HRI@B= zc@1)Jx3KK6$uC~NoCMB3#5E1ppL5mE^qE?3>iWK>8YZOe^E9R=B&*C2nvT5VHrhWn zJz-A(a3#AS8K}hM%;&x3!n6V-`ou*bLV7cIPT@tT;hn%DHnDJ9J4co16J*%C7-+vs zy=6djgOuu|QxXD~Mi3KJm5jU$l&e>Z%35kbpG&35OWkehKXN>n5v3(to9`{n#3Vr} zx7!b_pBxT)_pREgrit>K$OX`L^PcdjH1tr9vRxwwSYlc9x4adyCwR zn>1E1vgfA3bL@AU5}oEkdXti$5$28u@I15t&tv;=_JJ>N>~n`llcxr0K{9IQXXx8` z|3eYwH@w!1+2nt<8!9&5!h0X_MjO2IK*{*K!R@l@zI_th@3UhxKdl}!P0}|t4bcj^ zVR&)>QP%-pc^Qg(BAnQ3{$Fu-^7QjvQ6k+hxy3%7L_j-wFFn z_W^0`D#b(}YmFhyT4esvn33COA%R0x&WJFIYs+uU{azZJwW_<1nBe_tgoSOMB_JTV zRy*tbGN_v}{-bOR8OO^l&iG~GECYXmT*v>8-}gqXE?sx8I!NOz#%W%!C&aU3Yi% z7}fP=R;$1>TB4trAen2z7{0!)3Z)!>Mf;DO<3UxYr8l=CDiUKq zZ5*5@`q}*F;m%r}e|H8X%;KjXzF-tPW_lL&==q6|gjquLG((UEBXvES+Q&~9MNo$3 zd^}3Z(C)=~Xw?|0p@s}Ff#NEC@XZhJ>@5dzxPSTX@bf({^;rT^ax+6i-^AdiakP(% z-xMjB(&U}66yZB+hD7W=A73{4Z4Oi}8FMCDnk#~ttXX60tYQt35Zc-4Iwa57bK$k?1)dwyrVd_z{%CAW4`uPeBf5mHtCypsw3NG=R}T}>wb5ZiJmxt_r}=7} z?fh86>!Pi12hut?sJvo4MrS333#>N#ZgNitmnzbOPGhnZb+(eB%IC`UxK-xd96LaB znlWcIXYdpQ$Y`d5IdpR}g8en*j`wP=Fem`k+O;IS#!^?W`F<2zZ>kf+X344eOog2^Baz(-otXV*romG9lNF0eD>*iB6t8O{GPlGI|hi&KtA-b;y` z+-YxpS7hioWV#V~dGb0(GbH5t`3ln=Ao`^!fHr*Df2-l|M4$clx9`B#)F%{elb43W z3bVqFzQ0f;{Wo7t9BM@$V6@I~|OyV07bcmL;EOptyG1kiwJy3nJ?6a+ZxN_K*~1f2_=Aw#=4? zf0Hy9v1%nVc{ykp*H7e4GY@?r=z8{n{t`8y?UR96*~w=%A401~b4N7Jil|8Sl+CET zV@}Gn1N?cwk_njm?zVKZ!xgA@yKE`F=k81iZ6Got;uHK&FVC_uo)<(p<&xZ{`t4oI3yNlkpjskz=V+1g_=$7*}~0;wy(6TMOX8$j`l z6mr#G(_En@x1tVR0Bc?b5`v7z!Qq_U0cmMszijK2^KxPYd?(Q1NavQLjxu3_htR2u zs=b+3D$Q`wJ=A^%l7_X+O4qosAyoC&_+%#4Xv2GQlNnoSJY*4W9}?q24qlk>m6kwl ze*51M;Xb>^SuM@cOdOIvfBcRXI5p`DY3o<95hsiBvii&S9)pr_H9C?-Q+?@XBJ1Q{ z)8tV1^hxi+%14;hvb0Kp%zGq7UX@$@BN-%xmw=io<&4%H(UAP)AOFZfZxZL-O7iDLr{RW$(LXha7_G7Di|eF!<1XeR$ExcM7$vfFIOKTU69D zUf?0T`@2AbgR}8_$QgG^l!apdl9Ki3!a+gL%G zXyX9YGvefpL>h#Sqt`3e{4>w=*y@}4%v3?SHNWqn{J|C*m2})iufoZ!$-a&rqgq`xQ*oB^i zIS{edogwB&g~YT&Hag2Ag-!d(4U&jr3A&=;{7+JMclXAQiIoY7 zu)MPo4%;4#2a43=-629tKb4PhP}A?$S5npMFpuia;_;GP zjA^Z?4aA9TA(xBu@fdxjD&DX;ylYjUda^S{ujJzb;#t}Sg%Z3E;=pE|Zl0>#?=u_B zT4s(JK9e_b%WWjJ`S^-;ow6&ZhdgD>;FX}8P1m$_I0vSd)rvRLq+b7N6@CNyBGn(% zC6;i}g9TrM)(*ZqopM{^;2+l*<0 zx2K(yJArVLeqf#}Y(ERR9y{1kZ9>vqJJB27d%PhxRkP9bXsl6p!qH<|vhc=Zfs-|Y zX~D@9-ot|9PMIU+bVkisaTo7?&YvuvwxeGvHno2D<#j|JvFyHkSWcI%d7N9F2sznq zfe^ar1kNjKHvSFLuSf=^9*3nSe9riyOK3@@p&)S|*ikgI5IekTj;Jvc`i{SpKL|c1 zs4;!QKR(^W>6!UQ7QbywpL^B{%pU&#T!4MMaSNwuf?~CsHLD!s=h}=)zN*geK$IJL zV2In{%7XBEq>t3M6qB{=h4IjWUL^u*o~uDjvaq8^bXH6wwh4Y~mwvmj-@RHG#X0l; z1pou|Y=JDMAu)g^(sE+La}&V95YRb8z;>}+c7;$*4VNct+qK<|>&RFyiewuSRwoW|geHLVr1R zD3ZKCBRW7HPOLig#e@X7<^XCxwh6nS92x&Vo60|qIH?x>Jm7C{P8ei0ml&UTed4>E zIWym+$t{jBJtWLd>9?2Uwc8pLJpmCbp}FHgIqAHnZ@8NQNcf7z&&AD3ytwMcC!xp} z?A4n|>u?97c8&JrmViUdj7GOBdT!5MRcZEH6z_43IhU++yu!HyPdA3|&wO`}?cK*e zy$$p{p3MrZd3|JN3lJlwrut$~9`Ut1z^GOx&5Y(LzevY<|5>tKL$_gfiq5*mRqZ+! zez<{0ox(T5l*yYo2P6sVYwbCwX4DH!7{G!%Ijiri;!sYvFmvMghVRlq2W?LGb>vQx z()^dC;~-sKt8;c69m3-hyB@PqqqhXoantHj))!T%-UoK$;i+cv83AG72_EYbWS4h4 z6jFeb3bJIMHNq{PS;#qdd{_!u*6EN>tj8k<4uqHpzZ7^pH;dxyaXovpTI{bb2Fx5} zR14tm%0RD|paO@=VaiwT-%Jcg>-pg}F@D4Q zyUvXqw8`(9`8V&Ndu7q`74LO1>xzkf|E;Z?4xWlC4*IQ5RF{&_qE5u!Q^I0&{{^~H z3kh5+>S}KXJUfKiztq`Lg&&OGH0p}0L`>$h9oa(ZO|ndP4k}=@?#lFHXDtQ%2-6*L z7_*aAq9Q>16tBs?PI2cp1GiU^vCKaN@A)R&5Da(Nn!h zfk`D!Fl07h#FUpr-CLLKq+aS(k3)zvj1b0j%Onc*aV7GVzzbR9!hB!V^BTRaoZlj> z9I*u)_m0Av_VROg4y6>!gz>9pK2H%9_P{49Ou{a+ zec%AXDENARm%H=2ZvKD+)eSr0rTv11&Ub3sovAo*qv)w2a)kP#te3Yqi|6cm)z9f?0c-ooY%-L?+5dNln77k^E$KVo<^rE!+X+Kg<+*<0@F6<4rh|hwY4%jAu>zUW7}+2XGBOsGb)?(MOaK+6J}sZs>(v%^&*OUWb|<=YNG=PydAYS zEuD|QX#wQ`P4o9`P}JS>D|$A2?t^P?F_|rviX?fY*nBN#;?>+q_DfA~iPYTsGC}(B zvsR_;Ul+cQS^wv*fF=Z_C8^ttsC&}ui?k!27L;V{F>9I7*ko$N`C}bd5jfK|7j<^` z-68un|I(?Oxca!{`h|5*fe^kmRLf1A3L1r480Lv`Z_y}^$yqI=1uigMe2zuc8?Sm@UUi6)qZrffx6|fr|ghpYzj7x7G@-dhsww!KVZdy2x z-8?RG#jU##5fj~80h|1YNHo6J8i{(&Jfx*IvNGY>;NGJi?A=yfQ|}{ikB*Pe|Iy@I zmxXrbZ&Z)}lY{)YXo+2YO6fp^2e5CC8bQ8%h^UVCd2`c4;>q38O`O(Rs0xEE>#)w1 zsl_?upE{@Ejo7y z=?mh_r-$!0)CoQ%MT3M)6H}UYO%!b#i0f#gZ48B&e$JudJ?jg$sK6;GdV~*YC#DVq zO1+8MsizJ?t3ayynSWM+vyq54+Is0fLTztj+^jy=su&F_G4-#h zDtBqed=W3)Q^F+vjbD2*SsD<>eIdM2{vvI?Bv1t;HtOF;zZPjdH z6p&{DR?J(n3#%T6`vI$Bu(*_B)kRMwta9dy!)xw~)HY^|i+8wI6{N2Q=%y8qeI_wzgRw{;oEN>3N4%Iw1 zaRqxbj&OZ9m;}G6^_DiX6B3I}dh+2eDNAoy>N2IlYcoB{RwzZKA%;qJ6R_E+zF1te8we#3&mNZt%bPNRz#%?3kgG_;m zwha(o)DmQhMQ+$_Ls)z}?>PEZ5J(FJxht7$L$K>+1hy4H8MN*b>_Ni~Pcn1q7FQKp zMn2GK7+I_`#Q*9pP-U)M4GIgp>ha`U`N=n3kNJ>8#m!nzHQw7zjg6Oa-8iiMr$^OD zJumC6^P^{A-&_e2u0XjjAA{CH;Stz;eraoI=ty>MEUVDk(FoyHNrZxf0p2S4q~{R_|30$C+S zP?Lx2U^jtk@ZIGt*~MHi(bOs~MGFD3o>u2O9RoSXx9+Gga=VqAB?`oK^o`d^VHlo( zLJ${Fl=z8<4T!8Kpv2xUr%tx2-M!TgKbnNq)Ei&^^cKYotA+B5I*O($Eh#+GV7Zib zkG#QLf@aYBAPg9^J!5GeI6nNrNJ03o8K|a4u~yIf=itN-Ygyj!d+77l#f7E>?y&v! z8~2v1H+i6>Y1Xk{RfzZ0EO+yzs#E#PLJ|6)`3_lV`X{rCn4#vn79s(1)}6Ml?hvff zxpAc5Cl_;x@!I&tqGRL<^4vYiq?uobmlg3EHAQc!U2pK^tPQ4r1SOqi58*d^LV3bZ zJXQ}cr(*BbX-__vG@-qn1;-vu2$YnR_$$<`-=h8}DJ^h06HfKIDk}vVA(4&B1s_ZE zp%UxaT!|?omIk{O;7y17Jj4Y|+}aMcVE}Wgd_m3-gWQbR7$>bDTgcAox!;+3CFtZ* z&~F%M?tessT9O!H_~fH^P#IXMxB_$MXB!(zAf(ubm1d8_AgJ;+v_R~38`9=3xi|0 zhHXNt^0+_EyBp0|tmJpYOr6Z=fB{A1-J5#8TT{))aIQwVD&^Ovs#%KAb zBdYkv*@r;%dwQ2(M$USAEg>W<`*b}^f;ii>bxWVB8`mTA=@Dg~rUbHIm+t0He5o@M zhFn%P(m*2h^p~d*kw60mKoK?{M@(+iLioZOFafX;Le<(<<>=wAzaVXRlchD*&j1KOxLbGWMuzMs-U9=KLR_<%wVlLFCa1ai+o@|^ThlY z-EJ9hwt)k> zr_2YKj_`|pORPqKb#kPPp78++SrIt`TM!8Thmpd~drS)(ISlDUO< znXRoS-=BrFXuj$q2jBq<`Ak;Chcw~zpv`0sGArRP*%K^)`{~OlC$b1A!h%+A(iy&%-MXcF_ag&^z)wUeBdSi}vTg#*?d|Q~$;9sa_%R5Q2W(tA-}xf} za7{P}01k}-_h&{6&}KS)zjaC7gUmi2l#U`iWw1L_vyu#pzpaKSQ1nwrk;Mykg{R(A zC#Ox}*po7*WD||8DYr44i9~<{F)c=|;t{6dzWmwSabu^taR>r2M{jRQEgYhiNLI@% zUyK#JGJ4_tLNbNFkNSsOEdZl&X@SR$%XV4Mj@2+EMwOLPc-i zsWutwKInwtWgmKQAX4AA0P|w3Dr#{1YwJ|~sKS#1zfIj?7}dfguBUH~SQ$SBKYc}M z_XZ4lu@~}9SO=@`sBWky#l#(Qk&A0MHM-mvt*W=2Boj$J zyQ6T6x>LR}{4C8bCDftJA$*!kJdIROy;O(V@U308d`oA&gZHacyu>$cz0C9&F@Hii zd7z~D%U4lw{C7ifBp#L%bTeH{<9n_ESRU$xL=9+8O+p3!a8NLo{`A`E@Q~Q=d#!S0 z&BYxYCBR28^b|mTn!A{FI%`why9cYDfDk)}1qjJ;$6K0hFxi`WH7sLmb-@k%j>}^S z8Vm}}$N3gC!`D=N0tAcg%{@%}vK27_;`bH&7`T8dquN7#2PPnC>i@ek=d74ddqTD~ zt!YzMh=^We<^!wuO9a+??@+mUFwameaPa#f1Ha8`FCYofIGi#4Zms+7Z7`f~<4{{d z+?glA&LMfiV#SN)qvht9s%!k(erL`!_MNRkjyp5*G~|ZtwWqHc&55JMIT)9+7M6eF z?)`{B+|!3bZY=xDz0?JI+FRNOKa0BN#91grkVQUb2PoCyjzvLZKCHNOZp=N+PtBdz z)8yP-ixe*;cXA5P=rY9PN4+=LxxqQDrK+PRUosT z`>I?HbR;_$2}!*GBBThO2f#i40NUWN@Tjs=(qtrC!#Uo2K5;B`ZxFilXCJe%e^h8V z%#X>KZZqm>A$+wq(bs}Cos>x<1=hd;d`|rILtDhZ7AARbRn(jc+ANjD>k`-bnv&(9 z>+$2mftKZ3_*(Du8cvmUI*i@Dj-K`qQE&XjvokpuNo5?sTE5q6z4vlC-V7(c{$Q?j z@V)UyLHSDX)~}71$-C|8SzPJKRJLt38^uLE@q7%RkVLXEGWvt%Y-gbLb>5))&2A^) zWm_@Zh9wU)G5F(qzb<>-dR%6B71hAjssFWm6=8S%)&Y)|X-{()43|e`OxLlg^!{gs z{S!LH1w)f6li1>@!+Tc2LhpAb=9{LH8HU_D-o;S=jB#N6b)WP1b&e(+jbO=1GWrKc z1TYZPC8is1*vb6!MNxD8|G3LOBSMVL%Sn$#GJCE4FcqdJk7~8O(RukhFRIoFSrHrH z>vICzoRmW(=j%18@l$&%CH(y)$Z4DL+;s4j`2H=zW5-t-i(qa9^I&kZ;tlh|ovg4J zR-hnPfgGZ&vt1`^$h0*D20MSN6-}KwZC1|%E!kl$*vlCH>|Pu6)yhWC%08yisJcNM zJT$q`le4u5g;K+JM|}32BswzlmZ07~@{N01RnHrxmPQGGJ^3RftLJAVsZVBSekZCe z>Ij-JWbO)paeSdEE%a^VE9 zLR%RYFEy}ng-;}xNPXJ868M(iK@fk+oP+G>QA;(L>R@Bm6S`_`Js{EOHp7<>MYbfu z!Ye0Bl3Gk{=*gAsO9qjmj=lP2-U*9WVMNx3bIEeiXH1Z@rF*n0zYC)jK8Z zQkDE51SReDvY22z$O5dWuiPO_d&{nk8$!_+61xfMR@2z(;r`KkiDN+` zB4@fUDeh^Mr6_^CqM|o^y(-ag7_2T22KLleMM;~GTwro_>}IvMeE!a2UxBbI^gUi1 z?QM$KsXI7uc-z6b@+|Pek!^kt0Kr_tO}ne(dl*oYlP{@5C$9f!`qk?GRW8ajA9R7@ zN4rMTbSQ+N{vUm00)VeNuEehZeNyAW_J1p9%Q-_;Qc0(b2gAbZPrTy~INTGbmRMoy z?`$~RsYZQ7nEhP$g4f*ir*4f|-8J%Ih9gn$vyR*#IZ@H(*^=g;7<_mr37pEG2kb&RTUT7 z`nOHwdF}SSLQ%uwRsU4+O#FvAVq@6Zz^ zMpe1{vl`OI?e%`ByA|E1pW6|OIMxAKJ)%jTDG_m|R{dv;L3jY1yLO&3@#rYXlj;{0 zh1`FE27ex$d}9Ju>%>ebJYCBW>_z1nERVI78pgTwD^s-B5@>Rbj%JvadmJ{ne0;$r zn6Usmp^vKwgG80oLV5p9ZsgVgdL0y9G9LGW5U}JJ^!{;<22fWpm|>jh-ttEHDQ=?& z$La>&h>7DhBJ1k1sgE>CA5OQTS=t92eygp;M%f`4zqG4TPod{>z~aZa_k-T0S8^>@ zNmo+zOnx_!nh1x9(^nhpt{snzj0mfeJ=H=U;gJt587`19!-t11KsG*7m*J)kU3B#k ziIi%TH9_(5o}7NTiV%&{9==pX{{ENrg4L2=ns+Vv#^~iPtB-Z!%Cb94LQBDKt*tx7 z8{PUU-W*$cI|p1I4IRC;u#$~@jY!H5^{;PnPhz-dHh_L7QpNE@nd+VQFd=dpMIj)z z5Z9y1zKnU08k`*um$&^!DK%xJ-QX3%f zOfUL(kF#JBRCNlOUj@=Gq@M9SZlY9kvK}8Re%3$-r-zhZLgG40V9E zL-jEbalhynT9+g>sZfi3&>e~_p=mSK5ola@jQ6P$UGI69?#4r*EQRa_)W5B)dE-cA zpXDmn67=P?r((OK&SMw$;^D3A@WMRUjsyyKuFttTnEiM~*!e`U#_26=2nOO1*8LTsGXfTJm9_RMi8*b?) z3qh{!z>NHog0+o0|5%QH?d4E2G=;<}++132o`AO`n9jChs(*ZxdH4+>) zHD(IsPhD~=b^o#{-$?hb+VgKtMG4lcKMZ$QVL9tqTwPSk-X|qP;KcW;6b+txORiwL zE;gWwaL|r-p?STSgzw(ngp??bbSoxf@}~2=P9B_N!iRxbnf{%dQ%6HfH_vsYno^G* zp_We?W-4inr5T2I_SvMf+{7HU^zqNBNNzePNt!_~i4&&k{352qA5`mY}< zV6+5<$h!$eW=vD^Pb5sINIF`(+6_47N+VYfkhc{yW)utKm+|F)>##{LVJpzeHk;M@ z+MbPlOsSiwXk14|5_U;JY{JY#>JkgBShgk0Sag<@Kz>w2UEL9}|G&L|8PyD5%P+Ox zLYo{g_t}3Fk2_YZ5e7POgk-ujC@s;<5{}Nwk95_y)%pE`XQr{R($AY+Fzdq3ILM$} z4zR?SN9Mke%$1r$SPpaSn*2;3J=ySSB!cLq9zYeit~&1XWyl)y34(Rjj)Xoobe0IL zxly<(v95eVR&!exi2`D<+II~~*(T|!`J{bqA6J5E%iVNdDxNG2fAq+r&h?gpHeUd9 zoc!EAzv(g*$}fP4!mcVlElfb%iqeE!Y2azoQfk>QU9rP6H~t-+`CiKQKHvnftbKhN zWIxtqiXE>#x~_90P7-pwS8&42abniFE)klo^?X?bvoWQvgi9%$&SxD?>vDiFjn3m%P(p~JUEl^PrPpVTck=ypIPXs$4jA3nO;hs**7 z`G6(ic=`xRSy&iULcYIt$d$jfY)x2hQ57A2QEjxfk!&Y_As$;=Y0%g#NwJE46c)&V zS>?j)0EIlMesTzbz@2YY@&2?!6@s0bhjFCmy50q-Z2Vi#f;Q8Aq*QfA=XD`e@JhJF z&Hvc+SzejkS&R)96f3-aYZ7mMez7G9ldqLx=K|t+oHkFwOK4EW6>}tqI8Rl&+`Rd7 zMt9%}I5_C3**xyt&l(X>t{ebm8T}vX4`2oVn*t(3V<6gI0FJ9ZS9&NcIy{4z9YO@S4u>X}BD z1*ejP=YYH>s0li^PVuhsTvmIQl!fm*HT6=AA+sz{)=sER9NKXfb`z+qgg~poX1LWl zKM6R_YIz0=-rFe%{l>oX{X2dU8|@I|RQ=$4&9+H2KO%nI{OfQq`)KgRCi*W@$i>2^ zm<~lZ@zjUW(V_MI`xaeacg^$BKmMfTI+y&Dso|t~4w{~ceT)P2tSO1LC~2WyB4H#4 zyMOr3v(B^ISP(i?FKA^j?6kMvd{rbOI&RAS1pc!LEAD1`xzepZGJG|;PjUt!mMpNG za#sD&-Tg#65R3iMT%%Vg|7^0D!7}XfEehBqgBC3wXmdhwW_+v@FJZ~NMelhM z&t5!rx5LqC41+J4f8#|;hs-8$<; z%?tR=$*qezP4_@dZ*jwc-)zD4hM#2Y?^mhq`OO1Uo~>Nc+F zSN)#ZYrTl98c*Cnp%3nCEJ|{Bc!Ew~YW$GpFoKog+HEq5&&Vsy3J=2pos+~^>$<4J z!s=d=oa55A7ZY9Yt098HD8z*Jc?lV7I0<qHbHe;#Eg#+Gs|D4z=3SN$JK}68ls>$Ep~d~ve=tg(`oF6u>7J2l zydSDH$5X<7FE#!%3{kq(qTV(Gy6=@ccYT2#T*poZ21T=Hjnu)|F5czAh!Qn zMd8BO9aE^f(sWOy(YCW?U-6uc-iygg-9K{whLmEbUo)q+y^oSFuWKGqG$}qM@ubuhE()E3tB+x7%xr8Li)EvRzb4q8bzE0K9 z5a7HkQxH;S_qK3e5QJMIlsPC}aqxDVL*bEDQTgQp8^j)2Ph)hT_{b{@uYHpVevhxycWa z`^&HgdO#HqyjB+T!Q-tn=VRTK}zPc&9S_ zqe$rIwJV!LF3xhDrnH;OCCt(a&{jZ}QIVdd|J-AX-I?q#L3+gZatQR{Q> ziJ|OW=%!$qkK$F}vVHTXLZhd$+#lNJjpYUZ^xNTmXK@)@8U5a*Nop@4H_N>u&%xs{ z!g~R8}^R)3)tgO`qsJXcU;(!Ks$43625JgR{G-&oGMa>NxSowT^J+Qj#5&0`tOE2A6H<)m8- zrK`lvo{Jj+9+~7iU;@feuyzSMSAykGs~?3%AW&}B8I4u@gIy8#SPzb6h31{uY1qjH zucd~m0D22S3Gg6~s1K%<1e4ZBy~TF?ZfQMTi%PuC9GZ_>F?z z_c4GuY2gOD)t9X7j@HjT&xE3^;&^?De7EZIU_nfw2d?<}m9SRjTZ1nWjLeQ4qWwj; z_-_NkxnLS-_Z~!~tN!r7fhojVhgw^BMdbP}Ip1~csOa$h5-#Tk_TAsQd^Cn5v9Wig zA44M2FGlBDj=`o)4beot}3U-x}o-eq$KWSaw$5k11c|G0Ku!O%HeW!BOY}L4>Iw>`H++)6+3alZ; zpX9@N8B@SB^EsmnM$bqWaN!&@cCz`lt77`k(LqPVBrCkh?%m>8Hs|fG#N}OVOkY>vn27Q7UF}>apDx zEgT>PvJ(G>RC2%GDpTYMM=4R&dKHD&)N#y+2mjg-X-Po$eqvppeczWun(ALDZMe12 z9n*Ps(zbrd?X1U5eE$Q?_Su5Uyl*PB-Cls7ua}^Oe_*ouonrK&TwU*1WsBg*hvd}H zRcuCpOAW0wbyRDxjbmNj0%wFTo4UVIE#SR?&9kxyxe8xi3<(2K>VPgvvB zqnmfx;fxOs)+NsDG#+M$1FW*n(=mbeNNRi@6eRn=`CzRw+p4lCW}ZMtHp18^4zTM*H-i>++Uv_bbk{7^z~9&8yRL` z-=&)RMeh`)WYT z)m*Dp=D|MrwzB2co?>EyasCft@5$b>*{IV}b&_ZtUdWe_vTLUJ#nRaD4=$bi8?8>}WG~6M6=9gE?Rt;~K-!lV(VN0XJ9! zwJ_?KehnRm-t>c=tt)YVeF)dZpV?L3c}U)Wm2R*324E+ig*>3Vu)+mj_%?{YKj_i7 zWJPnxw$W+g?j&zEoUOiiCfa3ttK(Rnppj53mTb4fbkMkPRhan&PyVd0%arlw1#?U2 zW+P++&k~n;LmznZLEO)jzNVggPLk32hfc%u4X%qL#R4@IyE*$~jn&m-gt|H-qeE1- z|CwiU8(7?6W@H9Gc~p@;{r8r3A3v2YKDmj;ZCz=0k4zI|)_ZV}pAn zO-@biP43N`Dj4pH`k8lpVl*NV{P@FD+lv z=ZI9My3b{;R=}R5FQy`MKFv&yx(v9%6c4gv4ITZ*;H0BipeZ_cU965TGRW)#!EVkN zpE^U6@ih)(UIC~Kp9G4Y1_}-92aDZ__q`of?V7C{p7FwKAwpf-UG1gUYBcwC zJV&kbgOZmTE2Sm;KQkVq!~GmKjNcSCYTH+z3#xXDcq7+4hFeqMODZ~Vr(GWV8&H36 zoP2f%Wa_%q^AQUBe~9|ZsHnfFT|g96B&4LfyQD!Hq@<<0VUX@dQgRp?hDN%(MRMqr zMwp>PhVDE3@B7~Si4U_DYn}bu=Xv&ib{ur`34P-Q)QR8#gR$+-7Ne&P{gLWl?l~U9 z3hPe+)pLMB+xE_yzXl^PN?l!D2Q6lakHd(r5*4ub_T|9-z7H{KH}QfU?w(HfEh01* z|8mQ2G+Ti4zdE72#){>`w{3hysjUFpGjO6mDj$k2G=1%`s1=Od5#!WNdZqXGxas8M z3E^`mR#(TVhI8Xn>4)NF12^H!)r*2-?z*2gj&3btIlwBhc%MseUt6-X*c%Kb1 zA|gb$%58AZpRdC5NoB9F6|{D`7DhireDxf zgD&o74!_hS5qev@<7@N$W5Io%YPNscrFa1OW*Yl`gIs-b$*Ep3Zco9gLcEXTcrj+-6sPh99-IFZuGscL|_zdTe)$1%Ff7}HfIWi90BJomM2Y)ccnS}D)eH4v+z4K?SIEDJ>J zgc=#!wvW}T?95&7>0rlYE5H9vR5(6bO-7o5b*sEkdKo_g>94(@S^hCJy<0dJwYmr^ z)xT}OI|%#KoE=n*?Di_?kU1kOCM6~17YRS0C2(Z9(=4P1>HQzO$yb~w7KlM8#3D5u zulv(LP9usK@$$Gp@SPGKJ=;I^B@3NzphDJF*ocN*a(5GShs%jM_m%zH<*J0) zS03WbppfnY=QYLZ?tm-f`%9;%%DDhGP-TVw8erx6m$Qf01L94^EMC2 zs{;*%d}qH|@|g>Ly+#hj-%Biw%Z`S%1U9|YqobRGd4IhMYyGrd+%TR#@N62sKX-n} zj85{XC?|AOm#89+kfG~#C<7@_NZDW64zKWixN1xSFK0|&*iiAfYLPcxfj%mivSTz; zCLR9~`!-(5b|W$nqN_Lj{X%H^uBt;mGru|EgBbMX2_rT`%Pz_;^o25_YnK=RP!6KRC9RQnP5}oT8mwg$1Z$(btQbwIX^tL5qv;&QOOhUk};<*{s z3Hql(Kr=K9A4(_ofSsF`Y3I|El$?k5so%?3&>gf&t6O8lULrV6e8>4VoEvBnN3w77 zyj82Fo1zt=*QiAGTwj;1t1!FM882}5y&}HZ(oC(c68o!NGP>BVqC2mlnS1L)+gs2=o1UL03UDb zkOMDe9Hc4ijjM@x_i7k?zptEed0tJ-l@eI+`*TshJLYHQ*UkPrU4vuxQ=;{aNdS-a zy1fDhWz@8${ySd8NS!k2*Ir(=Tr-=OdYQn7uQ>~NtXw~%`Lw$lzEe8b=Ymy{3h~?X zRk|Cu$&>>dHa))S<5E;M5w5G#%~xoSr_pMhoel;X0@dfd?Cc6Uo3xePhiuiE=jhTY zXO~*lOFIm^SLe>J0-t0QNLY(?s_xGmHqBABWgi6ACar(6{_OFn33I$Di?aQA?Rh43 z`8r$dX^l)n&KkTR=5v|u>ePPk-X-+d_CUDBxZf%SyIKTLLyAU1tZ~ryBd6&Jm)WY9r}SJv_^pgdC4|vZN7ejki^8uafm@RNg1LLd*B*esz5%KswFo_;*s~^K{B;g^XIC4e=HTDdN#>rc{PWH z3+CplJ&&S`UPix=FR>H=dKnqoP^y{ZIMreDU-$UN};QGw%VbA+8H&Ecpv_JHSVlY}JI= zh4)0<3V1->1dHJL+IsJV>CDgdpzBjZa9=obFjhhWS>!Xt zXGKDfWvV;WN@>T0J?}xBthVYKMeXI~MlM?eb;_C;%Uj}z?GKG0(6vKWc%Z5XhwVP> zg_&mU#mQkiiQSAPn67>*!Uc$2ynOEYm0P#N+k`Np-bHOu9H^o8o|I zxUT7c7V2>adUBEv+`6Oc^GAP;$YaAOK-7qyy+PF;l~;hq29e^vr&;hY9g;zWZ8J1G zQ)6rbaGP()MSj4Xo_X*C(dT`#;`80}(NM(7!?~5SJw03B(`#p8vEW#aa`un==Rfmw zhCbT9O^!9^bw;@LC&eAc23UXm1xYA5*t`?7le%mEnUZBK{Nw-lXg+HR+=ppSmR$0Ji;vT;|1?B<4bon@!m?%Qes}g7$@s~G zcSGmzpar2VRBr)&9?UbppT~i;M@E7a%!w2r- zS3*KsGsP(24#Zi8gDw8~lHZ4>u{AaL2XCew#iBXSYSV{2Fs)hz!3nK9f;yVf47iF@ zfSAI3jK+&>rStBhYj^wa3Ru@5O}Y2-`M>s?nhO$~8H+ek!hQy^ME zPMf`Emy$({CFA?er|AZ%Hy8Sm1w#th4u#E5;F-D9Q18ni`gVjmv&O0RwD+@Oy?JMB zpEqjKDxJF`6HKim^pR{K4v@JZMQkvt(#X+$6T=McTTE9xo+(W+Q0wOLCY+xg-*Om3 z6n3t6=XKkBZyJnCGaH6xT}jH>l~O?I zxC)@56M3G=xFekBC!(f#PQ-4rKXsK{jMXp6+>8I@ch&Xp#bTQ9Fqs@5yoeaJYbTVhFa)WYTxsp-;(yM4?)qlg z^NYQv=U58&&m6D@>8h6i;{&J3b?>f!J+gUi0yzdw%@a~AviC(z$ioJi`9g?knx48_ zJi47sloaO9K>D7dmX0M1c6}!U9s8wvwDD^F};Kc(oN@09|Sv6wX%Z=1KQ6QsGO*J@a|7m_%_w@2o?AUS}AP^f`d_ zg~?)w_{B!dgW*kE@4IyLMwsC_S)SA2k%h7LuO;BAH0C01piS_O5&YY5qIcw|$eGn9 z3r8#D_h;Vp+Gc&OpZOgblcgZDkw%Ky|A+@UHB8 zAW}=~i|<9FwD{A2ESNWusW()nWjAEC>Ot4QOv7sV^O;+W#Vg22>~MV&`J70J;y!DH z(@43H+U=B$z>O1~pN^5*ZTGs*LHBP${&RIyb`g}e7aPCUB`brdbJ4TJQBE2Lw)}7E zzEUiII;}Jz%0QK6AnoWG%J)(;0>1eU#e)&X60VBy8!Zr|5;_~y1UmyyQ63X-A-U?8 zl@Q;e%H259(~qQ>@c{pSy~gh>CHA)P$y%(xq~Mm90YH$rHLujwb&cHh__*H+Xc;b~ofv^Ji-aCdwQX8U+rR-tHFf#!$&v}qwJ}Z)v z=rtDsDt%o66@h}4b1tY5*Xu{^Ll;Ay0eo;?UsAY;({?*E9Jy_;|KqQO8}!wW(BH8c zOonPJW3K&U!%|ciLU31+;IMKUJgge+@nTz(Z(H-4CI?2kZyH$Xz)YYpCA%>e0?7~^ zR_U7T70WlpE@2+bgXFRw%m-yf07X;jx~vI0f;HHbXt-iPPYh^H@2&#v$=jh+%tF!M zq1yJdsi~N>qN2VgwANU^FAsyK7?V^!Xovl* z_gl_XS}uney}u$93W0w8o}6k~*rdShpWop=D=OMg^4W(8CG`ce<7n!Zm>nA)vdl&n zc7jF_P%hr6lSqc4Im~9Zu)s5XSi}T_SrZ zQKG$Qg98aT-w))tf`JyPk_5d*>B%+mI1l00xH3HM*g>3$Nw|w!PcoSKcX%f)e81PY)K&3kOY>aUO>BMxr+<_lAO6f!5qaYXn%8O5Gq$NYe=*?tlJ-x#- zU|e1vA@wwmI3YVL-sgo}QX1St?6e%`H1z&0u@Ln(o_g0$$2>964T(i+lSLe*3GxIo zRI9j@5yICNjd^pwbWyI6HhJ>+t+66)r3Bl1J3=NuC&kkRQtrs#Yufn{-1_v|%qH=m z=l`9;G15=_frSOefPNYt#tQi6;^K83en|WE@cp0r+4k> z&2k_8M`tq2x+U8jm9zfh6WdnDqPy}bOgCVg8aB{3P56fj<=-f>q?m6P>CC_<^L?Ho zjz|)*53|rRq{LcWdnDU)+ZBbU)(X4Ff4jCjSWmn0kF{BEb5p6mo#LdC)EM0}+rC4% z!Y7=s6et3(y+i^+PGTVpLqD#JMe^S3U-kE5_EG!CjL4r%w>T%K78w$QQ{X!IE~Kx$ zr3r5NF5nO)oD04?jZ#Ng?rw_Qd9T{vJB23$q?zz;P$56=q6i@;&;;gTFlMBpd-l~~b zh9S^1FF}OSbBpR$c}MkNd)&u1N#ccj0y^axhlbdgMOL0_%z1uYX$GamM$v0PhrB9d zywDFy1rv5B8>T;5Ta?oefJujh=2uD#{#Izg4c#p2rD~8Y(S(r|Q6F~Ax=_j`P+;AW z538`c1v2H4QnwLjhJPp0P3a-y2h0M~@;T7aAD587^-ZKo0z?#~E8;2kaIB}lPn<%c zpl0>y&eQyCRJHR#93#<$1(VT{iF#{}{*sb~E#v!sERXSVA)SG(Q&I1Wzd3(Aq#nt> zQbtk#qF=yJHl+_r)|DgoCJI@IT}Xt%w=G+k_;VCI9U18RleJ^mwon6&FzKIKDp&`2 z*ov=8)imV49o0FHm`ADY-E+OgnGTqGD+{!cBOb!+y5CB$(Zp$)MBhc}`QGJk*YV5{ z{3vpA6b(+RpN$faDz64@?~0X>sz$E!C;PiAb^_;w(JiDM{<;iGqke%CqyVc}&td4D ziOVLtVG1wUg`s`-`N7yUrlEmBgKor(m#!VJJxi55=%1oUv#u&Y(k{`DPzHX$;eE_< z^Neb>f%k3z8RcX4`c3NUV0<9+@)dZs#dW6$(EhNn*&FXE3p}_2YOll(6x_i<9bJ@e z)&eRPnecyFiOZm|8=Xy?S@LYUuN9IcAl3BYAnkE?LMf9t<;%S^9WP$Qkj zWy`f%HzCd%MC9clwcX>kA`m7+c%w#8EH%8z!XQ_1da>wIFO4eU3Rha7X;1anA9Qr2Zjmg(Vbemu;6>H zzNw#2>5)XoC-Km;aDh;hCxveC$Z-&lVBt5;HjnzNuOC}5stp7|hWt7a&VJNxCnF`8 z-PCW<_pTowpf&=eMOVkMFxSZVJGf;GKd@<$>?|G{)k!65AVXoLCb{~sjlsKJ#_F91 zDY=-T>T-v+H?^OZwHYkqlwgD{TDp`J77l$TGJh=vU2ZXLjI~*ca~41Br1W$~4=`$R z>IkG(i!P>5q$FH={6x@BKg`A?paT48oIX5dD~Zz*`Rp|^9rkwh2(NL#2p0CN8rs`s zsLK{Qg1EhANHzabV?$cYrSBSjwv}s;sE`braK+nUP3q&$?f0rp{>JVdB>-iO=AV;# z`x9%ATC}j7WNDF0Bs=ZLI_}hFEyWrI=FB5YbqDt~+S5iLFIdyQnPC`>;{IpM#NqJk z!{&m^LVg_8u74K{N5lT#&6`jka*M`TtM1ED|L=u;oc8AR)cAP|PBVwbTgtxT>_Fzo5M@@ErMeisCxK zPt$d72}iUESTdNfb~M$(C-UL;Rfbbq@?puodXIKCeVkW@-aMu{^TS5Ce4fzZ#B9OS zU?c~EfgcjoE3;G)L1T&eZ&FKdlE-83Dp;i=AxNC>5-%Z%3($One|6-^tC~41kda*I z&3m0xeVu*wZRjR-9|qRHRu{N)yO;UFp&fnKM-G-$zbp`wzkLS}sfVGtO>TH}&v)rh zgh=dAM~wn}WEm3;bW#d&#KzS|OiL4QMjF}l9vOI4?yq-9ikU6!t;+B8?c_p!R0w>< zJseR^$eaHG5IQtl^06wW{=`rA4}ZJbWJtF4yU&PSh|kQKlU(WsXFjD)^zQ?K8~3Q_ zLGDMb^lC_<6@2y4NU=#0!WXRQ>P2ZZSv8tz^f`iiDt_kR*J9i&TLuu(51Rzly}vL& zpYy@An%`3bDTed1pFe!F2UBr#>iOIew%)j`Nh%s^vU~q7|6(+tOGEH+{S6b#l~%2f z7{!_YZ3wUPsZ0W1{+I2T*PH|LO zkLkk_t1Bo`nPu`;Kig9L=zF)ulLjyqh;QJZ^jj~HC8m>oZ;M3JD|zUpdE%!<9r6;N zoV8!tUA>oAU!u{4=ZB}?k**q}qiV<7!a?_n7bs?7$WeS(HGa}SIlh#zZ<-R|s zmZ&-c_~FFs%Njyu1On5inV6VjN>>cjsT-VEWOzw|@4eBFV807jJlt|YFgnsD;*t`V z$f9E;N&{jeFH|?=|DPK$poI1&cDVX$bx2QD`C%!BW0Uq|mEdy(RXK=k$4$deElqkH zLouH&TfG~C870(p~8j(%ZfV+_T9v$TPccq{>hp`zT$c1n+3SV$oLWS;O@G zbpqdZ?xI%qiX@KKYksl;VplrHh-UTQH)(muhP|+qR_CNPZ$QUqZyeDZcAud(F4nS% z{5tB}aBqiV6S*wAT4Qp;=|WSRH}~RzJQf?`LFl4^=Ej+hyauXNO>%!Jrkl;QS;QhX zrSoBq#DfJZ3s=-AJpkK*R^yhJ_g67)kG$9!J=Pyu1u(=lV%&gW*5X(E_m?;p+B82% zXpNs>>}upC5YijmR9G^>8PL=T=9B1^$WC|@u=jh?u$g@;RLfW9n>ZQ zWJ9DsOZo-jOeoPkAE_q~Ru6}+DgtF+fvblZCY?Xue#~ek$lNV;VD_V~KH2>Bq5YJu zk7JA9ZP0GU%QRs3Qof6513#HWa6kn|$)B@DUiEu)kLzo0o~X2uwAx-w0RfzmQcJj} z&PRqoK2YCu39l8Fcvb;Mz3#O9Ff;HZWaZD-#6})3S<~ZLrnMni2&yvt zo~XQ~CWx1fGcQ@spLbm>-E86q<}~d>o%fCQ%)PM`8|fyTA6%Xc;uQoU5n^`tob?mW z5S!DFln~7WzKt3Wm1DI5Uk{v!-)-|h zMP-rowhQ6r;>c`BQsuryBHZ^Vt&I+%uCYbEeVFm$-5F|slnB%Eq+}y_qBNJ@frfLDun7vBLg^eJIOW~eRzD_ z(p@ABhBFELZ|?yeO5~LQgd7`Lp2`hzYll^h{q@o|O9?bYe(!l!*HVEt1bK4y6v=6b zk6&+YSGF^SmQEE?*Svh@YJwG1J_(#JsO*?1E_w}FS!-P^z`AzsSCe851C{z7Xuayz z*w-E-@(H*H28leEh2~Q~F78h&3&*ghCMI43Q7_rQ3% zS)!lnj0j&LcjHX{`yvK`{G!VU{yDw`YNS!r@6;v!ox^4`I5RM|BeE=k)a}#xcC)p` zZZmvUFUYSfq6q#ktuT{f+G_VZF%^gRxU~W<4qrXS`^9g?4B(@Z7L8w~Nk5&8F;$ts zMej&7d*2jHN6m0|uW<5ROOYinf0D*j26sniSI~Gr@SZIYy+_*}+I$aOsN3|nrPdjA z-tn>b^SVbAfo67`y4lv%rxbBodeC<_E>PA*_zV%I7$*!y!y<2hF7LaToTIKgpA0)| zWPT{kaw_5|{}|^<)OK-xcHf|=PvGgj>V+>Bm+h~o6Gw8jx6;4@i3NsxqhI)(Vt+en zCqa8}xu=!?{gU-osXnL4ajVGMugpG0PH$VM#*(=V1t#)37pWU-SOg{#3y~r+)&Ken zo48Iu8zpfw9p&S(`q!AU#mwPG1NTSmsg3!SRI<925*Ec7%*j?~I2VUSOeVPhrEv#% zE@k~zMX{@bI_7EBdctS~ozX~2W+UW3A3qE)ZGHA}B2;oQzcdk_^Rg^Ve;3AfBnz}p zZtZger9DCf0@cEj6J{FzJ9VKw{8bKqEU>(6)B!H0F~wh#n8A9n@#L~R?u;82t;R2v zjqy-Z(uZ2zS#3xG&T6DbY1IR&Wc#gdT8WZ6Ex_EMZiPT3t}2E#v7Ge5b&jiYyWQB> zfT&D%&Uv;JfeXq^tY-UEI;>Sy7VtNHBDfAJly722xAoZAJjwzpXc*n^97B1mS08iR zt4zXJUnLE1uQMP5v}RJoZS8`zS(ZQ(HOCNZT0pbj*35FVoH(YdO%(MvF6_ydK{3wY z+0Tf4^$#aXJb5QoL4;}>+?Mh5u|(J`F61M?U_u_mSK2IgHGP-Q(&rTWRtpdz2A49|};@#eWnv{6wxLyI96vc8wNz5XKngJddrk0`+p_|UIteo`D z8?aJjN_0kwKg#^h^zF@x08u(&Q#u{Sur6DJ`xzm5+39xa*SFBNQxPqJ{)~`cvA|Go zzJsVaB0qP@dE|jp3x3Yk?VbJaEl^EcDB(2`IXnDOa zK^|UBil%5IlE5mrm{FZ>?KS43>8FAEM<4^vF%>yU-dZKJtk6@>MdqtS@-cQ{IGJ&Y zi}>n2J@nB%x& zd!j#ZwkN26eM+x27$Km+G4ZHVRxYvSS9!lZ*ND3w_1o;pLbVIWnX&tBB0e5`uo6{c z=VgjBDeGtIlucZP&WN%T)iX#TH_TGq;JfAAMguklPCUs7ly)B5Y>Fsr8xkTT$N3Vq zeI$gn!rV8jSbqzWhhy*`PtPS9%O321+p_d?hZrtKZkhQzetrV*pmbQ*aN(6abSxAK zN8CBg(@L+qIfkTIOkg`oygtlRMqho){SPEF*)GC97Sh5J$Nb5Nwv5p!cvny6t3$1d z%R;^$by!Olp*to1f%$=b;XXrz2nzk!`a760XN&&mN*cq}`&giFF^ahbbq zZhn^oI`^lmNmA>4YO*|_hpAIMXw6n=D3L3*yy@Ebx3~N8{Ve*DST2|BH^d;VrhOS| zsHWqhQ0gi_Q|gneG07)k7SBo@ehhk(CRL3eVhl&}X6=wV*6jPS>w3v8!RAe1x>rey zI$mAtOwVsoc73sKo}Q#yb#jf^!p8N$mq9MdV=VGC57g?1ylEr#>wwYe`nVXE5c$ZE zvX3yw#I8cR>L;>7TNi8@)w+p>?P1;`bb}B7MT9HNe3}S&{20{(WH@2CyF>FQ`gA@B ztUY`UGcgBhmjYx=6i`=AYeO7|IWvCBg9FrTtW~7~OM8gW&V!!1!6oX8=G!y}YV!m}ziV?I^n1 z^kO|7W%SW=C7-YGV%L_{(N+m|zeuV^?3t$OD!UB7o)CV@UnKceQbBGB0}dTq#ugls z?Ictcommcbd@BhSQMHl_IWzd~HV(zZx%LSgm?Xql+^e0-Mv?ghkTL=dP##%rqwvSt zybBkOMPtsL;D1LuL}ME_&fuZM>qqGU4^exsmg8;aLV_1kVb2^y*Aq$ro10wo12DoK zi*I?uUf(p$dsP|!krYPVU)(sb)GK2=D}r_vGCVw1jc23(2qz>!cKl6vIbZr00p#Cu z&@m!bTV~P^M?RT&ax)Pl=alf3DdK!ZMj>siw))ZWhjJeUL}ENT*OBZV!p@HwCC_0W z%F-7rCC0u@HEZvW-g4b`>TX+z8D2%sAMYH_o=s6LDMel_s_NMnky$V2^!pQd{V`o< zFr`$vi!nowp(1~cpH0#Hb-Xpsr-OUUU~c`N6m9^&0kl(vSzs!kPv2kLVjtP(sLJd= z#yJQmZG2`NWK?nyuRo5BIfu&h?bT5WfBC!#YhRp%o)BHlSQbx9=?};W85=RKm%J@1 zZB|mz6@-PIYmRZuXlTVvYe|`Cd7V9S(5Z&cQmOh^eaxB+vm#46IicN%3m$c~iL4Mq z2V?HA?0Npk+gUuMWK4Tsvtl~6`&}AQ3@y_x&UMzb7~X>aa60xWk+-_lL#vLFs%y1 z0_~PUIld>k$aUzvzLURU{EI9pH6Hdi2+01XcAUIaia@eVNy@e5n53B*Y0Ss;bIXJp z8Z=}A4Dd(GoP8}+cEp#l<1x@IV&;vxR@)vy?~k!aBbsRFi6xw32kwkmIlT}jGL~(E zGo!fUm@IGAb320RnVfOkEED40VlO{mwiUOYR|z4I53k=A(G1kyn@htjymczQt#YzK z`NaeuU?*X;|fo?iYkqY9oiJTWt!0o_Mg> z!*=(Mxww%2XBWW5Ce;Qn`Qn*V4*v}2q*xaB40fkm+}h*(hX82%lLTgTuaR528C8$M z{WfpFeH=Q~*>^$v>OUdihjF~9v$LNb%+qOV3;?AFwzuhplOh^tR1Om-ltGk6>d~s$ zw8O49W8y##q^ASkPOkggg}}Y@qvrK+yH32|w-G_dNG;!*mELJ1`1MSBW2%6EQ~N+l z_d>OuyQ7Dx=RN)L?uN*in&GqGq9bDt5{1mi5*85-zXi2&uL|s?4<_6YvPr8B3e_w~ zWt_%ngJS^IG3_K+bC9Cf{lf<-JWhsG%aaX`wNYFZmD&!fwZ|Lty|FrY@&w@)efr3C z(vv`$ZZhY42utuF*^hT$tMaJ7P5l?Ncnr=OAuvn88gqC3HN&| zz{jCcY#V?^*@5m}MSo(zp5!E2dWIL!1sg3Znj)?}G?;vJOj z_*7ylGE^xa%q7PYu$6;dMkEUcMK))u=_%K|2GsMFE$)Odl-i64HS!DfxbFB?qrSYW zp3|r-OJtk!`i(k+X%jtjxhQtcI+|lWNl+HXDI)aI0N?0%qMA!Jp!n?^AtP@wapuae zENLRN-_3M#ACWx(3fBfkFRn|!?4TjDw-4Y4v&kZ~p{DEYpSI8T^hS+~1N=rq`+5`a zvx%DEiDZ7n&mX8iiy~vfgWdup{=MMdS|@eN+%~2pk6u0=#t6J{bFZ&pEF@1>BecYu zvR~_$47y6Ds_@*>nzpa1UDjMYU+Lh!cx$`Go5B@ze>r%>OEm07nUWpklpHndB4c8Y zGZ}n1zedcbgdnRXXl2oxop=7%i+SIr&`r0l=Gh)B)McG; z(!9SqxWEFf$umo#-0{p1sqim3syija6ZhB@X9~vr6(c9hYC5V~KKo1s)pnlgS?;M$ zOXFwL#>Ej=jXwaZS2PU9Z67)glusP0DrkGj(6l_MYrxalD0Dr5ik795vD>lwqp60} zA|>kjE7#HNmtLjo93xtB-|HGUZn#UalBANe{3%s}-1x~#7U-RCX`=%wc7DSC&Hk2= zeAe2gSJm|qTHD47PK!q+Mf~7|GyEwI4-kGZRbo)(*d47NpU(c+>{=ZE^VyIciwtbK#i zuJ5QcbEY(M!1epQ2Z^bQ@m6A<{-p_BUjj4~ck_x2iitjg4j^Z+WKhKJ!@X8fYUN4U zVGFB^_IK-5k2-Ae^!&8PpU0Y(LR=Y{=NjqBJ01jIutrMS_V+CVKlt#A=wR|4vn(|z z_Pq@XO8;Elqw>*i#5}`P{^g!BO$t3==H*ya*i3O;Vb<%Fn3JJBl#)~1WfH8gbK5TJ z8vo}c_i`1tQU2K*(1W+OoTpE&eCiCl`4t9l(jN&HON$YQ45H?YKq}$H*g+?-nEmT) zD|Je(l~$g(_CF}SeUI()A4+#|q7N+~Z4J|=a3KE{)~O=3Kkzm^zK50nM1+K0zGZys z2#mp}o;*4EEKamen0VDMH9628lpfLTB}#dwG*z!6L^8m2CI}x(ow-+1opXK#QxADp zPll$w?kA+W&fD)Z6RN8dcOv1)T%uIXv7nlII->&T8sq$JtZk%YBp(kxfmjNjrB{)p z%#~D$6g8u>#;}|m)VUC>VeKWkkO!y~FBY*`c)a<()}q6NC9`|%Cm0|o|9Sm1yyh_D zLX{_;18>jW8Rs8K6qvo7h#17n-}cy>Wj#ni$s|1_yQ;)y!y{M8zKYxOOm_) ztR~yzM0TIXuAfkl#a_v6{muKa2pEp<^4{S%tHAeNsh@e=Tf90zteBh`_UN;fwaNN> zFagP4moR}%{_Rz>Nx6i$T_NbmR}I=qv5XS;+mV(qOf?{DdLz;4_`e$Z51<+r)iV5EHGC!E^Ym#ULC;1*4W z*2duB{r$J1#jQ_n**0bfUBk}TgG+lsE9DC8VB*+!M-0DC3bK$V<4%U0w)eb54#mCx z)!fbNV@+t=BuA^Gj=v1Pw>dS?EPMaoWo1V}v32vi5AYT6n@=EB7e&Rq!O1u=UU%;7P>A~^|wy{&e0MXQ^d+fz)1pWRLpdF zLHyd*;#ZdTKP}1K;lMcC`Ds-i@ZU}NZBB7N+yV_1Ka*2fu?Hn7+tFmW&P90NQi#Dq zA|yxRIPBkzuK4tgFuG(u!h|zhdpmb~ZRFY`7dL4q5UiqM;{k+W{gfik!{Aab{yx)c zSTlv@Vlx4PXAsGe(h=2L?$%89bpm02N3@dzy`zMx;VcPC{_KaLUw5iL%SCLoY^=#u zb;skOUjnrljd>PAk&fH%|3QxIOSaDASYKcW9sNC4eMPnsweO`o>GxYY zG}FD2eV>110O4U-&kq?6iU9z*Uv;-GBWJHKHMS#tnaqS#i@+GDIt>$y_=Oc>r&pQ?TE{j*wtB>;4?jHEwwBn>h}6r#RsoFXFfOuuELiF(e(Hp8am9lv7S(|@ z40M8rzNjde2j9H6^!)H;->*|wo$dTIkD-Cs)4j|RHmx#Z+BO=(jmSrc{L{PYT=rQC z-h!%^yAswQImY4kx`HS6M5~{_6%JDT;;eLIm{-Qz@O&FWD!9_ic|ce)qqDuB)fce; za#4X24Y|lSWU6iSr3S4s-=Mtr3LMiJ?Q$b%a-LETZUgUPm~cbKnEihtYxL{%MvzV z18ZJg-TU1qgQrTB701RT1bJ&vHzS8?7Ew=PAg=x-20!eXiWK9593BX(pP+H~E0FH5 zYY)bQbEADCP6{^u)XCx;rp|FrCE#Lmaj?4XIIq-n#E8O9gys2-i_cGPCaTU+21_GM zQL8gJ>w{k_N4(2Jf)D&$%k%vtxv{utYFASk;>J&u-7==0W7wu5K7g)#YvI| zCpE;Pi-pou_jR8vK-|6r+apv~KJzi%1wE=0s1@Sem5Uf`TsZ5f83v$LBppu=%*Ej9 z_4jkR=oRP)lKP61z$}X}FFPShdwb_sdXvqEcpq+Z2?LJ*@Zg!DHYt17*}`j9Vmb72 zbqF?(HHn;?JL1?=7eKFx0J>!9F*Z!VHpzw=p%Jf7;|;N%`Lt_97&##4?}g8i1Q$XC zF)^PkH+zO=E7Y1k)h^*cMw${Vo4=(5K9EiO>7K8)h>+cPGoI=65II!E8L zD+9e27cl+Obsrv*{Cv36bK1lzjngCMuClnZQ<+um+CDIVy8vxU0lK1o{>gG;;bPff zdI~8x*U^j%=<>sZBh0_czTwftVn(Ka5)8aAb z`Th&0oTx{KgfL@-t$H;(G_qRBOiO5l%3n)W@FpXCb|D$;p^iDz)$yfEbNt1GL{&2YkA zL$rLepfh=p_h7FC0@o#fQyKxIx?!y*zI7>wCjzuQzO1$Va;&YdBBQ$fB6j)~bQS=y zhL38sNCiobNb(HlTry~QA94_=%=))d|9W~8qG~oh%Ri?jZGKCYfmZ@2>KV3&gK~e) z5g&?p{X?rn^b5AFE@}R*K$s(is>VyR)^eas@IPkDdVzAfW<=}1mEM7pV1|Z7@PYv2 z?RYP>R^Br(KXab}Dk`T!j!H5~<^lW;zEU^vMnra`kX;;A5N;KN11I?O9&+=^`2<~zDavOiTK43 z)Xi)t+Irq#J?(#2He65=2d^W0lbmY%^S!xmwWPjuAK9yhl1M9j@ADtixJ#PF6DK7Q z=&c7Q*(M7M*6DY+?Ma;r6GLGMYoP9fCA?82zDIkLO}w{QT<=~ZOZoU_Caqd8CCTNS z2Hx!!eySz-Zo{YfZVz;KCGK-s=_Kk$EQ6Kl?vnm0mI-AigKnH_-D)pnY>A;ma z0+h_8I{%^}W6l9Zql(8u=|_YQ`WYh)Y@GC!31Y>w)Y zIIX?BhxsaRRo|{GVbq`gIcq5ifUYb!qp9MBI5buh~dL+vg&Ax+PnZ`CzKmAVUsQinx_ zzL}0xZY#81&F$c@H*^iyyyl}gfy~%tn9**Dp0&Ve1}UrD{?C42e)LRDz0+Mx1wNf} zL|bTyPk)~_`^l^G%!AJ{Zp%ITw=t5u*ugzoN66hvZdv&|1@4vJKY!sb^7uMf(RX_; z>sAyhBM_cjfg0>_H#5Juc+7_5@yE{duI|MrOysN~th@a6OBqY|(M`rsc=SwqL|5D) zr{f=U)dwmgeHAPg7{X09(V1DS{p+)Yxb`diG?etWd)ZhxQiQD~u9gQo( zMe{9l)Vs56!;_Co(${$n8by{QTE#F~josz_%To>@!qvCeKFxfc01+?aSn`{wq{rWn zU;c6g+*TBrG|xmGH|g!=t{(e4>DQ{a;~`TZc%S>OiuwZH-@1%~pZ0|-7>yCJ68OloHyWsC9Pl^>3)Vyqvb|mYtIkGIf|ioAR{TB{c6DTuVLDV*2S+GVwpVp7 ze%?y_?{q9xH6EbL4P-6ia0gGQw~w+BGU8#aowgT2{BnJja?hIFBSC2};?#&D!Vg(Q z5g``3+*Nw7Xd#;lo}H_=)WY4=8fK~wNN-CSp8tOiwgIQ4jB%~?qxF&_==XRPipLUm zjU!r3aR_-)I1gQUW@Fa~1N`So7~*M=`WYuk`C~JT!Jz9@IH31-$a0XaT<=pZ83tkV z2Os&JQX4E7r>JUF);78CNWBj?)`6KnbYvhVCBR#ld-xz0&VLF8_;N*`m>e=}m8;L8inqnVq%GB+`bnFgTChdPAIUx0=Uo5{4! z6^%*adu}FRkxkTr~TWYU=Tty*6~SnkHYr9 zlNP5Ywnp;Pf-g)2XJRaFEZIE(BGNktK>+xTWimn-Yo(|Y3+O8TPm_8MU0hHtMkxnh z^|RgJ<@yOSF1318R*SR3YMA=NpW)!$I+E6N_P!kasr|wB;Lzbp8?O;l|Hwjzep$3u zDR5}voA2-XW@-Z|+{nwKH&(ZMRvTd=sd@LKuExsX6Tyoaci8tvf-O}nKw5Rh z?-9dQ-B;dNuEnCsV71wpn;d|+p{kz$zSdmH=y5+RJ)&d(EGc#Hj(k6WN3~=95$>{m zT7O;RZ#D7qCXxcCcUKw@Poo!y744jK!w>`z2?ASF~x zq;AYu@psw$Q+Y-qyZ#GISt_&_vofJ}sq=G+b_&9Nd!mKU7_1T+?m1 zra?hMq&ozZ29X#kAfia9bhosGqc;!%>5_&G>5!I&0n#}_y1P3E8$07Yzw_aI+^7BP zxu5%r`+DTQ?7dXp;KfP2*Nol@J&U`4w?I6g=Uk?<=N1eZyTlSjI3_-Obr-SQ(rnxC zrg*cI9{Xg3UlP~!3P(Xd%1*XJ#K#a;oQZcf>j&`jbCi_HIYSO?jEox?hu6d~Tc4H> z$ijF{7GT;R1pr4`gc)oH7#vR){3i&*;BD`1j0eHIg#WzBuL(L}TPw(1KiNrvk|8pz zFDvGgd;CHWTOkMWd7$kh*5iSa{H=rE{dPOs*xb5{xWn_OBU@+V8;|+$57^|!+3u>` zPJ_2!`NRr3J+utDJ#`s7I@+BNH?yy=A^Oa*@PB4VZ}y6&xrm;%&$^&NPwT8F?&$?J z?MxNHtFW3BlE6vm3xr3+Sed|xSR%e;89!~-WSp|WY{v`7Vt4Hg;!*yRr7hb=b*9~s zq&~8V>S)qD?f-qS)0{X}v`@IhWN^)1(0}fM^`-x6UBJ z694*&tD|tuCuV2Iymtz>o-&J;AsU;u|EKS692d)Y7c#Ac=qEqxKV=?=hzkij!VdB} zemEq7oarD-IzM7(L-LtGValGb9?Cq5Qkg)A z;{DSNkp;E8W|hnfBR;{_`pBi=t^=r!4cmp4WLIS~6U+o!Fi7gt<_~MMTk1F*ux@}J z?VSvu{%9N(_{*r>dZ>l=7a&Sqr5c}lp6U%#jEQ0qrG*$q$iqCR4MZn|{@alz!`c*g zh&2pE0;Z$JJ^``#n!YmDx}64mNd;r9H4DVJDpyd$&7K8?e2kARe5_)L$%7rHmYH^1 zRi^y%WnWIScBrwkYF@R|4Eq8)$SCIF6uE{E%SSW3HPPc^Waz*N$V&kb? zkLcTWs^^(YaxFZ0nvs`=+44$-BPZXaB!=1dEXVSPo(YxdJNQy&)mDHm{iuk6oB!-p zqZz}%=Yly159UZ;$)E2`HbqN+Vg8K=C;0(3AN+k|Rqbd(*CPadTh{IND8uZDalWBn z-)=TBR`Py`{Z~xI$zsLN1zeNZ|b*;%IlWR5`phowe7v7M4W_^#H+=DLxN8%^f%uX!Omm9c-qiHXzF>-|~= zCPPnYLw0`(Lec(x$)UMc zQEhN&&$Gx#!*7{*yv^}C+zrpadNG?bQfLf!uX)N+Bi5*PHMPRq`tNIKqC(L(%zZDj zvsbjr#cRpCXb|A~y1wXsc!$43Bk5&9biN>QL~uqc0@m6dvlt2S03Fx<@bw+gB&!qn zDzhj{(AfvS8fQ}~9-}%5O1_C8sNyrt?GQX0SN5UVKwLj|m~Hq`_jac0QhW5*i~m;3 zzt>oq3C%i8b=(P7+^S=X7*KprVc$_mf{|wM>9!#>jKwOLp2p+_X2+h*EYZyoROdQz z5J4Pe-KB0pKaWtFT>7fRy&)Q0_94Rif!zN3Z*(~?gp9jw2f6?hh4L-Pn~UB#RY2#s zrA>&MZb|S5r-y+XN8`oRIBD$UpYNWoZqD6SU1Tx+>^Qej#6x%CJ zr68Z5eRaQ$&wNr8$wbD}A4X757f-*srPEn?mi-Hap~rtvV^{%i*kF)JDU;2-w~Qmr z9Vy~gDp7Lbz`29rAst>>`?^Y2 z%z$A<=Di{dT%@Uai@D+92Z1P*3Ev$0)(dS48nJW^mFB*nk$=R^M51e6B{-l#v(vWx z#N#Vr5sWW+De4we_A5GS@Nq}Ds`_`0x!h;mb_EkC|NhEqlrZmKO|`at`ff9C(mjnzcb{x={8Pw-WU+Ol(}T}c$nmoN=m zdNz1{O=<*wNL~fKtlS3mW8L2K4a82@Y1i4xM8wX+Vy4IXTt$)<4@T$wd_W@eOxD#r z+9FSOiP~o$1Ks=`rLQxpfLU8zPUj1U;GNU{;nr5kX%a&!0-p}nqgwg(E1=cdTdd| zyLKKeb2*oaw4lw}JPTvF5N3LKcBxsOr*4?z>Zan6(S2gMfKC2Q^GrM%<5YA+QWs+1 zV;BXzRcGrZL zJYu879aFB-f32_9&r8@rBh%u_thHJbIOVp_yh-#~912-ML=pp7yaJ>TEp&psQ}%3Bi@VFBxHci=oN6 zc%j!4)kNa5Yw5}&G0MFiG8~z&`?m{YAg&H?fn3-F{tar$ecVhPjps>%>#ha=_;QgJ zOgNZX9Am=zuG3Mfc#p9UlL{3u5BrM= zhQ5)rUr7L~^3I0kc&KoNMySBHtW$RNadA@qEMHQ;H$h6v9i%DJy-$CLplz%|dC^5- zw3y3{QYmAbCGQ=;kq@*EroC2pim6m)OhmmzucW%_xg$QbfY9g7fZng4RIN=u+#56F z7xhY$Fa@9Q^>TXt*-ap+b}YWxQ9h?g>U7vA|E4gF%K1hNG+d$BGMd^5At)I|IyOI||j_@sn+3W|Nf76tvZ% zZ;mzO><}a#Z8%j33RCUXNq+gnG(;SeAw(5OLxZi)*umiImOr8de8N@QB6Ifa=X0|2 z2;#I!KaTrrdTpkgcYjUZc#CnK7tZt1YbWp4UNrKqohl-pn00tw?)qda){uEGN1W~X z4lDXN!Tv1`61{S3SY!PJQ7vfc?9wpo_m-4p8c($n?`FaqOi#9b_ZMi0fDyhtJJvic zezh8xthmoL|d?jY%%5Nd{mnC`OQ0^5udebFmdaUqOQ>&!#qf7f~J!-)(&S z8_ob^JazQZf70DjE-(0?`P{zxs^=M^Mmi?Och-BD??Q6$>fph~*3SNs#w!RPxSAovHsnQh`^GTj*-mkeCPf%l>|=#Z~OLTSR}85{IF^((@S~ zQ3Vcsm!D6n{th?|{5AY#daoHHw|jlLzyR5MlSqYjonq8I5q0(|YeLHT{p#H>q$bN- z6$$?jWFB%v^`$PEx^@XfC^5CdbNEEnt=u!X5vA!?-b`VI?6?6 zL?@N={c&4tf)(cB5OCG4-6lL#r?oYldDS$rPt66rXdw zyYHPA#PDfdhDeh4cVq97>PWt+;e6L6NTb_lxecNBlAtuiFCitCezHDu*#nD4RU*27 zEVGsEry~B^J89EJ(t_+5?EP4SYucRl$f&_>kl>R2)vvFM_dA%`JD13`JPcsjQ^f3G zp$pa3i3W;#E`mzR8$%($4;He&1-Rk5Ix*5>AHE(y zlCva}u>-4uaST-s)gIKr-!iX04A4#&ANHLsndlHV(}znRWHE-oAXP6mtUP{eh)EYF zyQK`T^D~tE3Cf}>=qvpk|DRD#kJ@#^ROX&|^HI~z#_Yt7;`cJ_Pm<75os8TnT-M!u zI}y3$nM0|gvc&~SGC_yY2KBXK9q4be#Lw$(#Pf-Mlq0z zv4(wR2cSY`WlJ>wo{Lh?NbB&qb|Nl!yZ<#TC8^ zD9JCq(D=T6~;D>=vBs#t5~3HuIIC9jb7!>K=g#pW1uketP5& z=Mm-r7iM^9EB1CMd#mYgfU$Q5Q9pfLc)r_un~2RRYw5c}PJYg%yST6i3pD4Asec!s z`YPZ+L45F{8>cK77Mog(Md2byE+lhU` zd-`yzVyKW$biGVokjeEtBu=F_$LZHBwZXjMmTi zjb&B)7dnRgYFduJQOSL|&Py*(6{zdvKbEz21R!7}o1(dc`R1vNyQWmez3Qf9;}}67 z^ikH-MBm@v=Y2Unb`vgZ_ZF5XL6C`?+gSVi_EznMb?x-urzS%8jT(N_ih(hvT6q;v z^$413#E%Z0SbZ@*mUzP*=Y>v33nY8%4fOAf3O0#jI)b03;>P(J1Ifx}CxF9=ybeVp zv_(^|gyQ8j0+janGvR=u-PqKlXHyuZ?bc(Gc~9$VAbjlSfX}*}m21VO+H(!l+8|cm zI=}e`W~Bk?GedAkOHfiy<-iZDIak!}LSYk6K!wd2G(poQ)YN%=#$5rGYw4q|C7^iR zpSQ>Ld#g3W0U}Us%5@he-KM+o0M^(9z%ac|SSlU*4WIHb$c->iJM)v9>|`f{i zX?c4)Bx5-J(kgZ|0qU@iHxfMZRJbK&pHYq7@szA4KQbaLz@R0H=*#K1iaxo2VIpb& zVw|MT)#SMbc%ag1igKP0DoA-0F-7pz@$&PWnonn7f56r=M|JH+a=9}*?(tu-H%K9+ zRvs29*M`QuRW*|ko$NcO=zvJU_04=H@0ctAV|V8Gcvz$;^J>Um-u+~q)bT?2T-Ixh zjMpZ0Zx$gN^yYSHxwvq}P}2?)^WLfim8XYbTU}6rwXoUPc4#WIj?ZHHWFSU_yuI1W zFG>c+w%Vs5(;wQoq=F_xkDNvL)`%0wKRzXX%NB1Wd$A?L`}7pD@s=-G>0M*@rqvA) zVK>lrn=kOP+5?oKL* zVvO2>pwtB`uy*{bNqi}S8QA9L_Yhu+s-Ayz25fjbv04VPXG{(XukX5cY8QEB*iCb= zBDAZlRdTzTuEj}=g%NcP1Ml%`my;&PJzLXE{<$XFFrgmIGhW}pscvnH#pS_R@vr(D zWXQ+p?B76tkpuV#1X$5*?*n^1u%X#17_8i}wCoSD-{y-qnV81<5V znE=jBH#&G}a@4sSCsW$E5GSsx26#ROeVy=Nzq&Ev9C2aYf<&?}`goTZ>=$pbr~?iSn@se?R+ez=jPlcmbw%}mu?`;ZdlJ@!sd0`4%ac!q5mT61XO7$yC@pJ3zj}kD;y{&oz{y({(jQ;`8tMKF$H#CH#jb z&R|?fnD@sa0jYQ!+0JjZ4wO7*EKW*klnxGrZb_|1nZIc~CPx+Moa>vd5sl@qOvLEi zG^|6-Gjez8xvv_p8sIHDQCdY$0^Q{?-PSO+)qkF*bY-lgyYX*2d!KYxJe~Wq~VOi3@SDIEZXOfd(Y%xnZp z9co4%oNK@DxFi#0l>>@-PoxN0@(#eu1^e|>bsPC1*!VTrl*<7ol4vK`-LBD z`4jb7O4fvK>j@nEvbt1^sdVa*HJ#)OKX@v0kXF~TD|mLD?KJC9$^1d=QT5HIgxDGF zDA2^G^X(61F&qb!NPLA$fZM;@nYMGXdckJ#*!H_0DBNpTczw>BMJjRB_f*lh19VZt z7Br%VW>qLndIeI!-W9oihdMSgRBWc^IH*bft@^nf0{FHu(xRoZ0v6w6YfpVZHt-8Y zXM!Q~FeIP7oH9xP=7yeC&0u`Hc(%5-CAD>`Fn-=mKGIz;ysce%-{9Z`E-X0njVt?M zXN7Jc-cM&qrL(oQ{{irXaOMhs>I~33EXwp`>*#zcS4)Y`1ikwlU%0ds_Bb{2$Yajt zTeO$HVt|C&rS-c4l4EOZ`BmRt|e*LgnIl7 z^`IZ%#r8+;OM^j5IJ)(i8K@{$jHtvAXq6V3xC-9Pj| zs=fwU50uRQ4KzxHHJ+x82|5rWR`Pnf9-LWO$lT<_T^x_Ek)`Q<_Uuepa<0oR5x?vj zSPCa41$H$pg*#);mm`>%DnCd&Cg`^w1AiI8B;X&*+ZuWmGKfS7&S(kAD4IzyV)Boo zAaZhIO^=x6WRt!;k?{v|Md0Ra=a9)IwBPdFTo-6K-HnSjX@0SwdFZtyl}+9bND#)HF4&P=5i zW@>h81-H-*{xyW0Oby@xfyheF9u9W_u>Hi*>^9+JUypM@4^&nZHIiTp&xzXyNlDTF zh+5m;8CNiG4Z5`Od}WS}14#H1q6!30L)H^>SCuJ}P#-dQXQd{;vimFPPv7I7IdOkh9f3277y7Xe8#&zopfMEitniOeuAPIfDK&{$&Nl@h@*zbMwx(JX#| z9uSAb$}`}%dJ29ZkbxL4Vf(t?nqZx$W4&GNIuF&imHl0Zi#k4Z^9|f+QlchK00uDd zL6E1&9xDi*Kes1g@~WK|I!mc$iFcAaZ8rFznL~!nkl(W%0|YkNV4tS(@d0!9yQ5kP zIf$`*tFQv@wz{Jb_*lmW?<8-q_^8dWe@&(HW2M}g3r!10WNizY4HWS`w-9Ep!(ydG zLAE;`GytgD)a$ET+=Ss9rY7L@>vU3rIZlLnqdQ*gM!hburYg>sw|f$pc)zlE1GR$hTRMDs z*1K+TP%C=9FJWQ4eLXxf;L@6$ORjguMMOqwrqiLxLEFZ5;^tExuVRo}|F)j`tuSr3 z7=0h$LgWK|zdTLQSRjd>@a5l0J(Ae+Fm9H`s*VoaHU1_rI>~FIakNF(Ipz3pp(Nzx zS?&pw9*I}w7c&_Xn^pds!X=*alhBJ7lz5eb@5zSnup@AIssU6LL_#9Cr!jIM`podF zLvA_5C*Y$Dxf{YXnV#GIToFN zQK+@??)6)ZujBR`7>)ize}CV~oK{k;-;BRFv?WXEfj@{EQ*_QjwDEi67_+w_>h!Z( zxrlEsv>>NI{A_w_M^Bw!7IO&VitR0vuRQ=_C_OOkGbU;@+zpJ(OvRD$jj)vUUkOQT1s~Z%0lz> z(x699G8KyLNtv1NX&$OOwVoC2lgPK8t%Sx59R`vu)}e-O<7E?+gEi#3{;o^-fKH`D z1e%%g=k|v=`QH5Dv=gqnIiYDp-mW5l7(7O$v&E9A^ypg6Y=krJv?T`q{$%<8Nyp`8 z3NKm~7P8qKE%sX`ZezOcH`|fU!*dxl22dsp_Gsg;O_8_6ZX5-EzeibFo@3FnO%UXA7Nf_8-Ly@qKhg*)D z4(}MA*sM9CRmLyM6 z7!Uv`N-P-i>O7f$&vhJYh@Dd0?n^eiu%mOAe)>?$r66+;d^2{Gg>J{ex?xd+TwUJS zRK-+dec8CsM`+*Kpx#m0BVh9*5V`=-w-rPWKzy&Vs9A!D#0S8j<(7f zD>4rFY5cbSOFkAgUbiJ5k(n*lO}gXgU-H!8H_orDwGtAw`n}1Eu{H0S5%^|%8y2im*q~58|j3MZQ*YrLw_Vn9`fk@q_xh4ra zNc~IM(De`a8}1_Q_|YfRq}?YEv71p)|I5LByz7Bh#|&yd0$Fsv)FoLUdeY)b~yLvieMJX8(r(rxC5|r`mrr& zvvvnuX4+~&O+V*!DR+E6U=AL?3x$9te|U*xuJmV2g#1gs07xt1M=()V(*}g0n~p#h z)STe!4zi7lT!r&wx$9m&HPE%}umD{;lO9&tTvy41ZE$0LYfXYd?<(mN(Y{P=_PH=~ zGw4RSti`PYpunWX!w{agL7HprXJ~@!RX2Bt))jYwA=~fcvSlcXUV!ZIpUYEx{)RE( zfBu$sdSCd06_+ojOrx#arWj(@nCO11E`@4f?M`-`wZ_d?J&Z}ecwzn}Ou_vf!3eF= zQe%xvZR=8l`;Z!P<)lZR(a=#?s0V<&W4%T0X_dthQ=H=grK(Pp%0Mh%Lv0_;MTOdo zwR+A+KxF&{PR6(2kkb4yrEYtLZNgiDYX`_mE^Vx$jWy;Oue1sY?Y=iHOLJUGwr6J` zxZxzE7oF}u+?7V4e=5h{NMB3vJt?PNNn}3<>?60ep8sDK0QgHG&kYNoyt6yH1D`

    !A(B#Z@ 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

    =p3ZcvU5J&EG1ZVw&R5+i6tR`P8AxT3xxS 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%0AZLl;K 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 Glm7<*CKdPq diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico deleted file mode 100644 index e406a78f26db8439871a6536024a5116e3254951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33500 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

    fsty)d>sH@-?Kb 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 R5VO^>VVHyc(f_$a{|_M{DnI}L diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png deleted file mode 100644 index cf91cf6ca09775d4c316493955646e15943d7bae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66867 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 diff --git a/src-tauri/icons/tray-icon.png b/src-tauri/icons/tray-icon.png deleted file mode 100644 index be2533a7ffd32a09b800d27e302a0f41afa74bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12013 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 LNkvXXu0mjfrhkX( diff --git a/src-tauri/icons/win-tray-icon-activated.png b/src-tauri/icons/win-tray-icon-activated.png deleted file mode 100644 index 441ff02bacda059ac8df2a690746179d3e0b309b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1350 zcmV-M1-bf(P)XYTBFw;Q3|wjc#c5!ym+3k4tKBSdVAe01CG z?!Du~o#|fI-L?@|H{BIBzOy*uovCISpF8>qLxbHLrevxFXLAPr0dZUn0AngOsLxE;t^+crA} z02*=Ymj!OJ0C@^$`xwV2RarHnRyMHe!LxdhEh=OGM_psRlYr z*whi;07pR)a20SK5H00BcGO<98D&SGs}m}!xcuQ#!Hf_L^x{ovXVO#OiV52EYvell7|SCRIFz$q$(;JC_S!L@B|mK-Dy3hWZ)Y^Oylht^Q0@x(SIT4SrUx ze6rl`OCdTLsC1Ju`RoNzigIThAR@UFdk4@JBv)+ph$TkPm{@}3y>B8qNv`*c(VWN~ z{~Xatk{xdev4nAFZ}mlV0{_&3L)PQ}gxXz?DY@Tv;-#DLW-OLe=Wc=vCjs!Pn?NV< z&mAJy(}i6_a>sVzOryUMZMR){g1r7r` z*0S2fnjaDg9|X)$Ke-cMlI!Ur-o75)xC|5c_@@sra%2aw`D=(ZtwNGDR=}|9a(_|bR3NPp$pagJHweqt4}{(}P6!xN4y=qa31F5Mkw<`ScH$6lzx`bwQNCW} zib;b;i39zWup4w2d-`<*bmS`DG>ynqD}2R{abTFRs6*+R`+vzrZ<>}uC(vTYJYf%& zE;6`Q@Tdcgim*=tc$u&r%~NRNiVd!XqMNVRh-?F1By8Be0nPyz3ENr+e7zFP0oQ5Z zCBm!ogq^6TkkQ4!rF!SF0HWVQA#oer6S)q!i}1hEDPRCNL-=Z$B16xz9)rCib}wIG z`Lw3cm>;n0=mx?hn@o5Nl@U%x0HWTxh5ZO;flHPL36JsYzjTd{TRfqq_5c6?07*qo IM6N<$f{wjvi2wiq diff --git a/src-tauri/icons/win-tray-icon.png b/src-tauri/icons/win-tray-icon.png deleted file mode 100644 index 29616c85b5cf343451974488a753d4b8addd746f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1538 zcmV+d2L1VoP)F2YgX*iHmF($VbB`S{N{d*;ln+Sc!@coF7J~{zFsZ`IlJFer0 z*In{3FlfXmSIo@7I|hDw|KcT$g=3$5NpJ6769kb1NTJ}-*SA@+_((*wHUM85z$P;3ZUf&b=!gl+r|kJzwbr4rF1qPc0qmCE-c`uq2a)mI`K-}hDjW5a}Dtbu!n_ugk_ zN;LqU=guD;Jx*mJ*^0Y%{hZd;2D-a{tNbA3=+P6bSkc1J)Ay@5)_7iy4?p~mSbf>O z`%cx;GN115U8*t>aO~KZvTRvXGk_~b&j<{n#0X+Extya~TkDfqqa~FCD5X$JSsBXu zl$MqSfFLHxpw`+Y*$vE8)dDa+J`uE)8mbC~9KIjP=3953tK59vrCeUf*w`8F`o$9h z@aMnWqe|rlJkOCZjMe5_e{;@ZvFMp{snH37Xsl51aExfCVY6w|b~Q3`Oe3*Uv4$#xHp6jn~M{C2ugYVJb|0G+s{D{uZtI6sQ4ZUvm??32}^la44 zoexu0HP4-xI2BKcd>!xxlV|VL*2p&sON1F(aJG&93%JxR7U#NWD<|XXs@giGRHq;x zR4QXfNKT&flA|27o^59&>&rYh0(I`$%Kze;ngzegdo{aqIWHfCXAX$ybxa=qv(g2C zW=Vh|(CXGy&+jf4=I&8S5d>%6(mJ@s7F=^i`C?Iem@IOY%Iz^GA`B~UkDorVwz|63 zvEA(Z7ZETeL-L)QTtOP6*e8t6J}zR=I?9U}AE>v=)1A5BmeTAsxp6$9K%sSfiHM+e z6nkD(Qy5n2rWkxz@N58WP8d{9N8towbg!H9ZV1COvC)wWrp{hjlx4mnOU6&L8^sfQ zlyV*+xv;&aRPMMo@z)|UC$rLvRbXkv^{z4cQP6Ebj}@MDsHqkjV@fzL>~mP|3sS$1dP+!RhbUz+z%T_!K)Z(2_2dn6b2xg?*VI>S{N ofNXTBW1Zmu7`J>D_!{{9|6Cfry$Ca1;Q#;t07*qoM6N<$g7gRSD*ylh diff --git a/src-tauri/rustfmt.toml b/src-tauri/rustfmt.toml deleted file mode 100644 index 11eda88..0000000 --- a/src-tauri/rustfmt.toml +++ /dev/null @@ -1,14 +0,0 @@ -max_width = 100 -hard_tabs = false -tab_spaces = 4 -newline_style = "Auto" -use_small_heuristics = "Default" -reorder_imports = true -reorder_modules = true -remove_nested_parens = true -edition = "2021" -merge_derives = true -use_try_shorthand = false -use_field_init_shorthand = false -force_explicit_abi = true -imports_granularity = "Crate" diff --git a/src-tauri/src/cmds.rs b/src-tauri/src/cmds.rs deleted file mode 100644 index 4b42ebe..0000000 --- a/src-tauri/src/cmds.rs +++ /dev/null @@ -1,280 +0,0 @@ -use crate::{ - config::*, - core::*, - feat, - utils::{dirs, help}, -}; -use crate::{ret_err, wrap_err}; -use anyhow::{Context, Result}; -use serde_yaml::Mapping; -use std::collections::{HashMap, VecDeque}; -use sysproxy::Sysproxy; - -type CmdResult = Result; - -#[tauri::command] -pub fn get_profiles() -> CmdResult { - Ok(Config::profiles().data().clone()) -} - -#[tauri::command] -pub async fn enhance_profiles() -> CmdResult { - wrap_err!(CoreManager::global().update_config().await)?; - handle::Handle::refresh_clash(); - Ok(()) -} - -#[tauri::command] -pub async fn import_profile(url: String, option: Option) -> CmdResult { - let item = wrap_err!(PrfItem::from_url(&url, None, None, option).await)?; - wrap_err!(Config::profiles().data().append_item(item)) -} - -#[tauri::command] -pub async fn create_profile(item: PrfItem, file_data: Option) -> CmdResult { - let item = wrap_err!(PrfItem::from(item, file_data).await)?; - wrap_err!(Config::profiles().data().append_item(item)) -} - -#[tauri::command] -pub async fn update_profile(index: String, option: Option) -> CmdResult { - wrap_err!(feat::update_profile(index, option).await) -} - -#[tauri::command] -pub async fn delete_profile(index: String) -> CmdResult { - let should_update = wrap_err!({ Config::profiles().data().delete_item(index) })?; - if should_update { - wrap_err!(CoreManager::global().update_config().await)?; - handle::Handle::refresh_clash(); - } - - Ok(()) -} - -/// 修改profiles的 -#[tauri::command] -pub async fn patch_profiles_config(profiles: IProfiles) -> CmdResult { - wrap_err!({ Config::profiles().draft().patch_config(profiles) })?; - - match CoreManager::global().update_config().await { - Ok(_) => { - handle::Handle::refresh_clash(); - Config::profiles().apply(); - wrap_err!(Config::profiles().data().save_file())?; - Ok(()) - } - Err(err) => { - Config::profiles().discard(); - log::error!(target: "app", "{err}"); - Err(format!("{err}")) - } - } -} - -/// 修改某个profile item的 -#[tauri::command] -pub fn patch_profile(index: String, profile: PrfItem) -> CmdResult { - wrap_err!(Config::profiles().data().patch_item(index, profile))?; - wrap_err!(timer::Timer::global().refresh()) -} - -#[tauri::command] -pub fn view_profile(index: String) -> CmdResult { - let file = { - wrap_err!(Config::profiles().latest().get_item(&index))? - .file - .clone() - .ok_or("the file field is null") - }?; - - let path = wrap_err!(dirs::app_profiles_dir())?.join(file); - if !path.exists() { - ret_err!("the file not found"); - } - - wrap_err!(help::open_file(path)) -} - -#[tauri::command] -pub fn read_profile_file(index: String) -> CmdResult { - let profiles = Config::profiles(); - let profiles = profiles.latest(); - let item = wrap_err!(profiles.get_item(&index))?; - let data = wrap_err!(item.read_file())?; - Ok(data) -} - -#[tauri::command] -pub fn save_profile_file(index: String, file_data: Option) -> CmdResult { - if file_data.is_none() { - return Ok(()); - } - - let profiles = Config::profiles(); - let profiles = profiles.latest(); - let item = wrap_err!(profiles.get_item(&index))?; - wrap_err!(item.save_file(file_data.unwrap())) -} - -#[tauri::command] -pub fn get_clash_info() -> CmdResult { - Ok(Config::clash().latest().get_client_info()) -} - -#[tauri::command] -pub fn get_runtime_config() -> CmdResult> { - Ok(Config::runtime().latest().config.clone()) -} - -#[tauri::command] -pub fn get_runtime_yaml() -> CmdResult { - let runtime = Config::runtime(); - let runtime = runtime.latest(); - let config = runtime.config.as_ref(); - wrap_err!(config - .ok_or(anyhow::anyhow!("failed to parse config to yaml file")) - .and_then( - |config| serde_yaml::to_string(config).context("failed to convert config to yaml") - )) -} - -#[tauri::command] -pub fn get_runtime_exists() -> CmdResult> { - Ok(Config::runtime().latest().exists_keys.clone()) -} - -#[tauri::command] -pub fn get_runtime_logs() -> CmdResult>> { - Ok(Config::runtime().latest().chain_logs.clone()) -} - -#[tauri::command] -pub async fn patch_clash_config(payload: Mapping) -> CmdResult { - wrap_err!(feat::patch_clash(payload).await) -} - -#[tauri::command] -pub fn get_verge_config() -> CmdResult { - Ok(Config::verge().data().clone()) -} - -#[tauri::command] -pub async fn patch_verge_config(payload: IVerge) -> CmdResult { - wrap_err!(feat::patch_verge(payload).await) -} - -#[tauri::command] -pub async fn change_clash_core(clash_core: Option) -> CmdResult { - wrap_err!(CoreManager::global().change_core(clash_core).await) -} - -/// restart the sidecar -#[tauri::command] -pub async fn restart_sidecar() -> CmdResult { - wrap_err!(CoreManager::global().run_core().await) -} - -#[tauri::command] -pub fn grant_permission(core: String) -> CmdResult { - #[cfg(any(target_os = "macos", target_os = "linux"))] - return wrap_err!(manager::grant_permission(core)); - - #[cfg(not(any(target_os = "macos", target_os = "linux")))] - return Err("Unsupported target".into()); -} - -/// get the system proxy -#[tauri::command] -pub fn get_sys_proxy() -> CmdResult { - let current = wrap_err!(Sysproxy::get_system_proxy())?; - - let mut map = Mapping::new(); - map.insert("enable".into(), current.enable.into()); - map.insert( - "server".into(), - format!("{}:{}", current.host, current.port).into(), - ); - map.insert("bypass".into(), current.bypass.into()); - - Ok(map) -} - -#[tauri::command] -pub fn get_clash_logs() -> CmdResult> { - Ok(logger::Logger::global().get_log()) -} - -#[tauri::command] -pub fn open_app_dir() -> CmdResult<()> { - let app_dir = wrap_err!(dirs::app_home_dir())?; - wrap_err!(open::that(app_dir)) -} - -#[tauri::command] -pub fn open_core_dir() -> CmdResult<()> { - let core_dir = wrap_err!(tauri::utils::platform::current_exe())?; - let core_dir = core_dir.parent().ok_or(format!("failed to get core dir"))?; - wrap_err!(open::that(core_dir)) -} - -#[tauri::command] -pub fn open_logs_dir() -> CmdResult<()> { - let log_dir = wrap_err!(dirs::app_logs_dir())?; - wrap_err!(open::that(log_dir)) -} - -#[tauri::command] -pub fn open_web_url(url: String) -> CmdResult<()> { - wrap_err!(open::that(url)) -} - -#[tauri::command] -pub async fn clash_api_get_proxy_delay( - name: String, - url: Option, -) -> CmdResult { - match clash_api::get_proxy_delay(name, url).await { - Ok(res) => Ok(res), - Err(err) => Err(format!("{}", err.to_string())), - } -} - -#[cfg(windows)] -pub mod service { - use super::*; - use crate::core::win_service; - - #[tauri::command] - pub async fn check_service() -> CmdResult { - wrap_err!(win_service::check_service().await) - } - - #[tauri::command] - pub async fn install_service() -> CmdResult { - wrap_err!(win_service::install_service().await) - } - - #[tauri::command] - pub async fn uninstall_service() -> CmdResult { - wrap_err!(win_service::uninstall_service().await) - } -} - -#[cfg(not(windows))] -pub mod service { - use super::*; - - #[tauri::command] - pub async fn check_service() -> CmdResult { - Ok(()) - } - #[tauri::command] - pub async fn install_service() -> CmdResult { - Ok(()) - } - #[tauri::command] - pub async fn uninstall_service() -> CmdResult { - Ok(()) - } -} diff --git a/src-tauri/src/config/clash.rs b/src-tauri/src/config/clash.rs deleted file mode 100644 index 6a4cf5e..0000000 --- a/src-tauri/src/config/clash.rs +++ /dev/null @@ -1,262 +0,0 @@ -use crate::utils::{dirs, help}; -use anyhow::Result; -use serde::{Deserialize, Serialize}; -use serde_yaml::{Mapping, Value}; -use std::{ - net::{IpAddr, Ipv4Addr, SocketAddr}, - str::FromStr, -}; - -#[derive(Default, Debug, Clone)] -pub struct IClashTemp(pub Mapping); - -impl IClashTemp { - pub fn new() -> Self { - match dirs::clash_path().and_then(|path| help::read_merge_mapping(&path)) { - Ok(map) => Self(Self::guard(map)), - Err(err) => { - log::error!(target: "app", "{err}"); - Self::template() - } - } - } - - pub fn template() -> Self { - let mut map = Mapping::new(); - - map.insert( - "mixed-port".into(), - match cfg!(feature = "default-meta") { - false => 7890.into(), - true => 7898.into(), - }, - ); - map.insert("log-level".into(), "info".into()); - map.insert("allow-lan".into(), false.into()); - map.insert("mode".into(), "rule".into()); - map.insert( - "external-controller".into(), - match cfg!(feature = "default-meta") { - false => "127.0.0.1:9090".into(), - true => "127.0.0.1:9098".into(), - }, - ); - map.insert("secret".into(), "".into()); - - Self(map) - } - - fn guard(mut config: Mapping) -> Mapping { - let port = Self::guard_mixed_port(&config); - let ctrl = Self::guard_server_ctrl(&config); - - config.insert("mixed-port".into(), port.into()); - config.insert("external-controller".into(), ctrl.into()); - config - } - - pub fn patch_config(&mut self, patch: Mapping) { - for (key, value) in patch.into_iter() { - self.0.insert(key, value); - } - } - - pub fn save_config(&self) -> Result<()> { - help::save_yaml( - &dirs::clash_path()?, - &self.0, - Some("# Generated by Clash Verge"), - ) - } - - pub fn get_mixed_port(&self) -> u16 { - Self::guard_mixed_port(&self.0) - } - - pub fn get_client_info(&self) -> ClashInfo { - let config = &self.0; - - ClashInfo { - port: Self::guard_mixed_port(&config), - server: Self::guard_client_ctrl(&config), - secret: config.get("secret").and_then(|value| match value { - Value::String(val_str) => Some(val_str.clone()), - Value::Bool(val_bool) => Some(val_bool.to_string()), - Value::Number(val_num) => Some(val_num.to_string()), - _ => None, - }), - } - } - - pub fn guard_mixed_port(config: &Mapping) -> u16 { - let mut port = config - .get("mixed-port") - .and_then(|value| match value { - Value::String(val_str) => val_str.parse().ok(), - Value::Number(val_num) => val_num.as_u64().map(|u| u as u16), - _ => None, - }) - .unwrap_or(7890); - if port == 0 { - port = 7890; - } - port - } - - pub fn guard_server_ctrl(config: &Mapping) -> String { - config - .get("external-controller") - .and_then(|value| match value.as_str() { - Some(val_str) => { - let val_str = val_str.trim(); - - let val = match val_str.starts_with(":") { - true => format!("127.0.0.1{val_str}"), - false => val_str.to_owned(), - }; - - SocketAddr::from_str(val.as_str()) - .ok() - .map(|s| s.to_string()) - } - None => None, - }) - .unwrap_or("127.0.0.1:9090".into()) - } - - pub fn guard_client_ctrl(config: &Mapping) -> String { - let value = Self::guard_server_ctrl(config); - match SocketAddr::from_str(value.as_str()) { - Ok(mut socket) => { - if socket.ip().is_unspecified() { - socket.set_ip(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1))); - } - socket.to_string() - } - Err(_) => "127.0.0.1:9090".into(), - } - } -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] -pub struct ClashInfo { - /// clash core port - pub port: u16, - /// same as `external-controller` - pub server: String, - /// clash secret - pub secret: Option, -} - -#[test] -fn test_clash_info() { - fn get_case, D: Into>(mp: T, ec: D) -> ClashInfo { - let mut map = Mapping::new(); - map.insert("mixed-port".into(), mp.into()); - map.insert("external-controller".into(), ec.into()); - - IClashTemp(IClashTemp::guard(map)).get_client_info() - } - - fn get_result>(port: u16, server: S) -> ClashInfo { - ClashInfo { - port, - server: server.into(), - secret: None, - } - } - - assert_eq!( - IClashTemp(IClashTemp::guard(Mapping::new())).get_client_info(), - get_result(7890, "127.0.0.1:9090") - ); - - assert_eq!(get_case("", ""), get_result(7890, "127.0.0.1:9090")); - - assert_eq!(get_case(65537, ""), get_result(1, "127.0.0.1:9090")); - - assert_eq!( - get_case(8888, "127.0.0.1:8888"), - get_result(8888, "127.0.0.1:8888") - ); - - assert_eq!( - get_case(8888, " :98888 "), - get_result(8888, "127.0.0.1:9090") - ); - - assert_eq!( - get_case(8888, "0.0.0.0:8080 "), - get_result(8888, "127.0.0.1:8080") - ); - - assert_eq!( - get_case(8888, "0.0.0.0:8080"), - get_result(8888, "127.0.0.1:8080") - ); - - assert_eq!( - get_case(8888, "[::]:8080"), - get_result(8888, "127.0.0.1:8080") - ); - - assert_eq!( - get_case(8888, "192.168.1.1:8080"), - get_result(8888, "192.168.1.1:8080") - ); - - assert_eq!( - get_case(8888, "192.168.1.1:80800"), - get_result(8888, "127.0.0.1:9090") - ); -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] -#[serde(rename_all = "kebab-case")] -pub struct IClash { - pub mixed_port: Option, - pub allow_lan: Option, - pub log_level: Option, - pub ipv6: Option, - pub mode: Option, - pub external_controller: Option, - pub secret: Option, - pub dns: Option, - pub tun: Option, - pub interface_name: Option, -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] -#[serde(rename_all = "kebab-case")] -pub struct IClashTUN { - pub enable: Option, - pub stack: Option, - pub auto_route: Option, - pub auto_detect_interface: Option, - pub dns_hijack: Option>, -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] -#[serde(rename_all = "kebab-case")] -pub struct IClashDNS { - pub enable: Option, - pub listen: Option, - pub default_nameserver: Option>, - pub enhanced_mode: Option, - pub fake_ip_range: Option, - pub use_hosts: Option, - pub fake_ip_filter: Option>, - pub nameserver: Option>, - pub fallback: Option>, - pub fallback_filter: Option, - pub nameserver_policy: Option>, -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] -#[serde(rename_all = "kebab-case")] -pub struct IClashFallbackFilter { - pub geoip: Option, - pub geoip_code: Option, - pub ipcidr: Option>, - pub domain: Option>, -} diff --git a/src-tauri/src/config/config.rs b/src-tauri/src/config/config.rs deleted file mode 100644 index e5af8e5..0000000 --- a/src-tauri/src/config/config.rs +++ /dev/null @@ -1,103 +0,0 @@ -use super::{Draft, IClashTemp, IProfiles, IRuntime, IVerge}; -use crate::{ - enhance, - utils::{dirs, help}, -}; -use anyhow::{anyhow, Result}; -use once_cell::sync::OnceCell; -use std::{env::temp_dir, path::PathBuf}; - -pub const RUNTIME_CONFIG: &str = "clash-verge.yaml"; -pub const CHECK_CONFIG: &str = "clash-verge-check.yaml"; - -pub struct Config { - clash_config: Draft, - verge_config: Draft, - profiles_config: Draft, - runtime_config: Draft, -} - -impl Config { - pub fn global() -> &'static Config { - static CONFIG: OnceCell = OnceCell::new(); - - CONFIG.get_or_init(|| Config { - clash_config: Draft::from(IClashTemp::new()), - verge_config: Draft::from(IVerge::new()), - profiles_config: Draft::from(IProfiles::new()), - runtime_config: Draft::from(IRuntime::new()), - }) - } - - pub fn clash() -> Draft { - Self::global().clash_config.clone() - } - - pub fn verge() -> Draft { - Self::global().verge_config.clone() - } - - pub fn profiles() -> Draft { - Self::global().profiles_config.clone() - } - - pub fn runtime() -> Draft { - Self::global().runtime_config.clone() - } - - /// 初始化配置 - pub fn init_config() -> Result<()> { - crate::log_err!(Self::generate()); - if let Err(err) = Self::generate_file(ConfigType::Run) { - log::error!(target: "app", "{err}"); - - let runtime_path = dirs::app_home_dir()?.join(RUNTIME_CONFIG); - // 如果不存在就将默认的clash文件拿过来 - if !runtime_path.exists() { - help::save_yaml( - &runtime_path, - &Config::clash().latest().0, - Some("# Clash Verge Runtime"), - )?; - } - } - Ok(()) - } - - /// 将配置丢到对应的文件中 - pub fn generate_file(typ: ConfigType) -> Result { - let path = match typ { - ConfigType::Run => dirs::app_home_dir()?.join(RUNTIME_CONFIG), - ConfigType::Check => temp_dir().join(CHECK_CONFIG), - }; - - let runtime = Config::runtime(); - let runtime = runtime.latest(); - let config = runtime - .config - .as_ref() - .ok_or(anyhow!("failed to get runtime config"))?; - - help::save_yaml(&path, &config, Some("# Generated by Clash Verge"))?; - Ok(path) - } - - /// 生成配置存好 - pub fn generate() -> Result<()> { - let (config, exists_keys, logs) = enhance::enhance(); - - *Config::runtime().draft() = IRuntime { - config: Some(config), - exists_keys, - chain_logs: logs, - }; - - Ok(()) - } -} - -#[derive(Debug)] -pub enum ConfigType { - Run, - Check, -} diff --git a/src-tauri/src/config/draft.rs b/src-tauri/src/config/draft.rs deleted file mode 100644 index 5876f1b..0000000 --- a/src-tauri/src/config/draft.rs +++ /dev/null @@ -1,127 +0,0 @@ -use super::{IClashTemp, IProfiles, IRuntime, IVerge}; -use parking_lot::{MappedMutexGuard, Mutex, MutexGuard}; -use std::sync::Arc; - -#[derive(Debug, Clone)] -pub struct Draft { - inner: Arc)>>, -} - -macro_rules! draft_define { - ($id: ident) => { - impl Draft<$id> { - #[allow(unused)] - pub fn data(&self) -> MappedMutexGuard<$id> { - MutexGuard::map(self.inner.lock(), |guard| &mut guard.0) - } - - pub fn latest(&self) -> MappedMutexGuard<$id> { - MutexGuard::map(self.inner.lock(), |inner| { - if inner.1.is_none() { - &mut inner.0 - } else { - inner.1.as_mut().unwrap() - } - }) - } - - pub fn draft(&self) -> MappedMutexGuard<$id> { - MutexGuard::map(self.inner.lock(), |inner| { - if inner.1.is_none() { - inner.1 = Some(inner.0.clone()); - } - - inner.1.as_mut().unwrap() - }) - } - - pub fn apply(&self) -> Option<$id> { - let mut inner = self.inner.lock(); - - match inner.1.take() { - Some(draft) => { - let old_value = inner.0.to_owned(); - inner.0 = draft.to_owned(); - Some(old_value) - } - None => None, - } - } - - pub fn discard(&self) -> Option<$id> { - let mut inner = self.inner.lock(); - inner.1.take() - } - } - - impl From<$id> for Draft<$id> { - fn from(data: $id) -> Self { - Draft { - inner: Arc::new(Mutex::new((data, None))), - } - } - } - }; -} - -// draft_define!(IClash); -draft_define!(IClashTemp); -draft_define!(IProfiles); -draft_define!(IRuntime); -draft_define!(IVerge); - -#[test] -fn test_draft() { - let verge = IVerge { - enable_auto_launch: Some(true), - enable_tun_mode: Some(false), - ..IVerge::default() - }; - - let draft = Draft::from(verge); - - assert_eq!(draft.data().enable_auto_launch, Some(true)); - assert_eq!(draft.data().enable_tun_mode, Some(false)); - - assert_eq!(draft.draft().enable_auto_launch, Some(true)); - assert_eq!(draft.draft().enable_tun_mode, Some(false)); - - let mut d = draft.draft(); - d.enable_auto_launch = Some(false); - d.enable_tun_mode = Some(true); - drop(d); - - assert_eq!(draft.data().enable_auto_launch, Some(true)); - assert_eq!(draft.data().enable_tun_mode, Some(false)); - - assert_eq!(draft.draft().enable_auto_launch, Some(false)); - assert_eq!(draft.draft().enable_tun_mode, Some(true)); - - assert_eq!(draft.latest().enable_auto_launch, Some(false)); - assert_eq!(draft.latest().enable_tun_mode, Some(true)); - - assert!(draft.apply().is_some()); - assert!(draft.apply().is_none()); - - assert_eq!(draft.data().enable_auto_launch, Some(false)); - assert_eq!(draft.data().enable_tun_mode, Some(true)); - - assert_eq!(draft.draft().enable_auto_launch, Some(false)); - assert_eq!(draft.draft().enable_tun_mode, Some(true)); - - let mut d = draft.draft(); - d.enable_auto_launch = Some(true); - drop(d); - - assert_eq!(draft.data().enable_auto_launch, Some(false)); - - assert_eq!(draft.draft().enable_auto_launch, Some(true)); - - assert!(draft.discard().is_some()); - - assert_eq!(draft.data().enable_auto_launch, Some(false)); - - assert!(draft.discard().is_none()); - - assert_eq!(draft.draft().enable_auto_launch, Some(false)); -} diff --git a/src-tauri/src/config/mod.rs b/src-tauri/src/config/mod.rs deleted file mode 100644 index b246a76..0000000 --- a/src-tauri/src/config/mod.rs +++ /dev/null @@ -1,15 +0,0 @@ -mod clash; -mod config; -mod draft; -mod prfitem; -mod profiles; -mod runtime; -mod verge; - -pub use self::clash::*; -pub use self::config::*; -pub use self::draft::*; -pub use self::prfitem::*; -pub use self::profiles::*; -pub use self::runtime::*; -pub use self::verge::*; diff --git a/src-tauri/src/config/prfitem.rs b/src-tauri/src/config/prfitem.rs deleted file mode 100644 index 1e1d4a8..0000000 --- a/src-tauri/src/config/prfitem.rs +++ /dev/null @@ -1,374 +0,0 @@ -use crate::utils::{dirs, help, tmpl}; -use anyhow::{bail, Context, Result}; -use reqwest::StatusCode; -use serde::{Deserialize, Serialize}; -use serde_yaml::Mapping; -use std::fs; -use sysproxy::Sysproxy; - -use super::Config; - -#[derive(Debug, Clone, Deserialize, Serialize)] -pub struct PrfItem { - pub uid: Option, - - /// profile item type - /// enum value: remote | local | script | merge - #[serde(rename = "type")] - pub itype: Option, - - /// profile name - pub name: Option, - - /// profile file - pub file: Option, - - /// profile description - #[serde(skip_serializing_if = "Option::is_none")] - pub desc: Option, - - /// source url - #[serde(skip_serializing_if = "Option::is_none")] - pub url: Option, - - /// selected information - #[serde(skip_serializing_if = "Option::is_none")] - pub selected: Option>, - - /// subscription user info - #[serde(skip_serializing_if = "Option::is_none")] - pub extra: Option, - - /// updated time - pub updated: Option, - - /// some options of the item - #[serde(skip_serializing_if = "Option::is_none")] - pub option: Option, - - /// the file data - #[serde(skip)] - pub file_data: Option, -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize)] -pub struct PrfSelected { - pub name: Option, - pub now: Option, -} - -#[derive(Default, Debug, Clone, Copy, Deserialize, Serialize)] -pub struct PrfExtra { - pub upload: usize, - pub download: usize, - pub total: usize, - pub expire: usize, -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] -pub struct PrfOption { - /// for `remote` profile's http request - /// see issue #13 - #[serde(skip_serializing_if = "Option::is_none")] - pub user_agent: Option, - - /// for `remote` profile - /// use system proxy - #[serde(skip_serializing_if = "Option::is_none")] - pub with_proxy: Option, - - /// for `remote` profile - /// use self proxy - #[serde(skip_serializing_if = "Option::is_none")] - pub self_proxy: Option, - - #[serde(skip_serializing_if = "Option::is_none")] - pub update_interval: Option, -} - -impl PrfOption { - pub fn merge(one: Option, other: Option) -> Option { - match (one, other) { - (Some(mut a), Some(b)) => { - a.user_agent = b.user_agent.or(a.user_agent); - a.with_proxy = b.with_proxy.or(a.with_proxy); - a.self_proxy = b.self_proxy.or(a.self_proxy); - a.update_interval = b.update_interval.or(a.update_interval); - Some(a) - } - t @ _ => t.0.or(t.1), - } - } -} - -impl Default for PrfItem { - fn default() -> Self { - PrfItem { - uid: None, - itype: None, - name: None, - desc: None, - file: None, - url: None, - selected: None, - extra: None, - updated: None, - option: None, - file_data: None, - } - } -} - -impl PrfItem { - /// From partial item - /// must contain `itype` - pub async fn from(item: PrfItem, file_data: Option) -> Result { - if item.itype.is_none() { - bail!("type should not be null"); - } - - match item.itype.unwrap().as_str() { - "remote" => { - if item.url.is_none() { - bail!("url should not be null"); - } - let url = item.url.as_ref().unwrap().as_str(); - let name = item.name; - let desc = item.desc; - PrfItem::from_url(url, name, desc, item.option).await - } - "local" => { - let name = item.name.unwrap_or("Local File".into()); - let desc = item.desc.unwrap_or("".into()); - PrfItem::from_local(name, desc, file_data) - } - "merge" => { - let name = item.name.unwrap_or("Merge".into()); - let desc = item.desc.unwrap_or("".into()); - PrfItem::from_merge(name, desc) - } - "script" => { - let name = item.name.unwrap_or("Script".into()); - let desc = item.desc.unwrap_or("".into()); - PrfItem::from_script(name, desc) - } - typ @ _ => bail!("invalid profile item type \"{typ}\""), - } - } - - /// ## Local type - /// create a new item from name/desc - pub fn from_local(name: String, desc: String, file_data: Option) -> Result { - let uid = help::get_uid("l"); - let file = format!("{uid}.yaml"); - - Ok(PrfItem { - uid: Some(uid), - itype: Some("local".into()), - name: Some(name), - desc: Some(desc), - file: Some(file), - url: None, - selected: None, - extra: None, - option: None, - updated: Some(chrono::Local::now().timestamp() as usize), - file_data: Some(file_data.unwrap_or(tmpl::ITEM_LOCAL.into())), - }) - } - - /// ## Remote type - /// create a new item from url - pub async fn from_url( - url: &str, - name: Option, - desc: Option, - option: Option, - ) -> Result { - let opt_ref = option.as_ref(); - let with_proxy = opt_ref.map_or(false, |o| o.with_proxy.unwrap_or(false)); - let self_proxy = opt_ref.map_or(false, |o| o.self_proxy.unwrap_or(false)); - let user_agent = opt_ref.map_or(None, |o| o.user_agent.clone()); - - let mut builder = reqwest::ClientBuilder::new().use_rustls_tls().no_proxy(); - - // 使用软件自己的代理 - if self_proxy { - let port = Config::clash().data().get_mixed_port(); - - let proxy_scheme = format!("http://127.0.0.1:{port}"); - - if let Ok(proxy) = reqwest::Proxy::http(&proxy_scheme) { - builder = builder.proxy(proxy); - } - if let Ok(proxy) = reqwest::Proxy::https(&proxy_scheme) { - builder = builder.proxy(proxy); - } - if let Ok(proxy) = reqwest::Proxy::all(&proxy_scheme) { - builder = builder.proxy(proxy); - } - } - // 使用系统代理 - else if with_proxy { - match Sysproxy::get_system_proxy() { - Ok(p @ Sysproxy { enable: true, .. }) => { - let proxy_scheme = format!("http://{}:{}", p.host, p.port); - - if let Ok(proxy) = reqwest::Proxy::http(&proxy_scheme) { - builder = builder.proxy(proxy); - } - if let Ok(proxy) = reqwest::Proxy::https(&proxy_scheme) { - builder = builder.proxy(proxy); - } - if let Ok(proxy) = reqwest::Proxy::all(&proxy_scheme) { - builder = builder.proxy(proxy); - } - } - _ => {} - }; - } - - let version = unsafe { dirs::APP_VERSION }; - let version = format!("clash-verge/{version}"); - builder = builder.user_agent(user_agent.unwrap_or(version)); - - let resp = builder.build()?.get(url).send().await?; - - let status_code = resp.status(); - if !StatusCode::is_success(&status_code) { - bail!("failed to fetch remote profile with status {status_code}") - } - - let header = resp.headers(); - - // parse the Subscription UserInfo - let extra = match header.get("Subscription-Userinfo") { - Some(value) => { - let sub_info = value.to_str().unwrap_or(""); - - Some(PrfExtra { - upload: help::parse_str(sub_info, "upload=").unwrap_or(0), - download: help::parse_str(sub_info, "download=").unwrap_or(0), - total: help::parse_str(sub_info, "total=").unwrap_or(0), - expire: help::parse_str(sub_info, "expire=").unwrap_or(0), - }) - } - None => None, - }; - - // parse the Content-Disposition - let filename = match header.get("Content-Disposition") { - Some(value) => { - let filename = value.to_str().unwrap_or(""); - help::parse_str::(filename, "filename=") - } - None => None, - }; - - // parse the profile-update-interval - let option = match header.get("profile-update-interval") { - Some(value) => match value.to_str().unwrap_or("").parse::() { - Ok(val) => Some(PrfOption { - update_interval: Some(val * 60), // hour -> min - ..PrfOption::default() - }), - Err(_) => None, - }, - None => None, - }; - - let uid = help::get_uid("r"); - let file = format!("{uid}.yaml"); - let name = name.unwrap_or(filename.unwrap_or("Remote File".into())); - let data = resp.text_with_charset("utf-8").await?; - - // process the charset "UTF-8 with BOM" - let data = data.trim_start_matches('\u{feff}'); - - // check the data whether the valid yaml format - let yaml = serde_yaml::from_str::(data) - .context("the remote profile data is invalid yaml")?; - - if !yaml.contains_key("proxies") && !yaml.contains_key("proxy-providers") { - bail!("profile does not contain `proxies` or `proxy-providers`"); - } - - Ok(PrfItem { - uid: Some(uid), - itype: Some("remote".into()), - name: Some(name), - desc, - file: Some(file), - url: Some(url.into()), - selected: None, - extra, - option, - updated: Some(chrono::Local::now().timestamp() as usize), - file_data: Some(data.into()), - }) - } - - /// ## Merge type (enhance) - /// create the enhanced item by using `merge` rule - pub fn from_merge(name: String, desc: String) -> Result { - let uid = help::get_uid("m"); - let file = format!("{uid}.yaml"); - - Ok(PrfItem { - uid: Some(uid), - itype: Some("merge".into()), - name: Some(name), - desc: Some(desc), - file: Some(file), - url: None, - selected: None, - extra: None, - option: None, - updated: Some(chrono::Local::now().timestamp() as usize), - file_data: Some(tmpl::ITEM_MERGE.into()), - }) - } - - /// ## Script type (enhance) - /// create the enhanced item by using javascript quick.js - pub fn from_script(name: String, desc: String) -> Result { - let uid = help::get_uid("s"); - let file = format!("{uid}.js"); // js ext - - Ok(PrfItem { - uid: Some(uid), - itype: Some("script".into()), - name: Some(name), - desc: Some(desc), - file: Some(file), - url: None, - selected: None, - extra: None, - option: None, - updated: Some(chrono::Local::now().timestamp() as usize), - file_data: Some(tmpl::ITEM_SCRIPT.into()), - }) - } - - /// get the file data - pub fn read_file(&self) -> Result { - if self.file.is_none() { - bail!("could not find the file"); - } - - let file = self.file.clone().unwrap(); - let path = dirs::app_profiles_dir()?.join(file); - fs::read_to_string(path).context("failed to read the file") - } - - /// save the file data - pub fn save_file(&self, data: String) -> Result<()> { - if self.file.is_none() { - bail!("could not find the file"); - } - - let file = self.file.clone().unwrap(); - let path = dirs::app_profiles_dir()?.join(file); - fs::write(path, data.as_bytes()).context("failed to save the file") - } -} diff --git a/src-tauri/src/config/profiles.rs b/src-tauri/src/config/profiles.rs deleted file mode 100644 index 788386a..0000000 --- a/src-tauri/src/config/profiles.rs +++ /dev/null @@ -1,280 +0,0 @@ -use super::prfitem::PrfItem; -use crate::utils::{dirs, help}; -use anyhow::{bail, Context, Result}; -use serde::{Deserialize, Serialize}; -use serde_yaml::Mapping; -use std::{fs, io::Write}; - -/// Define the `profiles.yaml` schema -#[derive(Default, Debug, Clone, Deserialize, Serialize)] -pub struct IProfiles { - /// same as PrfConfig.current - pub current: Option, - - /// same as PrfConfig.chain - pub chain: Option>, - - /// record valid fields for clash - pub valid: Option>, - - /// profile list - pub items: Option>, -} - -macro_rules! patch { - ($lv: expr, $rv: expr, $key: tt) => { - if ($rv.$key).is_some() { - $lv.$key = $rv.$key; - } - }; -} - -impl IProfiles { - pub fn new() -> Self { - match dirs::profiles_path().and_then(|path| help::read_yaml::(&path)) { - Ok(mut profiles) => { - if profiles.items.is_none() { - profiles.items = Some(vec![]); - } - // compatible with the old old old version - profiles.items.as_mut().map(|items| { - for item in items.iter_mut() { - if item.uid.is_none() { - item.uid = Some(help::get_uid("d")); - } - } - }); - profiles - } - Err(err) => { - log::error!(target: "app", "{err}"); - Self::template() - } - } - } - - pub fn template() -> Self { - Self { - valid: Some(vec!["dns".into(), "sub-rules".into(), "unified-delay".into()]), - items: Some(vec![]), - ..Self::default() - } - } - - pub fn save_file(&self) -> Result<()> { - help::save_yaml( - &dirs::profiles_path()?, - self, - Some("# Profiles Config for Clash Verge"), - ) - } - - /// 只修改current,valid和chain - pub fn patch_config(&mut self, patch: IProfiles) -> Result<()> { - if self.items.is_none() { - self.items = Some(vec![]); - } - - if let Some(current) = patch.current { - let items = self.items.as_ref().unwrap(); - let some_uid = Some(current); - - if items.iter().any(|e| e.uid == some_uid) { - self.current = some_uid; - } - } - - if let Some(chain) = patch.chain { - self.chain = Some(chain); - } - - if let Some(valid) = patch.valid { - self.valid = Some(valid); - } - - Ok(()) - } - - pub fn get_current(&self) -> Option { - self.current.clone() - } - - /// get items ref - pub fn get_items(&self) -> Option<&Vec> { - self.items.as_ref() - } - - /// find the item by the uid - pub fn get_item(&self, uid: &String) -> Result<&PrfItem> { - if let Some(items) = self.items.as_ref() { - let some_uid = Some(uid.clone()); - - for each in items.iter() { - if each.uid == some_uid { - return Ok(each); - } - } - } - - bail!("failed to get the profile item \"uid:{uid}\""); - } - - /// append new item - /// if the file_data is some - /// then should save the data to file - pub fn append_item(&mut self, mut item: PrfItem) -> Result<()> { - if item.uid.is_none() { - bail!("the uid should not be null"); - } - - // save the file data - // move the field value after save - if let Some(file_data) = item.file_data.take() { - if item.file.is_none() { - bail!("the file should not be null"); - } - - let file = item.file.clone().unwrap(); - let path = dirs::app_profiles_dir()?.join(&file); - - fs::File::create(path) - .with_context(|| format!("failed to create file \"{}\"", file))? - .write(file_data.as_bytes()) - .with_context(|| format!("failed to write to file \"{}\"", file))?; - } - - if self.items.is_none() { - self.items = Some(vec![]); - } - - self.items.as_mut().map(|items| items.push(item)); - self.save_file() - } - - /// update the item value - pub fn patch_item(&mut self, uid: String, item: PrfItem) -> Result<()> { - let mut items = self.items.take().unwrap_or(vec![]); - - for each in items.iter_mut() { - if each.uid == Some(uid.clone()) { - patch!(each, item, itype); - patch!(each, item, name); - patch!(each, item, desc); - patch!(each, item, file); - patch!(each, item, url); - patch!(each, item, selected); - patch!(each, item, extra); - patch!(each, item, updated); - patch!(each, item, option); - - self.items = Some(items); - return self.save_file(); - } - } - - self.items = Some(items); - bail!("failed to find the profile item \"uid:{uid}\"") - } - - /// be used to update the remote item - /// only patch `updated` `extra` `file_data` - pub fn update_item(&mut self, uid: String, mut item: PrfItem) -> Result<()> { - if self.items.is_none() { - self.items = Some(vec![]); - } - - // find the item - let _ = self.get_item(&uid)?; - - if let Some(items) = self.items.as_mut() { - let some_uid = Some(uid.clone()); - - for each in items.iter_mut() { - if each.uid == some_uid { - each.extra = item.extra; - each.updated = item.updated; - - // save the file data - // move the field value after save - if let Some(file_data) = item.file_data.take() { - let file = each.file.take(); - let file = - file.unwrap_or(item.file.take().unwrap_or(format!("{}.yaml", &uid))); - - // the file must exists - each.file = Some(file.clone()); - - let path = dirs::app_profiles_dir()?.join(&file); - - fs::File::create(path) - .with_context(|| format!("failed to create file \"{}\"", file))? - .write(file_data.as_bytes()) - .with_context(|| format!("failed to write to file \"{}\"", file))?; - } - - break; - } - } - } - - self.save_file() - } - - /// delete item - /// if delete the current then return true - pub fn delete_item(&mut self, uid: String) -> Result { - let current = self.current.as_ref().unwrap_or(&uid); - let current = current.clone(); - - let mut items = self.items.take().unwrap_or(vec![]); - let mut index = None; - - // get the index - for i in 0..items.len() { - if items[i].uid == Some(uid.clone()) { - index = Some(i); - break; - } - } - - if let Some(index) = index { - items.remove(index).file.map(|file| { - let _ = dirs::app_profiles_dir().map(|path| { - let path = path.join(file); - if path.exists() { - let _ = fs::remove_file(path); - } - }); - }); - } - - // delete the original uid - if current == uid { - self.current = match items.len() > 0 { - true => items[0].uid.clone(), - false => None, - }; - } - - self.items = Some(items); - self.save_file()?; - Ok(current == uid) - } - - /// 获取current指向的配置内容 - pub fn current_mapping(&self) -> Result { - match (self.current.as_ref(), self.items.as_ref()) { - (Some(current), Some(items)) => { - if let Some(item) = items.iter().find(|e| e.uid.as_ref() == Some(current)) { - let file_path = match item.file.as_ref() { - Some(file) => dirs::app_profiles_dir()?.join(file), - None => bail!("failed to get the file field"), - }; - return Ok(help::read_merge_mapping(&file_path)?); - } - bail!("failed to find the current profile \"uid:{current}\""); - } - _ => Ok(Mapping::new()), - } - } -} diff --git a/src-tauri/src/config/runtime.rs b/src-tauri/src/config/runtime.rs deleted file mode 100644 index cce376b..0000000 --- a/src-tauri/src/config/runtime.rs +++ /dev/null @@ -1,31 +0,0 @@ -use serde::{Deserialize, Serialize}; -use serde_yaml::Mapping; -use std::collections::HashMap; - -#[derive(Default, Debug, Clone, Deserialize, Serialize)] -pub struct IRuntime { - pub config: Option, - // 记录在配置中(包括merge和script生成的)出现过的keys - // 这些keys不一定都生效 - pub exists_keys: Vec, - pub chain_logs: HashMap>, -} - -impl IRuntime { - pub fn new() -> Self { - Self::default() - } - - // 这里只更改 allow-lan | ipv6 | log-level - pub fn patch_config(&mut self, patch: Mapping) { - if let Some(config) = self.config.as_mut() { - ["allow-lan", "ipv6", "log-level"] - .into_iter() - .for_each(|key| { - if let Some(value) = patch.get(key).to_owned() { - config.insert(key.into(), value.clone()); - } - }); - } - } -} diff --git a/src-tauri/src/config/verge.rs b/src-tauri/src/config/verge.rs deleted file mode 100644 index 961280e..0000000 --- a/src-tauri/src/config/verge.rs +++ /dev/null @@ -1,224 +0,0 @@ -use crate::utils::{dirs, help}; -use anyhow::Result; -use log::LevelFilter; -use serde::{Deserialize, Serialize}; - -/// ### `verge.yaml` schema -#[derive(Default, Debug, Clone, Deserialize, Serialize)] -pub struct IVerge { - /// app listening port for app singleton - pub app_singleton_port: Option, - - /// app log level - /// silent | error | warn | info | debug | trace - pub app_log_level: Option, - - // i18n - pub language: Option, - - /// `light` or `dark` or `system` - pub theme_mode: Option, - - /// enable blur mode - /// maybe be able to set the alpha - pub theme_blur: Option, - - /// enable traffic graph default is true - pub traffic_graph: Option, - - /// show memory info (only for Clash Meta) - pub enable_memory_usage: Option, - - /// clash tun mode - pub enable_tun_mode: Option, - - /// windows service mode - #[serde(skip_serializing_if = "Option::is_none")] - pub enable_service_mode: Option, - - /// can the app auto startup - pub enable_auto_launch: Option, - - /// not show the window on launch - pub enable_silent_start: Option, - - /// set system proxy - pub enable_system_proxy: Option, - - /// enable proxy guard - pub enable_proxy_guard: Option, - - /// set system proxy bypass - pub system_proxy_bypass: Option, - - /// proxy guard duration - pub proxy_guard_duration: Option, - - /// theme setting - pub theme_setting: Option, - - /// web ui list - pub web_ui_list: Option>, - - /// clash core path - #[serde(skip_serializing_if = "Option::is_none")] - pub clash_core: Option, - - /// hotkey map - /// format: {func},{key} - pub hotkeys: Option>, - - /// 切换代理时自动关闭连接 - pub auto_close_connection: Option, - - /// 默认的延迟测试连接 - pub default_latency_test: Option, - - /// 支持关闭字段过滤,避免meta的新字段都被过滤掉,默认为真 - pub enable_clash_fields: Option, - - /// 是否使用内部的脚本支持,默认为真 - pub enable_builtin_enhanced: Option, - - /// proxy 页面布局 列数 - pub proxy_layout_column: Option, - - /// 日志清理 - /// 0: 不清理; 1: 7天; 2: 30天; 3: 90天 - pub auto_log_clean: Option, - - /// window size and position - #[serde(skip_serializing_if = "Option::is_none")] - pub window_size_position: Option>, -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize)] -pub struct IVergeTheme { - pub primary_color: Option, - pub secondary_color: Option, - pub primary_text: Option, - pub secondary_text: Option, - - pub info_color: Option, - pub error_color: Option, - pub warning_color: Option, - pub success_color: Option, - - pub font_family: Option, - pub css_injection: Option, -} - -impl IVerge { - pub fn new() -> Self { - match dirs::verge_path().and_then(|path| help::read_yaml::(&path)) { - Ok(config) => config, - Err(err) => { - log::error!(target: "app", "{err}"); - Self::template() - } - } - } - - pub fn template() -> Self { - Self { - clash_core: match cfg!(feature = "default-meta") { - false => Some("clash".into()), - true => Some("clash-meta".into()), - }, - language: match cfg!(feature = "default-meta") { - false => Some("en".into()), - true => Some("zh".into()), - }, - theme_mode: Some("system".into()), - theme_blur: Some(false), - traffic_graph: Some(true), - enable_memory_usage: Some(true), - enable_auto_launch: Some(false), - enable_silent_start: Some(false), - enable_system_proxy: Some(false), - enable_proxy_guard: Some(false), - proxy_guard_duration: Some(30), - auto_close_connection: Some(true), - enable_builtin_enhanced: Some(true), - enable_clash_fields: Some(true), - auto_log_clean: Some(3), - ..Self::default() - } - } - - /// Save IVerge App Config - pub fn save_file(&self) -> Result<()> { - help::save_yaml(&dirs::verge_path()?, &self, Some("# Clash Verge Config")) - } - - /// patch verge config - /// only save to file - pub fn patch_config(&mut self, patch: IVerge) { - macro_rules! patch { - ($key: tt) => { - if patch.$key.is_some() { - self.$key = patch.$key; - } - }; - } - - patch!(app_log_level); - patch!(language); - patch!(theme_mode); - patch!(theme_blur); - patch!(traffic_graph); - patch!(enable_memory_usage); - - patch!(enable_tun_mode); - patch!(enable_service_mode); - patch!(enable_auto_launch); - patch!(enable_silent_start); - patch!(enable_system_proxy); - patch!(enable_proxy_guard); - patch!(system_proxy_bypass); - patch!(proxy_guard_duration); - - patch!(theme_setting); - patch!(web_ui_list); - patch!(clash_core); - patch!(hotkeys); - - patch!(auto_close_connection); - patch!(default_latency_test); - patch!(enable_builtin_enhanced); - patch!(proxy_layout_column); - patch!(enable_clash_fields); - patch!(auto_log_clean); - patch!(window_size_position); - } - - /// 在初始化前尝试拿到单例端口的值 - pub fn get_singleton_port() -> u16 { - #[cfg(not(feature = "verge-dev"))] - const SERVER_PORT: u16 = 33331; - #[cfg(feature = "verge-dev")] - const SERVER_PORT: u16 = 11233; - - match dirs::verge_path().and_then(|path| help::read_yaml::(&path)) { - Ok(config) => config.app_singleton_port.unwrap_or(SERVER_PORT), - Err(_) => SERVER_PORT, // 这里就不log错误了 - } - } - - /// 获取日志等级 - pub fn get_log_level(&self) -> LevelFilter { - if let Some(level) = self.app_log_level.as_ref() { - match level.to_lowercase().as_str() { - "silent" => LevelFilter::Off, - "error" => LevelFilter::Error, - "warn" => LevelFilter::Warn, - "info" => LevelFilter::Info, - "debug" => LevelFilter::Debug, - "trace" => LevelFilter::Trace, - _ => LevelFilter::Info, - } - } else { - LevelFilter::Info - } - } -} diff --git a/src-tauri/src/core/clash_api.rs b/src-tauri/src/core/clash_api.rs deleted file mode 100644 index 0636b41..0000000 --- a/src-tauri/src/core/clash_api.rs +++ /dev/null @@ -1,141 +0,0 @@ -use crate::config::Config; -use anyhow::{bail, Result}; -use reqwest::header::HeaderMap; -use serde::{Deserialize, Serialize}; -use serde_yaml::Mapping; -use std::collections::HashMap; - -/// PUT /configs -/// path 是绝对路径 -pub async fn put_configs(path: &str) -> Result<()> { - let (url, headers) = clash_client_info()?; - let url = format!("{url}/configs"); - - let mut data = HashMap::new(); - data.insert("path", path); - - let client = reqwest::ClientBuilder::new().no_proxy().build()?; - let builder = client.put(&url).headers(headers).json(&data); - let response = builder.send().await?; - - match response.status().as_u16() { - 204 => Ok(()), - status @ _ => { - bail!("failed to put configs with status \"{status}\"") - } - } -} - -/// PATCH /configs -pub async fn patch_configs(config: &Mapping) -> Result<()> { - let (url, headers) = clash_client_info()?; - let url = format!("{url}/configs"); - - let client = reqwest::ClientBuilder::new().no_proxy().build()?; - let builder = client.patch(&url).headers(headers.clone()).json(config); - builder.send().await?; - Ok(()) -} - -#[derive(Default, Debug, Clone, Deserialize, Serialize)] -pub struct DelayRes { - delay: u64, -} - -/// GET /proxies/{name}/delay -/// 获取代理延迟 -pub async fn get_proxy_delay(name: String, test_url: Option) -> Result { - let (url, headers) = clash_client_info()?; - let url = format!("{url}/proxies/{name}/delay"); - - let default_url = "http://www.gstatic.com/generate_204"; - let test_url = test_url - .map(|s| if s.is_empty() { default_url.into() } else { s }) - .unwrap_or(default_url.into()); - - let client = reqwest::ClientBuilder::new().no_proxy().build()?; - let builder = client - .get(&url) - .headers(headers) - .query(&[("timeout", "10000"), ("url", &test_url)]); - let response = builder.send().await?; - - Ok(response.json::().await?) -} - -/// 根据clash info获取clash服务地址和请求头 -fn clash_client_info() -> Result<(String, HeaderMap)> { - let client = { Config::clash().data().get_client_info() }; - - let server = format!("http://{}", client.server); - - let mut headers = HeaderMap::new(); - headers.insert("Content-Type", "application/json".parse()?); - - if let Some(secret) = client.secret { - let secret = format!("Bearer {}", secret).parse()?; - headers.insert("Authorization", secret); - } - - Ok((server, headers)) -} - -/// 缩短clash的日志 -pub fn parse_log(log: String) -> String { - if log.starts_with("time=") && log.len() > 33 { - return (&log[33..]).to_owned(); - } - if log.len() > 9 { - return (&log[9..]).to_owned(); - } - return log; -} - -/// 缩短clash -t的错误输出 -/// 仅适配 clash p核 8-26、clash meta 1.13.1 -pub fn parse_check_output(log: String) -> String { - let t = log.find("time="); - let m = log.find("msg="); - let mr = log.rfind('"'); - - if let (Some(_), Some(m), Some(mr)) = (t, m, mr) { - let e = match log.find("level=error msg=") { - Some(e) => e + 17, - None => m + 5, - }; - - if mr > m { - return (&log[e..mr]).to_owned(); - } - } - - let l = log.find("error="); - let r = log.find("path=").or(Some(log.len())); - - if let (Some(l), Some(r)) = (l, r) { - return (&log[(l + 6)..(r - 1)]).to_owned(); - } - - log -} - -#[test] -fn test_parse_check_output() { - let str1 = r#"xxxx\n time="2022-11-18T20:42:58+08:00" level=error msg="proxy 0: 'alpn' expected type 'string', got unconvertible type '[]interface {}'""#; - let str2 = r#"20:43:49 ERR [Config] configuration file test failed error=proxy 0: unsupport proxy type: hysteria path=xxx"#; - let str3 = r#" - "time="2022-11-18T21:38:01+08:00" level=info msg="Start initial configuration in progress" - time="2022-11-18T21:38:01+08:00" level=error msg="proxy 0: 'alpn' expected type 'string', got unconvertible type '[]interface {}'" - configuration file xxx\n - "#; - - let res1 = parse_check_output(str1.into()); - let res2 = parse_check_output(str2.into()); - let res3 = parse_check_output(str3.into()); - - println!("res1: {res1}"); - println!("res2: {res2}"); - println!("res3: {res3}"); - - assert_eq!(res1, res3); -} diff --git a/src-tauri/src/core/core.rs b/src-tauri/src/core/core.rs deleted file mode 100644 index 6b3053b..0000000 --- a/src-tauri/src/core/core.rs +++ /dev/null @@ -1,325 +0,0 @@ -use super::{clash_api, logger::Logger}; -use crate::log_err; -use crate::{config::*, utils::dirs}; -use anyhow::{bail, Context, Result}; -use once_cell::sync::OnceCell; -use parking_lot::Mutex; -use std::{fs, io::Write, sync::Arc, time::Duration}; -use sysinfo::{Pid, PidExt, ProcessExt, System, SystemExt}; -use tauri::api::process::{Command, CommandChild, CommandEvent}; -use tokio::time::sleep; - -#[derive(Debug)] -pub struct CoreManager { - sidecar: Arc>>, - - #[allow(unused)] - use_service_mode: Arc>, -} - -impl CoreManager { - pub fn global() -> &'static CoreManager { - static CORE_MANAGER: OnceCell = OnceCell::new(); - - CORE_MANAGER.get_or_init(|| CoreManager { - sidecar: Arc::new(Mutex::new(None)), - use_service_mode: Arc::new(Mutex::new(false)), - }) - } - - pub fn init(&self) -> Result<()> { - // kill old clash process - let _ = dirs::clash_pid_path() - .and_then(|path| fs::read(path).map(|p| p.to_vec()).context("")) - .and_then(|pid| String::from_utf8_lossy(&pid).parse().context("")) - .map(|pid| { - let mut system = System::new(); - system.refresh_all(); - system.process(Pid::from_u32(pid)).map(|proc| { - if proc.name().contains("clash") { - log::debug!(target: "app", "kill old clash process"); - proc.kill(); - } - }); - }); - - tauri::async_runtime::spawn(async { - // 启动clash - log_err!(Self::global().run_core().await); - }); - - Ok(()) - } - - /// 检查配置是否正确 - pub fn check_config(&self) -> Result<()> { - let config_path = Config::generate_file(ConfigType::Check)?; - let config_path = dirs::path_to_str(&config_path)?; - - let clash_core = { Config::verge().latest().clash_core.clone() }; - let clash_core = clash_core.unwrap_or("clash".into()); - - let app_dir = dirs::app_home_dir()?; - let app_dir = dirs::path_to_str(&app_dir)?; - - let output = Command::new_sidecar(clash_core)? - .args(["-t", "-d", app_dir, "-f", config_path]) - .output()?; - - if !output.status.success() { - let error = clash_api::parse_check_output(output.stdout.clone()); - let error = match error.len() > 0 { - true => error, - false => output.stdout.clone(), - }; - Logger::global().set_log(output.stdout); - bail!("{error}"); - } - - Ok(()) - } - - /// 启动核心 - pub async fn run_core(&self) -> Result<()> { - let config_path = Config::generate_file(ConfigType::Run)?; - - #[allow(unused_mut)] - let mut should_kill = match self.sidecar.lock().take() { - Some(child) => { - log::debug!(target: "app", "stop the core by sidecar"); - let _ = child.kill(); - true - } - None => false, - }; - - #[cfg(target_os = "windows")] - if *self.use_service_mode.lock() { - log::debug!(target: "app", "stop the core by service"); - log_err!(super::win_service::stop_core_by_service().await); - should_kill = true; - } - - // 这里得等一会儿 - if should_kill { - sleep(Duration::from_millis(500)).await; - } - - #[cfg(target_os = "windows")] - { - use super::win_service; - - // 服务模式 - let enable = { Config::verge().latest().enable_service_mode.clone() }; - let enable = enable.unwrap_or(false); - - *self.use_service_mode.lock() = enable; - - if enable { - // 服务模式启动失败就直接运行sidecar - log::debug!(target: "app", "try to run core in service mode"); - - match (|| async { - win_service::check_service().await?; - win_service::run_core_by_service(&config_path).await - })() - .await - { - Ok(_) => return Ok(()), - Err(err) => { - // 修改这个值,免得stop出错 - *self.use_service_mode.lock() = false; - log::error!(target: "app", "{err}"); - } - } - } - } - - let app_dir = dirs::app_home_dir()?; - let app_dir = dirs::path_to_str(&app_dir)?; - - let clash_core = { Config::verge().latest().clash_core.clone() }; - let clash_core = clash_core.unwrap_or("clash".into()); - let is_clash = clash_core == "clash"; - - let config_path = dirs::path_to_str(&config_path)?; - - // fix #212 - let args = match clash_core.as_str() { - "clash-meta" => vec!["-m", "-d", app_dir, "-f", config_path], - _ => vec!["-d", app_dir, "-f", config_path], - }; - - let cmd = Command::new_sidecar(clash_core)?; - let (mut rx, cmd_child) = cmd.args(args).spawn()?; - - // 将pid写入文件中 - crate::log_err!((|| { - let pid = cmd_child.pid(); - let path = dirs::clash_pid_path()?; - fs::File::create(path) - .context("failed to create the pid file")? - .write(format!("{pid}").as_bytes()) - .context("failed to write pid to the file")?; - >::Ok(()) - })()); - - let mut sidecar = self.sidecar.lock(); - *sidecar = Some(cmd_child); - drop(sidecar); - - tauri::async_runtime::spawn(async move { - while let Some(event) = rx.recv().await { - match event { - CommandEvent::Stdout(line) => { - if is_clash { - let stdout = clash_api::parse_log(line.clone()); - log::info!(target: "app", "[clash]: {stdout}"); - } else { - log::info!(target: "app", "[clash]: {line}"); - }; - Logger::global().set_log(line); - } - CommandEvent::Stderr(err) => { - // let stdout = clash_api::parse_log(err.clone()); - log::error!(target: "app", "[clash]: {err}"); - Logger::global().set_log(err); - } - CommandEvent::Error(err) => { - log::error!(target: "app", "[clash]: {err}"); - Logger::global().set_log(err); - } - CommandEvent::Terminated(_) => { - log::info!(target: "app", "clash core terminated"); - let _ = CoreManager::global().recover_core(); - break; - } - _ => {} - } - } - }); - - Ok(()) - } - - /// 重启内核 - pub fn recover_core(&'static self) -> Result<()> { - // 服务模式不管 - #[cfg(target_os = "windows")] - if *self.use_service_mode.lock() { - return Ok(()); - } - - // 清空原来的sidecar值 - if let Some(sidecar) = self.sidecar.lock().take() { - let _ = sidecar.kill(); - } - - tauri::async_runtime::spawn(async move { - // 6秒之后再查看服务是否正常 (时间随便搞的) - // terminated 可能是切换内核 (切换内核已经有500ms的延迟) - sleep(Duration::from_millis(6666)).await; - - if self.sidecar.lock().is_none() { - log::info!(target: "app", "recover clash core"); - - // 重新启动app - if let Err(err) = self.run_core().await { - log::error!(target: "app", "failed to recover clash core"); - log::error!(target: "app", "{err}"); - - let _ = self.recover_core(); - } - } - }); - - Ok(()) - } - - /// 停止核心运行 - pub fn stop_core(&self) -> Result<()> { - #[cfg(target_os = "windows")] - if *self.use_service_mode.lock() { - log::debug!(target: "app", "stop the core by service"); - tauri::async_runtime::block_on(async move { - log_err!(super::win_service::stop_core_by_service().await); - }); - return Ok(()); - } - - let mut sidecar = self.sidecar.lock(); - if let Some(child) = sidecar.take() { - log::debug!(target: "app", "stop the core by sidecar"); - let _ = child.kill(); - } - Ok(()) - } - - /// 切换核心 - pub async fn change_core(&self, clash_core: Option) -> Result<()> { - let clash_core = clash_core.ok_or(anyhow::anyhow!("clash core is null"))?; - - if &clash_core != "clash" && &clash_core != "clash-meta" { - bail!("invalid clash core name \"{clash_core}\""); - } - - log::debug!(target: "app", "change core to `{clash_core}`"); - - Config::verge().draft().clash_core = Some(clash_core); - - // 更新配置 - Config::generate()?; - - self.check_config()?; - - // 清掉旧日志 - Logger::global().clear_log(); - - match self.run_core().await { - Ok(_) => { - Config::verge().apply(); - Config::runtime().apply(); - log_err!(Config::verge().latest().save_file()); - Ok(()) - } - Err(err) => { - Config::verge().discard(); - Config::runtime().discard(); - Err(err) - } - } - } - - /// 更新proxies那些 - /// 如果涉及端口和外部控制则需要重启 - pub async fn update_config(&self) -> Result<()> { - log::debug!(target: "app", "try to update clash config"); - - // 更新配置 - Config::generate()?; - - // 检查配置是否正常 - self.check_config()?; - - // 更新运行时配置 - let path = Config::generate_file(ConfigType::Run)?; - let path = dirs::path_to_str(&path)?; - - // 发送请求 发送5次 - for i in 0..5 { - match clash_api::put_configs(path).await { - Ok(_) => break, - Err(err) => { - if i < 4 { - log::info!(target: "app", "{err}"); - } else { - bail!(err); - } - } - } - sleep(Duration::from_millis(250)).await; - } - - Ok(()) - } -} diff --git a/src-tauri/src/core/handle.rs b/src-tauri/src/core/handle.rs deleted file mode 100644 index 5b46cea..0000000 --- a/src-tauri/src/core/handle.rs +++ /dev/null @@ -1,77 +0,0 @@ -use super::tray::Tray; -use crate::log_err; -use anyhow::{bail, Result}; -use once_cell::sync::OnceCell; -use parking_lot::Mutex; -use std::sync::Arc; -use tauri::{AppHandle, Manager, Window}; - -#[derive(Debug, Default, Clone)] -pub struct Handle { - pub app_handle: Arc>>, -} - -impl Handle { - pub fn global() -> &'static Handle { - static HANDLE: OnceCell = OnceCell::new(); - - HANDLE.get_or_init(|| Handle { - app_handle: Arc::new(Mutex::new(None)), - }) - } - - pub fn init(&self, app_handle: AppHandle) { - *self.app_handle.lock() = Some(app_handle); - } - - pub fn get_window(&self) -> Option { - self.app_handle - .lock() - .as_ref() - .map_or(None, |a| a.get_window("main")) - } - - pub fn refresh_clash() { - if let Some(window) = Self::global().get_window() { - log_err!(window.emit("verge://refresh-clash-config", "yes")); - } - } - - pub fn refresh_verge() { - if let Some(window) = Self::global().get_window() { - log_err!(window.emit("verge://refresh-verge-config", "yes")); - } - } - - #[allow(unused)] - pub fn refresh_profiles() { - if let Some(window) = Self::global().get_window() { - log_err!(window.emit("verge://refresh-profiles-config", "yes")); - } - } - - pub fn notice_message, M: Into>(status: S, msg: M) { - if let Some(window) = Self::global().get_window() { - log_err!(window.emit("verge://notice-message", (status.into(), msg.into()))); - } - } - - pub fn update_systray() -> Result<()> { - let app_handle = Self::global().app_handle.lock(); - if app_handle.is_none() { - bail!("update_systray unhandled error"); - } - Tray::update_systray(app_handle.as_ref().unwrap())?; - Ok(()) - } - - /// update the system tray state - pub fn update_systray_part() -> Result<()> { - let app_handle = Self::global().app_handle.lock(); - if app_handle.is_none() { - bail!("update_systray unhandled error"); - } - Tray::update_part(app_handle.as_ref().unwrap())?; - Ok(()) - } -} diff --git a/src-tauri/src/core/hotkey.rs b/src-tauri/src/core/hotkey.rs deleted file mode 100644 index cd4c149..0000000 --- a/src-tauri/src/core/hotkey.rs +++ /dev/null @@ -1,181 +0,0 @@ -use crate::{config::Config, feat, log_err}; -use anyhow::{bail, Result}; -use once_cell::sync::OnceCell; -use parking_lot::Mutex; -use std::{collections::HashMap, sync::Arc}; -use tauri::{AppHandle, GlobalShortcutManager}; -use wry::application::accelerator::Accelerator; - -pub struct Hotkey { - current: Arc>>, // 保存当前的热键设置 - - app_handle: Arc>>, -} - -impl Hotkey { - pub fn global() -> &'static Hotkey { - static HOTKEY: OnceCell = OnceCell::new(); - - HOTKEY.get_or_init(|| Hotkey { - current: Arc::new(Mutex::new(Vec::new())), - app_handle: Arc::new(Mutex::new(None)), - }) - } - - pub fn init(&self, app_handle: AppHandle) -> Result<()> { - *self.app_handle.lock() = Some(app_handle); - - let verge = Config::verge(); - - if let Some(hotkeys) = verge.latest().hotkeys.as_ref() { - for hotkey in hotkeys.iter() { - let mut iter = hotkey.split(','); - let func = iter.next(); - let key = iter.next(); - - match (key, func) { - (Some(key), Some(func)) => { - log_err!(Self::check_key(key).and_then(|_| self.register(key, func))); - } - _ => { - let key = key.unwrap_or("None"); - let func = func.unwrap_or("None"); - log::error!(target: "app", "invalid hotkey `{key}`:`{func}`"); - } - } - } - *self.current.lock() = hotkeys.clone(); - } - - Ok(()) - } - - /// 检查一个键是否合法 - fn check_key(hotkey: &str) -> Result<()> { - // fix #287 - // tauri的这几个方法全部有Result expect,会panic,先检测一遍避免挂了 - if hotkey.parse::().is_err() { - bail!("invalid hotkey `{hotkey}`"); - } - Ok(()) - } - - fn get_manager(&self) -> Result { - let app_handle = self.app_handle.lock(); - if app_handle.is_none() { - bail!("failed to get the hotkey manager"); - } - Ok(app_handle.as_ref().unwrap().global_shortcut_manager()) - } - - fn register(&self, hotkey: &str, func: &str) -> Result<()> { - let mut manager = self.get_manager()?; - - if manager.is_registered(hotkey)? { - manager.unregister(hotkey)?; - } - - let f = match func.trim() { - "open_dashboard" => || feat::open_dashboard(), - "clash_mode_rule" => || feat::change_clash_mode("rule".into()), - "clash_mode_global" => || feat::change_clash_mode("global".into()), - "clash_mode_direct" => || feat::change_clash_mode("direct".into()), - "clash_mode_script" => || feat::change_clash_mode("script".into()), - "toggle_system_proxy" => || feat::toggle_system_proxy(), - "enable_system_proxy" => || feat::enable_system_proxy(), - "disable_system_proxy" => || feat::disable_system_proxy(), - "toggle_tun_mode" => || feat::toggle_tun_mode(), - "enable_tun_mode" => || feat::enable_tun_mode(), - "disable_tun_mode" => || feat::disable_tun_mode(), - - _ => bail!("invalid function \"{func}\""), - }; - - manager.register(hotkey, f)?; - log::info!(target: "app", "register hotkey {hotkey} {func}"); - Ok(()) - } - - fn unregister(&self, hotkey: &str) -> Result<()> { - self.get_manager()?.unregister(&hotkey)?; - log::info!(target: "app", "unregister hotkey {hotkey}"); - Ok(()) - } - - pub fn update(&self, new_hotkeys: Vec) -> Result<()> { - let mut current = self.current.lock(); - let old_map = Self::get_map_from_vec(¤t); - let new_map = Self::get_map_from_vec(&new_hotkeys); - - let (del, add) = Self::get_diff(old_map, new_map); - - // 先检查一遍所有新的热键是不是可以用的 - for (hotkey, _) in add.iter() { - Self::check_key(hotkey)?; - } - - del.iter().for_each(|key| { - let _ = self.unregister(key); - }); - - add.iter().for_each(|(key, func)| { - log_err!(self.register(key, func)); - }); - - *current = new_hotkeys; - Ok(()) - } - - fn get_map_from_vec<'a>(hotkeys: &'a Vec) -> HashMap<&'a str, &'a str> { - let mut map = HashMap::new(); - - hotkeys.iter().for_each(|hotkey| { - let mut iter = hotkey.split(','); - let func = iter.next(); - let key = iter.next(); - - if func.is_some() && key.is_some() { - let func = func.unwrap().trim(); - let key = key.unwrap().trim(); - map.insert(key, func); - } - }); - map - } - - fn get_diff<'a>( - old_map: HashMap<&'a str, &'a str>, - new_map: HashMap<&'a str, &'a str>, - ) -> (Vec<&'a str>, Vec<(&'a str, &'a str)>) { - let mut del_list = vec![]; - let mut add_list = vec![]; - - old_map.iter().for_each(|(&key, func)| { - match new_map.get(key) { - Some(new_func) => { - if new_func != func { - del_list.push(key); - add_list.push((key, *new_func)); - } - } - None => del_list.push(key), - }; - }); - - new_map.iter().for_each(|(&key, &func)| { - if old_map.get(key).is_none() { - add_list.push((key, func)); - } - }); - - (del_list, add_list) - } -} - -impl Drop for Hotkey { - fn drop(&mut self) { - if let Ok(mut manager) = self.get_manager() { - let _ = manager.unregister_all(); - } - } -} diff --git a/src-tauri/src/core/logger.rs b/src-tauri/src/core/logger.rs deleted file mode 100644 index b426415..0000000 --- a/src-tauri/src/core/logger.rs +++ /dev/null @@ -1,36 +0,0 @@ -use once_cell::sync::OnceCell; -use parking_lot::Mutex; -use std::{collections::VecDeque, sync::Arc}; - -const LOGS_QUEUE_LEN: usize = 100; - -pub struct Logger { - log_data: Arc>>, -} - -impl Logger { - pub fn global() -> &'static Logger { - static LOGGER: OnceCell = OnceCell::new(); - - LOGGER.get_or_init(|| Logger { - log_data: Arc::new(Mutex::new(VecDeque::with_capacity(LOGS_QUEUE_LEN + 10))), - }) - } - - pub fn get_log(&self) -> VecDeque { - self.log_data.lock().clone() - } - - pub fn set_log(&self, text: String) { - let mut logs = self.log_data.lock(); - if logs.len() > LOGS_QUEUE_LEN { - logs.pop_front(); - } - logs.push_back(text); - } - - pub fn clear_log(&self) { - let mut logs = self.log_data.lock(); - logs.clear(); - } -} diff --git a/src-tauri/src/core/manager.rs b/src-tauri/src/core/manager.rs deleted file mode 100644 index fdb9269..0000000 --- a/src-tauri/src/core/manager.rs +++ /dev/null @@ -1,82 +0,0 @@ -use std::borrow::Cow; - -/// 给clash内核的tun模式授权 -#[cfg(any(target_os = "macos", target_os = "linux"))] -pub fn grant_permission(core: String) -> anyhow::Result<()> { - use std::process::Command; - use tauri::utils::platform::current_exe; - - let path = current_exe()?.with_file_name(core).canonicalize()?; - let path = path.display().to_string(); - - log::debug!("grant_permission path: {path}"); - - #[cfg(target_os = "macos")] - let output = { - // the path of clash /Applications/Clash Verge.app/Contents/MacOS/clash - // https://apple.stackexchange.com/questions/82967/problem-with-empty-spaces-when-executing-shell-commands-in-applescript - // let path = escape(&path); - let path = path.replace(' ', "\\\\ "); - let shell = format!("chown root:admin {path}\nchmod +sx {path}"); - let command = format!(r#"do shell script "{shell}" with administrator privileges"#); - Command::new("osascript") - .args(vec!["-e", &command]) - .output()? - }; - - #[cfg(target_os = "linux")] - let output = { - let path = path.replace(' ', "\\ "); // 避免路径中有空格 - let shell = format!("setcap cap_net_bind_service,cap_net_admin=+ep {path}"); - - let sudo = match Command::new("which").arg("pkexec").output() { - Ok(output) => { - if output.stdout.is_empty() { - "sudo" - } else { - "pkexec" - } - } - Err(_) => "sudo", - }; - - Command::new(sudo).arg("sh").arg("-c").arg(shell).output()? - }; - - if output.status.success() { - Ok(()) - } else { - let stderr = std::str::from_utf8(&output.stderr).unwrap_or(""); - anyhow::bail!("{stderr}"); - } -} - -#[allow(unused)] -pub fn escape<'a>(text: &'a str) -> Cow<'a, str> { - let bytes = text.as_bytes(); - - let mut owned = None; - - for pos in 0..bytes.len() { - let special = match bytes[pos] { - b' ' => Some(b' '), - _ => None, - }; - if let Some(s) = special { - if owned.is_none() { - owned = Some(bytes[0..pos].to_owned()); - } - owned.as_mut().unwrap().push(b'\\'); - owned.as_mut().unwrap().push(b'\\'); - owned.as_mut().unwrap().push(s); - } else if let Some(owned) = owned.as_mut() { - owned.push(bytes[pos]); - } - } - - if let Some(owned) = owned { - unsafe { Cow::Owned(String::from_utf8_unchecked(owned)) } - } else { - unsafe { Cow::Borrowed(std::str::from_utf8_unchecked(bytes)) } - } -} diff --git a/src-tauri/src/core/mod.rs b/src-tauri/src/core/mod.rs deleted file mode 100644 index 4221721..0000000 --- a/src-tauri/src/core/mod.rs +++ /dev/null @@ -1,12 +0,0 @@ -pub mod clash_api; -mod core; -pub mod handle; -pub mod hotkey; -pub mod logger; -pub mod manager; -pub mod sysopt; -pub mod timer; -pub mod tray; -pub mod win_service; - -pub use self::core::*; diff --git a/src-tauri/src/core/sysopt.rs b/src-tauri/src/core/sysopt.rs deleted file mode 100644 index c43114e..0000000 --- a/src-tauri/src/core/sysopt.rs +++ /dev/null @@ -1,304 +0,0 @@ -use crate::{config::Config, log_err}; -use anyhow::{anyhow, Result}; -use auto_launch::{AutoLaunch, AutoLaunchBuilder}; -use once_cell::sync::OnceCell; -use parking_lot::Mutex; -use std::sync::Arc; -use sysproxy::Sysproxy; -use tauri::{async_runtime::Mutex as TokioMutex, utils::platform::current_exe}; - -pub struct Sysopt { - /// current system proxy setting - cur_sysproxy: Arc>>, - - /// record the original system proxy - /// recover it when exit - old_sysproxy: Arc>>, - - /// helps to auto launch the app - auto_launch: Arc>>, - - /// record whether the guard async is running or not - guard_state: Arc>, -} - -#[cfg(target_os = "windows")] -static DEFAULT_BYPASS: &str = "localhost;127.*;192.168.*;"; -#[cfg(target_os = "linux")] -static DEFAULT_BYPASS: &str = "localhost,127.0.0.1,::1"; -#[cfg(target_os = "macos")] -static DEFAULT_BYPASS: &str = "127.0.0.1,localhost,"; - -impl Sysopt { - pub fn global() -> &'static Sysopt { - static SYSOPT: OnceCell = OnceCell::new(); - - SYSOPT.get_or_init(|| Sysopt { - cur_sysproxy: Arc::new(Mutex::new(None)), - old_sysproxy: Arc::new(Mutex::new(None)), - auto_launch: Arc::new(Mutex::new(None)), - guard_state: Arc::new(TokioMutex::new(false)), - }) - } - - /// init the sysproxy - pub fn init_sysproxy(&self) -> Result<()> { - let port = { Config::clash().latest().get_mixed_port() }; - - let (enable, bypass) = { - let verge = Config::verge(); - let verge = verge.latest(); - ( - verge.enable_system_proxy.clone().unwrap_or(false), - verge.system_proxy_bypass.clone(), - ) - }; - - let current = Sysproxy { - enable, - host: String::from("127.0.0.1"), - port, - bypass: bypass.unwrap_or(DEFAULT_BYPASS.into()), - }; - - if enable { - let old = Sysproxy::get_system_proxy().map_or(None, |p| Some(p)); - current.set_system_proxy()?; - - *self.old_sysproxy.lock() = old; - *self.cur_sysproxy.lock() = Some(current); - } - - // run the system proxy guard - self.guard_proxy(); - Ok(()) - } - - /// update the system proxy - pub fn update_sysproxy(&self) -> Result<()> { - let mut cur_sysproxy = self.cur_sysproxy.lock(); - let old_sysproxy = self.old_sysproxy.lock(); - - if cur_sysproxy.is_none() || old_sysproxy.is_none() { - drop(cur_sysproxy); - drop(old_sysproxy); - return self.init_sysproxy(); - } - - let (enable, bypass) = { - let verge = Config::verge(); - let verge = verge.latest(); - ( - verge.enable_system_proxy.clone().unwrap_or(false), - verge.system_proxy_bypass.clone(), - ) - }; - let mut sysproxy = cur_sysproxy.take().unwrap(); - - sysproxy.enable = enable; - sysproxy.bypass = bypass.unwrap_or(DEFAULT_BYPASS.into()); - - sysproxy.set_system_proxy()?; - *cur_sysproxy = Some(sysproxy); - - Ok(()) - } - - /// reset the sysproxy - pub fn reset_sysproxy(&self) -> Result<()> { - let mut cur_sysproxy = self.cur_sysproxy.lock(); - let mut old_sysproxy = self.old_sysproxy.lock(); - - let cur_sysproxy = cur_sysproxy.take(); - - if let Some(mut old) = old_sysproxy.take() { - // 如果原代理和当前代理 端口一致,就disable关闭,否则就恢复原代理设置 - // 当前没有设置代理的时候,不确定旧设置是否和当前一致,全关了 - let port_same = cur_sysproxy.map_or(true, |cur| old.port == cur.port); - - if old.enable && port_same { - old.enable = false; - log::info!(target: "app", "reset proxy by disabling the original proxy"); - } else { - log::info!(target: "app", "reset proxy to the original proxy"); - } - - old.set_system_proxy()?; - } else if let Some(mut cur @ Sysproxy { enable: true, .. }) = cur_sysproxy { - // 没有原代理,就按现在的代理设置disable即可 - log::info!(target: "app", "reset proxy by disabling the current proxy"); - cur.enable = false; - cur.set_system_proxy()?; - } else { - log::info!(target: "app", "reset proxy with no action"); - } - - Ok(()) - } - - /// init the auto launch - pub fn init_launch(&self) -> Result<()> { - let enable = { Config::verge().latest().enable_auto_launch.clone() }; - let enable = enable.unwrap_or(false); - - let app_exe = current_exe()?; - let app_exe = dunce::canonicalize(app_exe)?; - let app_name = app_exe - .file_stem() - .and_then(|f| f.to_str()) - .ok_or(anyhow!("failed to get file stem"))?; - - let app_path = app_exe - .as_os_str() - .to_str() - .ok_or(anyhow!("failed to get app_path"))? - .to_string(); - - // fix issue #26 - #[cfg(target_os = "windows")] - let app_path = format!("\"{app_path}\""); - - // use the /Applications/Clash Verge.app path - #[cfg(target_os = "macos")] - let app_path = (|| -> Option { - let path = std::path::PathBuf::from(&app_path); - let path = path.parent()?.parent()?.parent()?; - let extension = path.extension()?.to_str()?; - match extension == "app" { - true => Some(path.as_os_str().to_str()?.to_string()), - false => None, - } - })() - .unwrap_or(app_path); - - // fix #403 - #[cfg(target_os = "linux")] - let app_path = { - use crate::core::handle::Handle; - use tauri::Manager; - - let handle = Handle::global(); - match handle.app_handle.lock().as_ref() { - Some(app_handle) => { - let appimage = app_handle.env().appimage; - appimage - .and_then(|p| p.to_str().map(|s| s.to_string())) - .unwrap_or(app_path) - } - None => app_path, - } - }; - - let auto = AutoLaunchBuilder::new() - .set_app_name(app_name) - .set_app_path(&app_path) - .build()?; - - // 避免在开发时将自启动关了 - #[cfg(feature = "verge-dev")] - if !enable { - return Ok(()); - } - - #[cfg(target_os = "macos")] - { - if enable && !auto.is_enabled().unwrap_or(false) { - // 避免重复设置登录项 - let _ = auto.disable(); - auto.enable()?; - } else if !enable { - let _ = auto.disable(); - } - } - - #[cfg(not(target_os = "macos"))] - if enable { - auto.enable()?; - } - - *self.auto_launch.lock() = Some(auto); - - Ok(()) - } - - /// update the startup - pub fn update_launch(&self) -> Result<()> { - let auto_launch = self.auto_launch.lock(); - - if auto_launch.is_none() { - drop(auto_launch); - return self.init_launch(); - } - let enable = { Config::verge().latest().enable_auto_launch.clone() }; - let enable = enable.unwrap_or(false); - let auto_launch = auto_launch.as_ref().unwrap(); - - match enable { - true => auto_launch.enable()?, - false => log_err!(auto_launch.disable()), // 忽略关闭的错误 - }; - - Ok(()) - } - - /// launch a system proxy guard - /// read config from file directly - pub fn guard_proxy(&self) { - use tokio::time::{sleep, Duration}; - - let guard_state = self.guard_state.clone(); - - tauri::async_runtime::spawn(async move { - // if it is running, exit - let mut state = guard_state.lock().await; - if *state { - return; - } - *state = true; - drop(state); - - // default duration is 10s - let mut wait_secs = 10u64; - - loop { - sleep(Duration::from_secs(wait_secs)).await; - - let (enable, guard, guard_duration, bypass) = { - let verge = Config::verge(); - let verge = verge.latest(); - ( - verge.enable_system_proxy.clone().unwrap_or(false), - verge.enable_proxy_guard.clone().unwrap_or(false), - verge.proxy_guard_duration.clone().unwrap_or(10), - verge.system_proxy_bypass.clone(), - ) - }; - - // stop loop - if !enable || !guard { - break; - } - - // update duration - wait_secs = guard_duration; - - log::debug!(target: "app", "try to guard the system proxy"); - - let port = { Config::clash().latest().get_mixed_port() }; - - let sysproxy = Sysproxy { - enable: true, - host: "127.0.0.1".into(), - port, - bypass: bypass.unwrap_or(DEFAULT_BYPASS.into()), - }; - - log_err!(sysproxy.set_system_proxy()); - } - - let mut state = guard_state.lock().await; - *state = false; - drop(state); - }); - } -} diff --git a/src-tauri/src/core/timer.rs b/src-tauri/src/core/timer.rs deleted file mode 100644 index 1b40f0f..0000000 --- a/src-tauri/src/core/timer.rs +++ /dev/null @@ -1,184 +0,0 @@ -use crate::config::Config; -use crate::feat; -use anyhow::{Context, Result}; -use delay_timer::prelude::{DelayTimer, DelayTimerBuilder, TaskBuilder}; -use once_cell::sync::OnceCell; -use parking_lot::Mutex; -use std::collections::HashMap; -use std::sync::Arc; - -type TaskID = u64; - -pub struct Timer { - /// cron manager - delay_timer: Arc>, - - /// save the current state - timer_map: Arc>>, - - /// increment id - timer_count: Arc>, -} - -impl Timer { - pub fn global() -> &'static Timer { - static TIMER: OnceCell = OnceCell::new(); - - TIMER.get_or_init(|| Timer { - delay_timer: Arc::new(Mutex::new(DelayTimerBuilder::default().build())), - timer_map: Arc::new(Mutex::new(HashMap::new())), - timer_count: Arc::new(Mutex::new(1)), - }) - } - - /// restore timer - pub fn init(&self) -> Result<()> { - self.refresh()?; - - let cur_timestamp = chrono::Local::now().timestamp(); - - let timer_map = self.timer_map.lock(); - let delay_timer = self.delay_timer.lock(); - - Config::profiles().latest().get_items().map(|items| { - items - .iter() - .filter_map(|item| { - // mins to seconds - let interval = ((item.option.as_ref()?.update_interval?) as i64) * 60; - let updated = item.updated? as i64; - - if interval > 0 && cur_timestamp - updated >= interval { - Some(item) - } else { - None - } - }) - .for_each(|item| { - if let Some(uid) = item.uid.as_ref() { - if let Some((task_id, _)) = timer_map.get(uid) { - crate::log_err!(delay_timer.advance_task(*task_id)); - } - } - }) - }); - - Ok(()) - } - - /// Correctly update all cron tasks - pub fn refresh(&self) -> Result<()> { - let diff_map = self.gen_diff(); - - let mut timer_map = self.timer_map.lock(); - let mut delay_timer = self.delay_timer.lock(); - - for (uid, diff) in diff_map.into_iter() { - match diff { - DiffFlag::Del(tid) => { - let _ = timer_map.remove(&uid); - crate::log_err!(delay_timer.remove_task(tid)); - } - DiffFlag::Add(tid, val) => { - let _ = timer_map.insert(uid.clone(), (tid, val)); - crate::log_err!(self.add_task(&mut delay_timer, uid, tid, val)); - } - DiffFlag::Mod(tid, val) => { - let _ = timer_map.insert(uid.clone(), (tid, val)); - crate::log_err!(delay_timer.remove_task(tid)); - crate::log_err!(self.add_task(&mut delay_timer, uid, tid, val)); - } - } - } - - Ok(()) - } - - /// generate a uid -> update_interval map - fn gen_map(&self) -> HashMap { - let mut new_map = HashMap::new(); - - if let Some(items) = Config::profiles().latest().get_items() { - for item in items.iter() { - if item.option.is_some() { - let option = item.option.as_ref().unwrap(); - let interval = option.update_interval.unwrap_or(0); - - if interval > 0 { - new_map.insert(item.uid.clone().unwrap(), interval); - } - } - } - } - - new_map - } - - /// generate the diff map for refresh - fn gen_diff(&self) -> HashMap { - let mut diff_map = HashMap::new(); - - let timer_map = self.timer_map.lock(); - - let new_map = self.gen_map(); - let cur_map = &timer_map; - - cur_map.iter().for_each(|(uid, (tid, val))| { - let new_val = new_map.get(uid).unwrap_or(&0); - - if *new_val == 0 { - diff_map.insert(uid.clone(), DiffFlag::Del(*tid)); - } else if new_val != val { - diff_map.insert(uid.clone(), DiffFlag::Mod(*tid, *new_val)); - } - }); - - let mut count = self.timer_count.lock(); - - new_map.iter().for_each(|(uid, val)| { - if cur_map.get(uid).is_none() { - diff_map.insert(uid.clone(), DiffFlag::Add(*count, *val)); - - *count += 1; - } - }); - - diff_map - } - - /// add a cron task - fn add_task( - &self, - delay_timer: &mut DelayTimer, - uid: String, - tid: TaskID, - minutes: u64, - ) -> Result<()> { - let task = TaskBuilder::default() - .set_task_id(tid) - .set_maximum_parallel_runnable_num(1) - .set_frequency_repeated_by_minutes(minutes) - // .set_frequency_repeated_by_seconds(minutes) // for test - .spawn_async_routine(move || Self::async_task(uid.to_owned())) - .context("failed to create timer task")?; - - delay_timer - .add_task(task) - .context("failed to add timer task")?; - - Ok(()) - } - - /// the task runner - async fn async_task(uid: String) { - log::info!(target: "app", "running timer task `{uid}`"); - crate::log_err!(feat::update_profile(uid, None).await); - } -} - -#[derive(Debug)] -enum DiffFlag { - Del(TaskID), - Add(TaskID, u64), - Mod(TaskID, u64), -} diff --git a/src-tauri/src/core/tray.rs b/src-tauri/src/core/tray.rs deleted file mode 100644 index 307e35d..0000000 --- a/src-tauri/src/core/tray.rs +++ /dev/null @@ -1,175 +0,0 @@ -use crate::{cmds, config::Config, feat, utils::resolve}; -use anyhow::Result; -use tauri::{ - api, AppHandle, CustomMenuItem, Manager, SystemTrayEvent, SystemTrayMenu, SystemTrayMenuItem, - SystemTraySubmenu, -}; - -pub struct Tray {} - -impl Tray { - pub fn tray_menu(app_handle: &AppHandle) -> SystemTrayMenu { - let zh = { Config::verge().latest().language == Some("zh".into()) }; - - let version = app_handle.package_info().version.to_string(); - - macro_rules! t { - ($en: expr, $zh: expr) => { - if zh { - $zh - } else { - $en - } - }; - } - - SystemTrayMenu::new() - .add_item(CustomMenuItem::new( - "open_window", - t!("Dashboard", "打开面板"), - )) - .add_native_item(SystemTrayMenuItem::Separator) - .add_item(CustomMenuItem::new( - "rule_mode", - t!("Rule Mode", "规则模式"), - )) - .add_item(CustomMenuItem::new( - "global_mode", - t!("Global Mode", "全局模式"), - )) - .add_item(CustomMenuItem::new( - "direct_mode", - t!("Direct Mode", "直连模式"), - )) - .add_item(CustomMenuItem::new( - "script_mode", - t!("Script Mode", "脚本模式"), - )) - .add_native_item(SystemTrayMenuItem::Separator) - .add_item(CustomMenuItem::new( - "system_proxy", - t!("System Proxy", "系统代理"), - )) - .add_item(CustomMenuItem::new("tun_mode", t!("TUN Mode", "Tun 模式"))) - .add_item(CustomMenuItem::new( - "copy_env", - t!("Copy Env", "复制环境变量"), - )) - .add_submenu(SystemTraySubmenu::new( - t!("Open Dir", "打开目录"), - SystemTrayMenu::new() - .add_item(CustomMenuItem::new( - "open_app_dir", - t!("App Dir", "应用目录"), - )) - .add_item(CustomMenuItem::new( - "open_core_dir", - t!("Core Dir", "内核目录"), - )) - .add_item(CustomMenuItem::new( - "open_logs_dir", - t!("Logs Dir", "日志目录"), - )), - )) - .add_submenu(SystemTraySubmenu::new( - t!("More", "更多"), - SystemTrayMenu::new() - .add_item(CustomMenuItem::new( - "restart_clash", - t!("Restart Clash", "重启 Clash"), - )) - .add_item(CustomMenuItem::new( - "restart_app", - t!("Restart App", "重启应用"), - )) - .add_item( - CustomMenuItem::new("app_version", format!("Version {version}")).disabled(), - ), - )) - .add_native_item(SystemTrayMenuItem::Separator) - .add_item(CustomMenuItem::new("quit", t!("Quit", "退出")).accelerator("CmdOrControl+Q")) - } - - pub fn update_systray(app_handle: &AppHandle) -> Result<()> { - app_handle - .tray_handle() - .set_menu(Tray::tray_menu(app_handle))?; - Tray::update_part(app_handle)?; - Ok(()) - } - - pub fn update_part(app_handle: &AppHandle) -> Result<()> { - let mode = { - Config::clash() - .latest() - .0 - .get("mode") - .map(|val| val.as_str().unwrap_or("rule")) - .unwrap_or("rule") - .to_owned() - }; - - let tray = app_handle.tray_handle(); - - let _ = tray.get_item("rule_mode").set_selected(mode == "rule"); - let _ = tray.get_item("global_mode").set_selected(mode == "global"); - let _ = tray.get_item("direct_mode").set_selected(mode == "direct"); - let _ = tray.get_item("script_mode").set_selected(mode == "script"); - - let verge = Config::verge(); - let verge = verge.latest(); - let system_proxy = verge.enable_system_proxy.as_ref().unwrap_or(&false); - let tun_mode = verge.enable_tun_mode.as_ref().unwrap_or(&false); - - #[cfg(target_os = "windows")] - { - let indication_icon = if *system_proxy { - include_bytes!("../../icons/win-tray-icon-activated.png").to_vec() - } else { - include_bytes!("../../icons/win-tray-icon.png").to_vec() - }; - - let _ = tray.set_icon(tauri::Icon::Raw(indication_icon)); - } - - let _ = tray.get_item("system_proxy").set_selected(*system_proxy); - let _ = tray.get_item("tun_mode").set_selected(*tun_mode); - - Ok(()) - } - - pub fn on_system_tray_event(app_handle: &AppHandle, event: SystemTrayEvent) { - match event { - SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() { - mode @ ("rule_mode" | "global_mode" | "direct_mode" | "script_mode") => { - let mode = &mode[0..mode.len() - 5]; - feat::change_clash_mode(mode.into()); - } - - "open_window" => resolve::create_window(app_handle), - "system_proxy" => feat::toggle_system_proxy(), - "tun_mode" => feat::toggle_tun_mode(), - "copy_env" => feat::copy_clash_env(), - "open_app_dir" => crate::log_err!(cmds::open_app_dir()), - "open_core_dir" => crate::log_err!(cmds::open_core_dir()), - "open_logs_dir" => crate::log_err!(cmds::open_logs_dir()), - "restart_clash" => feat::restart_clash_core(), - "restart_app" => api::process::restart(&app_handle.env()), - "quit" => { - let _ = resolve::save_window_size_position(app_handle, true); - - resolve::resolve_reset(); - api::process::kill_children(); - app_handle.exit(0); - std::process::exit(0); - } - _ => {} - }, - #[cfg(target_os = "windows")] - SystemTrayEvent::LeftClick { .. } => { - resolve::create_window(app_handle); - } - _ => {} - } - } -} diff --git a/src-tauri/src/core/win_service.rs b/src-tauri/src/core/win_service.rs deleted file mode 100644 index 865895b..0000000 --- a/src-tauri/src/core/win_service.rs +++ /dev/null @@ -1,178 +0,0 @@ -#![cfg(target_os = "windows")] - -use crate::config::Config; -use crate::utils::dirs; -use anyhow::{bail, Context, Result}; -use deelevate::{PrivilegeLevel, Token}; -use runas::Command as RunasCommand; -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; -use std::os::windows::process::CommandExt; -use std::path::PathBuf; -use std::time::Duration; -use std::{env::current_exe, process::Command as StdCommand}; -use tokio::time::sleep; - -const SERVICE_URL: &str = "http://127.0.0.1:33211"; - -#[derive(Debug, Deserialize, Serialize, Clone)] -pub struct ResponseBody { - pub core_type: Option, - pub bin_path: String, - pub config_dir: String, - pub log_file: String, -} - -#[derive(Debug, Deserialize, Serialize, Clone)] -pub struct JsonResponse { - pub code: u64, - pub msg: String, - pub data: Option, -} - -/// Install the Clash Verge Service -/// 该函数应该在协程或者线程中执行,避免UAC弹窗阻塞主线程 -pub async fn install_service() -> Result<()> { - let binary_path = dirs::service_path()?; - let install_path = binary_path.with_file_name("install-service.exe"); - - if !install_path.exists() { - bail!("installer exe not found"); - } - - let token = Token::with_current_process()?; - let level = token.privilege_level()?; - - let status = match level { - PrivilegeLevel::NotPrivileged => RunasCommand::new(install_path).show(false).status()?, - _ => StdCommand::new(install_path) - .creation_flags(0x08000000) - .status()?, - }; - - if !status.success() { - bail!( - "failed to install service with status {}", - status.code().unwrap() - ); - } - - Ok(()) -} - -/// Uninstall the Clash Verge Service -/// 该函数应该在协程或者线程中执行,避免UAC弹窗阻塞主线程 -pub async fn uninstall_service() -> Result<()> { - let binary_path = dirs::service_path()?; - let uninstall_path = binary_path.with_file_name("uninstall-service.exe"); - - if !uninstall_path.exists() { - bail!("uninstaller exe not found"); - } - - let token = Token::with_current_process()?; - let level = token.privilege_level()?; - - let status = match level { - PrivilegeLevel::NotPrivileged => RunasCommand::new(uninstall_path).show(false).status()?, - _ => StdCommand::new(uninstall_path) - .creation_flags(0x08000000) - .status()?, - }; - - if !status.success() { - bail!( - "failed to uninstall service with status {}", - status.code().unwrap() - ); - } - - Ok(()) -} - -/// check the windows service status -pub async fn check_service() -> Result { - let url = format!("{SERVICE_URL}/get_clash"); - let response = reqwest::ClientBuilder::new() - .no_proxy() - .build()? - .get(url) - .send() - .await - .context("failed to connect to the Clash Verge Service")? - .json::() - .await - .context("failed to parse the Clash Verge Service response")?; - - Ok(response) -} - -/// start the clash by service -pub(super) async fn run_core_by_service(config_file: &PathBuf) -> Result<()> { - let status = check_service().await?; - - if status.code == 0 { - stop_core_by_service().await?; - sleep(Duration::from_secs(1)).await; - } - - let clash_core = { Config::verge().latest().clash_core.clone() }; - let clash_core = clash_core.unwrap_or("clash".into()); - - let clash_bin = format!("{clash_core}.exe"); - let bin_path = current_exe()?.with_file_name(clash_bin); - let bin_path = dirs::path_to_str(&bin_path)?; - - let config_dir = dirs::app_home_dir()?; - let config_dir = dirs::path_to_str(&config_dir)?; - - let log_path = dirs::service_log_file()?; - let log_path = dirs::path_to_str(&log_path)?; - - let config_file = dirs::path_to_str(config_file)?; - - let mut map = HashMap::new(); - map.insert("core_type", clash_core.as_str()); - map.insert("bin_path", bin_path); - map.insert("config_dir", config_dir); - map.insert("config_file", config_file); - map.insert("log_file", log_path); - - let url = format!("{SERVICE_URL}/start_clash"); - let res = reqwest::ClientBuilder::new() - .no_proxy() - .build()? - .post(url) - .json(&map) - .send() - .await? - .json::() - .await - .context("failed to connect to the Clash Verge Service")?; - - if res.code != 0 { - bail!(res.msg); - } - - Ok(()) -} - -/// stop the clash by service -pub(super) async fn stop_core_by_service() -> Result<()> { - let url = format!("{SERVICE_URL}/stop_clash"); - let res = reqwest::ClientBuilder::new() - .no_proxy() - .build()? - .post(url) - .send() - .await? - .json::() - .await - .context("failed to connect to the Clash Verge Service")?; - - if res.code != 0 { - bail!(res.msg); - } - - Ok(()) -} diff --git a/src-tauri/src/enhance/builtin/meta_guard.js b/src-tauri/src/enhance/builtin/meta_guard.js deleted file mode 100644 index be4183b..0000000 --- a/src-tauri/src/enhance/builtin/meta_guard.js +++ /dev/null @@ -1,6 +0,0 @@ -function main(params) { - if (params.mode === "script") { - params.mode = "rule"; - } - return params; -} diff --git a/src-tauri/src/enhance/builtin/meta_hy_alpn.js b/src-tauri/src/enhance/builtin/meta_hy_alpn.js deleted file mode 100644 index da1fac0..0000000 --- a/src-tauri/src/enhance/builtin/meta_hy_alpn.js +++ /dev/null @@ -1,10 +0,0 @@ -function main(params) { - if (Array.isArray(params.proxies)) { - params.proxies.forEach((p, i) => { - if (p.type === "hysteria" && typeof p.alpn === "string") { - params.proxies[i].alpn = [p.alpn]; - } - }); - } - return params; -} diff --git a/src-tauri/src/enhance/chain.rs b/src-tauri/src/enhance/chain.rs deleted file mode 100644 index 75c61fb..0000000 --- a/src-tauri/src/enhance/chain.rs +++ /dev/null @@ -1,89 +0,0 @@ -use crate::{ - config::PrfItem, - utils::{dirs, help}, -}; -use serde_yaml::Mapping; -use std::fs; - -#[derive(Debug, Clone)] -pub struct ChainItem { - pub uid: String, - pub data: ChainType, -} - -#[derive(Debug, Clone)] -pub enum ChainType { - Merge(Mapping), - Script(String), -} - -#[derive(Debug, Clone)] -pub enum ChainSupport { - Clash, - ClashMeta, - All, -} - -impl From<&PrfItem> for Option { - fn from(item: &PrfItem) -> Self { - let itype = item.itype.as_ref()?.as_str(); - let file = item.file.clone()?; - let uid = item.uid.clone().unwrap_or("".into()); - let path = dirs::app_profiles_dir().ok()?.join(file); - - if !path.exists() { - return None; - } - - match itype { - "script" => Some(ChainItem { - uid, - data: ChainType::Script(fs::read_to_string(path).ok()?), - }), - "merge" => Some(ChainItem { - uid, - data: ChainType::Merge(help::read_merge_mapping(&path).ok()?), - }), - _ => None, - } - } -} - -impl ChainItem { - /// 内建支持一些脚本 - pub fn builtin() -> Vec<(ChainSupport, ChainItem)> { - // meta 的一些处理 - let meta_guard = - ChainItem::to_script("verge_meta_guard", include_str!("./builtin/meta_guard.js")); - - // meta 1.13.2 alpn string 转 数组 - let hy_alpn = - ChainItem::to_script("verge_hy_alpn", include_str!("./builtin/meta_hy_alpn.js")); - - vec![ - (ChainSupport::ClashMeta, hy_alpn), - (ChainSupport::ClashMeta, meta_guard), - ] - } - - pub fn to_script, D: Into>(uid: U, data: D) -> Self { - Self { - uid: uid.into(), - data: ChainType::Script(data.into()), - } - } -} - -impl ChainSupport { - pub fn is_support(&self, core: Option<&String>) -> bool { - match core { - Some(core) => match (self, core.as_str()) { - (ChainSupport::All, _) => true, - (ChainSupport::Clash, "clash") => true, - (ChainSupport::ClashMeta, "clash-meta") => true, - _ => false, - }, - None => true, - } - } -} diff --git a/src-tauri/src/enhance/field.rs b/src-tauri/src/enhance/field.rs deleted file mode 100644 index 2130b41..0000000 --- a/src-tauri/src/enhance/field.rs +++ /dev/null @@ -1,155 +0,0 @@ -use serde_yaml::{Mapping, Value}; -use std::collections::HashSet; - -pub const HANDLE_FIELDS: [&str; 9] = [ - "mode", - "port", - "socks-port", - "mixed-port", - "allow-lan", - "log-level", - "ipv6", - "secret", - "external-controller", -]; - -pub const DEFAULT_FIELDS: [&str; 5] = [ - "proxies", - "proxy-groups", - "proxy-providers", - "rules", - "rule-providers", -]; - -pub const OTHERS_FIELDS: [&str; 30] = [ - "dns", - "tun", - "ebpf", - "hosts", - "script", - "profile", - "payload", - "tunnels", - "auto-redir", - "experimental", - "interface-name", - "routing-mark", - "redir-port", - "tproxy-port", - "iptables", - "external-ui", - "bind-address", - "authentication", - "tls", // meta - "sniffer", // meta - "geox-url", // meta - "listeners", // meta - "sub-rules", // meta - "geodata-mode", // meta - "unified-delay", // meta - "tcp-concurrent", // meta - "enable-process", // meta - "find-process-mode", // meta - "external-controller-tls", // meta - "global-client-fingerprint", // meta -]; - -pub fn use_clash_fields() -> Vec { - DEFAULT_FIELDS - .into_iter() - .chain(HANDLE_FIELDS) - .chain(OTHERS_FIELDS) - .map(|s| s.to_string()) - .collect() -} - -pub fn use_valid_fields(mut valid: Vec) -> Vec { - let others = Vec::from(OTHERS_FIELDS); - - valid.iter_mut().for_each(|s| s.make_ascii_lowercase()); - valid - .into_iter() - .filter(|s| others.contains(&s.as_str())) - .chain(DEFAULT_FIELDS.iter().map(|s| s.to_string())) - .collect() -} - -pub fn use_filter(config: Mapping, filter: &Vec, enable: bool) -> Mapping { - if !enable { - return config; - } - - let mut ret = Mapping::new(); - - for (key, value) in config.into_iter() { - if let Some(key) = key.as_str() { - if filter.contains(&key.to_string()) { - ret.insert(Value::from(key), value); - } - } - } - ret -} - -pub fn use_lowercase(config: Mapping) -> Mapping { - let mut ret = Mapping::new(); - - for (key, value) in config.into_iter() { - if let Some(key_str) = key.as_str() { - let mut key_str = String::from(key_str); - key_str.make_ascii_lowercase(); - ret.insert(Value::from(key_str), value); - } - } - ret -} - -pub fn use_sort(config: Mapping, enable_filter: bool) -> Mapping { - let mut ret = Mapping::new(); - - HANDLE_FIELDS - .into_iter() - .chain(OTHERS_FIELDS) - .chain(DEFAULT_FIELDS) - .for_each(|key| { - let key = Value::from(key); - config.get(&key).map(|value| { - ret.insert(key, value.clone()); - }); - }); - - if !enable_filter { - let supported_keys: HashSet<&str> = HANDLE_FIELDS - .into_iter() - .chain(OTHERS_FIELDS) - .chain(DEFAULT_FIELDS) - .collect(); - - let config_keys: HashSet<&str> = config - .keys() - .filter_map(|e| e.as_str()) - .into_iter() - .collect(); - - config_keys.difference(&supported_keys).for_each(|&key| { - let key = Value::from(key); - config.get(&key).map(|value| { - ret.insert(key, value.clone()); - }); - }); - } - - ret -} - -pub fn use_keys(config: &Mapping) -> Vec { - config - .iter() - .filter_map(|(key, _)| key.as_str()) - .map(|s| { - let mut s = s.to_string(); - s.make_ascii_lowercase(); - return s; - }) - .collect() -} diff --git a/src-tauri/src/enhance/merge.rs b/src-tauri/src/enhance/merge.rs deleted file mode 100644 index 20342c9..0000000 --- a/src-tauri/src/enhance/merge.rs +++ /dev/null @@ -1,92 +0,0 @@ -use super::{use_filter, use_lowercase}; -use serde_yaml::{self, Mapping, Sequence, Value}; - -const MERGE_FIELDS: [&str; 6] = [ - "prepend-rules", - "append-rules", - "prepend-proxies", - "append-proxies", - "prepend-proxy-groups", - "append-proxy-groups", -]; - -pub fn use_merge(merge: Mapping, mut config: Mapping) -> Mapping { - // 直接覆盖原字段 - use_lowercase(merge.clone()) - .into_iter() - .for_each(|(key, value)| { - config.insert(key, value); - }); - - let merge_list = MERGE_FIELDS.iter().map(|s| s.to_string()); - let merge = use_filter(merge, &merge_list.collect(), true); - - ["rules", "proxies", "proxy-groups"] - .iter() - .for_each(|key_str| { - let key_val = Value::from(key_str.to_string()); - - let mut list = Sequence::default(); - list = config.get(&key_val).map_or(list.clone(), |val| { - val.as_sequence().map_or(list, |v| v.clone()) - }); - - let pre_key = Value::from(format!("prepend-{key_str}")); - let post_key = Value::from(format!("append-{key_str}")); - - if let Some(pre_val) = merge.get(&pre_key) { - if pre_val.is_sequence() { - let mut pre_val = pre_val.as_sequence().unwrap().clone(); - pre_val.extend(list); - list = pre_val; - } - } - - if let Some(post_val) = merge.get(&post_key) { - if post_val.is_sequence() { - list.extend(post_val.as_sequence().unwrap().clone()); - } - } - - config.insert(key_val, Value::from(list)); - }); - config -} - -#[test] -fn test_merge() -> anyhow::Result<()> { - let merge = r" - prepend-rules: - - prepend - - 1123123 - append-rules: - - append - prepend-proxies: - - 9999 - append-proxies: - - 1111 - rules: - - replace - proxy-groups: - - 123781923810 - tun: - enable: true - dns: - enable: true - "; - - let config = r" - rules: - - aaaaa - script1: test - "; - - let merge = serde_yaml::from_str::(merge)?; - let config = serde_yaml::from_str::(config)?; - - let result = serde_yaml::to_string(&use_merge(merge, config))?; - - println!("{result}"); - - Ok(()) -} diff --git a/src-tauri/src/enhance/mod.rs b/src-tauri/src/enhance/mod.rs deleted file mode 100644 index 0a41400..0000000 --- a/src-tauri/src/enhance/mod.rs +++ /dev/null @@ -1,126 +0,0 @@ -mod chain; -mod field; -mod merge; -mod script; -mod tun; - -pub(self) use self::field::*; - -use self::chain::*; -use self::merge::*; -use self::script::*; -use self::tun::*; -use crate::config::Config; -use serde_yaml::Mapping; -use std::collections::HashMap; -use std::collections::HashSet; - -type ResultLog = Vec<(String, String)>; - -/// Enhance mode -/// 返回最终配置、该配置包含的键、和script执行的结果 -pub fn enhance() -> (Mapping, Vec, HashMap) { - // config.yaml 的配置 - let clash_config = { Config::clash().latest().0.clone() }; - - let (clash_core, enable_tun, enable_builtin, enable_filter) = { - let verge = Config::verge(); - let verge = verge.latest(); - ( - verge.clash_core.clone(), - verge.enable_tun_mode.clone().unwrap_or(false), - verge.enable_builtin_enhanced.clone().unwrap_or(true), - verge.enable_clash_fields.clone().unwrap_or(true), - ) - }; - - // 从profiles里拿东西 - let (mut config, chain, valid) = { - let profiles = Config::profiles(); - let profiles = profiles.latest(); - - let current = profiles.current_mapping().unwrap_or(Mapping::new()); - - let chain = match profiles.chain.as_ref() { - Some(chain) => chain - .iter() - .filter_map(|uid| profiles.get_item(uid).ok()) - .filter_map(|item| >::from(item)) - .collect::>(), - None => vec![], - }; - - let valid = profiles.valid.clone().unwrap_or(vec![]); - - (current, chain, valid) - }; - - let mut result_map = HashMap::new(); // 保存脚本日志 - let mut exists_keys = use_keys(&config); // 保存出现过的keys - - let valid = use_valid_fields(valid); - config = use_filter(config, &valid, enable_filter); - - // 处理用户的profile - chain.into_iter().for_each(|item| match item.data { - ChainType::Merge(merge) => { - exists_keys.extend(use_keys(&merge)); - config = use_merge(merge, config.to_owned()); - config = use_filter(config.to_owned(), &valid, enable_filter); - } - ChainType::Script(script) => { - let mut logs = vec![]; - - match use_script(script, config.to_owned()) { - Ok((res_config, res_logs)) => { - exists_keys.extend(use_keys(&res_config)); - config = use_filter(res_config, &valid, enable_filter); - logs.extend(res_logs); - } - Err(err) => logs.push(("exception".into(), err.to_string())), - } - - result_map.insert(item.uid, logs); - } - }); - - // 合并默认的config - for (key, value) in clash_config.into_iter() { - config.insert(key, value); - } - - let clash_fields = use_clash_fields(); - - // 内建脚本最后跑 - if enable_builtin { - ChainItem::builtin() - .into_iter() - .filter(|(s, _)| s.is_support(clash_core.as_ref())) - .map(|(_, c)| c) - .for_each(|item| { - log::debug!(target: "app", "run builtin script {}", item.uid); - - match item.data { - ChainType::Script(script) => match use_script(script, config.to_owned()) { - Ok((res_config, _)) => { - config = use_filter(res_config, &clash_fields, enable_filter); - } - Err(err) => { - log::error!(target: "app", "builtin script error `{err}`"); - } - }, - _ => {} - } - }); - } - - config = use_filter(config, &clash_fields, enable_filter); - config = use_tun(config, enable_tun); - config = use_sort(config, enable_filter); - - let mut exists_set = HashSet::new(); - exists_set.extend(exists_keys.into_iter().filter(|s| clash_fields.contains(s))); - exists_keys = exists_set.into_iter().collect(); - - (config, exists_keys, result_map) -} diff --git a/src-tauri/src/enhance/script.rs b/src-tauri/src/enhance/script.rs deleted file mode 100644 index 97b34c2..0000000 --- a/src-tauri/src/enhance/script.rs +++ /dev/null @@ -1,94 +0,0 @@ -use super::use_lowercase; -use anyhow::Result; -use serde_yaml::Mapping; - -pub fn use_script(script: String, config: Mapping) -> Result<(Mapping, Vec<(String, String)>)> { - use rquickjs::{Context, Func, Runtime}; - use std::sync::{Arc, Mutex}; - - let runtime = Runtime::new().unwrap(); - let context = Context::full(&runtime).unwrap(); - let outputs = Arc::new(Mutex::new(vec![])); - - let copy_outputs = outputs.clone(); - let result = context.with(|ctx| -> Result { - ctx.globals().set( - "__verge_log__", - Func::from(move |level: String, data: String| { - let mut out = copy_outputs.lock().unwrap(); - out.push((level, data)); - }), - )?; - - ctx.eval( - r#"var console = Object.freeze({ - log(data){__verge_log__("log",JSON.stringify(data))}, - info(data){__verge_log__("info",JSON.stringify(data))}, - error(data){__verge_log__("error",JSON.stringify(data))}, - debug(data){__verge_log__("debug",JSON.stringify(data))}, - });"#, - )?; - - let config = use_lowercase(config.clone()); - let config_str = serde_json::to_string(&config)?; - - let code = format!( - r#"try{{ - {script}; - JSON.stringify(main({config_str})||'') - }} catch(err) {{ - `__error_flag__ ${{err.toString()}}` - }}"# - ); - let result: String = ctx.eval(code.as_str())?; - if result.starts_with("__error_flag__") { - anyhow::bail!(result[15..].to_owned()); - } - if result == "\"\"" { - anyhow::bail!("main function should return object"); - } - return Ok(serde_json::from_str::(result.as_str())?); - }); - - let mut out = outputs.lock().unwrap(); - match result { - Ok(config) => Ok((use_lowercase(config), out.to_vec())), - Err(err) => { - out.push(("exception".into(), err.to_string())); - Ok((config, out.to_vec())) - } - } -} - -#[test] -fn test_script() { - let script = r#" - function main(config) { - if (Array.isArray(config.rules)) { - config.rules = [...config.rules, "add"]; - } - console.log(config); - config.proxies = ["111"]; - return config; - } - "#; - - let config = r#" - rules: - - 111 - - 222 - tun: - enable: false - dns: - enable: false - "#; - - let config = serde_yaml::from_str(config).unwrap(); - let (config, results) = use_script(script.into(), config).unwrap(); - - let config_str = serde_yaml::to_string(&config).unwrap(); - - println!("{config_str}"); - - dbg!(results); -} diff --git a/src-tauri/src/enhance/tun.rs b/src-tauri/src/enhance/tun.rs deleted file mode 100644 index b72823a..0000000 --- a/src-tauri/src/enhance/tun.rs +++ /dev/null @@ -1,81 +0,0 @@ -use serde_yaml::{Mapping, Value}; - -macro_rules! revise { - ($map: expr, $key: expr, $val: expr) => { - let ret_key = Value::String($key.into()); - $map.insert(ret_key, Value::from($val)); - }; -} - -// if key not exists then append value -macro_rules! append { - ($map: expr, $key: expr, $val: expr) => { - let ret_key = Value::String($key.into()); - if !$map.contains_key(&ret_key) { - $map.insert(ret_key, Value::from($val)); - } - }; -} - -pub fn use_tun(mut config: Mapping, enable: bool) -> Mapping { - let tun_key = Value::from("tun"); - let tun_val = config.get(&tun_key); - - if !enable && tun_val.is_none() { - return config; - } - - let mut tun_val = tun_val.map_or(Mapping::new(), |val| { - val.as_mapping().cloned().unwrap_or(Mapping::new()) - }); - - revise!(tun_val, "enable", enable); - if enable { - append!(tun_val, "stack", "gvisor"); - append!(tun_val, "dns-hijack", vec!["any:53"]); - append!(tun_val, "auto-route", true); - append!(tun_val, "auto-detect-interface", true); - } - - revise!(config, "tun", tun_val); - - if enable { - use_dns_for_tun(config) - } else { - config - } -} - -fn use_dns_for_tun(mut config: Mapping) -> Mapping { - let dns_key = Value::from("dns"); - let dns_val = config.get(&dns_key); - - let mut dns_val = dns_val.map_or(Mapping::new(), |val| { - val.as_mapping().cloned().unwrap_or(Mapping::new()) - }); - - // 开启tun将同时开启dns - revise!(dns_val, "enable", true); - - append!(dns_val, "enhanced-mode", "fake-ip"); - append!(dns_val, "fake-ip-range", "198.18.0.1/16"); - append!( - dns_val, - "nameserver", - vec!["114.114.114.114", "223.5.5.5", "8.8.8.8"] - ); - append!(dns_val, "fallback", vec![] as Vec<&str>); - - #[cfg(target_os = "windows")] - append!( - dns_val, - "fake-ip-filter", - vec![ - "dns.msftncsi.com", - "www.msftncsi.com", - "www.msftconnecttest.com" - ] - ); - revise!(config, "dns", dns_val); - config -} diff --git a/src-tauri/src/feat.rs b/src-tauri/src/feat.rs deleted file mode 100644 index a446c27..0000000 --- a/src-tauri/src/feat.rs +++ /dev/null @@ -1,341 +0,0 @@ -//! -//! feat mod 里的函数主要用于 -//! - hotkey 快捷键 -//! - timer 定时器 -//! - cmds 页面调用 -//! -use crate::config::*; -use crate::core::*; -use crate::log_err; -use crate::utils::resolve; -use anyhow::{bail, Result}; -use serde_yaml::{Mapping, Value}; -use wry::application::clipboard::Clipboard; - -// 打开面板 -pub fn open_dashboard() { - let handle = handle::Handle::global(); - let app_handle = handle.app_handle.lock(); - if let Some(app_handle) = app_handle.as_ref() { - resolve::create_window(app_handle); - } -} - -// 重启clash -pub fn restart_clash_core() { - tauri::async_runtime::spawn(async { - match CoreManager::global().run_core().await { - Ok(_) => { - handle::Handle::refresh_clash(); - handle::Handle::notice_message("set_config::ok", "ok"); - } - Err(err) => { - handle::Handle::notice_message("set_config::error", format!("{err}")); - log::error!(target:"app", "{err}"); - } - } - }); -} - -// 切换模式 rule/global/direct/script mode -pub fn change_clash_mode(mode: String) { - let mut mapping = Mapping::new(); - mapping.insert(Value::from("mode"), mode.clone().into()); - - tauri::async_runtime::spawn(async move { - log::debug!(target: "app", "change clash mode to {mode}"); - - match clash_api::patch_configs(&mapping).await { - Ok(_) => { - // 更新配置 - Config::clash().data().patch_config(mapping); - - if Config::clash().data().save_config().is_ok() { - handle::Handle::refresh_clash(); - log_err!(handle::Handle::update_systray_part()); - } - } - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -// 切换系统代理 -pub fn toggle_system_proxy() { - let enable = Config::verge().draft().enable_system_proxy.clone(); - let enable = enable.unwrap_or(false); - - tauri::async_runtime::spawn(async move { - match patch_verge(IVerge { - enable_system_proxy: Some(!enable), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -// 打开系统代理 -pub fn enable_system_proxy() { - tauri::async_runtime::spawn(async { - match patch_verge(IVerge { - enable_system_proxy: Some(true), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -// 关闭系统代理 -pub fn disable_system_proxy() { - tauri::async_runtime::spawn(async { - match patch_verge(IVerge { - enable_system_proxy: Some(false), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -// 切换tun模式 -pub fn toggle_tun_mode() { - let enable = Config::verge().data().enable_tun_mode.clone(); - let enable = enable.unwrap_or(false); - - tauri::async_runtime::spawn(async move { - match patch_verge(IVerge { - enable_tun_mode: Some(!enable), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -// 打开tun模式 -pub fn enable_tun_mode() { - tauri::async_runtime::spawn(async { - match patch_verge(IVerge { - enable_tun_mode: Some(true), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -// 关闭tun模式 -pub fn disable_tun_mode() { - tauri::async_runtime::spawn(async { - match patch_verge(IVerge { - enable_tun_mode: Some(false), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - }); -} - -/// 修改clash的配置 -pub async fn patch_clash(patch: Mapping) -> Result<()> { - Config::clash().draft().patch_config(patch.clone()); - - match { - let mixed_port = patch.get("mixed-port"); - if mixed_port.is_some() { - let changed = mixed_port != Config::clash().data().0.get("mixed-port"); - // 检查端口占用 - if changed { - if let Some(port) = mixed_port.clone().unwrap().as_u64() { - if !port_scanner::local_port_available(port as u16) { - Config::clash().discard(); - bail!("port already in use"); - } - } - } - }; - - // 激活配置 - if mixed_port.is_some() - || patch.get("secret").is_some() - || patch.get("external-controller").is_some() - { - Config::generate()?; - CoreManager::global().run_core().await?; - handle::Handle::refresh_clash(); - } - - // 更新系统代理 - if mixed_port.is_some() { - log_err!(sysopt::Sysopt::global().init_sysproxy()); - } - - if patch.get("mode").is_some() { - log_err!(handle::Handle::update_systray_part()); - } - - Config::runtime().latest().patch_config(patch); - - >::Ok(()) - } { - Ok(()) => { - Config::clash().apply(); - Config::clash().data().save_config()?; - Ok(()) - } - Err(err) => { - Config::clash().discard(); - Err(err) - } - } -} - -/// 修改verge的配置 -/// 一般都是一个个的修改 -pub async fn patch_verge(patch: IVerge) -> Result<()> { - Config::verge().draft().patch_config(patch.clone()); - - let tun_mode = patch.enable_tun_mode; - let auto_launch = patch.enable_auto_launch; - let system_proxy = patch.enable_system_proxy; - let proxy_bypass = patch.system_proxy_bypass; - let language = patch.language; - - match { - #[cfg(target_os = "windows")] - { - let service_mode = patch.enable_service_mode; - - if service_mode.is_some() { - log::debug!(target: "app", "change service mode to {}", service_mode.unwrap()); - - Config::generate()?; - CoreManager::global().run_core().await?; - } else if tun_mode.is_some() { - update_core_config().await?; - } - } - - #[cfg(not(target_os = "windows"))] - if tun_mode.is_some() { - update_core_config().await?; - } - - if auto_launch.is_some() { - sysopt::Sysopt::global().update_launch()?; - } - if system_proxy.is_some() || proxy_bypass.is_some() { - sysopt::Sysopt::global().update_sysproxy()?; - sysopt::Sysopt::global().guard_proxy(); - } - - if let Some(true) = patch.enable_proxy_guard { - sysopt::Sysopt::global().guard_proxy(); - } - - if let Some(hotkeys) = patch.hotkeys { - hotkey::Hotkey::global().update(hotkeys)?; - } - - if language.is_some() { - handle::Handle::update_systray()?; - } else if system_proxy.or(tun_mode).is_some() { - handle::Handle::update_systray_part()?; - } - - >::Ok(()) - } { - Ok(()) => { - Config::verge().apply(); - Config::verge().data().save_file()?; - Ok(()) - } - Err(err) => { - Config::verge().discard(); - Err(err) - } - } -} - -/// 更新某个profile -/// 如果更新当前配置就激活配置 -pub async fn update_profile(uid: String, option: Option) -> Result<()> { - let url_opt = { - let profiles = Config::profiles(); - let profiles = profiles.latest(); - let item = profiles.get_item(&uid)?; - let is_remote = item.itype.as_ref().map_or(false, |s| s == "remote"); - - if !is_remote { - None // 直接更新 - } else if item.url.is_none() { - bail!("failed to get the profile item url"); - } else { - Some((item.url.clone().unwrap(), item.option.clone())) - } - }; - - let should_update = match url_opt { - Some((url, opt)) => { - let merged_opt = PrfOption::merge(opt, option); - let item = PrfItem::from_url(&url, None, None, merged_opt).await?; - - let profiles = Config::profiles(); - let mut profiles = profiles.latest(); - profiles.update_item(uid.clone(), item)?; - - Some(uid) == profiles.get_current() - } - None => true, - }; - - if should_update { - update_core_config().await?; - } - - Ok(()) -} - -/// 更新配置 -async fn update_core_config() -> Result<()> { - match CoreManager::global().update_config().await { - Ok(_) => { - handle::Handle::refresh_clash(); - handle::Handle::notice_message("set_config::ok", "ok"); - Ok(()) - } - Err(err) => { - handle::Handle::notice_message("set_config::error", format!("{err}")); - Err(err) - } - } -} - -/// copy env variable -pub fn copy_clash_env() { - let port = { Config::clash().data().get_client_info().port }; - let text = format!("export https_proxy=http://127.0.0.1:{port} http_proxy=http://127.0.0.1:{port} all_proxy=socks5://127.0.0.1:{port}"); - - let mut cliboard = Clipboard::new(); - cliboard.write_text(text); -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs deleted file mode 100644 index 0c20bec..0000000 --- a/src-tauri/src/main.rs +++ /dev/null @@ -1,142 +0,0 @@ -#![cfg_attr( - all(not(debug_assertions), target_os = "windows"), - windows_subsystem = "windows" -)] - -mod cmds; -mod config; -mod core; -mod enhance; -mod feat; -mod utils; - -use crate::utils::{init, resolve, server}; -use tauri::{api, SystemTray}; - -fn main() -> std::io::Result<()> { - // 单例检测 - if server::check_singleton().is_err() { - println!("app exists"); - return Ok(()); - } - - crate::log_err!(init::init_config()); - - #[allow(unused_mut)] - let mut builder = tauri::Builder::default() - .system_tray(SystemTray::new()) - .setup(|app| Ok(resolve::resolve_setup(app))) - .on_system_tray_event(core::tray::Tray::on_system_tray_event) - .invoke_handler(tauri::generate_handler![ - // common - cmds::get_sys_proxy, - cmds::open_app_dir, - cmds::open_logs_dir, - cmds::open_web_url, - cmds::open_core_dir, - // cmds::kill_sidecar, - cmds::restart_sidecar, - cmds::grant_permission, - // clash - cmds::get_clash_info, - cmds::get_clash_logs, - cmds::patch_clash_config, - cmds::change_clash_core, - cmds::get_runtime_config, - cmds::get_runtime_yaml, - cmds::get_runtime_exists, - cmds::get_runtime_logs, - // verge - cmds::get_verge_config, - cmds::patch_verge_config, - // cmds::update_hotkeys, - // profile - cmds::get_profiles, - cmds::enhance_profiles, - cmds::patch_profiles_config, - cmds::view_profile, - cmds::patch_profile, - cmds::create_profile, - cmds::import_profile, - cmds::update_profile, - cmds::delete_profile, - cmds::read_profile_file, - cmds::save_profile_file, - // service mode - cmds::service::check_service, - cmds::service::install_service, - cmds::service::uninstall_service, - // clash api - cmds::clash_api_get_proxy_delay - ]); - - #[cfg(target_os = "macos")] - { - use tauri::{Menu, MenuItem, Submenu}; - - builder = builder.menu( - Menu::new().add_submenu(Submenu::new( - "Edit", - Menu::new() - .add_native_item(MenuItem::Undo) - .add_native_item(MenuItem::Redo) - .add_native_item(MenuItem::Copy) - .add_native_item(MenuItem::Paste) - .add_native_item(MenuItem::Cut) - .add_native_item(MenuItem::SelectAll) - .add_native_item(MenuItem::CloseWindow) - .add_native_item(MenuItem::Quit), - )), - ); - } - - let app = builder - .build(tauri::generate_context!()) - .expect("error while running tauri application"); - - app.run(|app_handle, e| match e { - tauri::RunEvent::ExitRequested { api, .. } => { - api.prevent_exit(); - } - tauri::RunEvent::Exit => { - resolve::resolve_reset(); - api::process::kill_children(); - app_handle.exit(0); - } - #[cfg(target_os = "macos")] - tauri::RunEvent::WindowEvent { label, event, .. } => { - use tauri::Manager; - - if label == "main" { - match event { - tauri::WindowEvent::CloseRequested { api, .. } => { - api.prevent_close(); - let _ = resolve::save_window_size_position(&app_handle, true); - - app_handle.get_window("main").map(|win| { - let _ = win.hide(); - }); - } - _ => {} - } - } - } - #[cfg(not(target_os = "macos"))] - tauri::RunEvent::WindowEvent { label, event, .. } => { - if label == "main" { - match event { - tauri::WindowEvent::CloseRequested { .. } => { - let _ = resolve::save_window_size_position(&app_handle, true); - } - tauri::WindowEvent::Moved(_) | tauri::WindowEvent::Resized(_) => { - let _ = resolve::save_window_size_position(&app_handle, false); - } - _ => {} - } - } - } - _ => {} - }); - - Ok(()) -} diff --git a/src-tauri/src/utils/dirs.rs b/src-tauri/src/utils/dirs.rs deleted file mode 100644 index 696831d..0000000 --- a/src-tauri/src/utils/dirs.rs +++ /dev/null @@ -1,159 +0,0 @@ -use anyhow::Result; -use std::path::PathBuf; -use tauri::{ - api::path::{home_dir, resource_dir}, - Env, PackageInfo, -}; - -#[cfg(not(feature = "verge-dev"))] -static APP_DIR: &str = "clash-verge"; -#[cfg(feature = "verge-dev")] -static APP_DIR: &str = "clash-verge-dev"; - -static CLASH_CONFIG: &str = "config.yaml"; -static VERGE_CONFIG: &str = "verge.yaml"; -static PROFILE_YAML: &str = "profiles.yaml"; - -static mut RESOURCE_DIR: Option = None; - -/// portable flag -#[allow(unused)] -static mut PORTABLE_FLAG: bool = false; - -pub static mut APP_VERSION: &str = "v1.2.0"; - -/// initialize portable flag -#[cfg(target_os = "windows")] -pub unsafe fn init_portable_flag() -> Result<()> { - use tauri::utils::platform::current_exe; - - let exe = current_exe()?; - - if let Some(dir) = exe.parent() { - let dir = PathBuf::from(dir).join(".config/PORTABLE"); - - if dir.exists() { - PORTABLE_FLAG = true; - } - } - - Ok(()) -} - -/// get the verge app home dir -pub fn app_home_dir() -> Result { - #[cfg(target_os = "windows")] - unsafe { - use tauri::utils::platform::current_exe; - - if !PORTABLE_FLAG { - Ok(home_dir() - .ok_or(anyhow::anyhow!("failed to get app home dir"))? - .join(".config") - .join(APP_DIR)) - } else { - let app_exe = current_exe()?; - let app_exe = dunce::canonicalize(app_exe)?; - let app_dir = app_exe - .parent() - .ok_or(anyhow::anyhow!("failed to get the portable app dir"))?; - Ok(PathBuf::from(app_dir).join(".config").join(APP_DIR)) - } - } - - #[cfg(not(target_os = "windows"))] - Ok(home_dir() - .ok_or(anyhow::anyhow!("failed to get the app home dir"))? - .join(".config") - .join(APP_DIR)) -} - -/// get the resources dir -pub fn app_resources_dir(package_info: &PackageInfo) -> Result { - let res_dir = resource_dir(package_info, &Env::default()) - .ok_or(anyhow::anyhow!("failed to get the resource dir"))? - .join("resources"); - - unsafe { - RESOURCE_DIR = Some(res_dir.clone()); - - let ver = package_info.version.to_string(); - let ver_str = format!("v{ver}"); - APP_VERSION = Box::leak(Box::new(ver_str)); - } - - Ok(res_dir) -} - -/// profiles dir -pub fn app_profiles_dir() -> Result { - Ok(app_home_dir()?.join("profiles")) -} - -/// logs dir -pub fn app_logs_dir() -> Result { - Ok(app_home_dir()?.join("logs")) -} - -pub fn clash_path() -> Result { - Ok(app_home_dir()?.join(CLASH_CONFIG)) -} - -pub fn verge_path() -> Result { - Ok(app_home_dir()?.join(VERGE_CONFIG)) -} - -pub fn profiles_path() -> Result { - Ok(app_home_dir()?.join(PROFILE_YAML)) -} - -#[allow(unused)] -pub fn app_res_dir() -> Result { - unsafe { - Ok(RESOURCE_DIR - .clone() - .ok_or(anyhow::anyhow!("failed to get the resource dir"))?) - } -} - -pub fn clash_pid_path() -> Result { - unsafe { - Ok(RESOURCE_DIR - .clone() - .ok_or(anyhow::anyhow!("failed to get the resource dir"))? - .join("clash.pid")) - } -} - -#[cfg(windows)] -pub fn service_path() -> Result { - unsafe { - let res_dir = RESOURCE_DIR - .clone() - .ok_or(anyhow::anyhow!("failed to get the resource dir"))?; - Ok(res_dir.join("clash-verge-service.exe")) - } -} - -#[cfg(windows)] -pub fn service_log_file() -> Result { - use chrono::Local; - - let log_dir = app_logs_dir()?.join("service"); - - let local_time = Local::now().format("%Y-%m-%d-%H%M").to_string(); - let log_file = format!("{}.log", local_time); - let log_file = log_dir.join(log_file); - - let _ = std::fs::create_dir_all(&log_dir); - - Ok(log_file) -} - -pub fn path_to_str(path: &PathBuf) -> Result<&str> { - let path_str = path - .as_os_str() - .to_str() - .ok_or(anyhow::anyhow!("failed to get path from {:?}", path))?; - Ok(path_str) -} diff --git a/src-tauri/src/utils/help.rs b/src-tauri/src/utils/help.rs deleted file mode 100644 index 03a89f4..0000000 --- a/src-tauri/src/utils/help.rs +++ /dev/null @@ -1,172 +0,0 @@ -use anyhow::{anyhow, bail, Context, Result}; -use nanoid::nanoid; -use serde::{de::DeserializeOwned, Serialize}; -use serde_yaml::{Mapping, Value}; -use std::{fs, path::PathBuf, str::FromStr}; - -/// read data from yaml as struct T -pub fn read_yaml(path: &PathBuf) -> Result { - if !path.exists() { - bail!("file not found \"{}\"", path.display()); - } - - let yaml_str = fs::read_to_string(&path) - .with_context(|| format!("failed to read the file \"{}\"", path.display()))?; - - serde_yaml::from_str::(&yaml_str).with_context(|| { - format!( - "failed to read the file with yaml format \"{}\"", - path.display() - ) - }) -} - -/// read mapping from yaml fix #165 -pub fn read_merge_mapping(path: &PathBuf) -> Result { - let mut val: Value = read_yaml(path)?; - val.apply_merge() - .with_context(|| format!("failed to apply merge \"{}\"", path.display()))?; - - Ok(val - .as_mapping() - .ok_or(anyhow!( - "failed to transform to yaml mapping \"{}\"", - path.display() - ))? - .to_owned()) -} - -/// save the data to the file -/// can set `prefix` string to add some comments -pub fn save_yaml(path: &PathBuf, data: &T, prefix: Option<&str>) -> Result<()> { - let data_str = serde_yaml::to_string(data)?; - - let yaml_str = match prefix { - Some(prefix) => format!("{prefix}\n\n{data_str}"), - None => data_str, - }; - - let path_str = path.as_os_str().to_string_lossy().to_string(); - fs::write(path, yaml_str.as_bytes()) - .with_context(|| format!("failed to save file \"{path_str}\"")) -} - -const ALPHABET: [char; 62] = [ - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', - 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', - 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', - 'V', 'W', 'X', 'Y', 'Z', -]; - -/// generate the uid -pub fn get_uid(prefix: &str) -> String { - let id = nanoid!(11, &ALPHABET); - format!("{prefix}{id}") -} - -/// parse the string -/// xxx=123123; => 123123 -pub fn parse_str(target: &str, key: &str) -> Option { - target.find(key).and_then(|idx| { - let idx = idx + key.len(); - let value = &target[idx..]; - - match value.split(';').nth(0) { - Some(value) => value.trim().parse(), - None => value.trim().parse(), - } - .ok() - }) -} - -/// open file -/// use vscode by default -pub fn open_file(path: PathBuf) -> Result<()> { - #[cfg(target_os = "macos")] - let code = "Visual Studio Code"; - #[cfg(not(target_os = "macos"))] - let code = "code"; - - // use vscode first - if let Err(err) = open::with(&path, code) { - log::error!(target: "app", "failed to open file with VScode `{err}`"); - // default open - open::that(path)?; - } - - Ok(()) -} - -#[macro_export] -macro_rules! error { - ($result: expr) => { - log::error!(target: "app", "{}", $result); - }; -} - -#[macro_export] -macro_rules! log_err { - ($result: expr) => { - if let Err(err) = $result { - log::error!(target: "app", "{err}"); - } - }; - - ($result: expr, $err_str: expr) => { - if let Err(_) = $result { - log::error!(target: "app", "{}", $err_str); - } - }; -} - -#[macro_export] -macro_rules! trace_err { - ($result: expr, $err_str: expr) => { - if let Err(err) = $result { - log::trace!(target: "app", "{}, err {}", $err_str, err); - } - } -} - -/// wrap the anyhow error -/// transform the error to String -#[macro_export] -macro_rules! wrap_err { - ($stat: expr) => { - match $stat { - Ok(a) => Ok(a), - Err(err) => { - log::error!(target: "app", "{}", err.to_string()); - Err(format!("{}", err.to_string())) - } - } - }; -} - -/// return the string literal error -#[macro_export] -macro_rules! ret_err { - ($str: expr) => { - return Err($str.into()) - }; -} - -#[test] -fn test_parse_value() { - let test_1 = "upload=111; download=2222; total=3333; expire=444"; - let test_2 = "attachment; filename=Clash.yaml"; - - assert_eq!(parse_str::(test_1, "upload=").unwrap(), 111); - assert_eq!(parse_str::(test_1, "download=").unwrap(), 2222); - assert_eq!(parse_str::(test_1, "total=").unwrap(), 3333); - assert_eq!(parse_str::(test_1, "expire=").unwrap(), 444); - assert_eq!( - parse_str::(test_2, "filename=").unwrap(), - format!("Clash.yaml") - ); - - assert_eq!(parse_str::(test_1, "aaa="), None); - assert_eq!(parse_str::(test_1, "upload1="), None); - assert_eq!(parse_str::(test_1, "expire1="), None); - assert_eq!(parse_str::(test_2, "attachment="), None); -} diff --git a/src-tauri/src/utils/init.rs b/src-tauri/src/utils/init.rs deleted file mode 100644 index e9bcd42..0000000 --- a/src-tauri/src/utils/init.rs +++ /dev/null @@ -1,243 +0,0 @@ -use crate::config::*; -use crate::utils::{dirs, help}; -use anyhow::Result; -use chrono::{DateTime, Local}; -use log::LevelFilter; -use log4rs::append::console::ConsoleAppender; -use log4rs::append::file::FileAppender; -use log4rs::config::{Appender, Logger, Root}; -use log4rs::encode::pattern::PatternEncoder; -use std::fs::{self, DirEntry}; -use std::str::FromStr; -use tauri::PackageInfo; - -/// initialize this instance's log file -fn init_log() -> Result<()> { - let log_dir = dirs::app_logs_dir()?; - if !log_dir.exists() { - let _ = fs::create_dir_all(&log_dir); - } - - let log_level = Config::verge().data().get_log_level(); - if log_level == LevelFilter::Off { - return Ok(()); - } - - let local_time = Local::now().format("%Y-%m-%d-%H%M").to_string(); - let log_file = format!("{}.log", local_time); - let log_file = log_dir.join(log_file); - - let log_pattern = match log_level { - LevelFilter::Trace => "{d(%Y-%m-%d %H:%M:%S)} {l} [{M}] - {m}{n}", - _ => "{d(%Y-%m-%d %H:%M:%S)} {l} - {m}{n}", - }; - - let encode = Box::new(PatternEncoder::new(log_pattern)); - - let stdout = ConsoleAppender::builder().encoder(encode.clone()).build(); - let tofile = FileAppender::builder().encoder(encode).build(log_file)?; - - let mut logger_builder = Logger::builder(); - let mut root_builder = Root::builder(); - - let log_more = log_level == LevelFilter::Trace || log_level == LevelFilter::Debug; - - #[cfg(feature = "verge-dev")] - { - logger_builder = logger_builder.appenders(["file", "stdout"]); - if log_more { - root_builder = root_builder.appenders(["file", "stdout"]); - } else { - root_builder = root_builder.appenders(["stdout"]); - } - } - #[cfg(not(feature = "verge-dev"))] - { - logger_builder = logger_builder.appenders(["file"]); - if log_more { - root_builder = root_builder.appenders(["file"]); - } - } - - let (config, _) = log4rs::config::Config::builder() - .appender(Appender::builder().build("stdout", Box::new(stdout))) - .appender(Appender::builder().build("file", Box::new(tofile))) - .logger(logger_builder.additive(false).build("app", log_level)) - .build_lossy(root_builder.build(log_level)); - - log4rs::init_config(config)?; - - Ok(()) -} - -/// 删除log文件 -pub fn delete_log() -> Result<()> { - let log_dir = dirs::app_logs_dir()?; - if !log_dir.exists() { - return Ok(()); - } - - let auto_log_clean = { - let verge = Config::verge(); - let verge = verge.data(); - verge.auto_log_clean.clone().unwrap_or(0) - }; - - let day = match auto_log_clean { - 1 => 7, - 2 => 30, - 3 => 90, - _ => return Ok(()), - }; - - log::debug!(target: "app", "try to delete log files, day: {day}"); - - // %Y-%m-%d to NaiveDateTime - let parse_time_str = |s: &str| { - let sa: Vec<&str> = s.split('-').collect(); - if sa.len() != 4 { - return Err(anyhow::anyhow!("invalid time str")); - } - - let year = i32::from_str(sa[0])?; - let month = u32::from_str(sa[1])?; - let day = u32::from_str(sa[2])?; - let time = chrono::NaiveDate::from_ymd_opt(year, month, day) - .ok_or(anyhow::anyhow!("invalid time str"))? - .and_hms_opt(0, 0, 0) - .ok_or(anyhow::anyhow!("invalid time str"))?; - Ok(time) - }; - - let process_file = |file: DirEntry| -> Result<()> { - let file_name = file.file_name(); - let file_name = file_name.to_str().unwrap_or_default(); - - if file_name.ends_with(".log") { - let now = Local::now(); - let created_time = parse_time_str(&file_name[0..file_name.len() - 4])?; - let file_time = DateTime::::from_local(created_time, now.offset().clone()); - - let duration = now.signed_duration_since(file_time); - if duration.num_days() > day { - let file_path = file.path(); - let _ = fs::remove_file(file_path); - log::info!(target: "app", "delete log file: {file_name}"); - } - } - Ok(()) - }; - - for file in fs::read_dir(&log_dir)? { - if let Ok(file) = file { - let _ = process_file(file); - } - } - Ok(()) -} - -/// Initialize all the config files -/// before tauri setup -pub fn init_config() -> Result<()> { - #[cfg(target_os = "windows")] - unsafe { - let _ = dirs::init_portable_flag(); - } - - let _ = init_log(); - let _ = delete_log(); - - crate::log_err!(dirs::app_home_dir().map(|app_dir| { - if !app_dir.exists() { - let _ = fs::create_dir_all(&app_dir); - } - })); - - crate::log_err!(dirs::app_profiles_dir().map(|profiles_dir| { - if !profiles_dir.exists() { - let _ = fs::create_dir_all(&profiles_dir); - } - })); - - crate::log_err!(dirs::clash_path().map(|path| { - if !path.exists() { - help::save_yaml(&path, &IClashTemp::template().0, Some("# Clash Verge"))?; - } - >::Ok(()) - })); - - crate::log_err!(dirs::verge_path().map(|path| { - if !path.exists() { - help::save_yaml(&path, &IVerge::template(), Some("# Clash Verge"))?; - } - >::Ok(()) - })); - - crate::log_err!(dirs::profiles_path().map(|path| { - if !path.exists() { - help::save_yaml(&path, &IProfiles::template(), Some("# Clash Verge"))?; - } - >::Ok(()) - })); - - Ok(()) -} - -/// initialize app resources -/// after tauri setup -pub fn init_resources(package_info: &PackageInfo) -> Result<()> { - let app_dir = dirs::app_home_dir()?; - let res_dir = dirs::app_resources_dir(package_info)?; - - if !app_dir.exists() { - let _ = fs::create_dir_all(&app_dir); - } - if !res_dir.exists() { - let _ = fs::create_dir_all(&res_dir); - } - - #[cfg(target_os = "windows")] - let file_list = ["Country.mmdb", "geoip.dat", "geosite.dat", "wintun.dll"]; - #[cfg(not(target_os = "windows"))] - let file_list = ["Country.mmdb", "geoip.dat", "geosite.dat"]; - - // copy the resource file - // if the source file is newer than the destination file, copy it over - for file in file_list.iter() { - let src_path = res_dir.join(file); - let dest_path = app_dir.join(file); - - let handle_copy = || { - match fs::copy(&src_path, &dest_path) { - Ok(_) => log::debug!(target: "app", "resources copied '{file}'"), - Err(err) => { - log::error!(target: "app", "failed to copy resources '{file}', {err}") - } - }; - }; - - if src_path.exists() && !dest_path.exists() { - handle_copy(); - continue; - } - - let src_modified = fs::metadata(&src_path).and_then(|m| m.modified()); - let dest_modified = fs::metadata(&dest_path).and_then(|m| m.modified()); - - match (src_modified, dest_modified) { - (Ok(src_modified), Ok(dest_modified)) => { - if src_modified > dest_modified { - handle_copy(); - } else { - log::debug!(target: "app", "skipping resource copy '{file}'"); - } - } - _ => { - log::debug!(target: "app", "failed to get modified '{file}'"); - handle_copy(); - } - }; - } - - Ok(()) -} diff --git a/src-tauri/src/utils/mod.rs b/src-tauri/src/utils/mod.rs deleted file mode 100644 index aeb0a60..0000000 --- a/src-tauri/src/utils/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -pub mod dirs; -pub mod help; -pub mod init; -pub mod resolve; -pub mod server; -pub mod tmpl; -// mod winhelp; diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs deleted file mode 100644 index 14d4bdd..0000000 --- a/src-tauri/src/utils/resolve.rs +++ /dev/null @@ -1,179 +0,0 @@ -use crate::{config::Config, core::*, utils::init, utils::server}; -use crate::{log_err, trace_err}; -use anyhow::Result; -use tauri::{App, AppHandle, Manager}; - -/// handle something when start app -pub fn resolve_setup(app: &mut App) { - #[cfg(target_os = "macos")] - app.set_activation_policy(tauri::ActivationPolicy::Accessory); - - handle::Handle::global().init(app.app_handle()); - - log_err!(init::init_resources(app.package_info())); - - // 启动核心 - log::trace!("init config"); - log_err!(Config::init_config()); - - log::trace!("launch core"); - log_err!(CoreManager::global().init()); - - // setup a simple http server for singleton - log::trace!("launch embed server"); - server::embed_server(app.app_handle()); - - log::trace!("init system tray"); - log_err!(tray::Tray::update_systray(&app.app_handle())); - - let silent_start = { Config::verge().data().enable_silent_start.clone() }; - if !silent_start.unwrap_or(false) { - create_window(&app.app_handle()); - } - - log_err!(sysopt::Sysopt::global().init_launch()); - log_err!(sysopt::Sysopt::global().init_sysproxy()); - - log_err!(handle::Handle::update_systray_part()); - log_err!(hotkey::Hotkey::global().init(app.app_handle())); - log_err!(timer::Timer::global().init()); -} - -/// reset system proxy -pub fn resolve_reset() { - log_err!(sysopt::Sysopt::global().reset_sysproxy()); - log_err!(CoreManager::global().stop_core()); -} - -/// create main window -pub fn create_window(app_handle: &AppHandle) { - if let Some(window) = app_handle.get_window("main") { - trace_err!(window.unminimize(), "set win unminimize"); - trace_err!(window.show(), "set win visible"); - trace_err!(window.set_focus(), "set win focus"); - return; - } - - let mut builder = tauri::window::WindowBuilder::new( - app_handle, - "main".to_string(), - tauri::WindowUrl::App("index.html".into()), - ) - .title("Clash Verge") - .fullscreen(false) - .min_inner_size(600.0, 520.0); - - match Config::verge().latest().window_size_position.clone() { - Some(size_pos) if size_pos.len() == 4 => { - let size = (size_pos[0], size_pos[1]); - let pos = (size_pos[2], size_pos[3]); - let w = size.0.clamp(600.0, f64::INFINITY); - let h = size.1.clamp(520.0, f64::INFINITY); - builder = builder.inner_size(w, h).position(pos.0, pos.1); - } - _ => { - #[cfg(target_os = "windows")] - { - builder = builder.inner_size(800.0, 636.0).center(); - } - - #[cfg(target_os = "macos")] - { - builder = builder.inner_size(800.0, 642.0).center(); - } - - #[cfg(target_os = "linux")] - { - builder = builder.inner_size(800.0, 642.0).center(); - } - } - }; - - #[cfg(target_os = "windows")] - { - use std::time::Duration; - use tokio::time::sleep; - use window_shadows::set_shadow; - - match builder - .decorations(false) - .transparent(true) - .visible(false) - .build() - { - Ok(win) => { - log::trace!("try to calculate the monitor size"); - let center = (|| -> Result { - let mut center = false; - let monitor = win.current_monitor()?.ok_or(anyhow::anyhow!(""))?; - let size = monitor.size(); - let pos = win.outer_position()?; - - if pos.x < -400 - || pos.x > (size.width - 200).try_into()? - || pos.y < -200 - || pos.y > (size.height - 200).try_into()? - { - center = true; - } - Ok(center) - })(); - - if center.unwrap_or(true) { - trace_err!(win.center(), "set win center"); - } - - log::trace!("try to create window"); - let app_handle = app_handle.clone(); - - // 加点延迟避免界面闪一下 - tauri::async_runtime::spawn(async move { - sleep(Duration::from_millis(888)).await; - - if let Some(window) = app_handle.get_window("main") { - trace_err!(set_shadow(&window, true), "set win shadow"); - trace_err!(window.show(), "set win visible"); - trace_err!(window.unminimize(), "set win unminimize"); - trace_err!(window.set_focus(), "set win focus"); - } else { - log::error!(target: "app", "failed to create window, get_window is None") - } - }); - } - Err(err) => log::error!(target: "app", "failed to create window, {err}"), - } - } - - #[cfg(target_os = "macos")] - crate::log_err!(builder - .decorations(true) - .hidden_title(true) - .title_bar_style(tauri::TitleBarStyle::Overlay) - .build()); - - #[cfg(target_os = "linux")] - crate::log_err!(builder.decorations(true).transparent(false).build()); -} - -/// save window size and position -pub fn save_window_size_position(app_handle: &AppHandle, save_to_file: bool) -> Result<()> { - let win = app_handle - .get_window("main") - .ok_or(anyhow::anyhow!("failed to get window"))?; - - let scale = win.scale_factor()?; - let size = win.inner_size()?; - let size = size.to_logical::(scale); - let pos = win.outer_position()?; - let pos = pos.to_logical::(scale); - - let verge = Config::verge(); - let mut verge = verge.latest(); - verge.window_size_position = Some(vec![size.width, size.height, pos.x, pos.y]); - - if save_to_file { - verge.save_file()?; - } - - Ok(()) -} diff --git a/src-tauri/src/utils/server.rs b/src-tauri/src/utils/server.rs deleted file mode 100644 index f4e9836..0000000 --- a/src-tauri/src/utils/server.rs +++ /dev/null @@ -1,44 +0,0 @@ -extern crate warp; - -use super::resolve; -use crate::config::IVerge; -use anyhow::{bail, Result}; -use port_scanner::local_port_available; -use tauri::AppHandle; -use warp::Filter; - -/// check whether there is already exists -pub fn check_singleton() -> Result<()> { - let port = IVerge::get_singleton_port(); - - if !local_port_available(port) { - tauri::async_runtime::block_on(async { - let url = format!("http://127.0.0.1:{port}/commands/visible"); - let resp = reqwest::get(url).await?.text().await?; - - if &resp == "ok" { - bail!("app exists"); - } - - log::error!("failed to setup singleton listen server"); - Ok(()) - }) - } else { - Ok(()) - } -} - -/// The embed server only be used to implement singleton process -/// maybe it can be used as pac server later -pub fn embed_server(app_handle: AppHandle) { - let port = IVerge::get_singleton_port(); - - tauri::async_runtime::spawn(async move { - let commands = warp::path!("commands" / "visible").map(move || { - resolve::create_window(&app_handle); - format!("ok") - }); - - warp::serve(commands).bind(([127, 0, 0, 1], port)).await; - }); -} diff --git a/src-tauri/src/utils/tmpl.rs b/src-tauri/src/utils/tmpl.rs deleted file mode 100644 index ec17c33..0000000 --- a/src-tauri/src/utils/tmpl.rs +++ /dev/null @@ -1,36 +0,0 @@ -///! Some config file template - -/// template for new a profile item -pub const ITEM_LOCAL: &str = "# Profile Template for clash verge - -proxies: - -proxy-groups: - -rules: -"; - -/// enhanced profile -pub const ITEM_MERGE: &str = "# Merge Template for clash verge -# The `Merge` format used to enhance profile - -prepend-rules: - -prepend-proxies: - -prepend-proxy-groups: - -append-rules: - -append-proxies: - -append-proxy-groups: -"; - -/// enhanced profile -pub const ITEM_SCRIPT: &str = "// Define the `main` function - -function main(params) { - return params; -} -"; diff --git a/src-tauri/src/utils/winhelp.rs b/src-tauri/src/utils/winhelp.rs deleted file mode 100644 index e903d95..0000000 --- a/src-tauri/src/utils/winhelp.rs +++ /dev/null @@ -1,69 +0,0 @@ -#![cfg(target_os = "windows")] -#![allow(non_snake_case)] -#![allow(non_camel_case_types)] - -//! -//! From https://github.com/tauri-apps/window-vibrancy/blob/dev/src/windows.rs -//! - -use windows_sys::Win32::{ - Foundation::*, - System::{LibraryLoader::*, SystemInformation::*}, -}; - -fn get_function_impl(library: &str, function: &str) -> Option { - assert_eq!(library.chars().last(), Some('\0')); - assert_eq!(function.chars().last(), Some('\0')); - - let module = unsafe { LoadLibraryA(library.as_ptr()) }; - if module == 0 { - return None; - } - Some(unsafe { GetProcAddress(module, function.as_ptr()) }) -} - -macro_rules! get_function { - ($lib:expr, $func:ident) => { - get_function_impl(concat!($lib, '\0'), concat!(stringify!($func), '\0')).map(|f| unsafe { - std::mem::transmute::<::windows_sys::Win32::Foundation::FARPROC, $func>(f) - }) - }; -} - -/// Returns a tuple of (major, minor, buildnumber) -fn get_windows_ver() -> Option<(u32, u32, u32)> { - type RtlGetVersion = unsafe extern "system" fn(*mut OSVERSIONINFOW) -> i32; - let handle = get_function!("ntdll.dll", RtlGetVersion); - if let Some(rtl_get_version) = handle { - unsafe { - let mut vi = OSVERSIONINFOW { - dwOSVersionInfoSize: 0, - dwMajorVersion: 0, - dwMinorVersion: 0, - dwBuildNumber: 0, - dwPlatformId: 0, - szCSDVersion: [0; 128], - }; - - let status = (rtl_get_version)(&mut vi as _); - - if status >= 0 { - Some((vi.dwMajorVersion, vi.dwMinorVersion, vi.dwBuildNumber)) - } else { - None - } - } - } else { - None - } -} - -pub fn is_win11() -> bool { - let v = get_windows_ver().unwrap_or_default(); - v.2 >= 22000 -} - -#[test] -fn test_version() { - dbg!(get_windows_ver().unwrap_or_default()); -} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json deleted file mode 100644 index 71c7200..0000000 --- a/src-tauri/tauri.conf.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "package": { - "productName": "Clash Verge", - "version": "1.3.8" - }, - "build": { - "distDir": "../dist", - "devPath": "http://localhost:3000/", - "beforeDevCommand": "yarn run web:dev", - "beforeBuildCommand": "yarn run web:build" - }, - "tauri": { - "systemTray": { - "iconPath": "icons/tray-icon.ico", - "iconAsTemplate": true - }, - "bundle": { - "active": true, - "targets": "all", - "identifier": "top.gydi.clashverge", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon-new.icns", - "icons/icon.ico" - ], - "resources": ["resources"], - "externalBin": ["sidecar/clash", "sidecar/clash-meta"], - "copyright": "© 2022 zzzgydi All Rights Reserved", - "category": "DeveloperTool", - "shortDescription": "A Clash GUI based on tauri.", - "longDescription": "A Clash GUI based on tauri.", - "deb": { - "depends": ["openssl"] - }, - "macOS": { - "frameworks": [], - "minimumSystemVersion": "", - "exceptionDomain": "", - "signingIdentity": null, - "entitlements": null - }, - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "", - "wix": { - "language": ["zh-CN", "en-US", "ru-RU"] - } - } - }, - "updater": { - "active": true, - "endpoints": [ - "https://ghproxy.com/https://github.com/zzzgydi/clash-verge/releases/download/updater/update-proxy.json", - "https://github.com/zzzgydi/clash-verge/releases/download/updater/update.json" - ], - "dialog": false, - "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDExNUFBNTBBN0FDNEFBRTUKUldUbHFzUjZDcVZhRVRJM25NS3NkSFlFVElxUkNZMzZ6bHUwRVJjb2F3alJXVzRaeDdSaTA2YWYK" - }, - "allowlist": { - "shell": { - "all": true - }, - "window": { - "all": true - }, - "process": { - "all": true - }, - "globalShortcut": { - "all": true - } - }, - "windows": [], - "security": { - "csp": "script-src 'unsafe-eval' 'self'; default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self'; img-src data: 'self';" - } - } -} diff --git a/src/assets/image/logo-box.png b/src/assets/image/logo-box.png deleted file mode 100644 index fe64a1f62eba57285b1d2ad2791783e30fa783ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58087 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

    fsty)d>sH@-?Kb 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 R5VO^>VVHyc(f_$a{|_M{DnI}L diff --git a/src/assets/image/logo.png b/src/assets/image/logo.png deleted file mode 100644 index c384c7c3556a979804b31457bfe87caba0f885e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61799 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 FWs4-29l1W`0OM=mx}55{1rEj;UT>f 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 - - - - - - - - - - - - diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss deleted file mode 100644 index 2fdcc9e..0000000 --- a/src/assets/styles/index.scss +++ /dev/null @@ -1,50 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; - -webkit-font-smoothing: antialiased; - - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; -} - -:root { - --primary-main: #5b5c9d; - --text-primary: #637381; - --selection-color: #f5f5f5; - --scroller-color: #90939980; -} - -::selection { - color: var(--selection-color); - background-color: var(--primary-main); -} - -*::-webkit-scrollbar { - width: 6px; - height: 6px; - background: transparent; -} -*::-webkit-scrollbar-thumb { - border-radius: 6px; - background-color: var(--scroller-color); -} - -@import "./layout.scss"; -@import "./page.scss"; - -@media (prefers-color-scheme: dark) { - :root { - background-color: rgba(18, 18, 18, 1); - } -} - -.user-none { - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; -} diff --git a/src/assets/styles/layout.scss b/src/assets/styles/layout.scss deleted file mode 100644 index 3d16c86..0000000 --- a/src/assets/styles/layout.scss +++ /dev/null @@ -1,117 +0,0 @@ -.layout { - width: 100%; - height: 100vh; - display: flex; - overflow: hidden; - - &__left { - flex: 1 0 25%; - display: flex; - height: 100%; - max-width: 225px; - min-width: 125px; - padding: 16px 0 8px; - flex-direction: column; - box-sizing: border-box; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - overflow: hidden; - - $maxLogo: 100px; - - .the-logo { - position: relative; - flex: 0 1 $maxLogo; - width: 100%; - max-width: $maxLogo + 32px; - max-height: $maxLogo; - margin: 0 auto; - padding: 0 16px; - text-align: center; - box-sizing: border-box; - - img, - svg { - width: 100%; - height: 100%; - pointer-events: none; - } - - .the-newbtn { - position: absolute; - right: 10px; - bottom: 0px; - transform: scale(0.8); - } - } - - .the-menu { - flex: 1 1 80%; - overflow-y: auto; - margin-bottom: 8px; - } - - .the-traffic { - flex: 0 0 60px; - - > div { - margin: 0 auto; - } - } - } - - &__right { - position: relative; - flex: 1 1 75%; - height: 100%; - - .the-bar { - position: absolute; - top: 2px; - right: 8px; - height: 36px; - display: flex; - align-items: center; - box-sizing: border-box; - z-index: 2; - } - - .the-content { - position: absolute; - top: 0; - left: 0; - right: 2px; - bottom: 10px; - } - } -} - -.linux, -.windows, -.unknown { - &.layout { - $maxLogo: 115px; - .layout__left .the-logo { - flex: 0 1 $maxLogo; - max-width: $maxLogo + 32px; - max-height: $maxLogo; - } - - .layout__right .the-content { - top: 30px; - } - } -} - -.macos { - &.layout { - .layout__left { - padding-top: 24px; - } - .layout__right .the-content { - top: 20px; - } - } -} diff --git a/src/assets/styles/page.scss b/src/assets/styles/page.scss deleted file mode 100644 index ae7fce3..0000000 --- a/src/assets/styles/page.scss +++ /dev/null @@ -1,35 +0,0 @@ -.base-page { - width: 100%; - height: 100%; - display: flex; - flex-direction: column; - - > header { - flex: 0 0 58px; - width: 90%; - // max-width: 850px; - margin: 0 auto; - padding-right: 4px; - box-sizing: border-box; - display: flex; - align-items: center; - justify-content: space-between; - } - - > section { - position: relative; - flex: 1 1 100%; - width: 100%; - height: 100%; - overflow: auto; - padding: 8px 0; - box-sizing: border-box; - scrollbar-gutter: stable; - - .base-content { - width: 90%; - // max-width: 850px; - margin: 0 auto; - } - } -} diff --git a/src/components/base/base-dialog.tsx b/src/components/base/base-dialog.tsx deleted file mode 100644 index db4226c..0000000 --- a/src/components/base/base-dialog.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { ReactNode } from "react"; -import { - Button, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - type SxProps, - type Theme, -} from "@mui/material"; - -interface Props { - title: ReactNode; - open: boolean; - okBtn?: ReactNode; - cancelBtn?: ReactNode; - disableOk?: boolean; - disableCancel?: boolean; - disableFooter?: boolean; - contentSx?: SxProps; - children?: ReactNode; - onOk?: () => void; - onCancel?: () => void; - onClose?: () => void; -} - -export interface DialogRef { - open: () => void; - close: () => void; -} - -export const BaseDialog: React.FC = (props) => { - const { - open, - title, - children, - okBtn, - cancelBtn, - contentSx, - disableCancel, - disableOk, - disableFooter, - } = props; - - return ( -

    - {title} - - {children} - - {!disableFooter && ( - - {!disableCancel && ( - - )} - {!disableOk && ( - - )} - - )} - - ); -}; diff --git a/src/components/base/base-empty.tsx b/src/components/base/base-empty.tsx deleted file mode 100644 index c364a50..0000000 --- a/src/components/base/base-empty.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { alpha, Box, Typography } from "@mui/material"; -import { InboxRounded } from "@mui/icons-material"; - -interface Props { - text?: React.ReactNode; - extra?: React.ReactNode; -} - -export const BaseEmpty = (props: Props) => { - const { text = "Empty", extra } = props; - - return ( - ({ - width: "100%", - height: "100%", - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent: "center", - color: alpha(palette.text.secondary, 0.75), - })} - > - - {text} - {extra} - - ); -}; diff --git a/src/components/base/base-error-boundary.tsx b/src/components/base/base-error-boundary.tsx deleted file mode 100644 index 2475a2f..0000000 --- a/src/components/base/base-error-boundary.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { ReactNode } from "react"; -import { ErrorBoundary, FallbackProps } from "react-error-boundary"; - -function ErrorFallback({ error }: FallbackProps) { - return ( -
    -

    Something went wrong:(

    - -
    {error.message}
    - -
    - Error Stack -
    {error.stack}
    -
    -
    - ); -} - -interface Props { - children?: ReactNode; -} - -export const BaseErrorBoundary = (props: Props) => { - return ( - - {props.children} - - ); -}; diff --git a/src/components/base/base-loading.tsx b/src/components/base/base-loading.tsx deleted file mode 100644 index 0fdbebf..0000000 --- a/src/components/base/base-loading.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { styled } from "@mui/material"; - -const Loading = styled("div")` - position: relative; - display: flex; - height: 100%; - min-height: 18px; - box-sizing: border-box; - align-items: center; - - & > div { - box-sizing: border-box; - width: 6px; - height: 6px; - margin: 2px; - border-radius: 100%; - animation: loading 0.7s -0.15s infinite linear; - } - - & > div:nth-child(2n-1) { - animation-delay: -0.5s; - } - - @keyframes loading { - 50% { - opacity: 0.2; - transform: scale(0.75); - } - 100% { - opacity: 1; - transform: scale(1); - } - } -`; - -const LoadingItem = styled("div")(({ theme }) => ({ - background: theme.palette.text.secondary, -})); - -export const BaseLoading = () => { - return ( - - - - - - ); -}; diff --git a/src/components/base/base-notice.tsx b/src/components/base/base-notice.tsx deleted file mode 100644 index 5849034..0000000 --- a/src/components/base/base-notice.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { createRoot } from "react-dom/client"; -import { ReactNode, useState } from "react"; -import { Box, IconButton, Slide, Snackbar, Typography } from "@mui/material"; -import { Close, CheckCircleRounded, ErrorRounded } from "@mui/icons-material"; - -interface InnerProps { - type: string; - duration?: number; - message: ReactNode; - onClose: () => void; -} - -const NoticeInner = (props: InnerProps) => { - const { type, message, duration = 1500, onClose } = props; - const [visible, setVisible] = useState(true); - - const onBtnClose = () => { - setVisible(false); - onClose(); - }; - const onAutoClose = (_e: any, reason: string) => { - if (reason !== "clickaway") onBtnClose(); - }; - - const msgElement = - type === "info" ? ( - message - ) : ( - - {type === "error" && } - {type === "success" && } - - - {message} - - - ); - - return ( - } - transitionDuration={200} - action={ - - - - } - /> - ); -}; - -interface NoticeInstance { - (props: Omit): void; - - info(message: ReactNode, duration?: number): void; - error(message: ReactNode, duration?: number): void; - success(message: ReactNode, duration?: number): void; -} - -let parent: HTMLDivElement = null!; - -// @ts-ignore -export const Notice: NoticeInstance = (props) => { - if (!parent) { - parent = document.createElement("div"); - document.body.appendChild(parent); - } - - const container = document.createElement("div"); - parent.appendChild(container); - const root = createRoot(container); - - const onUnmount = () => { - root.unmount(); - if (parent) setTimeout(() => parent.removeChild(container), 500); - }; - - root.render(); -}; - -(["info", "error", "success"] as const).forEach((type) => { - Notice[type] = (message, duration) => { - setTimeout(() => Notice({ type, message, duration }), 0); - }; -}); diff --git a/src/components/base/base-page.tsx b/src/components/base/base-page.tsx deleted file mode 100644 index 869731a..0000000 --- a/src/components/base/base-page.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { ReactNode } from "react"; -import { Typography } from "@mui/material"; -import { BaseErrorBoundary } from "./base-error-boundary"; - -interface Props { - title?: React.ReactNode; // the page title - header?: React.ReactNode; // something behind title - contentStyle?: React.CSSProperties; - children?: ReactNode; -} - -export const BasePage: React.FC = (props) => { - const { title, header, contentStyle, children } = props; - - return ( - -
    -
    - - {title} - - - {header} -
    - -
    -
    - {children} -
    -
    -
    -
    - ); -}; diff --git a/src/components/base/index.ts b/src/components/base/index.ts deleted file mode 100644 index 3e0e324..0000000 --- a/src/components/base/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { BaseDialog, type DialogRef } from "./base-dialog"; -export { BasePage } from "./base-page"; -export { BaseEmpty } from "./base-empty"; -export { BaseLoading } from "./base-loading"; -export { BaseErrorBoundary } from "./base-error-boundary"; -export { Notice } from "./base-notice"; diff --git a/src/components/connection/connection-detail.tsx b/src/components/connection/connection-detail.tsx deleted file mode 100644 index 7ed786e..0000000 --- a/src/components/connection/connection-detail.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import dayjs from "dayjs"; -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { Box, Button, Snackbar } from "@mui/material"; -import { deleteConnection } from "@/services/api"; -import { truncateStr } from "@/utils/truncate-str"; -import parseTraffic from "@/utils/parse-traffic"; - -export interface ConnectionDetailRef { - open: (detail: IConnectionsItem) => void; -} - -export const ConnectionDetail = forwardRef( - (props, ref) => { - const [open, setOpen] = useState(false); - const [detail, setDetail] = useState(null!); - - useImperativeHandle(ref, () => ({ - open: (detail: IConnectionsItem) => { - if (open) return; - setOpen(true); - setDetail(detail); - }, - })); - - const onClose = () => setOpen(false); - - return ( - - ) : null - } - /> - ); - } -); - -interface InnerProps { - data: IConnectionsItem; - onClose?: () => void; -} - -const InnerConnectionDetail = ({ data, onClose }: InnerProps) => { - const { metadata, rulePayload } = data; - const chains = [...data.chains].reverse().join(" / "); - const rule = rulePayload ? `${data.rule}(${rulePayload})` : data.rule; - const host = metadata.host - ? `${metadata.host}:${metadata.destinationPort}` - : `${metadata.destinationIP}:${metadata.destinationPort}`; - - const information = [ - { label: "Host", value: host }, - { label: "Download", value: parseTraffic(data.download).join(" ") }, - { label: "Upload", value: parseTraffic(data.upload).join(" ") }, - { - label: "DL Speed", - value: parseTraffic(data.curDownload ?? -1).join(" ") + "/s", - }, - { - label: "UL Speed", - value: parseTraffic(data.curUpload ?? -1).join(" ") + "/s", - }, - { label: "Chains", value: chains }, - { label: "Rule", value: rule }, - { - label: "Process", - value: truncateStr(metadata.process || metadata.processPath), - }, - { label: "Time", value: dayjs(data.start).fromNow() }, - { label: "Source", value: `${metadata.sourceIP}:${metadata.sourcePort}` }, - { label: "Destination IP", value: metadata.destinationIP }, - { label: "Type", value: `${metadata.type}(${metadata.network})` }, - ]; - - const onDelete = useLockFn(async () => deleteConnection(data.id)); - - return ( - - {information.map((each) => ( -
    - {each.label}: {each.value} -
    - ))} - - - - -
    - ); -}; diff --git a/src/components/connection/connection-item.tsx b/src/components/connection/connection-item.tsx deleted file mode 100644 index d6c78eb..0000000 --- a/src/components/connection/connection-item.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import dayjs from "dayjs"; -import { useLockFn } from "ahooks"; -import { - styled, - ListItem, - IconButton, - ListItemText, - Box, - alpha, -} from "@mui/material"; -import { CloseRounded } from "@mui/icons-material"; -import { deleteConnection } from "@/services/api"; -import parseTraffic from "@/utils/parse-traffic"; - -const Tag = styled("span")(({ theme }) => ({ - fontSize: "10px", - padding: "0 4px", - lineHeight: 1.375, - border: "1px solid", - borderRadius: 4, - borderColor: alpha(theme.palette.text.secondary, 0.35), - marginRight: "4px", -})); - -interface Props { - value: IConnectionsItem; - onShowDetail?: () => void; -} - -export const ConnectionItem = (props: Props) => { - const { value, onShowDetail } = props; - - const { id, metadata, chains, start, curUpload, curDownload } = value; - - const onDelete = useLockFn(async () => deleteConnection(id)); - const showTraffic = curUpload! >= 100 || curDownload! >= 100; - - return ( - - - - } - > - - - {metadata.network} - - - {metadata.type} - - {!!metadata.process && {metadata.process}} - - {chains?.length > 0 && {chains[value.chains.length - 1]}} - - {dayjs(start).fromNow()} - - {showTraffic && ( - - {parseTraffic(curUpload!)} / {parseTraffic(curDownload!)} - - )} - - } - /> - - ); -}; diff --git a/src/components/connection/connection-table.tsx b/src/components/connection/connection-table.tsx deleted file mode 100644 index 143bf9f..0000000 --- a/src/components/connection/connection-table.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import dayjs from "dayjs"; -import { useMemo, useState } from "react"; -import { DataGrid, GridColDef } from "@mui/x-data-grid"; -import { truncateStr } from "@/utils/truncate-str"; -import parseTraffic from "@/utils/parse-traffic"; - -interface Props { - connections: IConnectionsItem[]; - onShowDetail: (data: IConnectionsItem) => void; -} - -export const ConnectionTable = (props: Props) => { - const { connections, onShowDetail } = props; - - const [columnVisible, setColumnVisible] = useState< - Partial> - >({}); - - const columns: GridColDef[] = [ - { field: "host", headerName: "Host", flex: 220, minWidth: 220 }, - { - field: "download", - headerName: "Download", - width: 88, - align: "right", - headerAlign: "right", - }, - { - field: "upload", - headerName: "Upload", - width: 88, - align: "right", - headerAlign: "right", - }, - { - field: "dlSpeed", - headerName: "DL Speed", - width: 88, - align: "right", - headerAlign: "right", - }, - { - field: "ulSpeed", - headerName: "UL Speed", - width: 88, - align: "right", - headerAlign: "right", - }, - { field: "chains", headerName: "Chains", flex: 360, minWidth: 360 }, - { field: "rule", headerName: "Rule", flex: 300, minWidth: 250 }, - { field: "process", headerName: "Process", flex: 480, minWidth: 480 }, - { - field: "time", - headerName: "Time", - flex: 120, - minWidth: 100, - align: "right", - headerAlign: "right", - }, - { field: "source", headerName: "Source", flex: 200, minWidth: 130 }, - { - field: "destinationIP", - headerName: "Destination IP", - flex: 200, - minWidth: 130, - }, - { field: "type", headerName: "Type", flex: 160, minWidth: 100 }, - ]; - - const connRows = useMemo(() => { - return connections.map((each) => { - const { metadata, rulePayload } = each; - const chains = [...each.chains].reverse().join(" / "); - const rule = rulePayload ? `${each.rule}(${rulePayload})` : each.rule; - - return { - id: each.id, - host: metadata.host - ? `${metadata.host}:${metadata.destinationPort}` - : `${metadata.destinationIP}:${metadata.destinationPort}`, - download: parseTraffic(each.download).join(" "), - upload: parseTraffic(each.upload).join(" "), - dlSpeed: parseTraffic(each.curDownload).join(" ") + "/s", - ulSpeed: parseTraffic(each.curUpload).join(" ") + "/s", - chains, - rule, - process: truncateStr(metadata.process || metadata.processPath), - time: dayjs(each.start).fromNow(), - source: `${metadata.sourceIP}:${metadata.sourcePort}`, - destinationIP: metadata.destinationIP, - type: `${metadata.type}(${metadata.network})`, - - connectionData: each, - }; - }); - }, [connections]); - - return ( - onShowDetail(e.row.connectionData)} - density="compact" - sx={{ border: "none", "div:focus": { outline: "none !important" } }} - columnVisibilityModel={columnVisible} - onColumnVisibilityModelChange={(e) => setColumnVisible(e)} - /> - ); -}; diff --git a/src/components/layout/layout-control.tsx b/src/components/layout/layout-control.tsx deleted file mode 100644 index 6ec12b9..0000000 --- a/src/components/layout/layout-control.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { Button } from "@mui/material"; -import { appWindow } from "@tauri-apps/api/window"; -import { - CloseRounded, - CropSquareRounded, - HorizontalRuleRounded, -} from "@mui/icons-material"; - -export const LayoutControl = () => { - const minWidth = 40; - - return ( - <> - - - - - - - ); -}; diff --git a/src/components/layout/layout-item.tsx b/src/components/layout/layout-item.tsx deleted file mode 100644 index 5a33da2..0000000 --- a/src/components/layout/layout-item.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { alpha, ListItem, ListItemButton, ListItemText } from "@mui/material"; -import { useMatch, useResolvedPath, useNavigate } from "react-router-dom"; -import type { LinkProps } from "react-router-dom"; - -export const LayoutItem = (props: LinkProps) => { - const { to, children } = props; - - const resolved = useResolvedPath(to); - const match = useMatch({ path: resolved.pathname, end: true }); - const navigate = useNavigate(); - - return ( - - { - const bgcolor = - mode === "light" - ? alpha(primary.main, 0.15) - : alpha(primary.main, 0.35); - const color = mode === "light" ? primary.main : primary.light; - - return { - "&.Mui-selected": { bgcolor }, - "&.Mui-selected:hover": { bgcolor }, - "&.Mui-selected .MuiListItemText-primary": { color }, - }; - }, - ]} - onClick={() => navigate(to)} - > - - - - ); -}; diff --git a/src/components/layout/layout-traffic.tsx b/src/components/layout/layout-traffic.tsx deleted file mode 100644 index 4e65a87..0000000 --- a/src/components/layout/layout-traffic.tsx +++ /dev/null @@ -1,136 +0,0 @@ -import { useEffect, useRef, useState } from "react"; -import { Box, Typography } from "@mui/material"; -import { - ArrowDownward, - ArrowUpward, - MemoryOutlined, -} from "@mui/icons-material"; -import { useClashInfo } from "@/hooks/use-clash"; -import { useVerge } from "@/hooks/use-verge"; -import { TrafficGraph, type TrafficRef } from "./traffic-graph"; -import { useLogSetup } from "./use-log-setup"; -import { useVisibility } from "@/hooks/use-visibility"; -import { useWebsocket } from "@/hooks/use-websocket"; -import parseTraffic from "@/utils/parse-traffic"; - -// setup the traffic -export const LayoutTraffic = () => { - const { clashInfo } = useClashInfo(); - const { verge } = useVerge(); - - // whether hide traffic graph - const trafficGraph = verge?.traffic_graph ?? true; - - const trafficRef = useRef(null); - const [traffic, setTraffic] = useState({ up: 0, down: 0 }); - const [memory, setMemory] = useState({ inuse: 0 }); - const pageVisible = useVisibility(); - - // setup log ws during layout - useLogSetup(); - - const { connect, disconnect } = useWebsocket((event) => { - const data = JSON.parse(event.data) as ITrafficItem; - trafficRef.current?.appendData(data); - setTraffic(data); - }); - - useEffect(() => { - if (!clashInfo || !pageVisible) return; - - const { server = "", secret = "" } = clashInfo; - connect(`ws://${server}/traffic?token=${encodeURIComponent(secret)}`); - - return () => { - disconnect(); - }; - }, [clashInfo, pageVisible]); - - /* --------- meta memory information --------- */ - const isMetaCore = verge?.clash_core === "clash-meta"; - const displayMemory = isMetaCore && (verge?.enable_memory_usage ?? true); - - const memoryWs = useWebsocket( - (event) => { - setMemory(JSON.parse(event.data)); - }, - { onError: () => setMemory({ inuse: 0 }) } - ); - - useEffect(() => { - if (!clashInfo || !pageVisible || !displayMemory) return; - const { server = "", secret = "" } = clashInfo; - memoryWs.connect( - `ws://${server}/memory?token=${encodeURIComponent(secret)}` - ); - return () => memoryWs.disconnect(); - }, [clashInfo, pageVisible, displayMemory]); - - const [up, upUnit] = parseTraffic(traffic.up); - const [down, downUnit] = parseTraffic(traffic.down); - const [inuse, inuseUnit] = parseTraffic(memory.inuse); - - const iconStyle: any = { - sx: { mr: "8px", fontSize: 16 }, - }; - const valStyle: any = { - component: "span", - color: "primary", - textAlign: "center", - sx: { flex: "1 1 56px", userSelect: "none" }, - }; - const unitStyle: any = { - component: "span", - color: "grey.500", - fontSize: "12px", - textAlign: "right", - sx: { flex: "0 1 27px", userSelect: "none" }, - }; - - return ( - - {trafficGraph && pageVisible && ( -
    - -
    - )} - - - - 0 ? "primary" : "disabled"} - /> - {up} - {upUnit}/s - - - - 0 ? "primary" : "disabled"} - /> - {down} - {downUnit}/s - - - {displayMemory && ( - - - {inuse} - {inuseUnit} - - )} - -
    - ); -}; diff --git a/src/components/layout/traffic-graph.tsx b/src/components/layout/traffic-graph.tsx deleted file mode 100644 index 5c1a6b7..0000000 --- a/src/components/layout/traffic-graph.tsx +++ /dev/null @@ -1,195 +0,0 @@ -import { forwardRef, useEffect, useImperativeHandle, useRef } from "react"; -import { useTheme } from "@mui/material"; - -const maxPoint = 30; - -const refLineAlpha = 1; -const refLineWidth = 2; - -const upLineAlpha = 0.6; -const upLineWidth = 4; - -const downLineAlpha = 1; -const downLineWidth = 4; - -const defaultList = Array(maxPoint + 2).fill({ up: 0, down: 0 }); - -type TrafficData = { up: number; down: number }; - -export interface TrafficRef { - appendData: (data: TrafficData) => void; - toggleStyle: () => void; -} - -/** - * draw the traffic graph - */ -export const TrafficGraph = forwardRef((props, ref) => { - const countRef = useRef(0); - const styleRef = useRef(true); - const listRef = useRef(defaultList); - const canvasRef = useRef(null!); - - const cacheRef = useRef(null); - - const { palette } = useTheme(); - - useImperativeHandle(ref, () => ({ - appendData: (data: TrafficData) => { - cacheRef.current = data; - }, - toggleStyle: () => { - styleRef.current = !styleRef.current; - }, - })); - - useEffect(() => { - let timer: any; - const zero = { up: 0, down: 0 }; - - const handleData = () => { - const data = cacheRef.current ? cacheRef.current : zero; - cacheRef.current = null; - - const list = listRef.current; - if (list.length > maxPoint + 2) list.shift(); - list.push(data); - countRef.current = 0; - - timer = setTimeout(handleData, 1000); - }; - - handleData(); - - return () => { - if (timer) clearTimeout(timer); - }; - }, []); - - useEffect(() => { - let raf = 0; - const canvas = canvasRef.current!; - - if (!canvas) return; - - const context = canvas.getContext("2d")!; - - if (!context) return; - - const { primary, secondary, divider } = palette; - const refLineColor = divider || "rgba(0, 0, 0, 0.12)"; - const upLineColor = secondary.main || "#9c27b0"; - const downLineColor = primary.main || "#5b5c9d"; - - const width = canvas.width; - const height = canvas.height; - const dx = width / maxPoint; - const dy = height / 7; - const l1 = dy; - const l2 = dy * 4; - - const countY = (v: number) => { - const h = height; - - if (v == 0) return h - 1; - if (v <= 10) return h - (v / 10) * dy; - if (v <= 100) return h - (v / 100 + 1) * dy; - if (v <= 1024) return h - (v / 1024 + 2) * dy; - if (v <= 10240) return h - (v / 10240 + 3) * dy; - if (v <= 102400) return h - (v / 102400 + 4) * dy; - if (v <= 1048576) return h - (v / 1048576 + 5) * dy; - if (v <= 10485760) return h - (v / 10485760 + 6) * dy; - return 1; - }; - - const drawBezier = (list: number[], offset: number) => { - const points = list.map((y, i) => [ - (dx * (i - 1) - offset + 3) | 0, - countY(y), - ]); - - let x = points[0][0]; - let y = points[0][1]; - - context.moveTo(x, y); - - for (let i = 1; i < points.length; i++) { - const p1 = points[i]; - const p2 = points[i + 1] || p1; - - const x1 = (p1[0] + p2[0]) / 2; - const y1 = (p1[1] + p2[1]) / 2; - - context.quadraticCurveTo(p1[0], p1[1], x1, y1); - x = x1; - y = y1; - } - }; - - const drawLine = (list: number[], offset: number) => { - const points = list.map((y, i) => [ - (dx * (i - 1) - offset) | 0, - countY(y), - ]); - - context.moveTo(points[0][0], points[0][1]); - - for (let i = 1; i < points.length; i++) { - const p = points[i]; - context.lineTo(p[0], p[1]); - } - }; - - const drawGraph = (lastTime: number) => { - const listUp = listRef.current.map((v) => v.up); - const listDown = listRef.current.map((v) => v.down); - const lineStyle = styleRef.current; - - const now = Date.now(); - const diff = now - lastTime; - const temp = Math.min((diff / 1000) * dx + countRef.current, dx); - const offset = countRef.current === 0 ? 0 : temp; - countRef.current = temp; - - context.clearRect(0, 0, width, height); - - // Reference lines - context.beginPath(); - context.globalAlpha = refLineAlpha; - context.lineWidth = refLineWidth; - context.strokeStyle = refLineColor; - context.moveTo(0, l1); - context.lineTo(width, l1); - context.moveTo(0, l2); - context.lineTo(width, l2); - context.stroke(); - context.closePath(); - - context.beginPath(); - context.globalAlpha = upLineAlpha; - context.lineWidth = upLineWidth; - context.strokeStyle = upLineColor; - lineStyle ? drawBezier(listUp, offset) : drawLine(listUp, offset); - context.stroke(); - context.closePath(); - - context.beginPath(); - context.globalAlpha = downLineAlpha; - context.lineWidth = downLineWidth; - context.strokeStyle = downLineColor; - lineStyle ? drawBezier(listDown, offset) : drawLine(listDown, offset); - context.stroke(); - context.closePath(); - - raf = requestAnimationFrame(() => drawGraph(now)); - }; - - drawGraph(Date.now()); - - return () => { - cancelAnimationFrame(raf); - }; - }, [palette]); - - return ; -}); diff --git a/src/components/layout/update-button.tsx b/src/components/layout/update-button.tsx deleted file mode 100644 index b71ea07..0000000 --- a/src/components/layout/update-button.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import useSWR from "swr"; -import { useRef } from "react"; -import { Button } from "@mui/material"; -import { checkUpdate } from "@tauri-apps/api/updater"; -import { UpdateViewer } from "../setting/mods/update-viewer"; -import { DialogRef } from "../base"; - -interface Props { - className?: string; -} - -export const UpdateButton = (props: Props) => { - const { className } = props; - - const viewerRef = useRef(null); - - const { data: updateInfo } = useSWR("checkUpdate", checkUpdate, { - errorRetryCount: 2, - revalidateIfStale: false, - focusThrottleInterval: 36e5, // 1 hour - }); - - if (!updateInfo?.shouldUpdate) return null; - - return ( - <> - - - - - ); -}; diff --git a/src/components/layout/use-custom-theme.ts b/src/components/layout/use-custom-theme.ts deleted file mode 100644 index e029494..0000000 --- a/src/components/layout/use-custom-theme.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { useEffect, useMemo } from "react"; -import { useRecoilState } from "recoil"; -import { createTheme, Theme } from "@mui/material"; -import { appWindow } from "@tauri-apps/api/window"; -import { atomThemeMode } from "@/services/states"; -import { defaultTheme, defaultDarkTheme } from "@/pages/_theme"; -import { useVerge } from "@/hooks/use-verge"; - -/** - * custom theme - */ -export const useCustomTheme = () => { - const { verge } = useVerge(); - const { theme_mode, theme_setting } = verge ?? {}; - const [mode, setMode] = useRecoilState(atomThemeMode); - - useEffect(() => { - const themeMode = ["light", "dark", "system"].includes(theme_mode!) - ? theme_mode! - : "light"; - - if (themeMode !== "system") { - setMode(themeMode); - return; - } - - appWindow.theme().then((m) => m && setMode(m)); - const unlisten = appWindow.onThemeChanged((e) => setMode(e.payload)); - - return () => { - unlisten.then((fn) => fn()); - }; - }, [theme_mode]); - - const theme = useMemo(() => { - const setting = theme_setting || {}; - const dt = mode === "light" ? defaultTheme : defaultDarkTheme; - - let theme: Theme; - - try { - theme = createTheme({ - breakpoints: { - values: { xs: 0, sm: 650, md: 900, lg: 1200, xl: 1536 }, - }, - palette: { - mode, - primary: { main: setting.primary_color || dt.primary_color }, - secondary: { main: setting.secondary_color || dt.secondary_color }, - info: { main: setting.info_color || dt.info_color }, - error: { main: setting.error_color || dt.error_color }, - warning: { main: setting.warning_color || dt.warning_color }, - success: { main: setting.success_color || dt.success_color }, - text: { - primary: setting.primary_text || dt.primary_text, - secondary: setting.secondary_text || dt.secondary_text, - }, - }, - typography: { - // todo - fontFamily: setting.font_family - ? `${setting.font_family}, ${dt.font_family}` - : dt.font_family, - }, - }); - } catch { - // fix #294 - theme = createTheme({ - breakpoints: { - values: { xs: 0, sm: 650, md: 900, lg: 1200, xl: 1536 }, - }, - palette: { - mode, - primary: { main: dt.primary_color }, - secondary: { main: dt.secondary_color }, - info: { main: dt.info_color }, - error: { main: dt.error_color }, - warning: { main: dt.warning_color }, - success: { main: dt.success_color }, - text: { primary: dt.primary_text, secondary: dt.secondary_text }, - }, - typography: { fontFamily: dt.font_family }, - }); - } - - // css - const selectColor = mode === "light" ? "#f5f5f5" : "#d5d5d5"; - const scrollColor = mode === "light" ? "#90939980" : "#54545480"; - - const rootEle = document.documentElement; - rootEle.style.setProperty("--selection-color", selectColor); - rootEle.style.setProperty("--scroller-color", scrollColor); - rootEle.style.setProperty("--primary-main", theme.palette.primary.main); - - // inject css - let style = document.querySelector("style#verge-theme"); - if (!style) { - style = document.createElement("style"); - style.id = "verge-theme"; - document.head.appendChild(style!); - } - if (style) { - style.innerHTML = setting.css_injection || ""; - } - - // update svg icon - const { palette } = theme; - - setTimeout(() => { - const dom = document.querySelector("#Gradient2"); - if (dom) { - dom.innerHTML = ` - - - - `; - } - }, 0); - - return theme; - }, [mode, theme_setting]); - - return { theme }; -}; diff --git a/src/components/layout/use-log-setup.ts b/src/components/layout/use-log-setup.ts deleted file mode 100644 index 0c130ac..0000000 --- a/src/components/layout/use-log-setup.ts +++ /dev/null @@ -1,39 +0,0 @@ -import dayjs from "dayjs"; -import { useEffect } from "react"; -import { useRecoilValue, useSetRecoilState } from "recoil"; -import { getClashLogs } from "@/services/cmds"; -import { useClashInfo } from "@/hooks/use-clash"; -import { atomEnableLog, atomLogData } from "@/services/states"; -import { useWebsocket } from "@/hooks/use-websocket"; - -const MAX_LOG_NUM = 1000; - -// setup the log websocket -export const useLogSetup = () => { - const { clashInfo } = useClashInfo(); - - const enableLog = useRecoilValue(atomEnableLog); - const setLogData = useSetRecoilState(atomLogData); - - const { connect, disconnect } = useWebsocket((event) => { - const data = JSON.parse(event.data) as ILogItem; - const time = dayjs().format("MM-DD HH:mm:ss"); - setLogData((l) => { - if (l.length >= MAX_LOG_NUM) l.shift(); - return [...l, { ...data, time }]; - }); - }); - - useEffect(() => { - if (!enableLog || !clashInfo) return; - - getClashLogs().then(setLogData); - - const { server = "", secret = "" } = clashInfo; - connect(`ws://${server}/logs?token=${encodeURIComponent(secret)}`); - - return () => { - disconnect(); - }; - }, [clashInfo, enableLog]); -}; diff --git a/src/components/log/log-item.tsx b/src/components/log/log-item.tsx deleted file mode 100644 index 1aa0804..0000000 --- a/src/components/log/log-item.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { styled, Box } from "@mui/material"; - -const Item = styled(Box)(({ theme: { palette, typography } }) => ({ - padding: "8px 0", - margin: "0 12px", - lineHeight: 1.35, - borderBottom: `1px solid ${palette.divider}`, - fontSize: "0.875rem", - fontFamily: typography.fontFamily, - userSelect: "text", - "& .time": { - color: palette.text.secondary, - }, - "& .type": { - display: "inline-block", - marginLeft: 8, - textAlign: "center", - borderRadius: 2, - textTransform: "uppercase", - fontWeight: "600", - }, - '& .type[data-type="error"], & .type[data-type="err"]': { - color: palette.error.main, - }, - '& .type[data-type="warning"], & .type[data-type="warn"]': { - color: palette.warning.main, - }, - '& .type[data-type="info"], & .type[data-type="inf"]': { - color: palette.info.main, - }, - "& .data": { - color: palette.text.primary, - }, -})); - -interface Props { - value: ILogItem; -} - -const LogItem = (props: Props) => { - const { value } = props; - - return ( - -
    - {value.time} - - {value.type} - -
    -
    - {value.payload} -
    -
    - ); -}; - -export default LogItem; diff --git a/src/components/profile/editor-viewer.tsx b/src/components/profile/editor-viewer.tsx deleted file mode 100644 index 28608e9..0000000 --- a/src/components/profile/editor-viewer.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { useEffect, useRef } from "react"; -import { useLockFn } from "ahooks"; -import { useRecoilValue } from "recoil"; -import { useTranslation } from "react-i18next"; -import { - Button, - Dialog, - DialogActions, - DialogContent, - DialogTitle, -} from "@mui/material"; -import { atomThemeMode } from "@/services/states"; -import { readProfileFile, saveProfileFile } from "@/services/cmds"; -import { Notice } from "@/components/base"; - -import "monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js"; -import "monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js"; -import "monaco-editor/esm/vs/editor/contrib/folding/browser/folding.js"; -import { editor } from "monaco-editor/esm/vs/editor/editor.api"; - -interface Props { - uid: string; - open: boolean; - mode: "yaml" | "javascript"; - onClose: () => void; - onChange?: () => void; -} - -export const EditorViewer = (props: Props) => { - const { uid, open, mode, onClose, onChange } = props; - - const { t } = useTranslation(); - const editorRef = useRef(); - const instanceRef = useRef(null); - const themeMode = useRecoilValue(atomThemeMode); - - useEffect(() => { - if (!open) return; - - readProfileFile(uid).then((data) => { - const dom = editorRef.current; - - if (!dom) return; - if (instanceRef.current) instanceRef.current.dispose(); - - instanceRef.current = editor.create(editorRef.current, { - value: data, - language: mode, - theme: themeMode === "light" ? "vs" : "vs-dark", - minimap: { enabled: false }, - }); - }); - - return () => { - if (instanceRef.current) { - instanceRef.current.dispose(); - instanceRef.current = null; - } - }; - }, [open]); - - const onSave = useLockFn(async () => { - const value = instanceRef.current?.getValue(); - - if (value == null) return; - - try { - await saveProfileFile(uid, value); - onChange?.(); - onClose(); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }); - - return ( - - {t("Edit File")} - - -
    - - - - - - -
    - ); -}; diff --git a/src/components/profile/file-input.tsx b/src/components/profile/file-input.tsx deleted file mode 100644 index 5357224..0000000 --- a/src/components/profile/file-input.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { useRef, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { Box, Button, Typography } from "@mui/material"; - -interface Props { - onChange: (value: string) => void; -} - -export const FileInput = (props: Props) => { - const { onChange } = props; - - const { t } = useTranslation(); - // file input - const inputRef = useRef(); - const [loading, setLoading] = useState(false); - const [fileName, setFileName] = useState(""); - - const onFileInput = useLockFn(async (e: any) => { - const file = e.target.files?.[0] as File; - - if (!file) return; - - setFileName(file.name); - setLoading(true); - - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = (event) => { - resolve(null); - onChange(event.target?.result as string); - }; - reader.onerror = reject; - reader.readAsText(file); - }).finally(() => setLoading(false)); - }); - - return ( - - - - - - - {loading ? "Loading..." : fileName} - - - ); -}; diff --git a/src/components/profile/log-viewer.tsx b/src/components/profile/log-viewer.tsx deleted file mode 100644 index 4792468..0000000 --- a/src/components/profile/log-viewer.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { Fragment } from "react"; -import { useTranslation } from "react-i18next"; -import { - Button, - Chip, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - Divider, - Typography, -} from "@mui/material"; -import { BaseEmpty } from "@/components/base"; - -interface Props { - open: boolean; - logInfo: [string, string][]; - onClose: () => void; -} - -export const LogViewer = (props: Props) => { - const { open, logInfo, onClose } = props; - - const { t } = useTranslation(); - - return ( - - {t("Script Console")} - - - {logInfo.map(([level, log], index) => ( - - - - {log} - - - - ))} - - {logInfo.length === 0 && } - - - - - - - ); -}; diff --git a/src/components/profile/profile-box.tsx b/src/components/profile/profile-box.tsx deleted file mode 100644 index 6e15a87..0000000 --- a/src/components/profile/profile-box.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { alpha, Box, styled } from "@mui/material"; - -export const ProfileBox = styled(Box)( - ({ theme, "aria-selected": selected }) => { - const { mode, primary, text, grey, background } = theme.palette; - const key = `${mode}-${!!selected}`; - - const backgroundColor = { - "light-true": alpha(primary.main, 0.2), - "light-false": alpha(background.paper, 0.75), - "dark-true": alpha(primary.main, 0.45), - "dark-false": alpha(grey[700], 0.45), - }[key]!; - - const color = { - "light-true": text.secondary, - "light-false": text.secondary, - "dark-true": alpha(text.secondary, 0.85), - "dark-false": alpha(text.secondary, 0.65), - }[key]!; - - const h2color = { - "light-true": primary.main, - "light-false": text.primary, - "dark-true": primary.light, - "dark-false": text.primary, - }[key]!; - - return { - position: "relative", - width: "100%", - display: "block", - cursor: "pointer", - textAlign: "left", - borderRadius: theme.shape.borderRadius, - boxShadow: theme.shadows[2], - padding: "8px 16px", - boxSizing: "border-box", - backgroundColor, - color, - "& h2": { color: h2color }, - }; - } -); diff --git a/src/components/profile/profile-item.tsx b/src/components/profile/profile-item.tsx deleted file mode 100644 index 72fda6f..0000000 --- a/src/components/profile/profile-item.tsx +++ /dev/null @@ -1,341 +0,0 @@ -import dayjs from "dayjs"; -import { mutate } from "swr"; -import { useEffect, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useRecoilState } from "recoil"; -import { useTranslation } from "react-i18next"; -import { - Box, - Typography, - LinearProgress, - IconButton, - keyframes, - MenuItem, - Menu, - CircularProgress, -} from "@mui/material"; -import { RefreshRounded } from "@mui/icons-material"; -import { atomLoadingCache } from "@/services/states"; -import { updateProfile, deleteProfile, viewProfile } from "@/services/cmds"; -import { Notice } from "@/components/base"; -import { EditorViewer } from "./editor-viewer"; -import { ProfileBox } from "./profile-box"; -import parseTraffic from "@/utils/parse-traffic"; - -const round = keyframes` - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -`; - -interface Props { - selected: boolean; - activating: boolean; - itemData: IProfileItem; - onSelect: (force: boolean) => void; - onEdit: () => void; -} - -export const ProfileItem = (props: Props) => { - const { selected, activating, itemData, onSelect, onEdit } = props; - - const { t } = useTranslation(); - const [anchorEl, setAnchorEl] = useState(null); - const [position, setPosition] = useState({ left: 0, top: 0 }); - const [loadingCache, setLoadingCache] = useRecoilState(atomLoadingCache); - - const { uid, name = "Profile", extra, updated = 0 } = itemData; - - // local file mode - // remote file mode - const hasUrl = !!itemData.url; - const hasExtra = !!extra; // only subscription url has extra info - - const { upload = 0, download = 0, total = 0 } = extra ?? {}; - const from = parseUrl(itemData.url); - const expire = parseExpire(extra?.expire); - const progress = Math.round(((download + upload) * 100) / (total + 0.1)); - - const loading = loadingCache[itemData.uid] ?? false; - - // interval update fromNow field - const [, setRefresh] = useState({}); - useEffect(() => { - if (!hasUrl) return; - - let timer: any = null; - - const handler = () => { - const now = Date.now(); - const lastUpdate = updated * 1000; - // 大于一天的不管 - if (now - lastUpdate >= 24 * 36e5) return; - - const wait = now - lastUpdate >= 36e5 ? 30e5 : 5e4; - - timer = setTimeout(() => { - setRefresh({}); - handler(); - }, wait); - }; - - handler(); - - return () => { - if (timer) clearTimeout(timer); - }; - }, [hasUrl, updated]); - - const [fileOpen, setFileOpen] = useState(false); - - const onEditInfo = () => { - setAnchorEl(null); - onEdit(); - }; - - const onEditFile = () => { - setAnchorEl(null); - setFileOpen(true); - }; - - const onForceSelect = () => { - setAnchorEl(null); - onSelect(true); - }; - - const onOpenFile = useLockFn(async () => { - setAnchorEl(null); - try { - await viewProfile(itemData.uid); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - /// 0 不使用任何代理 - /// 1 使用配置好的代理 - /// 2 至少使用一个代理,根据配置,如果没配置,默认使用系统代理 - const onUpdate = useLockFn(async (type: 0 | 1 | 2) => { - setAnchorEl(null); - setLoadingCache((cache) => ({ ...cache, [itemData.uid]: true })); - - const option: Partial = {}; - - if (type === 0) { - option.with_proxy = false; - option.self_proxy = false; - } else if (type === 1) { - // nothing - } else if (type === 2) { - if (itemData.option?.self_proxy) { - option.with_proxy = false; - option.self_proxy = true; - } else { - option.with_proxy = true; - option.self_proxy = false; - } - } - - try { - await updateProfile(itemData.uid, option); - mutate("getProfiles"); - } catch (err: any) { - const errmsg = err?.message || err.toString(); - Notice.error( - errmsg.replace(/error sending request for url (\S+?): /, "") - ); - } finally { - setLoadingCache((cache) => ({ ...cache, [itemData.uid]: false })); - } - }); - - const onDelete = useLockFn(async () => { - setAnchorEl(null); - try { - await deleteProfile(itemData.uid); - mutate("getProfiles"); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - const urlModeMenu = [ - { label: "Select", handler: onForceSelect }, - { label: "Edit Info", handler: onEditInfo }, - { label: "Edit File", handler: onEditFile }, - { label: "Open File", handler: onOpenFile }, - { label: "Update", handler: () => onUpdate(0) }, - { label: "Update(Proxy)", handler: () => onUpdate(2) }, - { label: "Delete", handler: onDelete }, - ]; - const fileModeMenu = [ - { label: "Select", handler: onForceSelect }, - { label: "Edit Info", handler: onEditInfo }, - { label: "Edit File", handler: onEditFile }, - { label: "Open File", handler: onOpenFile }, - { label: "Delete", handler: onDelete }, - ]; - - const boxStyle = { - height: 26, - display: "flex", - alignItems: "center", - justifyContent: "space-between", - }; - - return ( - <> - onSelect(false)} - onContextMenu={(event) => { - const { clientX, clientY } = event; - setPosition({ top: clientY, left: clientX }); - setAnchorEl(event.currentTarget); - event.preventDefault(); - }} - > - {activating && ( - - - - )} - - - - {name} - - - {/* only if has url can it be updated */} - {hasUrl && ( - { - e.stopPropagation(); - onUpdate(1); - }} - > - - - )} - - - {/* the second line show url's info or description */} - - {hasUrl ? ( - <> - - {from} - - - - {updated > 0 ? dayjs(updated * 1000).fromNow() : ""} - - - ) : ( - - {itemData.desc} - - )} - - - {/* the third line show extra info or last updated time */} - {hasExtra ? ( - - - {parseTraffic(upload + download)} / {parseTraffic(total)} - - {expire} - - ) : ( - - {parseExpire(updated)} - - )} - - - - - setAnchorEl(null)} - anchorPosition={position} - anchorReference="anchorPosition" - transitionDuration={225} - MenuListProps={{ sx: { py: 0.5 } }} - onContextMenu={(e) => { - setAnchorEl(null); - e.preventDefault(); - }} - > - {(hasUrl ? urlModeMenu : fileModeMenu).map((item) => ( - - {t(item.label)} - - ))} - - - setFileOpen(false)} - /> - - ); -}; - -function parseUrl(url?: string) { - if (!url) return ""; - const regex = /https?:\/\/(.+?)\//; - const result = url.match(regex); - return result ? result[1] : "local file"; -} - -function parseExpire(expire?: number) { - if (!expire) return "-"; - return dayjs(expire * 1000).format("YYYY-MM-DD"); -} diff --git a/src/components/profile/profile-more.tsx b/src/components/profile/profile-more.tsx deleted file mode 100644 index f979665..0000000 --- a/src/components/profile/profile-more.tsx +++ /dev/null @@ -1,243 +0,0 @@ -import dayjs from "dayjs"; -import { useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useLockFn } from "ahooks"; -import { - Box, - Badge, - Chip, - Typography, - MenuItem, - Menu, - IconButton, -} from "@mui/material"; -import { FeaturedPlayListRounded } from "@mui/icons-material"; -import { viewProfile } from "@/services/cmds"; -import { Notice } from "@/components/base"; -import { EditorViewer } from "./editor-viewer"; -import { ProfileBox } from "./profile-box"; -import { LogViewer } from "./log-viewer"; - -interface Props { - selected: boolean; - itemData: IProfileItem; - enableNum: number; - logInfo?: [string, string][]; - onEnable: () => void; - onDisable: () => void; - onMoveTop: () => void; - onMoveEnd: () => void; - onDelete: () => void; - onEdit: () => void; -} - -// profile enhanced item -export const ProfileMore = (props: Props) => { - const { - selected, - itemData, - enableNum, - logInfo = [], - onEnable, - onDisable, - onMoveTop, - onMoveEnd, - onDelete, - onEdit, - } = props; - - const { uid, type } = itemData; - const { t, i18n } = useTranslation(); - const [anchorEl, setAnchorEl] = useState(null); - const [position, setPosition] = useState({ left: 0, top: 0 }); - const [fileOpen, setFileOpen] = useState(false); - const [logOpen, setLogOpen] = useState(false); - - const onEditInfo = () => { - setAnchorEl(null); - onEdit(); - }; - - const onEditFile = () => { - setAnchorEl(null); - setFileOpen(true); - }; - - const onOpenFile = useLockFn(async () => { - setAnchorEl(null); - try { - await viewProfile(itemData.uid); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - const fnWrapper = (fn: () => void) => () => { - setAnchorEl(null); - return fn(); - }; - - const hasError = !!logInfo.find((e) => e[0] === "exception"); - const showMove = enableNum > 1 && !hasError; - - const enableMenu = [ - { label: "Disable", handler: fnWrapper(onDisable) }, - { label: "Edit Info", handler: onEditInfo }, - { label: "Edit File", handler: onEditFile }, - { label: "Open File", handler: onOpenFile }, - { label: "To Top", show: showMove, handler: fnWrapper(onMoveTop) }, - { label: "To End", show: showMove, handler: fnWrapper(onMoveEnd) }, - { label: "Delete", handler: fnWrapper(onDelete) }, - ]; - - const disableMenu = [ - { label: "Enable", handler: fnWrapper(onEnable) }, - { label: "Edit Info", handler: onEditInfo }, - { label: "Edit File", handler: onEditFile }, - { label: "Open File", handler: onOpenFile }, - { label: "Delete", handler: fnWrapper(onDelete) }, - ]; - - const boxStyle = { - height: 26, - display: "flex", - alignItems: "center", - justifyContent: "space-between", - lineHeight: 1, - }; - - return ( - <> - onSelect(false)} - onContextMenu={(event) => { - const { clientX, clientY } = event; - setPosition({ top: clientY, left: clientX }); - setAnchorEl(event.currentTarget); - event.preventDefault(); - }} - > - - - {itemData.name} - - - - - - - {selected && type === "script" ? ( - hasError ? ( - - setLogOpen(true)} - > - - - - ) : ( - setLogOpen(true)} - > - - - ) - ) : ( - - {itemData.desc} - - )} - - - {!!itemData.updated - ? dayjs(itemData.updated! * 1000).fromNow() - : ""} - - - - - setAnchorEl(null)} - anchorPosition={position} - anchorReference="anchorPosition" - transitionDuration={225} - MenuListProps={{ sx: { py: 0.5 } }} - onContextMenu={(e) => { - setAnchorEl(null); - e.preventDefault(); - }} - > - {(selected ? enableMenu : disableMenu) - .filter((item: any) => item.show !== false) - .map((item) => ( - - {t(item.label)} - - ))} - - - setFileOpen(false)} - /> - - {selected && ( - setLogOpen(false)} - /> - )} - - ); -}; - -function parseExpire(expire?: number) { - if (!expire) return "-"; - return dayjs(expire * 1000).format("YYYY-MM-DD"); -} diff --git a/src/components/profile/profile-viewer.tsx b/src/components/profile/profile-viewer.tsx deleted file mode 100644 index f928053..0000000 --- a/src/components/profile/profile-viewer.tsx +++ /dev/null @@ -1,279 +0,0 @@ -import { - forwardRef, - useEffect, - useImperativeHandle, - useRef, - useState, -} from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { useForm, Controller } from "react-hook-form"; -import { - Box, - FormControl, - InputAdornment, - InputLabel, - MenuItem, - Select, - Switch, - styled, - TextField, -} from "@mui/material"; -import { createProfile, patchProfile } from "@/services/cmds"; -import { BaseDialog, Notice } from "@/components/base"; -import { version } from "@root/package.json"; -import { FileInput } from "./file-input"; - -interface Props { - onChange: () => void; -} - -export interface ProfileViewerRef { - create: () => void; - edit: (item: IProfileItem) => void; -} - -// create or edit the profile -// remote / local / merge / script -export const ProfileViewer = forwardRef( - (props, ref) => { - const { t } = useTranslation(); - const [open, setOpen] = useState(false); - const [openType, setOpenType] = useState<"new" | "edit">("new"); - - // file input - const fileDataRef = useRef(null); - - const { control, watch, register, ...formIns } = useForm({ - defaultValues: { - type: "remote", - name: "Remote File", - desc: "", - url: "", - option: { - // user_agent: "", - with_proxy: false, - self_proxy: false, - }, - }, - }); - - useImperativeHandle(ref, () => ({ - create: () => { - setOpenType("new"); - setOpen(true); - }, - edit: (item) => { - if (item) { - Object.entries(item).forEach(([key, value]) => { - formIns.setValue(key as any, value); - }); - } - setOpenType("edit"); - setOpen(true); - }, - })); - - const selfProxy = watch("option.self_proxy"); - const withProxy = watch("option.with_proxy"); - - useEffect(() => { - if (selfProxy) formIns.setValue("option.with_proxy", false); - }, [selfProxy]); - - useEffect(() => { - if (withProxy) formIns.setValue("option.self_proxy", false); - }, [withProxy]); - - const handleOk = useLockFn( - formIns.handleSubmit(async (form) => { - try { - if (!form.type) throw new Error("`Type` should not be null"); - if (form.type === "remote" && !form.url) { - throw new Error("The URL should not be null"); - } - if (form.type !== "remote" && form.type !== "local") { - delete form.option; - } - if (form.option?.update_interval) { - form.option.update_interval = +form.option.update_interval; - } - const name = form.name || `${form.type} file`; - const item = { ...form, name }; - - // 创建 - if (openType === "new") { - await createProfile(item, fileDataRef.current); - } - // 编辑 - else { - if (!form.uid) throw new Error("UID not found"); - await patchProfile(form.uid, item); - } - setOpen(false); - setTimeout(() => formIns.reset(), 500); - fileDataRef.current = null; - props.onChange(); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }) - ); - - const handleClose = () => { - setOpen(false); - fileDataRef.current = null; - setTimeout(() => formIns.reset(), 500); - }; - - const text = { - fullWidth: true, - size: "small", - margin: "normal", - variant: "outlined", - autoComplete: "off", - autoCorrect: "off", - } as const; - - const formType = watch("type"); - const isRemote = formType === "remote"; - const isLocal = formType === "local"; - - return ( - - ( - - {t("Type")} - - - )} - /> - - ( - - )} - /> - - ( - - )} - /> - - {isRemote && ( - <> - ( - - )} - /> - - ( - - )} - /> - - )} - - {(isRemote || isLocal) && ( - ( - { - e.target.value = e.target.value - ?.replace(/\D/, "") - .slice(0, 10); - field.onChange(e); - }} - label={t("Update Interval")} - InputProps={{ - endAdornment: ( - mins - ), - }} - /> - )} - /> - )} - - {isLocal && openType === "new" && ( - (fileDataRef.current = val)} /> - )} - - {isRemote && ( - <> - ( - - {t("Use System Proxy")} - - - )} - /> - - ( - - {t("Use Clash Proxy")} - - - )} - /> - - )} - - ); - } -); - -const StyledBox = styled(Box)(() => ({ - margin: "8px 0 8px 8px", - display: "flex", - alignItems: "center", - justifyContent: "space-between", -})); diff --git a/src/components/proxy/provider-button.tsx b/src/components/proxy/provider-button.tsx deleted file mode 100644 index 5a63072..0000000 --- a/src/components/proxy/provider-button.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import dayjs from "dayjs"; -import useSWR, { mutate } from "swr"; -import { useState } from "react"; -import { - Button, - IconButton, - List, - ListItem, - ListItemText, -} from "@mui/material"; -import { RefreshRounded } from "@mui/icons-material"; -import { useTranslation } from "react-i18next"; -import { useLockFn } from "ahooks"; -import { getProviders, providerUpdate } from "@/services/api"; -import { BaseDialog } from "../base"; - -export const ProviderButton = () => { - const { t } = useTranslation(); - const { data } = useSWR("getProviders", getProviders); - - const [open, setOpen] = useState(false); - - const hasProvider = Object.keys(data || {}).length > 0; - - const handleUpdate = useLockFn(async (key: string) => { - await providerUpdate(key); - await mutate("getProxies"); - await mutate("getProviders"); - }); - - if (!hasProvider) return null; - - return ( - <> - - - setOpen(false)} - onCancel={() => setOpen(false)} - > - - {Object.entries(data || {}).map(([key, item]) => { - const time = dayjs(item.updatedAt); - return ( - - - - Type: {item.vehicleType} - - - Updated: {time.fromNow()} - - - } - /> - handleUpdate(key)} - > - - - - ); - })} - - - - ); -}; diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx deleted file mode 100644 index 4637cb4..0000000 --- a/src/components/proxy/proxy-groups.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import { useRef } from "react"; -import { useLockFn } from "ahooks"; -import { Virtuoso, type VirtuosoHandle } from "react-virtuoso"; -import { - getConnections, - providerHealthCheck, - updateProxy, - deleteConnection, -} from "@/services/api"; -import { useProfiles } from "@/hooks/use-profiles"; -import { useVerge } from "@/hooks/use-verge"; -import { BaseEmpty } from "../base"; -import { useRenderList } from "./use-render-list"; -import { ProxyRender } from "./proxy-render"; -import delayManager from "@/services/delay"; - -interface Props { - mode: string; -} - -export const ProxyGroups = (props: Props) => { - const { mode } = props; - - const { renderList, onProxies, onHeadState } = useRenderList(mode); - - const { verge } = useVerge(); - const { current, patchCurrent } = useProfiles(); - - const virtuosoRef = useRef(null); - - // 切换分组的节点代理 - const handleChangeProxy = useLockFn( - async (group: IProxyGroupItem, proxy: IProxyItem) => { - if (group.type !== "Selector" && group.type !== "Fallback") return; - - const { name, now } = group; - await updateProxy(name, proxy.name); - onProxies(); - - // 断开连接 - if (verge?.auto_close_connection) { - getConnections().then(({ connections }) => { - connections.forEach((conn) => { - if (conn.chains.includes(now!)) { - deleteConnection(conn.id); - } - }); - }); - } - - // 保存到selected中 - if (!current) return; - if (!current.selected) current.selected = []; - - const index = current.selected.findIndex( - (item) => item.name === group.name - ); - - if (index < 0) { - current.selected.push({ name, now: proxy.name }); - } else { - current.selected[index] = { name, now: proxy.name }; - } - await patchCurrent({ selected: current.selected }); - } - ); - - // 测全部延迟 - const handleCheckAll = useLockFn(async (groupName: string) => { - const proxies = renderList - .filter( - (e) => e.group?.name === groupName && (e.type === 2 || e.type === 4) - ) - .flatMap((e) => e.proxyCol || e.proxy!) - .filter(Boolean); - - const providers = new Set(proxies.map((p) => p!.provider!).filter(Boolean)); - - if (providers.size) { - Promise.allSettled( - [...providers].map((p) => providerHealthCheck(p)) - ).then(() => onProxies()); - } - - const names = proxies.filter((p) => !p!.provider).map((p) => p!.name); - await delayManager.checkListDelay(names, groupName); - - onProxies(); - }); - - // 滚到对应的节点 - const handleLocation = (group: IProxyGroupItem) => { - if (!group) return; - const { name, now } = group; - - const index = renderList.findIndex( - (e) => - e.group?.name === name && - ((e.type === 2 && e.proxy?.name === now) || - (e.type === 4 && e.proxyCol?.some((p) => p.name === now))) - ); - - if (index >= 0) { - virtuosoRef.current?.scrollToIndex?.({ - index, - align: "center", - behavior: "smooth", - }); - } - }; - - if (mode === "direct") { - return ; - } - - return ( - ( - - )} - /> - ); -}; diff --git a/src/components/proxy/proxy-head.tsx b/src/components/proxy/proxy-head.tsx deleted file mode 100644 index fe29cb8..0000000 --- a/src/components/proxy/proxy-head.tsx +++ /dev/null @@ -1,162 +0,0 @@ -import { useEffect, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { Box, IconButton, TextField, SxProps } from "@mui/material"; -import { - AccessTimeRounded, - MyLocationRounded, - NetworkCheckRounded, - FilterAltRounded, - FilterAltOffRounded, - VisibilityRounded, - VisibilityOffRounded, - WifiTetheringRounded, - WifiTetheringOffRounded, - SortByAlphaRounded, - SortRounded, -} from "@mui/icons-material"; -import { useVerge } from "@/hooks/use-verge"; -import type { HeadState } from "./use-head-state"; -import type { ProxySortType } from "./use-filter-sort"; -import delayManager from "@/services/delay"; - -interface Props { - sx?: SxProps; - groupName: string; - headState: HeadState; - onLocation: () => void; - onCheckDelay: () => void; - onHeadState: (val: Partial) => void; -} - -export const ProxyHead = (props: Props) => { - const { sx = {}, groupName, headState, onHeadState } = props; - - const { showType, sortType, filterText, textState, testUrl } = headState; - - const { t } = useTranslation(); - const [autoFocus, setAutoFocus] = useState(false); - - useEffect(() => { - // fix the focus conflict - const timer = setTimeout(() => setAutoFocus(true), 100); - return () => clearTimeout(timer); - }, []); - - const { verge } = useVerge(); - - useEffect(() => { - delayManager.setUrl(groupName, testUrl || verge?.default_latency_test!); - }, [groupName, testUrl, verge?.default_latency_test]); - - return ( - - - - - - { - // Remind the user that it is custom test url - if (testUrl?.trim() && textState !== "filter") { - onHeadState({ textState: "url" }); - } - props.onCheckDelay(); - }} - > - - - - - onHeadState({ sortType: ((sortType + 1) % 3) as ProxySortType }) - } - > - {sortType !== 1 && sortType !== 2 && } - {sortType === 1 && } - {sortType === 2 && } - - - - onHeadState({ textState: textState === "url" ? null : "url" }) - } - > - {textState === "url" ? ( - - ) : ( - - )} - - - onHeadState({ showType: !showType })} - > - {showType ? : } - - - - onHeadState({ textState: textState === "filter" ? null : "filter" }) - } - > - {textState === "filter" ? ( - - ) : ( - - )} - - - {textState === "filter" && ( - onHeadState({ filterText: e.target.value })} - sx={{ ml: 0.5, flex: "1 1 auto", input: { py: 0.65, px: 1 } }} - /> - )} - - {textState === "url" && ( - onHeadState({ testUrl: e.target.value })} - sx={{ ml: 0.5, flex: "1 1 auto", input: { py: 0.65, px: 1 } }} - /> - )} - - ); -}; diff --git a/src/components/proxy/proxy-item-mini.tsx b/src/components/proxy/proxy-item-mini.tsx deleted file mode 100644 index c7e98bc..0000000 --- a/src/components/proxy/proxy-item-mini.tsx +++ /dev/null @@ -1,181 +0,0 @@ -import { useEffect, useState } from "react"; -import { useLockFn } from "ahooks"; -import { CheckCircleOutlineRounded } from "@mui/icons-material"; -import { alpha, Box, ListItemButton, styled, Typography } from "@mui/material"; -import { BaseLoading } from "@/components/base"; -import delayManager from "@/services/delay"; - -interface Props { - groupName: string; - proxy: IProxyItem; - selected: boolean; - showType?: boolean; - onClick?: (name: string) => void; -} - -// 多列布局 -export const ProxyItemMini = (props: Props) => { - const { groupName, proxy, selected, showType = true, onClick } = props; - - // -1/<=0 为 不显示 - // -2 为 loading - const [delay, setDelay] = useState(-1); - - useEffect(() => { - delayManager.setListener(proxy.name, groupName, setDelay); - - return () => { - delayManager.removeListener(proxy.name, groupName); - }; - }, [proxy.name, groupName]); - - useEffect(() => { - if (!proxy) return; - setDelay(delayManager.getDelayFix(proxy, groupName)); - }, [proxy]); - - const onDelay = useLockFn(async () => { - setDelay(-2); - setDelay(await delayManager.checkDelay(proxy.name, groupName)); - }); - - return ( - onClick?.(proxy.name)} - sx={[ - { - height: 56, - borderRadius: 1, - pl: 1.5, - pr: 1, - justifyContent: "space-between", - alignItems: "center", - }, - ({ palette: { mode, primary } }) => { - const bgcolor = - mode === "light" - ? alpha(primary.main, 0.15) - : alpha(primary.main, 0.35); - const color = mode === "light" ? primary.main : primary.light; - const showDelay = delay > 0; - - const shadowColor = - mode === "light" ? "rgba(0,0,0,0.04)" : "rgba(255,255,255,0.08)"; - - return { - "&:hover .the-check": { display: !showDelay ? "block" : "none" }, - "&:hover .the-delay": { display: showDelay ? "block" : "none" }, - "&:hover .the-icon": { display: "none" }, - "&.Mui-selected": { bgcolor, boxShadow: `0 0 0 1px ${bgcolor}` }, - "&.Mui-selected .MuiListItemText-secondary": { color }, - boxShadow: `0 0 0 1px ${shadowColor}`, - }; - }, - ]} - > - - - {proxy.name} - - - {showType && ( - - {!!proxy.provider && ( - {proxy.provider} - )} - {proxy.type} - {proxy.udp && UDP} - - )} - - - - {delay === -2 && ( - - - - )} - - {!proxy.provider && delay !== -2 && ( - // provider的节点不支持检测 - { - e.preventDefault(); - e.stopPropagation(); - onDelay(); - }} - sx={({ palette }) => ({ - display: "none", // hover才显示 - ":hover": { bgcolor: alpha(palette.primary.main, 0.15) }, - })} - > - Check - - )} - - {delay > 0 && ( - // 显示延迟 - { - if (proxy.provider) return; - e.preventDefault(); - e.stopPropagation(); - onDelay(); - }} - color={delayManager.formatDelayColor(delay)} - sx={({ palette }) => - !proxy.provider - ? { ":hover": { bgcolor: alpha(palette.primary.main, 0.15) } } - : {} - } - > - {delayManager.formatDelay(delay)} - - )} - - {delay !== -2 && delay <= 0 && selected && ( - // 展示已选择的icon - - )} - - - ); -}; - -const Widget = styled(Box)(({ theme: { typography } }) => ({ - padding: "3px 6px", - fontSize: 14, - fontFamily: typography.fontFamily, - borderRadius: "4px", -})); - -const TypeBox = styled(Box)(({ theme: { palette, typography } }) => ({ - display: "inline-block", - border: "1px solid #ccc", - borderColor: alpha(palette.text.secondary, 0.36), - color: alpha(palette.text.secondary, 0.42), - borderRadius: 4, - fontSize: 10, - fontFamily: typography.fontFamily, - marginRight: "4px", - padding: "0 2px", - lineHeight: 1.25, -})); diff --git a/src/components/proxy/proxy-item.tsx b/src/components/proxy/proxy-item.tsx deleted file mode 100644 index d4c63c4..0000000 --- a/src/components/proxy/proxy-item.tsx +++ /dev/null @@ -1,170 +0,0 @@ -import { useEffect, useState } from "react"; -import { useLockFn } from "ahooks"; -import { CheckCircleOutlineRounded } from "@mui/icons-material"; -import { - alpha, - Box, - ListItem, - ListItemButton, - ListItemIcon, - ListItemText, - styled, - SxProps, - Theme, -} from "@mui/material"; -import { BaseLoading } from "@/components/base"; -import delayManager from "@/services/delay"; - -interface Props { - groupName: string; - proxy: IProxyItem; - selected: boolean; - showType?: boolean; - sx?: SxProps; - onClick?: (name: string) => void; -} - -const Widget = styled(Box)(() => ({ - padding: "3px 6px", - fontSize: 14, - borderRadius: "4px", -})); - -const TypeBox = styled(Box)(({ theme }) => ({ - display: "inline-block", - border: "1px solid #ccc", - borderColor: alpha(theme.palette.text.secondary, 0.36), - color: alpha(theme.palette.text.secondary, 0.42), - borderRadius: 4, - fontSize: 10, - marginRight: "4px", - padding: "0 2px", - lineHeight: 1.25, -})); - -export const ProxyItem = (props: Props) => { - const { groupName, proxy, selected, showType = true, sx, onClick } = props; - - // -1/<=0 为 不显示 - // -2 为 loading - const [delay, setDelay] = useState(-1); - - useEffect(() => { - delayManager.setListener(proxy.name, groupName, setDelay); - - return () => { - delayManager.removeListener(proxy.name, groupName); - }; - }, [proxy.name, groupName]); - - useEffect(() => { - if (!proxy) return; - setDelay(delayManager.getDelayFix(proxy, groupName)); - }, [proxy]); - - const onDelay = useLockFn(async () => { - setDelay(-2); - setDelay(await delayManager.checkDelay(proxy.name, groupName)); - }); - - return ( - - onClick?.(proxy.name)} - sx={[ - { borderRadius: 1 }, - ({ palette: { mode, primary } }) => { - const bgcolor = - mode === "light" - ? alpha(primary.main, 0.15) - : alpha(primary.main, 0.35); - const color = mode === "light" ? primary.main : primary.light; - const showDelay = delay > 0; - - return { - "&:hover .the-check": { display: !showDelay ? "block" : "none" }, - "&:hover .the-delay": { display: showDelay ? "block" : "none" }, - "&:hover .the-icon": { display: "none" }, - "&.Mui-selected": { bgcolor }, - "&.Mui-selected .MuiListItemText-secondary": { color }, - }; - }, - ]} - > - - {proxy.name} - - {showType && !!proxy.provider && ( - {proxy.provider} - )} - {showType && {proxy.type}} - {showType && proxy.udp && UDP} - - } - /> - - - {delay === -2 && ( - - - - )} - - {!proxy.provider && delay !== -2 && ( - // provider的节点不支持检测 - { - e.preventDefault(); - e.stopPropagation(); - onDelay(); - }} - sx={({ palette }) => ({ - display: "none", // hover才显示 - ":hover": { bgcolor: alpha(palette.primary.main, 0.15) }, - })} - > - Check - - )} - - {delay > 0 && ( - // 显示延迟 - { - if (proxy.provider) return; - e.preventDefault(); - e.stopPropagation(); - onDelay(); - }} - color={delayManager.formatDelayColor(delay)} - sx={({ palette }) => - !proxy.provider - ? { ":hover": { bgcolor: alpha(palette.primary.main, 0.15) } } - : {} - } - > - {delayManager.formatDelay(delay)} - - )} - - {delay !== -2 && delay <= 0 && selected && ( - // 展示已选择的icon - - )} - - - - ); -}; diff --git a/src/components/proxy/proxy-render.tsx b/src/components/proxy/proxy-render.tsx deleted file mode 100644 index 012064a..0000000 --- a/src/components/proxy/proxy-render.tsx +++ /dev/null @@ -1,159 +0,0 @@ -import { - alpha, - Box, - ListItemText, - ListItemButton, - Typography, - styled, -} from "@mui/material"; -import { - ExpandLessRounded, - ExpandMoreRounded, - InboxRounded, -} from "@mui/icons-material"; -import { HeadState } from "./use-head-state"; -import { ProxyHead } from "./proxy-head"; -import { ProxyItem } from "./proxy-item"; -import { ProxyItemMini } from "./proxy-item-mini"; -import type { IRenderItem } from "./use-render-list"; - -interface RenderProps { - item: IRenderItem; - indent: boolean; - onLocation: (group: IProxyGroupItem) => void; - onCheckAll: (groupName: string) => void; - onHeadState: (groupName: string, patch: Partial) => void; - onChangeProxy: (group: IProxyGroupItem, proxy: IProxyItem) => void; -} - -export const ProxyRender = (props: RenderProps) => { - const { indent, item, onLocation, onCheckAll, onHeadState, onChangeProxy } = - props; - const { type, group, headState, proxy, proxyCol } = item; - - if (type === 0) { - return ( - onHeadState(group.name, { open: !headState?.open })} - > - - {group.type} - {group.now} - - } - secondaryTypographyProps={{ - sx: { display: "flex", alignItems: "center" }, - }} - /> - {headState?.open ? : } - - ); - } - - if (type === 1) { - return ( - onLocation(group)} - onCheckDelay={() => onCheckAll(group.name)} - onHeadState={(p) => onHeadState(group.name, p)} - /> - ); - } - - if (type === 2) { - return ( - onChangeProxy(group, proxy!)} - /> - ); - } - - if (type === 3) { - return ( - - - No Proxies - - ); - } - - if (type === 4) { - return ( - - {proxyCol?.map((proxy) => ( - onChangeProxy(group, proxy!)} - /> - ))} - - ); - } - - return null; -}; - -const StyledSubtitle = styled("span")` - font-size: 0.8rem; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -`; - -const ListItemTextChild = styled("span")` - display: block; -`; - -const StyledTypeBox = styled(ListItemTextChild)(({ theme }) => ({ - display: "inline-block", - border: "1px solid #ccc", - borderColor: alpha(theme.palette.primary.main, 0.5), - color: alpha(theme.palette.primary.main, 0.8), - borderRadius: 4, - fontSize: 10, - padding: "0 2px", - lineHeight: 1.25, - marginRight: "4px", -})); diff --git a/src/components/proxy/use-filter-sort.ts b/src/components/proxy/use-filter-sort.ts deleted file mode 100644 index 3d7b7fd..0000000 --- a/src/components/proxy/use-filter-sort.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { useEffect, useMemo, useState } from "react"; -import delayManager from "@/services/delay"; - -// default | delay | alphabet -export type ProxySortType = 0 | 1 | 2; - -export default function useFilterSort( - proxies: IProxyItem[], - groupName: string, - filterText: string, - sortType: ProxySortType -) { - const [refresh, setRefresh] = useState({}); - - useEffect(() => { - let last = 0; - - delayManager.setGroupListener(groupName, () => { - // 简单节流 - const now = Date.now(); - if (now - last > 666) { - last = now; - setRefresh({}); - } - }); - - return () => { - delayManager.removeGroupListener(groupName); - }; - }, [groupName]); - - return useMemo(() => { - const fp = filterProxies(proxies, groupName, filterText); - const sp = sortProxies(fp, groupName, sortType); - return sp; - }, [proxies, groupName, filterText, sortType, refresh]); -} - -export function filterSort( - proxies: IProxyItem[], - groupName: string, - filterText: string, - sortType: ProxySortType -) { - const fp = filterProxies(proxies, groupName, filterText); - const sp = sortProxies(fp, groupName, sortType); - return sp; -} - -/** - * 可以通过延迟数/节点类型 过滤 - */ -const regex1 = /delay([=<>])(\d+|timeout|error)/i; -const regex2 = /type=(.*)/i; - -/** - * filter the proxy - * according to the regular conditions - */ -function filterProxies( - proxies: IProxyItem[], - groupName: string, - filterText: string -) { - if (!filterText) return proxies; - - const res1 = regex1.exec(filterText); - if (res1) { - const symbol = res1[1]; - const symbol2 = res1[2].toLowerCase(); - const value = - symbol2 === "error" ? 1e5 : symbol2 === "timeout" ? 3000 : +symbol2; - - return proxies.filter((p) => { - const delay = delayManager.getDelayFix(p, groupName); - - if (delay < 0) return false; - if (symbol === "=" && symbol2 === "error") return delay >= 1e5; - if (symbol === "=" && symbol2 === "timeout") - return delay < 1e5 && delay >= 3000; - if (symbol === "=") return delay == value; - if (symbol === "<") return delay <= value; - if (symbol === ">") return delay >= value; - return false; - }); - } - - const res2 = regex2.exec(filterText); - if (res2) { - const type = res2[1].toLowerCase(); - return proxies.filter((p) => p.type.toLowerCase().includes(type)); - } - - return proxies.filter((p) => p.name.includes(filterText.trim())); -} - -/** - * sort the proxy - */ -function sortProxies( - proxies: IProxyItem[], - groupName: string, - sortType: ProxySortType -) { - if (!proxies) return []; - if (sortType === 0) return proxies; - - const list = proxies.slice(); - - if (sortType === 1) { - list.sort((a, b) => { - const ad = delayManager.getDelayFix(a, groupName); - const bd = delayManager.getDelayFix(b, groupName); - - if (ad === -1 || ad === -2) return 1; - if (bd === -1 || bd === -2) return -1; - - return ad - bd; - }); - } else { - list.sort((a, b) => a.name.localeCompare(b.name)); - } - - return list; -} diff --git a/src/components/proxy/use-head-state.ts b/src/components/proxy/use-head-state.ts deleted file mode 100644 index d1bce2f..0000000 --- a/src/components/proxy/use-head-state.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { useCallback, useEffect, useState } from "react"; -import { ProxySortType } from "./use-filter-sort"; -import { useProfiles } from "@/hooks/use-profiles"; - -export interface HeadState { - open?: boolean; - showType: boolean; - sortType: ProxySortType; - filterText: string; - textState: "url" | "filter" | null; - testUrl: string; -} - -type HeadStateStorage = Record>; - -const HEAD_STATE_KEY = "proxy-head-state"; -export const DEFAULT_STATE: HeadState = { - open: false, - showType: false, - sortType: 0, - filterText: "", - textState: null, - testUrl: "", -}; - -export function useHeadStateNew() { - const { profiles } = useProfiles(); - const current = profiles?.current || ""; - - const [state, setState] = useState>({}); - - useEffect(() => { - if (!current) { - setState({}); - return; - } - - try { - const data = JSON.parse( - localStorage.getItem(HEAD_STATE_KEY)! - ) as HeadStateStorage; - - const value = data[current] || {}; - - if (value && typeof value === "object") { - setState(value); - } else { - setState({}); - } - } catch {} - }, [current]); - - const setHeadState = useCallback( - (groupName: string, obj: Partial) => { - setState((old) => { - const state = old[groupName] || DEFAULT_STATE; - const ret = { ...old, [groupName]: { ...state, ...obj } }; - - // 保存到存储中 - setTimeout(() => { - try { - const item = localStorage.getItem(HEAD_STATE_KEY); - - let data = (item ? JSON.parse(item) : {}) as HeadStateStorage; - - if (!data || typeof data !== "object") data = {}; - - data[current] = ret; - - localStorage.setItem(HEAD_STATE_KEY, JSON.stringify(data)); - } catch {} - }); - - return ret; - }); - }, - [current] - ); - - return [state, setHeadState] as const; -} diff --git a/src/components/proxy/use-render-list.ts b/src/components/proxy/use-render-list.ts deleted file mode 100644 index 9f8bc0a..0000000 --- a/src/components/proxy/use-render-list.ts +++ /dev/null @@ -1,141 +0,0 @@ -import useSWR from "swr"; -import { useEffect, useMemo } from "react"; -import { getProxies } from "@/services/api"; -import { useVerge } from "@/hooks/use-verge"; -import { filterSort } from "./use-filter-sort"; -import { useWindowWidth } from "./use-window-width"; -import { - useHeadStateNew, - DEFAULT_STATE, - type HeadState, -} from "./use-head-state"; - -export interface IRenderItem { - // 组 | head | item | empty | item col - type: 0 | 1 | 2 | 3 | 4; - key: string; - group: IProxyGroupItem; - proxy?: IProxyItem; - col?: number; - proxyCol?: IProxyItem[]; - headState?: HeadState; -} - -export const useRenderList = (mode: string) => { - const { data: proxiesData, mutate: mutateProxies } = useSWR( - "getProxies", - getProxies, - { refreshInterval: 45000 } - ); - - const { verge } = useVerge(); - const { width } = useWindowWidth(); - - let col = Math.floor(verge?.proxy_layout_column || 6); - - // 自适应 - if (col >= 6 || col <= 0) { - if (width > 1450) col = 5; - else if (width > 1024) col = 4; - else if (width > 900) col = 3; - else if (width >= 600) col = 2; - else col = 1; - } - - const [headStates, setHeadState] = useHeadStateNew(); - - // make sure that fetch the proxies successfully - useEffect(() => { - if (!proxiesData) return; - const { groups, proxies } = proxiesData; - - if ( - (mode === "rule" && !groups.length) || - (mode === "global" && proxies.length < 2) - ) { - setTimeout(() => mutateProxies(), 500); - } - }, [proxiesData, mode]); - - const renderList: IRenderItem[] = useMemo(() => { - if (!proxiesData) return []; - - // global 和 direct 使用展开的样式 - const useRule = mode === "rule" || mode === "script"; - const renderGroups = - (useRule && proxiesData.groups.length - ? proxiesData.groups - : [proxiesData.global!]) || []; - - const retList = renderGroups.flatMap((group) => { - const headState = headStates[group.name] || DEFAULT_STATE; - const ret: IRenderItem[] = [ - { type: 0, key: group.name, group, headState }, - ]; - - if (headState?.open || !useRule) { - const proxies = filterSort( - group.all, - group.name, - headState.filterText, - headState.sortType - ); - - ret.push({ type: 1, key: `head-${group.name}`, group, headState }); - - if (!proxies.length) { - ret.push({ type: 3, key: `empty-${group.name}`, group, headState }); - } - - // 支持多列布局 - if (col > 1) { - return ret.concat( - groupList(proxies, col).map((proxyCol) => ({ - type: 4, - key: `col-${group.name}-${proxyCol[0].name}`, - group, - headState, - col, - proxyCol, - })) - ); - } - - return ret.concat( - proxies.map((proxy) => ({ - type: 2, - key: `${group.name}-${proxy!.name}`, - group, - proxy, - headState, - })) - ); - } - return ret; - }); - - if (!useRule) return retList.slice(1); - return retList; - }, [headStates, proxiesData, mode, col]); - - return { - renderList, - onProxies: mutateProxies, - onHeadState: setHeadState, - }; -}; - -function groupList(list: T[], size: number): T[][] { - return list.reduce((p, n) => { - if (!p.length) return [[n]]; - - const i = p.length - 1; - if (p[i].length < size) { - p[i].push(n); - return p; - } - - p.push([n]); - return p; - }, [] as T[][]); -} diff --git a/src/components/proxy/use-window-width.ts b/src/components/proxy/use-window-width.ts deleted file mode 100644 index d1de3c3..0000000 --- a/src/components/proxy/use-window-width.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { useEffect, useState } from "react"; - -export const useWindowWidth = () => { - const [width, setWidth] = useState(() => document.body.clientWidth); - - useEffect(() => { - const handleResize = () => setWidth(document.body.clientWidth); - - window.addEventListener("resize", handleResize); - return () => { - window.removeEventListener("resize", handleResize); - }; - }, []); - - return { width }; -}; diff --git a/src/components/rule/rule-item.tsx b/src/components/rule/rule-item.tsx deleted file mode 100644 index 3bf2291..0000000 --- a/src/components/rule/rule-item.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { styled, Box, Typography } from "@mui/material"; - -const Item = styled(Box)(({ theme }) => ({ - display: "flex", - padding: "4px 16px", - color: theme.palette.text.primary, -})); - -const COLOR = [ - "primary", - "secondary", - "info.main", - "warning.main", - "success.main", -]; - -interface Props { - index: number; - value: IRuleItem; -} - -const parseColor = (text: string) => { - if (text === "REJECT") return "error.main"; - if (text === "DIRECT") return "text.primary"; - - let sum = 0; - for (let i = 0; i < text.length; i++) { - sum += text.charCodeAt(i); - } - return COLOR[sum % COLOR.length]; -}; - -const RuleItem = (props: Props) => { - const { index, value } = props; - - return ( - - - {index} - - - - - {value.payload || "-"} - - - - {value.type} - - - - {value.proxy} - - - - ); -}; - -export default RuleItem; diff --git a/src/components/setting/mods/clash-core-viewer.tsx b/src/components/setting/mods/clash-core-viewer.tsx deleted file mode 100644 index f043684..0000000 --- a/src/components/setting/mods/clash-core-viewer.tsx +++ /dev/null @@ -1,132 +0,0 @@ -import { mutate } from "swr"; -import { forwardRef, useImperativeHandle, useState } from "react"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; -import { useTranslation } from "react-i18next"; -import { useVerge } from "@/hooks/use-verge"; -import { useLockFn } from "ahooks"; -import { Lock } from "@mui/icons-material"; -import { - Box, - Button, - IconButton, - List, - ListItemButton, - ListItemText, -} from "@mui/material"; -import { changeClashCore, restartSidecar } from "@/services/cmds"; -import { closeAllConnections } from "@/services/api"; -import { grantPermission } from "@/services/cmds"; -import getSystem from "@/utils/get-system"; - -const VALID_CORE = [ - { name: "Clash", core: "clash" }, - { name: "Clash Meta", core: "clash-meta" }, -]; - -const OS = getSystem(); - -export const ClashCoreViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const { verge, mutateVerge } = useVerge(); - - const [open, setOpen] = useState(false); - - useImperativeHandle(ref, () => ({ - open: () => setOpen(true), - close: () => setOpen(false), - })); - - const { clash_core = "clash" } = verge ?? {}; - - const onCoreChange = useLockFn(async (core: string) => { - if (core === clash_core) return; - - try { - closeAllConnections(); - await changeClashCore(core); - mutateVerge(); - setTimeout(() => { - mutate("getClashConfig"); - mutate("getVersion"); - }, 100); - Notice.success(`Successfully switch to ${core}`, 1000); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - const onGrant = useLockFn(async (core: string) => { - try { - await grantPermission(core); - // 自动重启 - if (core === clash_core) await restartSidecar(); - Notice.success(`Successfully grant permission to ${core}`, 1000); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - const onRestart = useLockFn(async () => { - try { - await restartSidecar(); - Notice.success(`Successfully restart core`, 1000); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - return ( - - {t("Clash Core")} - - - - } - contentSx={{ - pb: 0, - width: 320, - height: 200, - overflowY: "auto", - userSelect: "text", - marginTop: "-8px", - }} - disableOk - cancelBtn={t("Back")} - onClose={() => setOpen(false)} - onCancel={() => setOpen(false)} - > - - {VALID_CORE.map((each) => ( - onCoreChange(each.core)} - > - - - {(OS === "macos" || OS === "linux") && ( - { - e.preventDefault(); - e.stopPropagation(); - onGrant(each.core); - }} - > - - - )} - - ))} - - - ); -}); diff --git a/src/components/setting/mods/clash-field-viewer.tsx b/src/components/setting/mods/clash-field-viewer.tsx deleted file mode 100644 index 8185cba..0000000 --- a/src/components/setting/mods/clash-field-viewer.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import useSWR from "swr"; -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { Checkbox, Divider, Stack, Tooltip, Typography } from "@mui/material"; -import { InfoRounded } from "@mui/icons-material"; -import { getRuntimeExists } from "@/services/cmds"; -import { - HANDLE_FIELDS, - DEFAULT_FIELDS, - OTHERS_FIELDS, -} from "@/utils/clash-fields"; -import { BaseDialog, DialogRef } from "@/components/base"; -import { useProfiles } from "@/hooks/use-profiles"; -import { Notice } from "@/components/base"; - -const otherFields = [...OTHERS_FIELDS]; -const handleFields = [...HANDLE_FIELDS, ...DEFAULT_FIELDS]; - -export const ClashFieldViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const { profiles = {}, patchProfiles } = useProfiles(); - const { data: existsKeys = [], mutate: mutateExists } = useSWR( - "getRuntimeExists", - getRuntimeExists - ); - - const [open, setOpen] = useState(false); - const [selected, setSelected] = useState([]); - - useImperativeHandle(ref, () => ({ - open: () => { - mutateExists(); - setSelected(profiles.valid || []); - setOpen(true); - }, - close: () => setOpen(false), - })); - - const handleChange = (item: string) => { - if (!item) return; - - setSelected((old) => - old.includes(item) ? old.filter((e) => e !== item) : [...old, item] - ); - }; - - const handleSave = async () => { - setOpen(false); - - const oldSet = new Set(profiles.valid || []); - const curSet = new Set(selected); - const joinSet = new Set(selected.concat([...oldSet])); - - if (curSet.size === oldSet.size && curSet.size === joinSet.size) return; - - try { - await patchProfiles({ valid: [...curSet] }); - // Notice.success("Refresh clash config", 1000); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }; - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={handleSave} - > - {otherFields.map((item) => { - const inSelect = selected.includes(item); - const inConfig = existsKeys.includes(item); - - return ( - - handleChange(item)} - /> - {item} - - {!inSelect && inConfig && } - - ); - })} - - - - Clash Verge Control Fields - - - - {handleFields.map((item) => ( - - - {item} - - ))} - - ); -}); - -function WarnIcon() { - return ( - - - - ); -} diff --git a/src/components/setting/mods/clash-port-viewer.tsx b/src/components/setting/mods/clash-port-viewer.tsx deleted file mode 100644 index 2079740..0000000 --- a/src/components/setting/mods/clash-port-viewer.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useLockFn } from "ahooks"; -import { List, ListItem, ListItemText, TextField } from "@mui/material"; -import { useClashInfo } from "@/hooks/use-clash"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; - -export const ClashPortViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const { clashInfo, patchInfo } = useClashInfo(); - - const [open, setOpen] = useState(false); - const [port, setPort] = useState(clashInfo?.port ?? 7890); - - useImperativeHandle(ref, () => ({ - open: () => { - if (clashInfo?.port) setPort(clashInfo?.port); - setOpen(true); - }, - close: () => setOpen(false), - })); - - const onSave = useLockFn(async () => { - if (port === clashInfo?.port) { - setOpen(false); - return; - } - try { - await patchInfo({ "mixed-port": port }); - setOpen(false); - Notice.success("Change Clash port successfully!", 1000); - } catch (err: any) { - Notice.error(err.message || err.toString(), 4000); - } - }); - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onSave} - > - - - - - setPort(+e.target.value?.replace(/\D+/, "").slice(0, 5)) - } - /> - - - - ); -}); diff --git a/src/components/setting/mods/config-viewer.tsx b/src/components/setting/mods/config-viewer.tsx deleted file mode 100644 index 22c169c..0000000 --- a/src/components/setting/mods/config-viewer.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { - forwardRef, - useEffect, - useImperativeHandle, - useRef, - useState, -} from "react"; -import { useTranslation } from "react-i18next"; -import { useRecoilValue } from "recoil"; -import { Chip } from "@mui/material"; -import { atomThemeMode } from "@/services/states"; -import { getRuntimeYaml } from "@/services/cmds"; -import { BaseDialog, DialogRef } from "@/components/base"; -import { editor } from "monaco-editor/esm/vs/editor/editor.api"; - -import "monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js"; -import "monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js"; -import "monaco-editor/esm/vs/editor/contrib/folding/browser/folding.js"; - -export const ConfigViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - const [open, setOpen] = useState(false); - - const editorRef = useRef(); - const instanceRef = useRef(null); - const themeMode = useRecoilValue(atomThemeMode); - - useEffect(() => { - return () => { - if (instanceRef.current) { - instanceRef.current.dispose(); - instanceRef.current = null; - } - }; - }, []); - - useImperativeHandle(ref, () => ({ - open: () => { - setOpen(true); - - getRuntimeYaml().then((data) => { - const dom = editorRef.current; - - if (!dom) return; - if (instanceRef.current) instanceRef.current.dispose(); - - instanceRef.current = editor.create(editorRef.current, { - value: data ?? "# Error\n", - language: "yaml", - theme: themeMode === "light" ? "vs" : "vs-dark", - minimap: { enabled: false }, - readOnly: true, - }); - }); - }, - close: () => setOpen(false), - })); - - return ( - - {t("Runtime Config")} - - } - contentSx={{ width: 520, pb: 1, userSelect: "text" }} - cancelBtn={t("Back")} - disableOk - onClose={() => setOpen(false)} - onCancel={() => setOpen(false)} - > -
    - - ); -}); diff --git a/src/components/setting/mods/controller-viewer.tsx b/src/components/setting/mods/controller-viewer.tsx deleted file mode 100644 index 17205d9..0000000 --- a/src/components/setting/mods/controller-viewer.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { List, ListItem, ListItemText, TextField } from "@mui/material"; -import { useClashInfo } from "@/hooks/use-clash"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; - -export const ControllerViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - const [open, setOpen] = useState(false); - - const { clashInfo, patchInfo } = useClashInfo(); - - const [controller, setController] = useState(clashInfo?.server || ""); - const [secret, setSecret] = useState(clashInfo?.secret || ""); - - useImperativeHandle(ref, () => ({ - open: () => { - setOpen(true); - setController(clashInfo?.server || ""); - setSecret(clashInfo?.secret || ""); - }, - close: () => setOpen(false), - })); - - const onSave = useLockFn(async () => { - try { - await patchInfo({ "external-controller": controller, secret }); - Notice.success("Change Clash Config successfully!", 1000); - setOpen(false); - } catch (err: any) { - Notice.error(err.message || err.toString(), 4000); - } - }); - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onSave} - > - - - - setController(e.target.value)} - /> - - - - - setSecret(e.target.value)} - /> - - - - ); -}); diff --git a/src/components/setting/mods/guard-state.tsx b/src/components/setting/mods/guard-state.tsx deleted file mode 100644 index 5ab8e99..0000000 --- a/src/components/setting/mods/guard-state.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { cloneElement, isValidElement, ReactNode, useRef } from "react"; -import noop from "@/utils/noop"; - -interface Props { - value?: Value; - valueProps?: string; - onChangeProps?: string; - waitTime?: number; - onChange?: (value: Value) => void; - onFormat?: (...args: any[]) => Value; - onGuard?: (value: Value, oldValue: Value) => Promise; - onCatch?: (error: Error) => void; - children: ReactNode; -} - -export function GuardState(props: Props) { - const { - value, - children, - valueProps = "value", - onChangeProps = "onChange", - waitTime = 0, // debounce wait time default 0 - onGuard = noop, - onCatch = noop, - onChange = noop, - onFormat = (v: T) => v, - } = props; - - const lockRef = useRef(false); - const saveRef = useRef(value); - const lastRef = useRef(0); - const timeRef = useRef(); - - if (!isValidElement(children)) { - return children as any; - } - - const childProps = { ...children.props }; - - childProps[valueProps] = value; - childProps[onChangeProps] = async (...args: any[]) => { - // 多次操作无效 - if (lockRef.current) return; - - lockRef.current = true; - - try { - const newValue = (onFormat as any)(...args); - // 先在ui上响应操作 - onChange(newValue); - - const now = Date.now(); - - // save the old value - if (waitTime <= 0 || now - lastRef.current >= waitTime) { - saveRef.current = value; - } - - lastRef.current = now; - - if (waitTime <= 0) { - await onGuard(newValue, value!); - } else { - // debounce guard - clearTimeout(timeRef.current); - - timeRef.current = setTimeout(async () => { - try { - await onGuard(newValue, saveRef.current!); - } catch (err: any) { - // 状态回退 - onChange(saveRef.current!); - onCatch(err); - } - }, waitTime); - } - } catch (err: any) { - // 状态回退 - onChange(saveRef.current!); - onCatch(err); - } - lockRef.current = false; - }; - return cloneElement(children, childProps); -} diff --git a/src/components/setting/mods/hotkey-input.tsx b/src/components/setting/mods/hotkey-input.tsx deleted file mode 100644 index a14658a..0000000 --- a/src/components/setting/mods/hotkey-input.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { useRef, useState } from "react"; -import { alpha, Box, IconButton, styled } from "@mui/material"; -import { DeleteRounded } from "@mui/icons-material"; -import { parseHotkey } from "@/utils/parse-hotkey"; - -const KeyWrapper = styled("div")(({ theme }) => ({ - position: "relative", - width: 165, - minHeight: 36, - - "> input": { - position: "absolute", - top: 0, - left: 0, - width: "100%", - height: "100%", - zIndex: 1, - opacity: 0, - }, - "> input:focus + .list": { - borderColor: alpha(theme.palette.primary.main, 0.75), - }, - ".list": { - display: "flex", - alignItems: "center", - flexWrap: "wrap", - width: "100%", - height: "100%", - minHeight: 36, - boxSizing: "border-box", - padding: "3px 4px", - border: "1px solid", - borderRadius: 4, - borderColor: alpha(theme.palette.text.secondary, 0.15), - "&:last-child": { - marginRight: 0, - }, - }, - ".item": { - color: theme.palette.text.primary, - border: "1px solid", - borderColor: alpha(theme.palette.text.secondary, 0.2), - borderRadius: "2px", - padding: "1px 1px", - margin: "2px 0", - marginRight: 8, - }, -})); - -interface Props { - value: string[]; - onChange: (value: string[]) => void; -} - -export const HotkeyInput = (props: Props) => { - const { value, onChange } = props; - - const changeRef = useRef([]); - const [keys, setKeys] = useState(value); - - return ( - - - { - const ret = changeRef.current.slice(); - if (ret.length) { - onChange(ret); - changeRef.current = []; - } - }} - onKeyDown={(e) => { - const evt = e.nativeEvent; - e.preventDefault(); - e.stopPropagation(); - - const key = parseHotkey(evt.key); - if (key === "UNIDENTIFIED") return; - - changeRef.current = [...new Set([...changeRef.current, key])]; - setKeys(changeRef.current); - }} - /> - -
    - {keys.map((key) => ( -
    - {key} -
    - ))} -
    -
    - - { - onChange([]); - setKeys([]); - }} - > - - -
    - ); -}; diff --git a/src/components/setting/mods/hotkey-viewer.tsx b/src/components/setting/mods/hotkey-viewer.tsx deleted file mode 100644 index a47d30e..0000000 --- a/src/components/setting/mods/hotkey-viewer.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useLockFn } from "ahooks"; -import { styled, Typography } from "@mui/material"; -import { useVerge } from "@/hooks/use-verge"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; -import { HotkeyInput } from "./hotkey-input"; - -const ItemWrapper = styled("div")` - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 8px; -`; - -const HOTKEY_FUNC = [ - "open_dashboard", - "clash_mode_rule", - "clash_mode_global", - "clash_mode_direct", - "clash_mode_script", - "toggle_system_proxy", - "enable_system_proxy", - "disable_system_proxy", - "toggle_tun_mode", - "enable_tun_mode", - "disable_tun_mode", -]; - -export const HotkeyViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - const [open, setOpen] = useState(false); - - const { verge, patchVerge } = useVerge(); - - const [hotkeyMap, setHotkeyMap] = useState>({}); - - useImperativeHandle(ref, () => ({ - open: () => { - setOpen(true); - - const map = {} as typeof hotkeyMap; - - verge?.hotkeys?.forEach((text) => { - const [func, key] = text.split(",").map((e) => e.trim()); - - if (!func || !key) return; - - map[func] = key - .split("+") - .map((e) => e.trim()) - .map((k) => (k === "PLUS" ? "+" : k)); - }); - - setHotkeyMap(map); - }, - close: () => setOpen(false), - })); - - const onSave = useLockFn(async () => { - const hotkeys = Object.entries(hotkeyMap) - .map(([func, keys]) => { - if (!func || !keys?.length) return ""; - - const key = keys - .map((k) => k.trim()) - .filter(Boolean) - .map((k) => (k === "+" ? "PLUS" : k)) - .join("+"); - - if (!key) return ""; - return `${func},${key}`; - }) - .filter(Boolean); - - try { - await patchVerge({ hotkeys }); - setOpen(false); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }); - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onSave} - > - {HOTKEY_FUNC.map((func) => ( - - {t(func)} - setHotkeyMap((m) => ({ ...m, [func]: v }))} - /> - - ))} - - ); -}); diff --git a/src/components/setting/mods/layout-viewer.tsx b/src/components/setting/mods/layout-viewer.tsx deleted file mode 100644 index baeca95..0000000 --- a/src/components/setting/mods/layout-viewer.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useTranslation } from "react-i18next"; -import { List, Switch } from "@mui/material"; -import { useVerge } from "@/hooks/use-verge"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; -import { SettingItem } from "./setting-comp"; -import { GuardState } from "./guard-state"; - -export const LayoutViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - const { verge, patchVerge, mutateVerge } = useVerge(); - - const [open, setOpen] = useState(false); - - useImperativeHandle(ref, () => ({ - open: () => setOpen(true), - close: () => setOpen(false), - })); - - const onSwitchFormat = (_e: any, value: boolean) => value; - const onError = (err: any) => { - Notice.error(err.message || err.toString()); - }; - const onChangeData = (patch: Partial) => { - mutateVerge({ ...verge, ...patch }, false); - }; - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - > - - - onChangeData({ theme_blur: e })} - onGuard={(e) => patchVerge({ theme_blur: e })} - > - - - - - - onChangeData({ traffic_graph: e })} - onGuard={(e) => patchVerge({ traffic_graph: e })} - > - - - - - - onChangeData({ enable_memory_usage: e })} - onGuard={(e) => patchVerge({ enable_memory_usage: e })} - > - - - - - - ); -}); diff --git a/src/components/setting/mods/misc-viewer.tsx b/src/components/setting/mods/misc-viewer.tsx deleted file mode 100644 index 7d63264..0000000 --- a/src/components/setting/mods/misc-viewer.tsx +++ /dev/null @@ -1,199 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { - List, - ListItem, - ListItemText, - MenuItem, - Select, - Switch, - TextField, -} from "@mui/material"; -import { useVerge } from "@/hooks/use-verge"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; - -export const MiscViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - const { verge, patchVerge } = useVerge(); - - const [open, setOpen] = useState(false); - const [values, setValues] = useState({ - appLogLevel: "info", - autoCloseConnection: false, - enableClashFields: true, - enableBuiltinEnhanced: true, - proxyLayoutColumn: 6, - defaultLatencyTest: "", - autoLogClean: 0, - }); - - useImperativeHandle(ref, () => ({ - open: () => { - setOpen(true); - setValues({ - appLogLevel: verge?.app_log_level ?? "info", - autoCloseConnection: verge?.auto_close_connection ?? false, - enableClashFields: verge?.enable_clash_fields ?? true, - enableBuiltinEnhanced: verge?.enable_builtin_enhanced ?? true, - proxyLayoutColumn: verge?.proxy_layout_column || 6, - defaultLatencyTest: verge?.default_latency_test || "", - autoLogClean: verge?.auto_log_clean || 0, - }); - }, - close: () => setOpen(false), - })); - - const onSave = useLockFn(async () => { - try { - await patchVerge({ - app_log_level: values.appLogLevel, - auto_close_connection: values.autoCloseConnection, - enable_clash_fields: values.enableClashFields, - enable_builtin_enhanced: values.enableBuiltinEnhanced, - proxy_layout_column: values.proxyLayoutColumn, - default_latency_test: values.defaultLatencyTest, - auto_log_clean: values.autoLogClean as any, - }); - setOpen(false); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }); - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onSave} - > - - - - - - - - - - setValues((v) => ({ ...v, autoCloseConnection: c })) - } - /> - - - - - - setValues((v) => ({ ...v, enableClashFields: c })) - } - /> - - - - - - setValues((v) => ({ ...v, enableBuiltinEnhanced: c })) - } - /> - - - - - - - - - - - - - - - - setValues((v) => ({ ...v, defaultLatencyTest: e.target.value })) - } - /> - - - - ); -}); diff --git a/src/components/setting/mods/service-viewer.tsx b/src/components/setting/mods/service-viewer.tsx deleted file mode 100644 index 839c8c2..0000000 --- a/src/components/setting/mods/service-viewer.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import useSWR from "swr"; -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { Button, Stack, Typography } from "@mui/material"; -import { - checkService, - installService, - uninstallService, - patchVergeConfig, -} from "@/services/cmds"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; - -interface Props { - enable: boolean; -} - -export const ServiceViewer = forwardRef((props, ref) => { - const { enable } = props; - - const { t } = useTranslation(); - const [open, setOpen] = useState(false); - - const { data: status, mutate: mutateCheck } = useSWR( - "checkService", - checkService, - { - revalidateIfStale: false, - shouldRetryOnError: false, - focusThrottleInterval: 36e5, // 1 hour - } - ); - - useImperativeHandle(ref, () => ({ - open: () => setOpen(true), - close: () => setOpen(false), - })); - - const state = status != null ? status : "pending"; - - const onInstall = useLockFn(async () => { - try { - await installService(); - mutateCheck(); - setOpen(false); - Notice.success("Service installed successfully"); - } catch (err: any) { - mutateCheck(); - Notice.error(err.message || err.toString()); - } - }); - - const onUninstall = useLockFn(async () => { - try { - if (enable) { - await patchVergeConfig({ enable_service_mode: false }); - } - - await uninstallService(); - mutateCheck(); - setOpen(false); - Notice.success("Service uninstalled successfully"); - } catch (err: any) { - mutateCheck(); - Notice.error(err.message || err.toString()); - } - }); - - // fix unhandled error of the service mode - const onDisable = useLockFn(async () => { - try { - await patchVergeConfig({ enable_service_mode: false }); - mutateCheck(); - setOpen(false); - } catch (err: any) { - mutateCheck(); - Notice.error(err.message || err.toString()); - } - }); - - return ( - setOpen(false)} - > - Current State: {state} - - {(state === "unknown" || state === "uninstall") && ( - - Information: Please make sure that the Clash Verge Service is - installed and enabled - - )} - - - {state === "uninstall" && enable && ( - - )} - - {state === "uninstall" && ( - - )} - - {(state === "active" || state === "installed") && ( - - )} - - - ); -}); diff --git a/src/components/setting/mods/setting-comp.tsx b/src/components/setting/mods/setting-comp.tsx deleted file mode 100644 index e0cd181..0000000 --- a/src/components/setting/mods/setting-comp.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React, { ReactNode } from "react"; -import { - Box, - List, - ListItem, - ListItemText, - ListSubheader, -} from "@mui/material"; - -interface ItemProps { - label: ReactNode; - extra?: ReactNode; - children?: ReactNode; - secondary?: ReactNode; -} - -export const SettingItem: React.FC = (props) => { - const { label, extra, children, secondary } = props; - - const primary = !extra ? ( - label - ) : ( - - {label} - {extra} - - ); - - return ( - - - {children} - - ); -}; - -export const SettingList: React.FC<{ - title: string; - children: ReactNode; -}> = (props) => ( - - - {props.title} - - - {props.children} - -); diff --git a/src/components/setting/mods/sysproxy-viewer.tsx b/src/components/setting/mods/sysproxy-viewer.tsx deleted file mode 100644 index 44682dc..0000000 --- a/src/components/setting/mods/sysproxy-viewer.tsx +++ /dev/null @@ -1,173 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { - Box, - InputAdornment, - List, - ListItem, - ListItemText, - styled, - Switch, - TextField, - Typography, -} from "@mui/material"; -import { useVerge } from "@/hooks/use-verge"; -import { getSystemProxy } from "@/services/cmds"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; - -export const SysproxyViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const [open, setOpen] = useState(false); - - const { verge, patchVerge } = useVerge(); - - type SysProxy = Awaited>; - const [sysproxy, setSysproxy] = useState(); - - const { - enable_system_proxy: enabled, - enable_proxy_guard, - system_proxy_bypass, - proxy_guard_duration, - } = verge ?? {}; - - const [value, setValue] = useState({ - guard: enable_proxy_guard, - bypass: system_proxy_bypass, - duration: proxy_guard_duration ?? 10, - }); - - useImperativeHandle(ref, () => ({ - open: () => { - setOpen(true); - setValue({ - guard: enable_proxy_guard, - bypass: system_proxy_bypass, - duration: proxy_guard_duration ?? 10, - }); - getSystemProxy().then((p) => setSysproxy(p)); - }, - close: () => setOpen(false), - })); - - const onSave = useLockFn(async () => { - if (value.duration < 1) { - Notice.error("Proxy guard duration at least 1 seconds"); - return; - } - - const patch: Partial = {}; - - if (value.guard !== enable_proxy_guard) { - patch.enable_proxy_guard = value.guard; - } - if (value.duration !== proxy_guard_duration) { - patch.proxy_guard_duration = value.duration; - } - if (value.bypass !== system_proxy_bypass) { - patch.system_proxy_bypass = value.bypass; - } - - try { - await patchVerge(patch); - setOpen(false); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }); - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onSave} - > - - - - setValue((v) => ({ ...v, guard: e }))} - /> - - - - - s, - }} - onChange={(e) => { - setValue((v) => ({ - ...v, - duration: +e.target.value.replace(/\D/, ""), - })); - }} - /> - - - - - - setValue((v) => ({ ...v, bypass: e.target.value })) - } - /> - - - - - - {t("Current System Proxy")} - - - - Enable: - - {(!!sysproxy?.enable).toString()} - - - - - Server: - {sysproxy?.server || "-"} - - - - Bypass: - {sysproxy?.bypass || "-"} - - - - ); -}); - -const FlexBox = styled("div")` - display: flex; - margin-top: 4px; - - .label { - flex: none; - width: 80px; - } -`; diff --git a/src/components/setting/mods/theme-mode-switch.tsx b/src/components/setting/mods/theme-mode-switch.tsx deleted file mode 100644 index 29ae9ef..0000000 --- a/src/components/setting/mods/theme-mode-switch.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { useTranslation } from "react-i18next"; -import { Button, ButtonGroup } from "@mui/material"; - -type ThemeValue = IVergeConfig["theme_mode"]; - -interface Props { - value?: ThemeValue; - onChange?: (value: ThemeValue) => void; -} - -export const ThemeModeSwitch = (props: Props) => { - const { value, onChange } = props; - const { t } = useTranslation(); - - const modes = ["light", "dark", "system"] as const; - - return ( - - {modes.map((mode) => ( - - ))} - - ); -}; diff --git a/src/components/setting/mods/theme-viewer.tsx b/src/components/setting/mods/theme-viewer.tsx deleted file mode 100644 index c68ada2..0000000 --- a/src/components/setting/mods/theme-viewer.tsx +++ /dev/null @@ -1,136 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { - List, - ListItem, - ListItemText, - styled, - TextField, - useTheme, -} from "@mui/material"; -import { useVerge } from "@/hooks/use-verge"; -import { defaultTheme, defaultDarkTheme } from "@/pages/_theme"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; - -export const ThemeViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const [open, setOpen] = useState(false); - const { verge, patchVerge } = useVerge(); - const { theme_setting } = verge ?? {}; - const [theme, setTheme] = useState(theme_setting || {}); - - useImperativeHandle(ref, () => ({ - open: () => { - setOpen(true); - setTheme({ ...theme_setting } || {}); - }, - close: () => setOpen(false), - })); - - const textProps = { - size: "small", - autoComplete: "off", - sx: { width: 135 }, - } as const; - - const handleChange = (field: keyof typeof theme) => (e: any) => { - setTheme((t) => ({ ...t, [field]: e.target.value })); - }; - - const onSave = useLockFn(async () => { - try { - await patchVerge({ theme_setting: theme }); - setOpen(false); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }); - - // default theme - const { palette } = useTheme(); - - const dt = palette.mode === "light" ? defaultTheme : defaultDarkTheme; - - type ThemeKey = keyof typeof theme & keyof typeof defaultTheme; - - const renderItem = (label: string, key: ThemeKey) => { - return ( - - - - e.key === "Enter" && onSave()} - /> - - ); - }; - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onSave} - > - - {renderItem("Primary Color", "primary_color")} - - {renderItem("Secondary Color", "secondary_color")} - - {renderItem("Primary Text", "primary_text")} - - {renderItem("Secondary Text", "secondary_text")} - - {renderItem("Info Color", "info_color")} - - {renderItem("Error Color", "error_color")} - - {renderItem("Warning Color", "warning_color")} - - {renderItem("Success Color", "success_color")} - - - - e.key === "Enter" && onSave()} - /> - - - - - e.key === "Enter" && onSave()} - /> - - - - ); -}); - -const Item = styled(ListItem)(() => ({ - padding: "5px 2px", -})); - -const Round = styled("div")(() => ({ - width: "24px", - height: "24px", - borderRadius: "18px", - display: "inline-block", - marginRight: "8px", -})); diff --git a/src/components/setting/mods/update-viewer.tsx b/src/components/setting/mods/update-viewer.tsx deleted file mode 100644 index 8b4e68a..0000000 --- a/src/components/setting/mods/update-viewer.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import useSWR from "swr"; -import snarkdown from "snarkdown"; -import { forwardRef, useImperativeHandle, useState, useMemo } from "react"; -import { useLockFn } from "ahooks"; -import { Box, styled } from "@mui/material"; -import { useRecoilState } from "recoil"; -import { useTranslation } from "react-i18next"; -import { relaunch } from "@tauri-apps/api/process"; -import { checkUpdate, installUpdate } from "@tauri-apps/api/updater"; -import { BaseDialog, DialogRef, Notice } from "@/components/base"; -import { atomUpdateState } from "@/services/states"; - -const UpdateLog = styled(Box)(() => ({ - "h1,h2,h3,ul,ol,p": { margin: "0.5em 0", color: "inherit" }, -})); - -export const UpdateViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const [open, setOpen] = useState(false); - const [updateState, setUpdateState] = useRecoilState(atomUpdateState); - - const { data: updateInfo } = useSWR("checkUpdate", checkUpdate, { - errorRetryCount: 2, - revalidateIfStale: false, - focusThrottleInterval: 36e5, // 1 hour - }); - - useImperativeHandle(ref, () => ({ - open: () => setOpen(true), - close: () => setOpen(false), - })); - - // markdown parser - const parseContent = useMemo(() => { - if (!updateInfo?.manifest?.body) { - return "New Version is available"; - } - return snarkdown(updateInfo?.manifest?.body); - }, [updateInfo]); - - const onUpdate = useLockFn(async () => { - if (updateState) return; - setUpdateState(true); - - try { - await installUpdate(); - await relaunch(); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } finally { - setUpdateState(false); - } - }); - - return ( - setOpen(false)} - onCancel={() => setOpen(false)} - onOk={onUpdate} - > - - - ); -}); diff --git a/src/components/setting/mods/web-ui-item.tsx b/src/components/setting/mods/web-ui-item.tsx deleted file mode 100644 index 5d3d84d..0000000 --- a/src/components/setting/mods/web-ui-item.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import { useState } from "react"; -import { - Divider, - IconButton, - Stack, - TextField, - Typography, -} from "@mui/material"; -import { - CheckRounded, - CloseRounded, - DeleteRounded, - EditRounded, - OpenInNewRounded, -} from "@mui/icons-material"; - -interface Props { - value?: string; - onlyEdit?: boolean; - onChange: (value?: string) => void; - onOpenUrl?: (value?: string) => void; - onDelete?: () => void; - onCancel?: () => void; -} - -export const WebUIItem = (props: Props) => { - const { - value, - onlyEdit = false, - onChange, - onDelete, - onOpenUrl, - onCancel, - } = props; - - const [editing, setEditing] = useState(false); - const [editValue, setEditValue] = useState(value); - - if (editing || onlyEdit) { - return ( - <> - - setEditValue(e.target.value)} - placeholder={`Support %host %port %secret`} - autoComplete="off" - /> - { - onChange(editValue); - setEditing(false); - }} - > - - - { - onCancel?.(); - setEditing(false); - }} - > - - - - - - ); - } - - const html = value - ?.replace("%host", "%host") - .replace("%port", "%port") - .replace("%secret", "%secret"); - - return ( - <> - - ({ - "> span": { - color: palette.primary.main, - }, - })} - dangerouslySetInnerHTML={{ __html: html || "NULL" }} - /> - onOpenUrl?.(value)} - > - - - { - setEditing(true); - setEditValue(value); - }} - > - - - - - - - - - ); -}; diff --git a/src/components/setting/mods/web-ui-viewer.tsx b/src/components/setting/mods/web-ui-viewer.tsx deleted file mode 100644 index 8588d3d..0000000 --- a/src/components/setting/mods/web-ui-viewer.tsx +++ /dev/null @@ -1,137 +0,0 @@ -import { forwardRef, useImperativeHandle, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { Button, Box, Typography } from "@mui/material"; -import { useVerge } from "@/hooks/use-verge"; -import { openWebUrl } from "@/services/cmds"; -import { BaseDialog, BaseEmpty, DialogRef, Notice } from "@/components/base"; -import { useClashInfo } from "@/hooks/use-clash"; -import { WebUIItem } from "./web-ui-item"; - -export const WebUIViewer = forwardRef((props, ref) => { - const { t } = useTranslation(); - - const { clashInfo } = useClashInfo(); - const { verge, patchVerge, mutateVerge } = useVerge(); - - const [open, setOpen] = useState(false); - const [editing, setEditing] = useState(false); - - useImperativeHandle(ref, () => ({ - open: () => setOpen(true), - close: () => setOpen(false), - })); - - const webUIList = verge?.web_ui_list || []; - - const handleAdd = useLockFn(async (value: string) => { - const newList = [value, ...webUIList]; - mutateVerge((old) => (old ? { ...old, web_ui_list: newList } : old), false); - await patchVerge({ web_ui_list: newList }); - }); - - const handleChange = useLockFn(async (index: number, value?: string) => { - const newList = [...webUIList]; - newList[index] = value ?? ""; - mutateVerge((old) => (old ? { ...old, web_ui_list: newList } : old), false); - await patchVerge({ web_ui_list: newList }); - }); - - const handleDelete = useLockFn(async (index: number) => { - const newList = [...webUIList]; - newList.splice(index, 1); - mutateVerge((old) => (old ? { ...old, web_ui_list: newList } : old), false); - await patchVerge({ web_ui_list: newList }); - }); - - const handleOpenUrl = useLockFn(async (value?: string) => { - if (!value) return; - try { - let url = value.trim().replaceAll("%host", "127.0.0.1"); - - if (url.includes("%port") || url.includes("%secret")) { - if (!clashInfo) throw new Error("failed to get clash info"); - if (!clashInfo.server?.includes(":")) { - throw new Error(`failed to parse the server "${clashInfo.server}"`); - } - - const port = clashInfo.server - .slice(clashInfo.server.indexOf(":") + 1) - .trim(); - - url = url.replaceAll("%port", port || "9090"); - url = url.replaceAll( - "%secret", - encodeURIComponent(clashInfo.secret || "") - ); - } - - await openWebUrl(url); - } catch (e: any) { - Notice.error(e.message || e.toString()); - } - }); - - return ( - - {t("Web UI")} - - - } - contentSx={{ - width: 450, - height: 300, - pb: 1, - overflowY: "auto", - userSelect: "text", - }} - cancelBtn={t("Back")} - disableOk - onClose={() => setOpen(false)} - onCancel={() => setOpen(false)} - > - {editing && ( - { - setEditing(false); - handleAdd(v || ""); - }} - onCancel={() => setEditing(false)} - /> - )} - - {!editing && webUIList.length === 0 && ( - - Replace host, port, secret with "%host" "%port" "%secret" - - } - /> - )} - - {webUIList.map((item, index) => ( - handleChange(index, v)} - onDelete={() => handleDelete(index)} - onOpenUrl={handleOpenUrl} - /> - ))} - - ); -}); diff --git a/src/components/setting/setting-clash.tsx b/src/components/setting/setting-clash.tsx deleted file mode 100644 index 19f77ca..0000000 --- a/src/components/setting/setting-clash.tsx +++ /dev/null @@ -1,169 +0,0 @@ -import { useRef } from "react"; -import { useTranslation } from "react-i18next"; -import { - TextField, - Switch, - Select, - MenuItem, - Typography, - IconButton, -} from "@mui/material"; -import { ArrowForward, Settings } from "@mui/icons-material"; -import { DialogRef } from "@/components/base"; -import { useClash } from "@/hooks/use-clash"; -import { GuardState } from "./mods/guard-state"; -import { WebUIViewer } from "./mods/web-ui-viewer"; -import { ClashFieldViewer } from "./mods/clash-field-viewer"; -import { ClashPortViewer } from "./mods/clash-port-viewer"; -import { ControllerViewer } from "./mods/controller-viewer"; -import { SettingList, SettingItem } from "./mods/setting-comp"; -import { ClashCoreViewer } from "./mods/clash-core-viewer"; - -interface Props { - onError: (err: Error) => void; -} - -const SettingClash = ({ onError }: Props) => { - const { t } = useTranslation(); - - const { clash, version, mutateClash, patchClash } = useClash(); - - const { - ipv6, - "allow-lan": allowLan, - "log-level": logLevel, - "mixed-port": mixedPort, - } = clash ?? {}; - - const webRef = useRef(null); - const fieldRef = useRef(null); - const portRef = useRef(null); - const ctrlRef = useRef(null); - const coreRef = useRef(null); - - const onSwitchFormat = (_e: any, value: boolean) => value; - const onChangeData = (patch: Partial) => { - mutateClash((old) => ({ ...(old! || {}), ...patch }), false); - }; - - return ( - - - - - - - - - onChangeData({ "allow-lan": e })} - onGuard={(e) => patchClash({ "allow-lan": e })} - > - - - - - - onChangeData({ ipv6: e })} - onGuard={(e) => patchClash({ ipv6: e })} - > - - - - - - e.target.value} - onChange={(e) => onChangeData({ "log-level": e })} - onGuard={(e) => patchClash({ "log-level": e })} - > - - - - - - { - portRef.current?.open(); - (e.target as any).blur(); - }} - /> - - - - ctrlRef.current?.open()} - > - - - - - - webRef.current?.open()} - > - - - - - - fieldRef.current?.open()} - > - - - - - coreRef.current?.open()} - > - - - } - > - {version} - - - ); -}; - -export default SettingClash; diff --git a/src/components/setting/setting-system.tsx b/src/components/setting/setting-system.tsx deleted file mode 100644 index 7fdeb8f..0000000 --- a/src/components/setting/setting-system.tsx +++ /dev/null @@ -1,163 +0,0 @@ -import useSWR from "swr"; -import { useRef } from "react"; -import { useTranslation } from "react-i18next"; -import { IconButton, Switch } from "@mui/material"; -import { ArrowForward, PrivacyTipRounded, Settings } from "@mui/icons-material"; -import { checkService } from "@/services/cmds"; -import { useVerge } from "@/hooks/use-verge"; -import { DialogRef } from "@/components/base"; -import { SettingList, SettingItem } from "./mods/setting-comp"; -import { GuardState } from "./mods/guard-state"; -import { ServiceViewer } from "./mods/service-viewer"; -import { SysproxyViewer } from "./mods/sysproxy-viewer"; -import getSystem from "@/utils/get-system"; - -interface Props { - onError?: (err: Error) => void; -} - -const isWIN = getSystem() === "windows"; - -const SettingSystem = ({ onError }: Props) => { - const { t } = useTranslation(); - - const { verge, mutateVerge, patchVerge } = useVerge(); - - // service mode - const { data: serviceStatus } = useSWR( - isWIN ? "checkService" : null, - checkService, - { - revalidateIfStale: false, - shouldRetryOnError: false, - focusThrottleInterval: 36e5, // 1 hour - } - ); - - const serviceRef = useRef(null); - const sysproxyRef = useRef(null); - - const { - enable_tun_mode, - enable_auto_launch, - enable_service_mode, - enable_silent_start, - enable_system_proxy, - } = verge ?? {}; - - const onSwitchFormat = (_e: any, value: boolean) => value; - const onChangeData = (patch: Partial) => { - mutateVerge({ ...verge, ...patch }, false); - }; - - return ( - - - {isWIN && ( - - )} - - - onChangeData({ enable_tun_mode: e })} - onGuard={(e) => patchVerge({ enable_tun_mode: e })} - > - - - - - {isWIN && ( - serviceRef.current?.open()} - > - - - } - > - onChangeData({ enable_service_mode: e })} - onGuard={(e) => patchVerge({ enable_service_mode: e })} - > - - - - )} - - sysproxyRef.current?.open()} - > - - - } - > - onChangeData({ enable_system_proxy: e })} - onGuard={(e) => patchVerge({ enable_system_proxy: e })} - > - - - - - - onChangeData({ enable_auto_launch: e })} - onGuard={(e) => patchVerge({ enable_auto_launch: e })} - > - - - - - - onChangeData({ enable_silent_start: e })} - onGuard={(e) => patchVerge({ enable_silent_start: e })} - > - - - - - ); -}; - -export default SettingSystem; diff --git a/src/components/setting/setting-verge.tsx b/src/components/setting/setting-verge.tsx deleted file mode 100644 index d54094d..0000000 --- a/src/components/setting/setting-verge.tsx +++ /dev/null @@ -1,202 +0,0 @@ -import { useRef } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { IconButton, MenuItem, Select, Typography } from "@mui/material"; -import { openAppDir, openCoreDir, openLogsDir } from "@/services/cmds"; -import { ArrowForward } from "@mui/icons-material"; -import { checkUpdate } from "@tauri-apps/api/updater"; -import { useVerge } from "@/hooks/use-verge"; -import { version } from "@root/package.json"; -import { DialogRef, Notice } from "@/components/base"; -import { SettingList, SettingItem } from "./mods/setting-comp"; -import { ThemeModeSwitch } from "./mods/theme-mode-switch"; -import { ConfigViewer } from "./mods/config-viewer"; -import { HotkeyViewer } from "./mods/hotkey-viewer"; -import { MiscViewer } from "./mods/misc-viewer"; -import { ThemeViewer } from "./mods/theme-viewer"; -import { GuardState } from "./mods/guard-state"; -import { LayoutViewer } from "./mods/layout-viewer"; -import { UpdateViewer } from "./mods/update-viewer"; -import getSystem from "@/utils/get-system"; - -interface Props { - onError?: (err: Error) => void; -} - -const OS = getSystem(); - -const SettingVerge = ({ onError }: Props) => { - const { t } = useTranslation(); - - const { verge, patchVerge, mutateVerge } = useVerge(); - const { theme_mode, language } = verge ?? {}; - - const configRef = useRef(null); - const hotkeyRef = useRef(null); - const miscRef = useRef(null); - const themeRef = useRef(null); - const layoutRef = useRef(null); - const updateRef = useRef(null); - - const onChangeData = (patch: Partial) => { - mutateVerge({ ...verge, ...patch }, false); - }; - - const onCheckUpdate = useLockFn(async () => { - try { - const info = await checkUpdate(); - if (!info?.shouldUpdate) { - Notice.success("No Updates Available"); - } else { - updateRef.current?.open(); - } - } catch (err: any) { - Notice.error(err.message || err.toString()); - } - }); - - return ( - - - - - - - - - - e.target.value} - onChange={(e) => onChangeData({ language: e })} - onGuard={(e) => patchVerge({ language: e })} - > - - - - - - onChangeData({ theme_mode: e })} - onGuard={(e) => patchVerge({ theme_mode: e })} - > - - - - - - themeRef.current?.open()} - > - - - - - - layoutRef.current?.open()} - > - - - - - - miscRef.current?.open()} - > - - - - - - hotkeyRef.current?.open()} - > - - - - - - configRef.current?.open()} - > - - - - - - - - - - - - - - - - - - - - - - - {!(OS === "windows" && WIN_PORTABLE) && ( - - - - - - )} - - - v{version} - - - ); -}; - -export default SettingVerge; diff --git a/src/hooks/use-clash.ts b/src/hooks/use-clash.ts deleted file mode 100644 index 9804c5f..0000000 --- a/src/hooks/use-clash.ts +++ /dev/null @@ -1,83 +0,0 @@ -import useSWR, { mutate } from "swr"; -import { useLockFn } from "ahooks"; -import { - getAxios, - getClashConfig, - getVersion, - updateConfigs, -} from "@/services/api"; -import { getClashInfo, patchClashConfig } from "@/services/cmds"; - -export const useClash = () => { - const { data: clash, mutate: mutateClash } = useSWR( - "getClashConfig", - getClashConfig - ); - - const { data: versionData, mutate: mutateVersion } = useSWR( - "getVersion", - getVersion - ); - - const patchClash = useLockFn(async (patch: Partial) => { - await updateConfigs(patch); - await patchClashConfig(patch); - mutateClash(); - }); - - const version = versionData?.premium - ? `${versionData.version} Premium` - : versionData?.meta - ? `${versionData.version} Meta` - : versionData?.version || "-"; - - return { - clash, - version, - mutateClash, - mutateVersion, - patchClash, - }; -}; - -export const useClashInfo = () => { - const { data: clashInfo, mutate: mutateInfo } = useSWR( - "getClashInfo", - getClashInfo - ); - - const patchInfo = async ( - patch: Partial< - Pick - > - ) => { - const hasInfo = - patch["mixed-port"] != null || - patch["external-controller"] != null || - patch.secret != null; - - if (!hasInfo) return; - - if (patch["mixed-port"]) { - const port = patch["mixed-port"]; - if (port < 1000) { - throw new Error("The port should not < 1000"); - } - if (port > 65536) { - throw new Error("The port should not > 65536"); - } - } - - await patchClashConfig(patch); - mutateInfo(); - mutate("getClashConfig"); - // 刷新接口 - getAxios(true); - }; - - return { - clashInfo, - mutateInfo, - patchInfo, - }; -}; diff --git a/src/hooks/use-profiles.ts b/src/hooks/use-profiles.ts deleted file mode 100644 index 5faa3ca..0000000 --- a/src/hooks/use-profiles.ts +++ /dev/null @@ -1,74 +0,0 @@ -import useSWR, { mutate } from "swr"; -import { - getProfiles, - patchProfile, - patchProfilesConfig, -} from "@/services/cmds"; -import { getProxies, updateProxy } from "@/services/api"; - -export const useProfiles = () => { - const { data: profiles, mutate: mutateProfiles } = useSWR( - "getProfiles", - getProfiles - ); - - const patchProfiles = async (value: Partial) => { - await patchProfilesConfig(value); - mutateProfiles(); - }; - - const patchCurrent = async (value: Partial) => { - if (profiles?.current) { - await patchProfile(profiles.current, value); - mutateProfiles(); - } - }; - - // 根据selected的节点选择 - const activateSelected = async () => { - const proxiesData = await getProxies(); - const profileData = await getProfiles(); - - if (!profileData || !proxiesData) return; - - const current = profileData.items?.find( - (e) => e && e.uid === profileData.current - ); - - if (!current) return; - - // init selected array - const { selected = [] } = current; - const selectedMap = Object.fromEntries( - selected.map((each) => [each.name!, each.now!]) - ); - - let hasChange = false; - - const newSelected: typeof selected = []; - const { global, groups } = proxiesData; - - [global, ...groups].forEach(({ type, name, now }) => { - if (!now || type !== "Selector") return; - if (selectedMap[name] != null && selectedMap[name] !== now) { - hasChange = true; - updateProxy(name, selectedMap[name]); - } - newSelected.push({ name, now: selectedMap[name] }); - }); - - if (hasChange) { - patchProfile(profileData.current!, { selected: newSelected }); - mutate("getProxies", getProxies()); - } - }; - - return { - profiles, - current: profiles?.items?.find((p) => p && p.uid === profiles.current), - activateSelected, - patchProfiles, - patchCurrent, - mutateProfiles, - }; -}; diff --git a/src/hooks/use-verge.ts b/src/hooks/use-verge.ts deleted file mode 100644 index 6eeebe8..0000000 --- a/src/hooks/use-verge.ts +++ /dev/null @@ -1,20 +0,0 @@ -import useSWR from "swr"; -import { getVergeConfig, patchVergeConfig } from "@/services/cmds"; - -export const useVerge = () => { - const { data: verge, mutate: mutateVerge } = useSWR( - "getVergeConfig", - getVergeConfig - ); - - const patchVerge = async (value: Partial) => { - await patchVergeConfig(value); - mutateVerge(); - }; - - return { - verge, - mutateVerge, - patchVerge, - }; -}; diff --git a/src/hooks/use-visibility.ts b/src/hooks/use-visibility.ts deleted file mode 100644 index 31d6d3d..0000000 --- a/src/hooks/use-visibility.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { useEffect, useState } from "react"; - -export const useVisibility = () => { - const [visible, setVisible] = useState(true); - - useEffect(() => { - const handleVisibilityChange = () => { - setVisible(document.visibilityState === "visible"); - }; - - const handleFocus = () => setVisible(true); - const handleClick = () => setVisible(true); - - handleVisibilityChange(); - document.addEventListener("focus", handleFocus); - document.addEventListener("pointerdown", handleClick); - document.addEventListener("visibilitychange", handleVisibilityChange); - - return () => { - document.removeEventListener("focus", handleFocus); - document.removeEventListener("pointerdown", handleClick); - document.removeEventListener("visibilitychange", handleVisibilityChange); - }; - }, []); - - return visible; -}; diff --git a/src/hooks/use-websocket.ts b/src/hooks/use-websocket.ts deleted file mode 100644 index 810c7b1..0000000 --- a/src/hooks/use-websocket.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { useRef } from "react"; - -export type WsMsgFn = (event: MessageEvent) => void; - -export interface WsOptions { - errorCount?: number; // default is 5 - retryInterval?: number; // default is 2500 - onError?: () => void; -} - -export const useWebsocket = (onMessage: WsMsgFn, options?: WsOptions) => { - const wsRef = useRef(null); - const timerRef = useRef(null); - - const disconnect = () => { - if (wsRef.current) { - wsRef.current.close(); - wsRef.current = null; - } - if (timerRef.current) { - clearTimeout(timerRef.current); - } - }; - - const connect = (url: string) => { - let errorCount = options?.errorCount ?? 5; - - if (!url) return; - - const connectHelper = () => { - disconnect(); - - const ws = new WebSocket(url); - wsRef.current = ws; - - ws.addEventListener("message", onMessage); - ws.addEventListener("error", () => { - errorCount -= 1; - - if (errorCount >= 0) { - timerRef.current = setTimeout(connectHelper, 2500); - } else { - disconnect(); - options?.onError?.(); - } - }); - }; - - connectHelper(); - }; - - return { connect, disconnect }; -}; diff --git a/src/index.html b/src/index.html deleted file mode 100644 index 90966cb..0000000 --- a/src/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - Clash Verge - - - -
    - - - diff --git a/src/locales/en.json b/src/locales/en.json deleted file mode 100644 index 10c92ef..0000000 --- a/src/locales/en.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "Label-Proxies": "Proxies", - "Label-Profiles": "Profiles", - "Label-Connections": "Connections", - "Label-Logs": "Logs", - "Label-Rules": "Rules", - "Label-Settings": "Settings", - - "Connections": "Connections", - "Logs": "Logs", - "Clear": "Clear", - "Proxies": "Proxies", - "Proxy Groups": "Proxy Groups", - "rule": "rule", - "global": "global", - "direct": "direct", - "script": "script", - - "Profiles": "Profiles", - "Profile URL": "Profile URL", - "Import": "Import", - "New": "New", - "Create Profile": "Create Profile", - "Choose File": "Choose File", - "Close All": "Close All", - "Select": "Select", - "Edit Info": "Edit Info", - "Edit File": "Edit File", - "Open File": "Open File", - "Update": "Update", - "Update(Proxy)": "Update(Proxy)", - "Delete": "Delete", - "Enable": "Enable", - "Disable": "Disable", - "Refresh": "Refresh", - "To Top": "To Top", - "To End": "To End", - "Update All Profiles": "Update All Profiles", - "View Runtime Config": "View Runtime Config", - "Reactivate Profiles": "Reactivate Profiles", - - "Location": "Location", - "Delay check": "Delay check", - "Sort by default": "Sort by default", - "Sort by delay": "Sort by delay", - "Sort by name": "Sort by name", - "Delay check URL": "Delay check URL", - "Proxy detail": "Proxy detail", - "Filter": "Filter", - "Filter conditions": "Filter conditions", - "Refresh profiles": "Refresh profiles", - - "Type": "Type", - "Name": "Name", - "Descriptions": "Descriptions", - "Subscription URL": "Subscription URL", - "Update Interval": "Update Interval", - "Use System Proxy": "Use System Proxy", - "Use Clash Proxy": "Use Clash Proxy", - - "Settings": "Settings", - "Clash Setting": "Clash Setting", - "System Setting": "System Setting", - "Verge Setting": "Verge Setting", - "Allow Lan": "Allow Lan", - "IPv6": "IPv6", - "Log Level": "Log Level", - "Mixed Port": "Mixed Port", - "External": "External", - "Clash Core": "Clash Core", - "Tun Mode": "Tun Mode", - "Service Mode": "Service Mode", - "Auto Launch": "Auto Launch", - "Silent Start": "Silent Start", - "System Proxy": "System Proxy", - "System Proxy Setting": "System Proxy Setting", - "Proxy Guard": "Proxy Guard", - "Guard Duration": "Guard Duration", - "Proxy Bypass": "Proxy Bypass", - "Current System Proxy": "Current System Proxy", - "Theme Mode": "Theme Mode", - "Theme Blur": "Theme Blur", - "Theme Setting": "Theme Setting", - "Layout Setting": "Layout Setting", - "Miscellaneous": "Miscellaneous", - "Hotkey Setting": "Hotkey Setting", - "Traffic Graph": "Traffic Graph", - "Memory Usage": "Memory Usage", - "Language": "Language", - "Open App Dir": "Open App Dir", - "Open Core Dir": "Open Core Dir", - "Open Logs Dir": "Open Logs Dir", - "Check for Updates": "Check for Updates", - "Verge Version": "Verge Version", - "theme.light": "Light", - "theme.dark": "Dark", - "theme.system": "System", - "Clash Field": "Clash Field", - "Runtime Config": "Runtime Config", - "ReadOnly": "ReadOnly", - "Restart": "Restart", - - "Back": "Back", - "Save": "Save", - "Cancel": "Cancel", - - "Default": "Default", - "Download Speed": "Download Speed", - "Upload Speed": "Upload Speed", - - "open_dashboard": "Open Dashboard", - "clash_mode_rule": "Rule Mode", - "clash_mode_global": "Global Mode", - "clash_mode_direct": "Direct Mode", - "clash_mode_script": "Script Mode", - "toggle_system_proxy": "Toggle System Proxy", - "enable_system_proxy": "Enable System Proxy", - "disable_system_proxy": "Disable System Proxy", - "toggle_tun_mode": "Toggle Tun Mode", - "enable_tun_mode": "Enable Tun Mode", - "disable_tun_mode": "Disable Tun Mode", - - "App Log Level": "App Log Level", - "Auto Close Connections": "Auto Close Connections", - "Enable Clash Fields Filter": "Enable Clash Fields Filter", - "Enable Builtin Enhanced": "Enable Builtin Enhanced", - "Proxy Layout Column": "Proxy Layout Column", - "Default Latency Test": "Default Latency Test", - - "Auto Log Clean": "Auto Log Clean", - "Never Clean": "Never Clean", - "Retain 7 Days": "Retain 7 Days", - "Retain 30 Days": "Retain 30 Days", - "Retain 90 Days": "Retain 90 Days" -} diff --git a/src/locales/ru.json b/src/locales/ru.json deleted file mode 100644 index f8ea10b..0000000 --- a/src/locales/ru.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "Label-Proxies": "Прокси", - "Label-Profiles": "Профили", - "Label-Connections": "Соединения", - "Label-Logs": "Логи", - "Label-Rules": "Правила", - "Label-Settings": "Настройки", - - "Connections": "Соединения", - "Logs": "Логи", - "Clear": "Очистить", - "Proxies": "Прокси", - "Proxy Groups": "Группы прокси", - "rule": "правила", - "global": "глобальный", - "direct": "прямой", - "script": "скриптовый", - - "Profiles": "Профили", - "Profile URL": "URL профиля", - "Import": "Импорт", - "New": "Новый", - "Create Profile": "Создать профиль", - "Choose File": "Выбрать файл", - "Close All": "Закрыть всё", - "Select": "Выбрать", - "Edit Info": "Изменить информацию", - "Edit File": "Изменить файл", - "Open File": "Открыть файл", - "Update": "Обновить", - "Update(Proxy)": "Обновить (прокси)", - "Delete": "Удалить", - "Enable": "Включить", - "Disable": "Отключить", - "Refresh": "Обновить", - "To Top": "Наверх", - "To End": "Вниз", - "Update All Profiles": "Обновить все профили", - "View Runtime Config": "Просмотреть используемый конфиг", - "Reactivate Profiles": "Реактивировать профили", - - "Location": "Местоположение", - "Delay check": "Проверка задержки", - "Sort by default": "Сортировать по умолчанию", - "Sort by delay": "Сортировать по задержке", - "Sort by name": "Сортировать по названию", - "Delay check URL": "URL проверки задержки", - "Proxy detail": "Подробности о прокси", - "Filter": "Фильтр", - "Filter conditions": "Условия фильтрации", - "Refresh profiles": "Обновить профили", - - "Type": "Тип", - "Name": "Название", - "Descriptions": "Описания", - "Subscription URL": "URL подписки", - "Update Interval": "Интервал обновления", - - "Settings": "Настройки", - "Clash Setting": "Настройки Clash", - "System Setting": "Настройки системы", - "Verge Setting": "Настройки Verge", - "Allow Lan": "Разрешить локальную сеть", - "IPv6": "IPv6", - "Log Level": "Уровень логов", - "Mixed Port": "Смешанный порт", - "Clash Core": "Ядро Clash", - "Tun Mode": "Режим туннеля", - "Service Mode": "Режим сервиса", - "Auto Launch": "Автозапуск", - "Silent Start": "Тихий запуск", - "System Proxy": "Системный прокси", - "System Proxy Setting": "Настройка системного прокси", - "Proxy Guard": "Защита прокси", - "Guard Duration": "Период защиты", - "Proxy Bypass": "Игнорирование прокси", - "Current System Proxy": "Текущий системный прокси", - "Theme Mode": "Режим темы", - "Theme Blur": "Размытие темы", - "Theme Setting": "Настройка темы", - "Hotkey Setting": "Настройка клавиатурных сокращений", - "Traffic Graph": "График трафика", - "Language": "Язык", - "Open App Dir": "Открыть папку приложения", - "Open Core Dir": "Открыть папку ядра", - "Open Logs Dir": "Открыть папку логов", - "Verge Version": "Версия Verge", - "theme.light": "Светлая", - "theme.dark": "Тёмная", - "theme.system": "Системная", - "Clash Field": "Используемые настройки Clash", - "Runtime Config": "Используемый конфиг", - "ReadOnly": "Только для чтения", - "Restart": "Перезапуск", - - "Back": "Назад", - "Save": "Сохранить", - "Cancel": "Отмена", - - "open_dashboard": "Open Dashboard", - "clash_mode_rule": "Режим правил", - "clash_mode_global": "Глобальный режим", - "clash_mode_direct": "Прямой режим", - "clash_mode_script": "Скриптовый режим", - "toggle_system_proxy": "Переключить режим системного прокси", - "enable_system_proxy": "Включить системный прокси", - "disable_system_proxy": "Отключить системный прокси", - "toggle_tun_mode": "Переключить режим туннеля", - "enable_tun_mode": "Включить режим туннеля", - "disable_tun_mode": "Отключить режим туннеля" -} diff --git a/src/locales/zh.json b/src/locales/zh.json deleted file mode 100644 index 27b358c..0000000 --- a/src/locales/zh.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "Label-Proxies": "代 理", - "Label-Profiles": "配 置", - "Label-Connections": "连 接", - "Label-Logs": "日 志", - "Label-Rules": "规 则", - "Label-Settings": "设 置", - - "Connections": "连接", - "Logs": "日志", - "Clear": "清除", - "Proxies": "代理", - "Proxy Groups": "代理组", - "rule": "规则", - "global": "全局", - "direct": "直连", - "script": "脚本", - - "Profiles": "配置", - "Profile URL": "配置文件链接", - "Import": "导入", - "New": "新建", - "Create Profile": "新建配置", - "Choose File": "选择文件", - "Close All": "关闭全部", - "Select": "使用", - "Edit Info": "编辑信息", - "Edit File": "编辑文件", - "Open File": "打开文件", - "Update": "更新", - "Update(Proxy)": "更新(代理)", - "Delete": "删除", - "Enable": "启用", - "Disable": "禁用", - "Refresh": "刷新", - "To Top": "移到最前", - "To End": "移到末尾", - "Update All Profiles": "更新所有配置", - "View Runtime Config": "查看运行时配置", - "Reactivate Profiles": "重新激活配置", - - "Location": "当前节点", - "Delay check": "延迟测试", - "Sort by default": "默认排序", - "Sort by delay": "按延迟排序", - "Sort by name": "按名称排序", - "Delay check URL": "延迟测试链接", - "Proxy detail": "展示节点细节", - "Filter": "过滤节点", - "Filter conditions": "过滤条件", - "Refresh profiles": "刷新配置", - - "Type": "类型", - "Name": "名称", - "Descriptions": "描述", - "Subscription URL": "订阅链接", - "Update Interval": "更新间隔", - "Use System Proxy": "使用系统代理更新", - "Use Clash Proxy": "使用Clash代理更新", - - "Settings": "设置", - "Clash Setting": "Clash 设置", - "System Setting": "系统设置", - "Verge Setting": "Verge 设置", - "Allow Lan": "局域网连接", - "IPv6": "IPv6", - "Log Level": "日志等级", - "Mixed Port": "端口设置", - "External": "外部控制", - "Clash Core": "Clash 内核", - "Tun Mode": "Tun 模式", - "Service Mode": "服务模式", - "Auto Launch": "开机自启", - "Silent Start": "静默启动", - "System Proxy": "系统代理", - "System Proxy Setting": "系统代理设置", - "Proxy Guard": "系统代理守卫", - "Guard Duration": "代理守卫间隔", - "Proxy Bypass": "Proxy Bypass", - "Current System Proxy": "当前系统代理", - "Theme Mode": "主题模式", - "Theme Blur": "背景模糊", - "Theme Setting": "主题设置", - "Layout Setting": "界面设置", - "Miscellaneous": "杂项设置", - "Hotkey Setting": "热键设置", - "Traffic Graph": "流量图显", - "Memory Usage": "内存使用", - "Language": "语言设置", - "Open App Dir": "应用目录", - "Open Core Dir": "内核目录", - "Open Logs Dir": "日志目录", - "Check for Updates": "检查更新", - "Verge Version": "应用版本", - "theme.light": "浅色", - "theme.dark": "深色", - "theme.system": "系统", - "Clash Field": "Clash 字段", - "Runtime Config": "运行配置", - "ReadOnly": "只读", - "Restart": "重启内核", - - "Back": "返回", - "Save": "保存", - "Cancel": "取消", - - "Default": "默认", - "Download Speed": "下载速度", - "Upload Speed": "上传速度", - - "open_dashboard": "打开面板", - "clash_mode_rule": "规则模式", - "clash_mode_global": "全局模式", - "clash_mode_direct": "直连模式", - "clash_mode_script": "脚本模式", - "toggle_system_proxy": "切换系统代理", - "enable_system_proxy": "开启系统代理", - "disable_system_proxy": "关闭系统代理", - "toggle_tun_mode": "切换Tun模式", - "enable_tun_mode": "开启Tun模式", - "disable_tun_mode": "关闭Tun模式", - - "App Log Level": "App日志等级", - "Auto Close Connections": "自动关闭连接", - "Enable Clash Fields Filter": "开启Clash字段过滤", - "Enable Builtin Enhanced": "开启内建增强功能", - "Proxy Layout Column": "代理页布局列数", - "Default Latency Test": "默认测试链接", - - "Auto Log Clean": "自动清理日志", - "Never Clean": "不清理", - "Retain 7 Days": "保留7天", - "Retain 30 Days": "保留30天", - "Retain 90 Days": "保留90天" -} diff --git a/src/main.tsx b/src/main.tsx deleted file mode 100644 index 8588844..0000000 --- a/src/main.tsx +++ /dev/null @@ -1,37 +0,0 @@ -/// -/// -import "./assets/styles/index.scss"; - -import { ResizeObserver } from "@juggle/resize-observer"; -if (!window.ResizeObserver) { - window.ResizeObserver = ResizeObserver; -} - -import React from "react"; -import { createRoot } from "react-dom/client"; -import { RecoilRoot } from "recoil"; -import { BrowserRouter } from "react-router-dom"; -import { BaseErrorBoundary } from "./components/base"; -import Layout from "./pages/_layout"; -import "./services/i18n"; - -const mainElementId = "root"; -const container = document.getElementById(mainElementId); - -if (!container) { - throw new Error( - `No container '${mainElementId}' found to render application` - ); -} - -createRoot(container).render( - - - - - - - - - -); diff --git a/src/pages/_layout.tsx b/src/pages/_layout.tsx deleted file mode 100644 index 27ef9b0..0000000 --- a/src/pages/_layout.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import dayjs from "dayjs"; -import i18next from "i18next"; -import relativeTime from "dayjs/plugin/relativeTime"; -import { SWRConfig, mutate } from "swr"; -import { useEffect } from "react"; -import { useTranslation } from "react-i18next"; -import { Route, Routes } from "react-router-dom"; -import { alpha, List, Paper, ThemeProvider } from "@mui/material"; -import { listen } from "@tauri-apps/api/event"; -import { appWindow } from "@tauri-apps/api/window"; -import { routers } from "./_routers"; -import { getAxios } from "@/services/api"; -import { useVerge } from "@/hooks/use-verge"; -import { ReactComponent as LogoSvg } from "@/assets/image/logo.svg"; -import { BaseErrorBoundary, Notice } from "@/components/base"; -import { LayoutItem } from "@/components/layout/layout-item"; -import { LayoutControl } from "@/components/layout/layout-control"; -import { LayoutTraffic } from "@/components/layout/layout-traffic"; -import { UpdateButton } from "@/components/layout/update-button"; -import { useCustomTheme } from "@/components/layout/use-custom-theme"; -import getSystem from "@/utils/get-system"; -import "dayjs/locale/ru"; -import "dayjs/locale/zh-cn"; - -dayjs.extend(relativeTime); - -const OS = getSystem(); - -const Layout = () => { - const { t } = useTranslation(); - - const { theme } = useCustomTheme(); - - const { verge } = useVerge(); - const { theme_blur, language } = verge || {}; - - useEffect(() => { - window.addEventListener("keydown", (e) => { - // macOS有cmd+w - if (e.key === "Escape" && OS !== "macos") { - appWindow.close(); - } - }); - - listen("verge://refresh-clash-config", async () => { - // the clash info may be updated - await getAxios(true); - mutate("getProxies"); - mutate("getVersion"); - mutate("getClashConfig"); - mutate("getProviders"); - }); - - // update the verge config - listen("verge://refresh-verge-config", () => mutate("getVergeConfig")); - - // 设置提示监听 - listen("verge://notice-message", ({ payload }) => { - const [status, msg] = payload as [string, string]; - switch (status) { - case "set_config::ok": - Notice.success("Refresh clash config"); - break; - case "set_config::error": - Notice.error(msg); - break; - default: - break; - } - }); - }, []); - - useEffect(() => { - if (language) { - dayjs.locale(language === "zh" ? "zh-cn" : language); - i18next.changeLanguage(language); - } - }, [language]); - - return ( - - - { - if (e.target?.dataset?.windrag) appWindow.startDragging(); - }} - onContextMenu={(e) => { - // only prevent it on Windows - const validList = ["input", "textarea"]; - const target = e.currentTarget; - if ( - OS === "windows" && - !( - validList.includes(target.tagName.toLowerCase()) || - target.isContentEditable - ) - ) { - e.preventDefault(); - } - }} - sx={[ - ({ palette }) => ({ - bgcolor: alpha(palette.background.paper, theme_blur ? 0.8 : 1), - }), - ]} - > -
    -
    - - - {!(OS === "windows" && WIN_PORTABLE) && ( - - )} -
    - - - {routers.map((router) => ( - - {t(router.label)} - - ))} - - -
    - -
    -
    - -
    - {OS === "windows" && ( -
    - -
    - )} - -
    - - {routers.map(({ label, link, ele: Ele }) => ( - - - - } - /> - ))} - -
    -
    -
    -
    -
    - ); -}; - -export default Layout; diff --git a/src/pages/_routers.tsx b/src/pages/_routers.tsx deleted file mode 100644 index f53ed48..0000000 --- a/src/pages/_routers.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import LogsPage from "./logs"; -import ProxiesPage from "./proxies"; -import ProfilesPage from "./profiles"; -import SettingsPage from "./settings"; -import ConnectionsPage from "./connections"; -import RulesPage from "./rules"; - -export const routers = [ - { - label: "Label-Proxies", - link: "/", - ele: ProxiesPage, - }, - { - label: "Label-Profiles", - link: "/profile", - ele: ProfilesPage, - }, - { - label: "Label-Connections", - link: "/connections", - ele: ConnectionsPage, - }, - { - label: "Label-Rules", - link: "/rules", - ele: RulesPage, - }, - { - label: "Label-Logs", - link: "/logs", - ele: LogsPage, - }, - { - label: "Label-Settings", - link: "/settings", - ele: SettingsPage, - }, -]; diff --git a/src/pages/_theme.tsx b/src/pages/_theme.tsx deleted file mode 100644 index 37ce63e..0000000 --- a/src/pages/_theme.tsx +++ /dev/null @@ -1,19 +0,0 @@ -// default theme setting -export const defaultTheme = { - primary_color: "#5b5c9d", - secondary_color: "#9c27b0", - primary_text: "#637381", - secondary_text: "#909399", - info_color: "#0288d1", - error_color: "#d32f2f", - warning_color: "#ed6c02", - success_color: "#2e7d32", - font_family: `"Roboto", "Helvetica", "Arial", sans-serif`, -}; - -// dark mode -export const defaultDarkTheme = { - ...defaultTheme, - primary_text: "#757575", - secondary_text: "#637381", -}; diff --git a/src/pages/connections.tsx b/src/pages/connections.tsx deleted file mode 100644 index 7c53f67..0000000 --- a/src/pages/connections.tsx +++ /dev/null @@ -1,218 +0,0 @@ -import { useEffect, useMemo, useRef, useState } from "react"; -import { useLockFn } from "ahooks"; -import { - Box, - Button, - IconButton, - MenuItem, - Paper, - Select, - TextField, -} from "@mui/material"; -import { useRecoilState } from "recoil"; -import { Virtuoso } from "react-virtuoso"; -import { useTranslation } from "react-i18next"; -import { TableChartRounded, TableRowsRounded } from "@mui/icons-material"; -import { closeAllConnections } from "@/services/api"; -import { atomConnectionSetting } from "@/services/states"; -import { useClashInfo } from "@/hooks/use-clash"; -import { BaseEmpty, BasePage } from "@/components/base"; -import { useWebsocket } from "@/hooks/use-websocket"; -import { ConnectionItem } from "@/components/connection/connection-item"; -import { ConnectionTable } from "@/components/connection/connection-table"; -import { - ConnectionDetail, - ConnectionDetailRef, -} from "@/components/connection/connection-detail"; - -const initConn = { uploadTotal: 0, downloadTotal: 0, connections: [] }; - -type OrderFunc = (list: IConnectionsItem[]) => IConnectionsItem[]; - -const ConnectionsPage = () => { - const { t, i18n } = useTranslation(); - const { clashInfo } = useClashInfo(); - - const [filterText, setFilterText] = useState(""); - const [curOrderOpt, setOrderOpt] = useState("Default"); - const [connData, setConnData] = useState(initConn); - - const [setting, setSetting] = useRecoilState(atomConnectionSetting); - - const isTableLayout = setting.layout === "table"; - - const orderOpts: Record = { - Default: (list) => list, - "Upload Speed": (list) => list.sort((a, b) => b.curUpload! - a.curUpload!), - "Download Speed": (list) => - list.sort((a, b) => b.curDownload! - a.curDownload!), - }; - - const filterConn = useMemo(() => { - const orderFunc = orderOpts[curOrderOpt]; - const connections = connData.connections.filter((conn) => - (conn.metadata.host || conn.metadata.destinationIP)?.includes(filterText) - ); - - if (orderFunc) return orderFunc(connections); - return connections; - }, [connData, filterText, curOrderOpt]); - - const { connect, disconnect } = useWebsocket( - (event) => { - // meta v1.15.0 出现data.connections为null的情况 - const data = JSON.parse(event.data) as IConnections; - // 尽量与前一次connections的展示顺序保持一致 - setConnData((old) => { - const oldConn = old.connections; - const maxLen = data.connections?.length; - - const connections: typeof oldConn = []; - - const rest = (data.connections || []).filter((each) => { - const index = oldConn.findIndex((o) => o.id === each.id); - - if (index >= 0 && index < maxLen) { - const old = oldConn[index]; - each.curUpload = each.upload - old.upload; - each.curDownload = each.download - old.download; - - connections[index] = each; - return false; - } - return true; - }); - - for (let i = 0; i < maxLen; ++i) { - if (!connections[i] && rest.length > 0) { - connections[i] = rest.shift()!; - connections[i].curUpload = 0; - connections[i].curDownload = 0; - } - } - - return { ...data, connections }; - }); - }, - { errorCount: 3, retryInterval: 1000 } - ); - - useEffect(() => { - if (!clashInfo) return; - - const { server = "", secret = "" } = clashInfo; - connect(`ws://${server}/connections?token=${encodeURIComponent(secret)}`); - - return () => { - disconnect(); - }; - }, [clashInfo]); - - const onCloseAll = useLockFn(closeAllConnections); - - const detailRef = useRef(null!); - - return ( - - - setSetting((o) => - o.layout === "list" - ? { ...o, layout: "table" } - : { ...o, layout: "list" } - ) - } - > - {isTableLayout ? ( - - ) : ( - - )} - - - - - } - > - - - {!isTableLayout && ( - - )} - - setFilterText(e.target.value)} - sx={{ input: { py: 0.65, px: 1.25 } }} - /> - - - - {filterConn.length === 0 ? ( - - ) : isTableLayout ? ( - detailRef.current?.open(detail)} - /> - ) : ( - ( - detailRef.current?.open(item)} - /> - )} - /> - )} - - - - - - ); -}; - -export default ConnectionsPage; diff --git a/src/pages/logs.tsx b/src/pages/logs.tsx deleted file mode 100644 index a26b7eb..0000000 --- a/src/pages/logs.tsx +++ /dev/null @@ -1,129 +0,0 @@ -import { useMemo, useState } from "react"; -import { useRecoilState } from "recoil"; -import { - Box, - Button, - IconButton, - MenuItem, - Paper, - Select, - TextField, -} from "@mui/material"; -import { Virtuoso } from "react-virtuoso"; -import { useTranslation } from "react-i18next"; -import { - PlayCircleOutlineRounded, - PauseCircleOutlineRounded, -} from "@mui/icons-material"; -import { atomEnableLog, atomLogData } from "@/services/states"; -import { BaseEmpty, BasePage } from "@/components/base"; -import LogItem from "@/components/log/log-item"; - -const LogPage = () => { - const { t } = useTranslation(); - const [logData, setLogData] = useRecoilState(atomLogData); - const [enableLog, setEnableLog] = useRecoilState(atomEnableLog); - - const [logState, setLogState] = useState("all"); - const [filterText, setFilterText] = useState(""); - - const filterLogs = useMemo(() => { - return logData.filter((data) => { - return ( - data.payload.includes(filterText) && - (logState === "all" ? true : data.type.includes(logState)) - ); - }); - }, [logData, logState, filterText]); - - return ( - - setEnableLog((e) => !e)} - > - {enableLog ? ( - - ) : ( - - )} - - - - - } - > - - - - - setFilterText(e.target.value)} - sx={{ input: { py: 0.65, px: 1.25 } }} - /> - - - - {filterLogs.length > 0 ? ( - } - followOutput={"smooth"} - /> - ) : ( - - )} - - - - ); -}; - -export default LogPage; diff --git a/src/pages/profiles.tsx b/src/pages/profiles.tsx deleted file mode 100644 index 95a4fc8..0000000 --- a/src/pages/profiles.tsx +++ /dev/null @@ -1,334 +0,0 @@ -import useSWR, { mutate } from "swr"; -import { useMemo, useRef, useState } from "react"; -import { useLockFn } from "ahooks"; -import { useSetRecoilState } from "recoil"; -import { Box, Button, Grid, IconButton, Stack, TextField } from "@mui/material"; -import { - ClearRounded, - ContentCopyRounded, - LocalFireDepartmentRounded, - RefreshRounded, - TextSnippetOutlined, -} from "@mui/icons-material"; -import { useTranslation } from "react-i18next"; -import { - getProfiles, - importProfile, - enhanceProfiles, - getRuntimeLogs, - deleteProfile, - updateProfile, -} from "@/services/cmds"; -import { atomLoadingCache } from "@/services/states"; -import { closeAllConnections } from "@/services/api"; -import { BasePage, DialogRef, Notice } from "@/components/base"; -import { - ProfileViewer, - ProfileViewerRef, -} from "@/components/profile/profile-viewer"; -import { ProfileItem } from "@/components/profile/profile-item"; -import { ProfileMore } from "@/components/profile/profile-more"; -import { useProfiles } from "@/hooks/use-profiles"; -import { ConfigViewer } from "@/components/setting/mods/config-viewer"; -import { throttle } from "lodash-es"; - -const ProfilePage = () => { - const { t } = useTranslation(); - - const [url, setUrl] = useState(""); - const [disabled, setDisabled] = useState(false); - const [activating, setActivating] = useState(""); - - const { - profiles = {}, - activateSelected, - patchProfiles, - mutateProfiles, - } = useProfiles(); - - const { data: chainLogs = {}, mutate: mutateLogs } = useSWR( - "getRuntimeLogs", - getRuntimeLogs - ); - - const chain = profiles.chain || []; - const viewerRef = useRef(null); - const configRef = useRef(null); - - // distinguish type - const { regularItems, enhanceItems } = useMemo(() => { - const items = profiles.items || []; - const chain = profiles.chain || []; - - const type1 = ["local", "remote"]; - const type2 = ["merge", "script"]; - - const regularItems = items.filter((i) => i && type1.includes(i.type!)); - const restItems = items.filter((i) => i && type2.includes(i.type!)); - const restMap = Object.fromEntries(restItems.map((i) => [i.uid, i])); - const enhanceItems = chain - .map((i) => restMap[i]!) - .filter(Boolean) - .concat(restItems.filter((i) => !chain.includes(i.uid))); - - return { regularItems, enhanceItems }; - }, [profiles]); - - const onImport = async () => { - if (!url) return; - setUrl(""); - setDisabled(true); - - try { - await importProfile(url); - Notice.success("Successfully import profile."); - - getProfiles().then((newProfiles) => { - mutate("getProfiles", newProfiles); - - const remoteItem = newProfiles.items?.find((e) => e.type === "remote"); - if (!newProfiles.current && remoteItem) { - const current = remoteItem.uid; - patchProfiles({ current }); - mutateLogs(); - setTimeout(() => activateSelected(), 2000); - } - }); - } catch (err: any) { - Notice.error(err.message || err.toString()); - } finally { - setDisabled(false); - } - }; - - const onSelect = useLockFn(async (current: string, force: boolean) => { - if (!force && current === profiles.current) return; - // 避免大多数情况下loading态闪烁 - const reset = setTimeout(() => setActivating(current), 100); - try { - await patchProfiles({ current }); - mutateLogs(); - closeAllConnections(); - setTimeout(() => activateSelected(), 2000); - Notice.success("Refresh clash config", 1000); - } catch (err: any) { - Notice.error(err?.message || err.toString(), 4000); - } finally { - clearTimeout(reset); - setActivating(""); - } - }); - - const onEnhance = useLockFn(async () => { - try { - await enhanceProfiles(); - mutateLogs(); - Notice.success("Refresh clash config", 1000); - } catch (err: any) { - Notice.error(err.message || err.toString(), 3000); - } - }); - - const onEnable = useLockFn(async (uid: string) => { - if (chain.includes(uid)) return; - const newChain = [...chain, uid]; - await patchProfiles({ chain: newChain }); - mutateLogs(); - }); - - const onDisable = useLockFn(async (uid: string) => { - if (!chain.includes(uid)) return; - const newChain = chain.filter((i) => i !== uid); - await patchProfiles({ chain: newChain }); - mutateLogs(); - }); - - const onDelete = useLockFn(async (uid: string) => { - try { - await onDisable(uid); - await deleteProfile(uid); - mutateProfiles(); - mutateLogs(); - } catch (err: any) { - Notice.error(err?.message || err.toString()); - } - }); - - const onMoveTop = useLockFn(async (uid: string) => { - if (!chain.includes(uid)) return; - const newChain = [uid].concat(chain.filter((i) => i !== uid)); - await patchProfiles({ chain: newChain }); - mutateLogs(); - }); - - const onMoveEnd = useLockFn(async (uid: string) => { - if (!chain.includes(uid)) return; - const newChain = chain.filter((i) => i !== uid).concat([uid]); - await patchProfiles({ chain: newChain }); - mutateLogs(); - }); - - // 更新所有配置 - const setLoadingCache = useSetRecoilState(atomLoadingCache); - const onUpdateAll = useLockFn(async () => { - const throttleMutate = throttle(mutateProfiles, 2000, { - trailing: true, - }); - const updateOne = async (uid: string) => { - try { - await updateProfile(uid); - throttleMutate(); - } finally { - setLoadingCache((cache) => ({ ...cache, [uid]: false })); - } - }; - - return new Promise((resolve) => { - setLoadingCache((cache) => { - // 获取没有正在更新的配置 - const items = regularItems.filter( - (e) => e.type === "remote" && !cache[e.uid] - ); - const change = Object.fromEntries(items.map((e) => [e.uid, true])); - - Promise.allSettled(items.map((e) => updateOne(e.uid))).then(resolve); - return { ...cache, ...change }; - }); - }); - }); - - const onCopyLink = async () => { - const text = await navigator.clipboard.readText(); - if (text) setUrl(text); - }; - - return ( - - - - - - configRef.current?.open()} - > - - - - - - - - } - > - - setUrl(e.target.value)} - sx={{ input: { py: 0.65, px: 1.25 } }} - placeholder={t("Profile URL")} - InputProps={{ - sx: { pr: 1 }, - endAdornment: !url ? ( - - - - ) : ( - setUrl("")} - > - - - ), - }} - /> - - - - - - - {regularItems.map((item) => ( - - onSelect(item.uid, f)} - onEdit={() => viewerRef.current?.edit(item)} - /> - - ))} - - - - {enhanceItems.length > 0 && ( - - {enhanceItems.map((item) => ( - - onEnable(item.uid)} - onDisable={() => onDisable(item.uid)} - onDelete={() => onDelete(item.uid)} - onMoveTop={() => onMoveTop(item.uid)} - onMoveEnd={() => onMoveEnd(item.uid)} - onEdit={() => viewerRef.current?.edit(item)} - /> - - ))} - - )} - - mutateProfiles()} /> - - - ); -}; - -export default ProfilePage; diff --git a/src/pages/proxies.tsx b/src/pages/proxies.tsx deleted file mode 100644 index 39c777b..0000000 --- a/src/pages/proxies.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import useSWR from "swr"; -import { useEffect, useMemo } from "react"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { Box, Button, ButtonGroup, Paper } from "@mui/material"; -import { - closeAllConnections, - getClashConfig, - updateConfigs, -} from "@/services/api"; -import { patchClashConfig } from "@/services/cmds"; -import { useVerge } from "@/hooks/use-verge"; -import { BasePage } from "@/components/base"; -import { ProxyGroups } from "@/components/proxy/proxy-groups"; -import { ProviderButton } from "@/components/proxy/provider-button"; - -const ProxyPage = () => { - const { t } = useTranslation(); - - const { data: clashConfig, mutate: mutateClash } = useSWR( - "getClashConfig", - getClashConfig - ); - - const { verge } = useVerge(); - - const modeList = useMemo(() => { - if (verge?.clash_core === "clash-meta") { - return ["rule", "global", "direct"]; - } - return ["rule", "global", "direct", "script"]; - }, [verge?.clash_core]); - - const curMode = clashConfig?.mode?.toLowerCase(); - - const onChangeMode = useLockFn(async (mode: string) => { - // 断开连接 - if (mode !== curMode && verge?.auto_close_connection) { - closeAllConnections(); - } - await updateConfigs({ mode }); - await patchClashConfig({ mode }); - mutateClash(); - }); - - useEffect(() => { - if (curMode && !modeList.includes(curMode)) { - onChangeMode("rule"); - } - }, [curMode]); - - return ( - - - - - {modeList.map((mode) => ( - - ))} - - - } - > - - - - - ); -}; - -export default ProxyPage; diff --git a/src/pages/rules.tsx b/src/pages/rules.tsx deleted file mode 100644 index 86cbdfa..0000000 --- a/src/pages/rules.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import useSWR from "swr"; -import { useState, useMemo } from "react"; -import { useTranslation } from "react-i18next"; -import { Virtuoso } from "react-virtuoso"; -import { Box, Paper, TextField } from "@mui/material"; -import { getRules } from "@/services/api"; -import { BaseEmpty, BasePage } from "@/components/base"; -import RuleItem from "@/components/rule/rule-item"; - -const RulesPage = () => { - const { t } = useTranslation(); - const { data = [] } = useSWR("getRules", getRules); - - const [filterText, setFilterText] = useState(""); - - const rules = useMemo(() => { - return data.filter((each) => each.payload.includes(filterText)); - }, [data, filterText]); - - return ( - - - - setFilterText(e.target.value)} - sx={{ input: { py: 0.65, px: 1.25 } }} - /> - - - - {rules.length > 0 ? ( - ( - - )} - followOutput={"smooth"} - /> - ) : ( - - )} - - - - ); -}; - -export default RulesPage; diff --git a/src/pages/settings.tsx b/src/pages/settings.tsx deleted file mode 100644 index 039513b..0000000 --- a/src/pages/settings.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { IconButton, Paper } from "@mui/material"; -import { useLockFn } from "ahooks"; -import { useTranslation } from "react-i18next"; -import { BasePage, Notice } from "@/components/base"; -import { GitHub } from "@mui/icons-material"; -import { openWebUrl } from "@/services/cmds"; -import SettingVerge from "@/components/setting/setting-verge"; -import SettingClash from "@/components/setting/setting-clash"; -import SettingSystem from "@/components/setting/setting-system"; - -const SettingPage = () => { - const { t } = useTranslation(); - - const onError = (err: any) => { - Notice.error(err?.message || err.toString()); - }; - - const toGithubRepo = useLockFn(() => { - return openWebUrl("https://github.com/zzzgydi/clash-verge"); - }); - - return ( - - - - } - > - - - - - - - - - - - - - ); -}; - -export default SettingPage; diff --git a/src/services/api.ts b/src/services/api.ts deleted file mode 100644 index c9ded07..0000000 --- a/src/services/api.ts +++ /dev/null @@ -1,193 +0,0 @@ -import axios, { AxiosInstance } from "axios"; -import { getClashInfo } from "./cmds"; - -let axiosIns: AxiosInstance = null!; - -/// initialize some information -/// enable force update axiosIns -export const getAxios = async (force: boolean = false) => { - if (axiosIns && !force) return axiosIns; - - let server = ""; - let secret = ""; - - try { - const info = await getClashInfo(); - - if (info?.server) { - server = info.server; - - // compatible width `external-controller` - if (server.startsWith(":")) server = `127.0.0.1${server}`; - else if (/^\d+$/.test(server)) server = `127.0.0.1:${server}`; - } - if (info?.secret) secret = info?.secret; - } catch {} - - axiosIns = axios.create({ - baseURL: `http://${server}`, - headers: secret ? { Authorization: `Bearer ${secret}` } : {}, - timeout: 15000, - }); - axiosIns.interceptors.response.use((r) => r.data); - return axiosIns; -}; - -/// Get Version -export const getVersion = async () => { - const instance = await getAxios(); - return instance.get("/version") as Promise<{ - premium: boolean; - meta?: boolean; - version: string; - }>; -}; - -/// Get current base configs -export const getClashConfig = async () => { - const instance = await getAxios(); - return instance.get("/configs") as Promise; -}; - -/// Update current configs -export const updateConfigs = async (config: Partial) => { - const instance = await getAxios(); - return instance.patch("/configs", config); -}; - -/// Get current rules -export const getRules = async () => { - const instance = await getAxios(); - const response = await instance.get("/rules"); - return response?.rules as IRuleItem[]; -}; - -/// Get Proxy delay -export const getProxyDelay = async (name: string, url?: string) => { - const params = { - timeout: 10000, - url: url || "http://www.gstatic.com/generate_204", - }; - const instance = await getAxios(); - const result = await instance.get( - `/proxies/${encodeURIComponent(name)}/delay`, - { params } - ); - return result as any as { delay: number }; -}; - -/// Update the Proxy Choose -export const updateProxy = async (group: string, proxy: string) => { - const instance = await getAxios(); - return instance.put(`/proxies/${encodeURIComponent(group)}`, { name: proxy }); -}; - -// get proxy -export const getProxiesInner = async () => { - const instance = await getAxios(); - const response = await instance.get("/proxies"); - return (response?.proxies || {}) as Record; -}; - -/// Get the Proxy information -export const getProxies = async () => { - const [proxyRecord, providerRecord] = await Promise.all([ - getProxiesInner(), - getProviders(), - ]); - - // provider name map - const providerMap = Object.fromEntries( - Object.entries(providerRecord).flatMap(([provider, item]) => - item.proxies.map((p) => [p.name, { ...p, provider }]) - ) - ); - - // compatible with proxy-providers - const generateItem = (name: string) => { - if (proxyRecord[name]) return proxyRecord[name]; - if (providerMap[name]) return providerMap[name]; - return { name, type: "unknown", udp: false, history: [] }; - }; - - const { GLOBAL: global, DIRECT: direct, REJECT: reject } = proxyRecord; - - let groups: IProxyGroupItem[] = []; - - if (global?.all) { - groups = global.all - .filter((name) => proxyRecord[name]?.all) - .map((name) => proxyRecord[name]) - .map((each) => ({ - ...each, - all: each.all!.map((item) => generateItem(item)), - })); - } else { - groups = Object.values(proxyRecord) - .filter((each) => each.name !== "GLOBAL" && each.all) - .map((each) => ({ - ...each, - all: each.all!.map((item) => generateItem(item)), - })) - .sort((a, b) => b.name.localeCompare(a.name)); - } - - const proxies = [direct, reject].concat( - Object.values(proxyRecord).filter( - (p) => !p.all?.length && p.name !== "DIRECT" && p.name !== "REJECT" - ) - ); - - const _global: IProxyGroupItem = { - ...global, - all: global?.all?.map((item) => generateItem(item)) || [], - }; - - return { global: _global, direct, groups, records: proxyRecord, proxies }; -}; - -// get proxy providers -export const getProviders = async () => { - const instance = await getAxios(); - const response = await instance.get("/providers/proxies"); - - const providers = (response.providers || {}) as Record; - - return Object.fromEntries( - Object.entries(providers).filter(([key, item]) => { - const type = item.vehicleType.toLowerCase(); - return type === "http" || type === "file"; - }) - ); -}; - -// proxy providers health check -export const providerHealthCheck = async (name: string) => { - const instance = await getAxios(); - return instance.get( - `/providers/proxies/${encodeURIComponent(name)}/healthcheck` - ); -}; - -export const providerUpdate = async (name: string) => { - const instance = await getAxios(); - return instance.put(`/providers/proxies/${encodeURIComponent(name)}`); -}; - -export const getConnections = async () => { - const instance = await getAxios(); - const result = await instance.get("/connections"); - return result as any as IConnections; -}; - -// Close specific connection -export const deleteConnection = async (id: string) => { - const instance = await getAxios(); - await instance.delete(`/connections/${encodeURIComponent(id)}`); -}; - -// Close all connections -export const closeAllConnections = async () => { - const instance = await getAxios(); - await instance.delete(`/connections`); -}; diff --git a/src/services/cmds.ts b/src/services/cmds.ts deleted file mode 100644 index 02ee72a..0000000 --- a/src/services/cmds.ts +++ /dev/null @@ -1,180 +0,0 @@ -import dayjs from "dayjs"; -import { invoke } from "@tauri-apps/api/tauri"; -import { Notice } from "@/components/base"; - -export async function getClashLogs() { - const regex = /time="(.+?)"\s+level=(.+?)\s+msg="(.+?)"/; - const newRegex = /(.+?)\s+(.+?)\s+(.+)/; - const logs = await invoke("get_clash_logs"); - - return logs - .map((log) => { - const result = log.match(regex); - if (result) { - const [_, _time, type, payload] = result; - const time = dayjs(_time).format("MM-DD HH:mm:ss"); - return { time, type, payload }; - } - - const result2 = log.match(newRegex); - if (result2) { - const [_, time, type, payload] = result2; - return { time, type, payload }; - } - return null; - }) - .filter(Boolean) as ILogItem[]; -} - -export async function getProfiles() { - return invoke("get_profiles"); -} - -export async function enhanceProfiles() { - return invoke("enhance_profiles"); -} - -export async function patchProfilesConfig(profiles: IProfilesConfig) { - return invoke("patch_profiles_config", { profiles }); -} - -export async function createProfile( - item: Partial, - fileData?: string | null -) { - return invoke("create_profile", { item, fileData }); -} - -export async function viewProfile(index: string) { - return invoke("view_profile", { index }); -} - -export async function readProfileFile(index: string) { - return invoke("read_profile_file", { index }); -} - -export async function saveProfileFile(index: string, fileData: string) { - return invoke("save_profile_file", { index, fileData }); -} - -export async function importProfile(url: string) { - return invoke("import_profile", { - url, - option: { with_proxy: true }, - }); -} - -export async function updateProfile(index: string, option?: IProfileOption) { - return invoke("update_profile", { index, option }); -} - -export async function deleteProfile(index: string) { - return invoke("delete_profile", { index }); -} - -export async function patchProfile( - index: string, - profile: Partial -) { - return invoke("patch_profile", { index, profile }); -} - -export async function getClashInfo() { - return invoke("get_clash_info"); -} - -export async function getRuntimeConfig() { - return invoke("get_runtime_config"); -} - -export async function getRuntimeYaml() { - return invoke("get_runtime_yaml"); -} - -export async function getRuntimeExists() { - return invoke("get_runtime_exists"); -} - -export async function getRuntimeLogs() { - return invoke>("get_runtime_logs"); -} - -export async function patchClashConfig(payload: Partial) { - return invoke("patch_clash_config", { payload }); -} - -export async function getVergeConfig() { - return invoke("get_verge_config"); -} - -export async function patchVergeConfig(payload: IVergeConfig) { - return invoke("patch_verge_config", { payload }); -} - -export async function getSystemProxy() { - return invoke<{ - enable: boolean; - server: string; - bypass: string; - }>("get_sys_proxy"); -} - -export async function changeClashCore(clashCore: string) { - return invoke("change_clash_core", { clashCore }); -} - -export async function restartSidecar() { - return invoke("restart_sidecar"); -} - -export async function grantPermission(core: string) { - return invoke("grant_permission", { core }); -} - -export async function openAppDir() { - return invoke("open_app_dir").catch((err) => - Notice.error(err?.message || err.toString(), 1500) - ); -} - -export async function openCoreDir() { - return invoke("open_core_dir").catch((err) => - Notice.error(err?.message || err.toString(), 1500) - ); -} - -export async function openLogsDir() { - return invoke("open_logs_dir").catch((err) => - Notice.error(err?.message || err.toString(), 1500) - ); -} - -export async function openWebUrl(url: string) { - return invoke("open_web_url", { url }); -} - -export async function cmdGetProxyDelay(name: string, url?: string) { - name = encodeURIComponent(name); - return invoke<{ delay: number }>("clash_api_get_proxy_delay", { name, url }); -} - -/// service mode - -export async function checkService() { - try { - const result = await invoke("check_service"); - if (result?.code === 0) return "active"; - if (result?.code === 400) return "installed"; - return "unknown"; - } catch (err: any) { - return "uninstall"; - } -} - -export async function installService() { - return invoke("install_service"); -} - -export async function uninstallService() { - return invoke("uninstall_service"); -} diff --git a/src/services/delay.ts b/src/services/delay.ts deleted file mode 100644 index 9b18776..0000000 --- a/src/services/delay.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { cmdGetProxyDelay } from "./cmds"; - -const hashKey = (name: string, group: string) => `${group ?? ""}::${name}`; - -class DelayManager { - private cache = new Map(); - private urlMap = new Map(); - - // 每个item的监听 - private listenerMap = new Map void>(); - - // 每个分组的监听 - private groupListenerMap = new Map void>(); - - setUrl(group: string, url: string) { - this.urlMap.set(group, url); - } - - getUrl(group: string) { - return this.urlMap.get(group); - } - - setListener(name: string, group: string, listener: (time: number) => void) { - const key = hashKey(name, group); - this.listenerMap.set(key, listener); - } - - removeListener(name: string, group: string) { - const key = hashKey(name, group); - this.listenerMap.delete(key); - } - - setGroupListener(group: string, listener: () => void) { - this.groupListenerMap.set(group, listener); - } - - removeGroupListener(group: string) { - this.groupListenerMap.delete(group); - } - - setDelay(name: string, group: string, delay: number) { - const key = hashKey(name, group); - this.cache.set(key, [Date.now(), delay]); - this.listenerMap.get(key)?.(delay); - this.groupListenerMap.get(group)?.(); - } - - getDelay(name: string, group: string) { - if (!name) return -1; - - const result = this.cache.get(hashKey(name, group)); - if (result && Date.now() - result[0] <= 18e5) { - return result[1]; - } - return -1; - } - - /// 暂时修复provider的节点延迟排序的问题 - getDelayFix(proxy: IProxyItem, group: string) { - if (!proxy.provider) { - const delay = this.getDelay(proxy.name, group); - if (delay >= 0 || delay === -2) return delay; - } - - if (proxy.history.length > 0) { - // 0ms以error显示 - return proxy.history[proxy.history.length - 1].delay || 1e6; - } - return -1; - } - - async checkDelay(name: string, group: string) { - let delay = -1; - - try { - const url = this.getUrl(group); - const result = await cmdGetProxyDelay(name, url); - delay = result.delay; - } catch { - delay = 1e6; // error - } - - this.setDelay(name, group, delay); - return delay; - } - - async checkListDelay(nameList: string[], group: string, concurrency = 36) { - const names = nameList.filter(Boolean); - // 设置正在延迟测试中 - names.forEach((name) => this.setDelay(name, group, -2)); - - let total = names.length; - let current = 0; - - return new Promise((resolve) => { - const help = async (): Promise => { - if (current >= concurrency) return; - const task = names.shift(); - if (!task) return; - current += 1; - await this.checkDelay(task, group); - current -= 1; - total -= 1; - if (total <= 0) resolve(null); - else return help(); - }; - for (let i = 0; i < concurrency; ++i) help(); - }); - } - - formatDelay(delay: number) { - if (delay < 0) return "-"; - if (delay > 1e5) return "Error"; - if (delay >= 10000) return "Timeout"; // 10s - return `${delay}`; - } - - formatDelayColor(delay: number) { - if (delay <= 0) return "text.secondary"; - if (delay >= 10000) return "error.main"; - if (delay > 500) return "warning.main"; - if (delay > 100) return "text.secondary"; - return "success.main"; - } -} - -export default new DelayManager(); diff --git a/src/services/i18n.ts b/src/services/i18n.ts deleted file mode 100644 index 8d4c14b..0000000 --- a/src/services/i18n.ts +++ /dev/null @@ -1,19 +0,0 @@ -import i18n from "i18next"; -import { initReactI18next } from "react-i18next"; -import en from "@/locales/en.json"; -import ru from "@/locales/ru.json"; -import zh from "@/locales/zh.json"; - -const resources = { - en: { translation: en }, - ru: { translation: ru }, - zh: { translation: zh }, -}; - -i18n.use(initReactI18next).init({ - resources, - lng: "en", - interpolation: { - escapeValue: false, - }, -}); diff --git a/src/services/states.ts b/src/services/states.ts deleted file mode 100644 index 6ac6edc..0000000 --- a/src/services/states.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { atom } from "recoil"; - -export const atomThemeMode = atom<"light" | "dark">({ - key: "atomThemeMode", - default: "light", -}); - -export const atomLogData = atom({ - key: "atomLogData", - default: [], -}); - -export const atomEnableLog = atom({ - key: "atomEnableLog", - effects: [ - ({ setSelf, onSet }) => { - const key = "enable-log"; - - try { - setSelf(localStorage.getItem(key) !== "false"); - } catch {} - - onSet((newValue, _, isReset) => { - try { - if (isReset) { - localStorage.removeItem(key); - } else { - localStorage.setItem(key, newValue.toString()); - } - } catch {} - }); - }, - ], -}); - -interface IConnectionSetting { - layout: "table" | "list"; -} - -export const atomConnectionSetting = atom({ - key: "atomConnectionSetting", - effects: [ - ({ setSelf, onSet }) => { - const key = "connections-setting"; - - try { - const value = localStorage.getItem(key); - const data = value == null ? { layout: "table" } : JSON.parse(value); - setSelf(data); - } catch { - setSelf({ layout: "table" }); - } - - onSet((newValue) => { - try { - localStorage.setItem(key, JSON.stringify(newValue)); - } catch {} - }); - }, - ], -}); - -// save the state of each profile item loading -export const atomLoadingCache = atom>({ - key: "atomLoadingCache", - default: {}, -}); - -// save update state -export const atomUpdateState = atom({ - key: "atomUpdateState", - default: false, -}); diff --git a/src/services/types.d.ts b/src/services/types.d.ts deleted file mode 100644 index 3fe2175..0000000 --- a/src/services/types.d.ts +++ /dev/null @@ -1,263 +0,0 @@ -type Platform = - | "aix" - | "android" - | "darwin" - | "freebsd" - | "haiku" - | "linux" - | "openbsd" - | "sunos" - | "win32" - | "cygwin" - | "netbsd"; - -/** - * defines in `vite.config.ts` - */ -declare const WIN_PORTABLE: boolean; -declare const OS_PLATFORM: Platform; - -/** - * Some interface for clash api - */ -interface IConfigData { - port: number; - mode: string; - ipv6: boolean; - "socket-port": number; - "allow-lan": boolean; - "log-level": string; - "mixed-port": number; - "redir-port": number; - "socks-port": number; - "tproxy-port": number; - "external-controller": string; - secret: string; -} - -interface IRuleItem { - type: string; - payload: string; - proxy: string; -} - -interface IProxyItem { - name: string; - type: string; - udp: boolean; - history: { - time: string; - delay: number; - }[]; - all?: string[]; - now?: string; - provider?: string; // 记录是否来自provider -} - -type IProxyGroupItem = Omit & { - all: IProxyItem[]; -}; - -interface IProviderItem { - name: string; - type: string; - proxies: IProxyItem[]; - updatedAt: string; - vehicleType: string; -} - -interface ITrafficItem { - up: number; - down: number; -} - -interface ILogItem { - type: string; - time?: string; - payload: string; -} - -interface IConnectionsItem { - id: string; - metadata: { - network: string; - type: string; - host: string; - sourceIP: string; - sourcePort: string; - destinationPort: string; - destinationIP?: string; - process?: string; - processPath?: string; - }; - upload: number; - download: number; - start: string; - chains: string[]; - rule: string; - rulePayload: string; - curUpload?: number; // upload speed, calculate at runtime - curDownload?: number; // download speed, calculate at runtime -} - -interface IConnections { - downloadTotal: number; - uploadTotal: number; - connections: IConnectionsItem[]; -} - -/** - * Some interface for command - */ - -interface IClashInfo { - // status: string; - port?: number; // clash mixed port - server?: string; // external-controller - secret?: string; -} - -interface IProfileItem { - uid: string; - type?: "local" | "remote" | "merge" | "script"; - name?: string; - desc?: string; - file?: string; - url?: string; - updated?: number; - selected?: { - name?: string; - now?: string; - }[]; - extra?: { - upload: number; - download: number; - total: number; - expire: number; - }; - option?: IProfileOption; -} - -interface IProfileOption { - user_agent?: string; - with_proxy?: boolean; - self_proxy?: boolean; - update_interval?: number; -} - -interface IProfilesConfig { - current?: string; - chain?: string[]; - valid?: string[]; - items?: IProfileItem[]; -} - -interface IVergeConfig { - app_log_level?: "trace" | "debug" | "info" | "warn" | "error" | string; - language?: string; - clash_core?: string; - theme_mode?: "light" | "dark" | "system"; - theme_blur?: boolean; - traffic_graph?: boolean; - enable_memory_usage?: boolean; - enable_tun_mode?: boolean; - enable_auto_launch?: boolean; - enable_service_mode?: boolean; - enable_silent_start?: boolean; - enable_system_proxy?: boolean; - enable_proxy_guard?: boolean; - proxy_guard_duration?: number; - system_proxy_bypass?: string; - web_ui_list?: string[]; - hotkeys?: string[]; - theme_setting?: { - primary_color?: string; - secondary_color?: string; - primary_text?: string; - secondary_text?: string; - info_color?: string; - error_color?: string; - warning_color?: string; - success_color?: string; - font_family?: string; - css_injection?: string; - }; - auto_close_connection?: boolean; - default_latency_test?: string; - enable_clash_fields?: boolean; - enable_builtin_enhanced?: boolean; - auto_log_clean?: 0 | 1 | 2 | 3; - proxy_layout_column?: number; -} - -type IClashConfigValue = any; - -interface IProfileMerge { - // clash config fields (default supports) - rules?: IClashConfigValue; - proxies?: IClashConfigValue; - "proxy-groups"?: IClashConfigValue; - "proxy-providers"?: IClashConfigValue; - "rule-providers"?: IClashConfigValue; - // clash config fields (use flag) - tun?: IClashConfigValue; - dns?: IClashConfigValue; - hosts?: IClashConfigValue; - script?: IClashConfigValue; - profile?: IClashConfigValue; - payload?: IClashConfigValue; - "interface-name"?: IClashConfigValue; - "routing-mark"?: IClashConfigValue; - // functional fields - use?: string[]; - "prepend-rules"?: any[]; - "append-rules"?: any[]; - "prepend-proxies"?: any[]; - "append-proxies"?: any[]; - "prepend-proxy-groups"?: any[]; - "append-proxy-groups"?: any[]; - // fix - ebpf?: any; - experimental?: any; - iptables?: any; - sniffer?: any; - authentication?: any; - "bind-address"?: any; - "external-ui"?: any; - "auto-redir"?: any; - "socks-port"?: any; - "redir-port"?: any; - "tproxy-port"?: any; - "geodata-mode"?: any; - "tcp-concurrent"?: any; -} - -// partial of the clash config -type IProfileData = Partial<{ - rules: any[]; - proxies: any[]; - "proxy-groups": any[]; - "proxy-providers": any[]; - "rule-providers": any[]; - - [k: string]: any; -}>; - -interface IChainItem { - item: IProfileItem; - merge?: IProfileMerge; - script?: string; -} - -interface IEnhancedPayload { - chain: IChainItem[]; - valid: string[]; - current: IProfileData; - callback: string; -} - -interface IEnhancedResult { - data: IProfileData; - status: string; - error?: string; -} diff --git a/src/utils/clash-fields.ts b/src/utils/clash-fields.ts deleted file mode 100644 index 86e1b60..0000000 --- a/src/utils/clash-fields.ts +++ /dev/null @@ -1,52 +0,0 @@ -export const HANDLE_FIELDS = [ - "mode", - "port", - "socks-port", - "mixed-port", - "allow-lan", - "log-level", - "ipv6", - "secret", - "external-controller", -]; - -export const DEFAULT_FIELDS = [ - "proxies", - "proxy-groups", - "proxy-providers", - "rules", - "rule-providers", -] as const; - -export const OTHERS_FIELDS = [ - "dns", - "tun", - "ebpf", - "hosts", - "script", - "profile", - "payload", - "tunnels", - "auto-redir", - "experimental", - "interface-name", - "routing-mark", - "redir-port", - "tproxy-port", - "iptables", - "external-ui", - "bind-address", - "authentication", - "tls", // meta - "sniffer", // meta - "geox-url", // meta - "listeners", // meta - "sub-rules", // meta - "geodata-mode", // meta - "unified-delay", // meta - "tcp-concurrent", // meta - "enable-process", // meta - "find-process-mode", // meta - "external-controller-tls", // meta - "global-client-fingerprint", // meta -] as const; diff --git a/src/utils/get-system.ts b/src/utils/get-system.ts deleted file mode 100644 index 8917703..0000000 --- a/src/utils/get-system.ts +++ /dev/null @@ -1,14 +0,0 @@ -// get the system os -// according to UA -export default function getSystem() { - const ua = navigator.userAgent; - const platform = OS_PLATFORM; - - if (ua.includes("Mac OS X") || platform === "darwin") return "macos"; - - if (/win64|win32/i.test(ua) || platform === "win32") return "windows"; - - if (/linux/i.test(ua)) return "linux"; - - return "unknown"; -} diff --git a/src/utils/ignore-case.ts b/src/utils/ignore-case.ts deleted file mode 100644 index f6533f6..0000000 --- a/src/utils/ignore-case.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Deep copy and change all keys to lowercase -type TData = Record; - -export default function ignoreCase(data: TData): TData { - if (!data) return {}; - - const newData = {} as TData; - - Object.entries(data).forEach(([key, value]) => { - newData[key.toLowerCase()] = JSON.parse(JSON.stringify(value)); - }); - - return newData; -} diff --git a/src/utils/noop.ts b/src/utils/noop.ts deleted file mode 100644 index ca6a744..0000000 --- a/src/utils/noop.ts +++ /dev/null @@ -1 +0,0 @@ -export default function noop() {} diff --git a/src/utils/parse-hotkey.ts b/src/utils/parse-hotkey.ts deleted file mode 100644 index 864ef4f..0000000 --- a/src/utils/parse-hotkey.ts +++ /dev/null @@ -1,48 +0,0 @@ -const KEY_MAP: Record = { - '"': "'", - ":": ";", - "?": "/", - ">": ".", - "<": ",", - "{": "[", - "}": "]", - "|": "\\", - "!": "1", - "@": "2", - "#": "3", - $: "4", - "%": "5", - "^": "6", - "&": "7", - "*": "8", - "(": "9", - ")": "0", - "~": "`", -}; - -export const parseHotkey = (key: string) => { - let temp = key.toUpperCase(); - - if (temp.startsWith("ARROW")) { - temp = temp.slice(5); - } else if (temp.startsWith("DIGIT")) { - temp = temp.slice(5); - } else if (temp.startsWith("KEY")) { - temp = temp.slice(3); - } else if (temp.endsWith("LEFT")) { - temp = temp.slice(0, -4); - } else if (temp.endsWith("RIGHT")) { - temp = temp.slice(0, -5); - } - - switch (temp) { - case "CONTROL": - return "CTRL"; - case "META": - return "CMD"; - case " ": - return "SPACE"; - default: - return KEY_MAP[temp] || temp; - } -}; diff --git a/src/utils/parse-traffic.ts b/src/utils/parse-traffic.ts deleted file mode 100644 index 514d24f..0000000 --- a/src/utils/parse-traffic.ts +++ /dev/null @@ -1,14 +0,0 @@ -const UNITS = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; - -const parseTraffic = (num?: number) => { - if (typeof num !== "number") return ["NaN", ""]; - if (num < 1000) return [`${Math.round(num)}`, "B"]; - const exp = Math.min(Math.floor(Math.log2(num) / 10), UNITS.length - 1); - const dat = num / Math.pow(1024, exp); - const ret = dat >= 1000 ? dat.toFixed(0) : dat.toPrecision(3); - const unit = UNITS[exp]; - - return [ret, unit]; -}; - -export default parseTraffic; diff --git a/src/utils/truncate-str.ts b/src/utils/truncate-str.ts deleted file mode 100644 index 491fa07..0000000 --- a/src/utils/truncate-str.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const truncateStr = (str?: string, prefixLen = 16, maxLen = 56) => { - if (!str || str.length <= maxLen) return str; - return ( - str.slice(0, prefixLen) + " ... " + str.slice(-(maxLen - prefixLen - 5)) - ); -}; diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index a285c97..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "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", - "paths": { - "@/*": ["src/*"], - "@root/*": ["./*"] - } - }, - "include": ["./src"] -} diff --git a/vite.config.ts b/vite.config.ts deleted file mode 100644 index 0315d76..0000000 --- a/vite.config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { defineConfig } from "vite"; -import path from "path"; -import svgr from "vite-plugin-svgr"; -import react from "@vitejs/plugin-react"; -import monaco from "vite-plugin-monaco-editor"; - -// https://vitejs.dev/config/ -export default defineConfig({ - root: "src", - server: { port: 3000 }, - plugins: [ - svgr(), - react(), - monaco({ languageWorkers: ["editorWorkerService", "typescript"] }), - ], - build: { - outDir: "../dist", - emptyOutDir: true, - }, - resolve: { - alias: { - "@": path.resolve("./src"), - "@root": path.resolve("."), - }, - }, - define: { - OS_PLATFORM: `"${process.platform}"`, - WIN_PORTABLE: !!process.env.VITE_WIN_PORTABLE, - }, -}); diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 895c8bb..0000000 --- a/yarn.lock +++ /dev/null @@ -1,2348 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@actions/github@^5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@actions/github/-/github-5.0.3.tgz#b305765d6173962d113451ea324ff675aa674f35" - integrity sha512-myjA/pdLQfhUGLtRZC/J4L1RXOG4o6aYdiEq+zr5wVVKljzbFld+xv10k1FX6IkIJtNxbAq44BdwSNpQ015P0A== - dependencies: - "@actions/http-client" "^2.0.1" - "@octokit/core" "^3.6.0" - "@octokit/plugin-paginate-rest" "^2.17.0" - "@octokit/plugin-rest-endpoint-methods" "^5.13.0" - -"@actions/http-client@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" - integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw== - dependencies: - tunnel "^0.0.6" - -"@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - -"@babel/code-frame@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.18.8": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483" - integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw== - -"@babel/core@^7.18.10", "@babel/core@^7.18.5": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" - integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.13" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.13" - "@babel/types" "^7.18.13" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" - integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== - dependencies: - "@babel/types" "^7.18.13" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-compilation-targets@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" - integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" - integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" - integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== - -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helpers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" - integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== - dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.18.10", "@babel/parser@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" - integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== - -"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" - -"@babel/plugin-transform-react-jsx-self@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" - integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-jsx-source@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc" - integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-jsx@^7.18.10", "@babel/plugin-transform-react-jsx@^7.18.6": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1" - integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.18.10" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" - integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.14.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.19.0": - version "7.20.1" - resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" - integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== - dependencies: - regenerator-runtime "^0.13.10" - -"@babel/template@^7.18.10", "@babel/template@^7.18.6": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" - integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.13" - "@babel/types" "^7.18.13" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.16.7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" - integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@emotion/babel-plugin@^11.10.5": - version "11.10.5" - resolved "https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz#65fa6e1790ddc9e23cc22658a4c5dea423c55c3c" - integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.17.12" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/serialize" "^1.1.1" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.1.3" - -"@emotion/cache@^11.10.3": - version "11.10.3" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.3.tgz#c4f67904fad10c945fea5165c3a5a0583c164b87" - integrity sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ== - dependencies: - "@emotion/memoize" "^0.8.0" - "@emotion/sheet" "^1.2.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - stylis "4.0.13" - -"@emotion/cache@^11.10.5": - version "11.10.5" - resolved "https://registry.npmmirror.com/@emotion/cache/-/cache-11.10.5.tgz#c142da9351f94e47527ed458f7bbbbe40bb13c12" - integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== - dependencies: - "@emotion/memoize" "^0.8.0" - "@emotion/sheet" "^1.2.1" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - stylis "4.1.3" - -"@emotion/hash@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" - integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== - -"@emotion/is-prop-valid@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" - integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== - dependencies: - "@emotion/memoize" "^0.8.0" - -"@emotion/memoize@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" - integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== - -"@emotion/react@^11.10.5": - version "11.10.5" - resolved "https://registry.npmmirror.com/@emotion/react/-/react-11.10.5.tgz#95fff612a5de1efa9c0d535384d3cfa115fe175d" - integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.5" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.1": - version "1.1.1" - resolved "https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.1.1.tgz#0595701b1902feded8a96d293b26be3f5c1a5cf0" - integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== - dependencies: - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/unitless" "^0.8.0" - "@emotion/utils" "^1.2.0" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5" - integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w== - -"@emotion/sheet@^1.2.1": - version "1.2.1" - resolved "https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.2.1.tgz#0767e0305230e894897cadb6c8df2c51e61a6c2c" - integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== - -"@emotion/styled@^11.10.5": - version "11.10.5" - resolved "https://registry.npmmirror.com/@emotion/styled/-/styled-11.10.5.tgz#1fe7bf941b0909802cb826457e362444e7e96a79" - integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.5" - "@emotion/is-prop-valid" "^1.2.0" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - -"@emotion/unitless@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" - integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" - integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== - -"@emotion/utils@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" - integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== - -"@emotion/weak-memoize@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" - integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== - -"@esbuild/android-arm@0.15.18": - version "0.15.18" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" - integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== - -"@esbuild/linux-loong64@0.15.18": - version "0.15.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" - integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== - -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@juggle/resize-observer@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" - integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== - -"@mui/base@5.0.0-alpha.105": - version "5.0.0-alpha.105" - resolved "https://registry.npmmirror.com/@mui/base/-/base-5.0.0-alpha.105.tgz#ddf92c86db3355e0fe6886a818be073e2ee9a9f9" - integrity sha512-4IPBcJQIgVVXQvN6DQMoCHed52GBtwSqYs0jD0dDcMR3o76AodQtpEeWFz3p7mJoc6f/IHBl9U6jEfL1r/kM4g== - dependencies: - "@babel/runtime" "^7.19.0" - "@emotion/is-prop-valid" "^1.2.0" - "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.9" - "@popperjs/core" "^2.11.6" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/core-downloads-tracker@^5.10.13": - version "5.10.13" - resolved "https://registry.npmmirror.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.13.tgz#34068ede2853392ca4fd82ad16d9c1ca664f69b3" - integrity sha512-zWkWPV/SaNdsIdxAWiuVGZ+Ue3BkfSIlU/BFIrJmuUcwiIa7gQsbI/DOpj1KzLvqZhdEe2wC1aG4nCHfzgc1Hg== - -"@mui/icons-material@^5.10.9": - version "5.10.9" - resolved "https://registry.npmmirror.com/@mui/icons-material/-/icons-material-5.10.9.tgz#f9522c49797caf30146acc576e37ecb4f95bbc38" - integrity sha512-sqClXdEM39WKQJOQ0ZCPTptaZgqwibhj2EFV9N0v7BU1PO8y4OcX/a2wIQHn4fNuDjIZktJIBrmU23h7aqlGgg== - dependencies: - "@babel/runtime" "^7.19.0" - -"@mui/material@^5.10.13": - version "5.10.13" - resolved "https://registry.npmmirror.com/@mui/material/-/material-5.10.13.tgz#49c505ed99bc97e573d0cc15bec074b080aacee1" - integrity sha512-TkkT1rNc0/hhL4/+zv4gYcA6egNWBH/1Tz+azoTnQIUdZ32fgwFI2pFX2KVJNTt30xnLznxDWtTv7ilmJQ52xw== - dependencies: - "@babel/runtime" "^7.19.0" - "@mui/base" "5.0.0-alpha.105" - "@mui/core-downloads-tracker" "^5.10.13" - "@mui/system" "^5.10.13" - "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.9" - "@types/react-transition-group" "^4.4.5" - clsx "^1.2.1" - csstype "^3.1.1" - prop-types "^15.8.1" - react-is "^18.2.0" - react-transition-group "^4.4.5" - -"@mui/private-theming@^5.10.9": - version "5.10.9" - resolved "https://registry.npmmirror.com/@mui/private-theming/-/private-theming-5.10.9.tgz#c427bfa736455703975cdb108dbde6a174ba7971" - integrity sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg== - dependencies: - "@babel/runtime" "^7.19.0" - "@mui/utils" "^5.10.9" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.10.8": - version "5.10.8" - resolved "https://registry.npmmirror.com/@mui/styled-engine/-/styled-engine-5.10.8.tgz#2db411e4278f06f70ccb6b5cd56ace67109513f6" - integrity sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw== - dependencies: - "@babel/runtime" "^7.19.0" - "@emotion/cache" "^11.10.3" - csstype "^3.1.1" - prop-types "^15.8.1" - -"@mui/system@^5.10.13": - version "5.10.13" - resolved "https://registry.npmmirror.com/@mui/system/-/system-5.10.13.tgz#b32a4441f9dd0760724cdbccf0a09728e63e3674" - integrity sha512-Xzx26Asu5fVlm0ucm+gnJmeX4Y1isrpVDvqxX4yJaOT7Fzmd8Lfq9ih3QMfZajns5LMtUiOuCQlVFRtUG5IY7A== - dependencies: - "@babel/runtime" "^7.19.0" - "@mui/private-theming" "^5.10.9" - "@mui/styled-engine" "^5.10.8" - "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.9" - clsx "^1.2.1" - csstype "^3.1.1" - prop-types "^15.8.1" - -"@mui/types@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" - integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== - -"@mui/utils@^5.10.3": - version "5.10.3" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.3.tgz#ce2a96f31de2a5e717f507b5383dbabbddbc4dfc" - integrity sha512-4jXMDPfx6bpMVuheLaOpKTjpzw39ogAZLeaLj5+RJec3E37/hAZMYjURfblLfTWMMoGoqkY03mNsZaEwNobBow== - dependencies: - "@babel/runtime" "^7.18.9" - "@types/prop-types" "^15.7.5" - "@types/react-is" "^16.7.1 || ^17.0.0" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/utils@^5.10.9": - version "5.10.9" - resolved "https://registry.npmmirror.com/@mui/utils/-/utils-5.10.9.tgz#9dc455f9230f43eeb81d96a9a4bdb3855bb9ea39" - integrity sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA== - dependencies: - "@babel/runtime" "^7.19.0" - "@types/prop-types" "^15.7.5" - "@types/react-is" "^16.7.1 || ^17.0.0" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/x-data-grid@^5.17.11": - version "5.17.11" - resolved "https://registry.npmmirror.com/@mui/x-data-grid/-/x-data-grid-5.17.11.tgz#3a2a9889fb24030d8f11b03319638392d7df8752" - integrity sha512-9KaAsEHKTho/hXXSboxkewBI5HF9NwmgaHCjX7UCg/av3yP2wcWELui9mAWUjI6qm6+8hvKmKclf20ZZ+aPiNg== - dependencies: - "@babel/runtime" "^7.18.9" - "@mui/utils" "^5.10.3" - clsx "^1.2.1" - prop-types "^15.8.1" - reselect "^4.1.6" - -"@octokit/auth-token@^2.4.4": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" - integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== - dependencies: - "@octokit/types" "^6.0.3" - -"@octokit/core@^3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" - integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== - dependencies: - "@octokit/auth-token" "^2.4.4" - "@octokit/graphql" "^4.5.8" - "@octokit/request" "^5.6.3" - "@octokit/request-error" "^2.0.5" - "@octokit/types" "^6.0.3" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^6.0.1": - version "6.0.12" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" - integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== - dependencies: - "@octokit/types" "^6.0.3" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^4.5.8": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" - integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== - dependencies: - "@octokit/request" "^5.6.0" - "@octokit/types" "^6.0.3" - universal-user-agent "^6.0.0" - -"@octokit/openapi-types@^11.2.0": - version "11.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" - integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== - -"@octokit/plugin-paginate-rest@^2.17.0": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" - integrity sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw== - dependencies: - "@octokit/types" "^6.34.0" - -"@octokit/plugin-rest-endpoint-methods@^5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" - integrity sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA== - dependencies: - "@octokit/types" "^6.34.0" - deprecation "^2.3.1" - -"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" - integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== - dependencies: - "@octokit/types" "^6.0.3" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" - integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== - dependencies: - "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.1.0" - "@octokit/types" "^6.16.1" - is-plain-object "^5.0.0" - node-fetch "^2.6.7" - universal-user-agent "^6.0.0" - -"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": - version "6.34.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" - integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== - dependencies: - "@octokit/openapi-types" "^11.2.0" - -"@popperjs/core@^2.11.6": - version "2.11.6" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== - -"@remix-run/router@1.0.3": - version "1.0.3" - resolved "https://registry.npmmirror.com/@remix-run/router/-/router-1.0.3.tgz#953b88c20ea00d0eddaffdc1b115c08474aa295d" - integrity sha512-ceuyTSs7PZ/tQqi19YZNBc5X7kj1f8p+4DIyrcIYFY9h+hd1OKm4RqtiWldR9eGEvIiJfsqwM4BsuCtRIuEw6Q== - -"@rollup/pluginutils@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" - integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== - dependencies: - estree-walker "^2.0.1" - picomatch "^2.2.2" - -"@svgr/babel-plugin-add-jsx-attribute@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.3.1.tgz#b9a5d84902be75a05ede92e70b338d28ab63fa74" - integrity sha512-jDBKArXYO1u0B1dmd2Nf8Oy6aTF5vLDfLoO9Oon/GLkqZ/NiggYWZA+a2HpUMH4ITwNqS3z43k8LWApB8S583w== - -"@svgr/babel-plugin-remove-jsx-attribute@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.3.1.tgz#4877995452efc997b36777abe1fde9705ef78e8b" - integrity sha512-dQzyJ4prwjcFd929T43Z8vSYiTlTu8eafV40Z2gO7zy/SV5GT+ogxRJRBIKWomPBOiaVXFg3jY4S5hyEN3IBjQ== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.3.1.tgz#2d67a0e92904c9be149a5b22d3a3797ce4d7b514" - integrity sha512-HBOUc1XwSU67fU26V5Sfb8MQsT0HvUyxru7d0oBJ4rA2s4HW3PhyAPC7fV/mdsSGpAvOdd8Wpvkjsr0fWPUO7A== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.3.1.tgz#306f5247139c53af70d1778f2719647c747998ee" - integrity sha512-C12e6aN4BXAolRrI601gPn5MDFCRHO7C4TM8Kks+rDtl8eEq+NN1sak0eAzJu363x3TmHXdZn7+Efd2nr9I5dA== - -"@svgr/babel-plugin-svg-dynamic-title@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.3.1.tgz#6ce26d34cbc93eb81737ef528528907c292e7aa2" - integrity sha512-6NU55Mmh3M5u2CfCCt6TX29/pPneutrkJnnDCHbKZnjukZmmgUAZLtZ2g6ZoSPdarowaQmAiBRgAHqHmG0vuqA== - -"@svgr/babel-plugin-svg-em-dimensions@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.3.1.tgz#5ade2a724b290873c30529d1d8cd23523856287a" - integrity sha512-HV1NGHYTTe1vCNKlBgq/gKuCSfaRlKcHIADn7P8w8U3Zvujdw1rmusutghJ1pZJV7pDt3Gt8ws+SVrqHnBO/Qw== - -"@svgr/babel-plugin-transform-react-native-svg@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.3.1.tgz#d654f509d692c3a09dfb475757a44bd9f6ad7ddf" - integrity sha512-2wZhSHvTolFNeKDAN/ZmIeSz2O9JSw72XD+o2bNp2QAaWqa8KGpn5Yk5WHso6xqfSAiRzAE+GXlsrBO4UP9LLw== - -"@svgr/babel-plugin-transform-svg-component@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.3.1.tgz#21a285dbffdce9567c437ebf0d081bf9210807e6" - integrity sha512-cZ8Tr6ZAWNUFfDeCKn/pGi976iWSkS8ijmEYKosP+6ktdZ7lW9HVLHojyusPw3w0j8PI4VBeWAXAmi/2G7owxw== - -"@svgr/babel-preset@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.3.1.tgz#8bd1ead79637d395e9362b01dd37cfd59702e152" - integrity sha512-tQtWtzuMMQ3opH7je+MpwfuRA1Hf3cKdSgTtAYwOBDfmhabP7rcTfBi3E7V3MuwJNy/Y02/7/RutvwS1W4Qv9g== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.3.1" - "@svgr/babel-plugin-remove-jsx-attribute" "^6.3.1" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.3.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.3.1" - "@svgr/babel-plugin-svg-dynamic-title" "^6.3.1" - "@svgr/babel-plugin-svg-em-dimensions" "^6.3.1" - "@svgr/babel-plugin-transform-react-native-svg" "^6.3.1" - "@svgr/babel-plugin-transform-svg-component" "^6.3.1" - -"@svgr/core@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.3.1.tgz#752adf49d8d5473b15d76ca741961de093f715bd" - integrity sha512-Sm3/7OdXbQreemf9aO25keerZSbnKMpGEfmH90EyYpj1e8wMD4TuwJIb3THDSgRMWk1kYJfSRulELBy4gVgZUA== - dependencies: - "@svgr/plugin-jsx" "^6.3.1" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" - -"@svgr/hast-util-to-babel-ast@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.3.1.tgz#59614e24d2a4a28010e02089213b3448d905769d" - integrity sha512-NgyCbiTQIwe3wHe/VWOUjyxmpUmsrBjdoIxKpXt3Nqc3TN30BpJG22OxBvVzsAh9jqep0w0/h8Ywvdk3D9niNQ== - dependencies: - "@babel/types" "^7.18.4" - entities "^4.3.0" - -"@svgr/plugin-jsx@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.3.1.tgz#de7b2de824296b836d6b874d498377896e367f50" - integrity sha512-r9+0mYG3hD4nNtUgsTXWGYJomv/bNd7kC16zvsM70I/bGeoCi/3lhTmYqeN6ChWX317OtQCSZZbH4wq9WwoXbw== - dependencies: - "@babel/core" "^7.18.5" - "@svgr/babel-preset" "^6.3.1" - "@svgr/hast-util-to-babel-ast" "^6.3.1" - svg-parser "^2.0.4" - -"@tauri-apps/api@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-1.3.0.tgz#d0c853ab2cc7506bd826c5f7f260c67c7c15def5" - integrity sha512-AH+3FonkKZNtfRtGrObY38PrzEj4d+1emCbwNGu0V2ENbXjlLHMZQlUh+Bhu/CRmjaIwZMGJ3yFvWaZZgTHoog== - -"@tauri-apps/cli-darwin-arm64@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.3.1.tgz#ef0fe290e0a6e3e53fa2cc4f1a72a0c87921427c" - integrity sha512-QlepYVPgOgspcwA/u4kGG4ZUijlXfdRtno00zEy+LxinN/IRXtk+6ErVtsmoLi1ZC9WbuMwzAcsRvqsD+RtNAg== - -"@tauri-apps/cli-darwin-x64@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.3.1.tgz#4c84ea0f08a5b636b067943d637a38e091a4aad3" - integrity sha512-fKcAUPVFO3jfDKXCSDGY0MhZFF/wDtx3rgFnogWYu4knk38o9RaqRkvMvqJhLYPuWaEM5h6/z1dRrr9KKCbrVg== - -"@tauri-apps/cli-linux-arm-gnueabihf@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.3.1.tgz#a4f1b237189e4f8f89cc890e1dc2eec76d4345be" - integrity sha512-+4H0dv8ltJHYu/Ma1h9ixUPUWka9EjaYa8nJfiMsdCI4LJLNE6cPveE7RmhZ59v9GW1XB108/k083JUC/OtGvA== - -"@tauri-apps/cli-linux-arm64-gnu@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.3.1.tgz#e2391326b64dfe13c7442bdcc13c4988ce5e6df9" - integrity sha512-Pj3odVO1JAxLjYmoXKxcrpj/tPxcA8UP8N06finhNtBtBaxAjrjjxKjO4968KB0BUH7AASIss9EL4Tr0FGnDuw== - -"@tauri-apps/cli-linux-arm64-musl@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.3.1.tgz#49354349f80f879ffc6950c0c03c0aea1395efa5" - integrity sha512-tA0JdDLPFaj42UDIVcF2t8V0tSha40rppcmAR/MfQpTCxih6399iMjwihz9kZE1n4b5O4KTq9GliYo50a8zYlQ== - -"@tauri-apps/cli-linux-x64-gnu@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.3.1.tgz#9a33ffe9e0d9b1b3825db57cbcfcddeb773682c6" - integrity sha512-FDU+Mnvk6NLkqQimcNojdKpMN4Y3W51+SQl+NqG9AFCWprCcSg62yRb84751ujZuf2MGT8HQOfmd0i77F4Q3tQ== - -"@tauri-apps/cli-linux-x64-musl@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.3.1.tgz#5283731e894c17bc070c499e73145cfe2633ef21" - integrity sha512-MpO3akXFmK8lZYEbyQRDfhdxz1JkTBhonVuz5rRqxwA7gnGWHa1aF1+/2zsy7ahjB2tQ9x8DDFDMdVE20o9HrA== - -"@tauri-apps/cli-win32-ia32-msvc@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.3.1.tgz#f31538abfd94f27ade1f17d01f30da6be1660c6f" - integrity sha512-9Boeo3K5sOrSBAZBuYyGkpV2RfnGQz3ZhGJt4hE6P+HxRd62lS6+qDKAiw1GmkZ0l1drc2INWrNeT50gwOKwIQ== - -"@tauri-apps/cli-win32-x64-msvc@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.3.1.tgz#1eb09d55b99916a3cd84cb91c75ef906db67d35d" - integrity sha512-wMrTo91hUu5CdpbElrOmcZEoJR4aooTG+fbtcc87SMyPGQy1Ux62b+ZdwLvL1sVTxnIm//7v6QLRIWGiUjCPwA== - -"@tauri-apps/cli@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-1.3.1.tgz#4c5259bf1f9c97084dd016e6b34dca53de380e24" - integrity sha512-o4I0JujdITsVRm3/0spfJX7FcKYrYV1DXJqzlWIn6IY25/RltjU6qbC1TPgVww3RsRX63jyVUTcWpj5wwFl+EQ== - optionalDependencies: - "@tauri-apps/cli-darwin-arm64" "1.3.1" - "@tauri-apps/cli-darwin-x64" "1.3.1" - "@tauri-apps/cli-linux-arm-gnueabihf" "1.3.1" - "@tauri-apps/cli-linux-arm64-gnu" "1.3.1" - "@tauri-apps/cli-linux-arm64-musl" "1.3.1" - "@tauri-apps/cli-linux-x64-gnu" "1.3.1" - "@tauri-apps/cli-linux-x64-musl" "1.3.1" - "@tauri-apps/cli-win32-ia32-msvc" "1.3.1" - "@tauri-apps/cli-win32-x64-msvc" "1.3.1" - -"@types/fs-extra@^9.0.13": - version "9.0.13" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" - integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== - dependencies: - "@types/node" "*" - -"@types/js-cookie@^2.x.x": - version "2.2.7" - resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" - integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== - -"@types/js-cookie@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-3.0.2.tgz#451eaeece64c6bdac8b2dde0caab23b085899e0d" - integrity sha512-6+0ekgfusHftJNYpihfkMu8BWdeHs9EOJuGcSofErjstGPfPGEu9yTu4t460lTzzAMl2cM5zngQJqPMHbbnvYA== - -"@types/lodash-es@^4.17.7": - version "4.17.7" - resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.7.tgz#22edcae9f44aff08546e71db8925f05b33c7cc40" - integrity sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.191" - resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== - -"@types/lodash@^4.14.180": - version "4.14.180" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.180.tgz#4ab7c9ddfc92ec4a887886483bc14c79fb380670" - integrity sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g== - -"@types/minimatch@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/node@*": - version "17.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" - integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prop-types@*": - version "15.7.4" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" - integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== - -"@types/prop-types@^15.7.5": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-dom@^18.0.11": - version "18.0.11" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" - integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== - dependencies: - "@types/react" "*" - -"@types/react-is@^16.7.1 || ^17.0.0": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a" - integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416" - integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "17.0.43" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55" - integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - -"@virtuoso.dev/react-urx@^0.2.12": - version "0.2.13" - resolved "https://registry.yarnpkg.com/@virtuoso.dev/react-urx/-/react-urx-0.2.13.tgz#e2cfc42d259d2a002695e7517d34cb97b64ee9c4" - integrity sha512-MY0ugBDjFb5Xt8v2HY7MKcRGqw/3gTpMlLXId2EwQvYJoC8sP7nnXjAxcBtTB50KTZhO0SbzsFimaZ7pSdApwA== - dependencies: - "@virtuoso.dev/urx" "^0.2.13" - -"@virtuoso.dev/urx@^0.2.12", "@virtuoso.dev/urx@^0.2.13": - version "0.2.13" - resolved "https://registry.yarnpkg.com/@virtuoso.dev/urx/-/urx-0.2.13.tgz#a65e7e8d923cb03397ac876bfdd45c7f71c8edf1" - integrity sha512-iirJNv92A1ZWxoOHHDYW/1KPoi83939o83iUBQHIim0i3tMeSKEh+bxhJdTHQ86Mr4uXx9xGUTq69cp52ZP8Xw== - -"@vitejs/plugin-react@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.0.1.tgz#3197c01d8e4a4eb9fed829c7888c467a43aadd4e" - integrity sha512-uINzNHmjrbunlFtyVkST6lY1ewSfz/XwLufG0PIqvLGnpk2nOIOa/1CACTDNcKi1/RwaCzJLmsXwm1NsUVV/NA== - dependencies: - "@babel/core" "^7.18.10" - "@babel/plugin-transform-react-jsx" "^7.18.10" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-jsx-self" "^7.18.6" - "@babel/plugin-transform-react-jsx-source" "^7.18.6" - magic-string "^0.26.2" - react-refresh "^0.14.0" - -adm-zip@^0.5.9: - version "0.5.9" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.9.tgz#b33691028333821c0cf95c31374c5462f2905a83" - integrity sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ahooks-v3-count@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ahooks-v3-count/-/ahooks-v3-count-1.0.0.tgz#ddeb392e009ad6e748905b3cbf63a9fd8262ca80" - integrity sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ== - -ahooks@^3.7.2: - version "3.7.2" - resolved "https://registry.npmmirror.com/ahooks/-/ahooks-3.7.2.tgz#0afa42625e77ae1cc4b60b19c45cf12a8cf29b56" - integrity sha512-nJPsQJcmJnGaNXiqgZdfO7UMs+o926LQg6VyDYt2vzKhXU8Ze/U87NsA/FeIvlIZB0rQr/j7uotFb1bGPp627A== - dependencies: - "@types/js-cookie" "^2.x.x" - ahooks-v3-count "^1.0.0" - dayjs "^1.9.1" - intersection-observer "^0.12.0" - js-cookie "^2.x.x" - lodash "^4.17.21" - resize-observer-polyfill "^1.5.1" - screenfull "^5.0.0" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/axios/-/axios-1.1.3.tgz#8274250dada2edf53814ed7db644b9c2866c1e35" - integrity sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -before-after-hook@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" - integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.20.2: - version "4.20.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== - dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001332: - version "1.0.30001341" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz#59590c8ffa8b5939cf4161f00827b8873ad72498" - integrity sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-env@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" - integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== - dependencies: - cross-spawn "^7.0.1" - -cross-spawn@^7.0.0, cross-spawn@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -csstype@^3.0.2: - version "3.0.11" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" - integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== - -csstype@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== - -data-uri-to-buffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" - integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== - -dayjs@1.11.5, dayjs@^1.9.1: - version "1.11.5" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" - integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== - -debug@4, debug@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -entities@^4.3.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" - integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -esbuild-android-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" - integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== - -esbuild-android-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" - integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== - -esbuild-darwin-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" - integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== - -esbuild-darwin-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" - integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== - -esbuild-freebsd-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" - integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== - -esbuild-freebsd-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" - integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== - -esbuild-linux-32@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" - integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== - -esbuild-linux-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" - integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== - -esbuild-linux-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" - integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== - -esbuild-linux-arm@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" - integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== - -esbuild-linux-mips64le@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" - integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== - -esbuild-linux-ppc64le@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" - integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== - -esbuild-linux-riscv64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" - integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== - -esbuild-linux-s390x@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" - integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== - -esbuild-netbsd-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" - integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== - -esbuild-openbsd-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" - integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== - -esbuild-sunos-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" - integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== - -esbuild-windows-32@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" - integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== - -esbuild-windows-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" - integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== - -esbuild-windows-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" - integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== - -esbuild@^0.15.9: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" - integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== - optionalDependencies: - "@esbuild/android-arm" "0.15.18" - "@esbuild/linux-loong64" "0.15.18" - esbuild-android-64 "0.15.18" - esbuild-android-arm64 "0.15.18" - esbuild-darwin-64 "0.15.18" - esbuild-darwin-arm64 "0.15.18" - esbuild-freebsd-64 "0.15.18" - esbuild-freebsd-arm64 "0.15.18" - esbuild-linux-32 "0.15.18" - esbuild-linux-64 "0.15.18" - esbuild-linux-arm "0.15.18" - esbuild-linux-arm64 "0.15.18" - esbuild-linux-mips64le "0.15.18" - esbuild-linux-ppc64le "0.15.18" - esbuild-linux-riscv64 "0.15.18" - esbuild-linux-s390x "0.15.18" - esbuild-netbsd-64 "0.15.18" - esbuild-openbsd-64 "0.15.18" - esbuild-sunos-64 "0.15.18" - esbuild-windows-32 "0.15.18" - esbuild-windows-64 "0.15.18" - esbuild-windows-arm64 "0.15.18" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.5.tgz#0077bf5f3fcdbd9d75a0b5362f77dbb743489863" - integrity sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -follow-redirects@^1.15.0: - version "1.15.2" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -fs-extra@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" - integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -hamt_plus@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hamt_plus/-/hamt_plus-1.0.2.tgz#e21c252968c7e33b20f6a1b094cd85787a265601" - integrity sha1-4hwlKWjH4zsg9qGwlM2FeHomVgE= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hoist-non-react-statics@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -html-parse-stringify@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" - integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== - dependencies: - void-elements "3.1.0" - -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -husky@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - -i18next@^22.0.4: - version "22.0.4" - resolved "https://registry.npmmirror.com/i18next/-/i18next-22.0.4.tgz#77d8871687b0ab072b38991e3887187823667e30" - integrity sha512-TOp7BTMKDbUkOHMzDlVsCYWpyaFkKakrrO3HNXfSz4EeJaWwnBScRmgQSTaWHScXVHBUFXTvShrCW8uryBYFcg== - dependencies: - "@babel/runtime" "^7.17.2" - -ignore@^5.1.4: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -immutable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" - integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -intersection-observer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.12.0.tgz#6c84628f67ce8698e5f9ccf857d97718745837aa" - integrity sha512-2Vkz8z46Dv401zTWudDGwO7KiGHNDkMv417T5ItcNYfmvHR/1qCTVBO9vwH8zZmQ0WkA/1ARwpysR9bsnop4NQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -js-cookie@^2.x.x: - version "2.2.1" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" - integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -magic-string@^0.26.2: - version "0.26.3" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" - integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== - dependencies: - sourcemap-codec "^1.4.8" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -monaco-editor@^0.34.1: - version "0.34.1" - resolved "https://registry.npmmirror.com/monaco-editor/-/monaco-editor-0.34.1.tgz#1b75c4ad6bc4c1f9da656d740d98e0b850a22f87" - integrity sha512-FKc80TyiMaruhJKKPz5SpJPIjL+dflGvz4CpuThaPMc94AyN7SeC9HQ8hrvaxX7EyHdJcUY5i4D0gNyJj1vSZQ== - -mri@^1.1.5: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multimatch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" - integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.6.tgz#6d4627181697a9d9674aae0d61548e0d629b31b9" - integrity sha512-LAy/HZnLADOVkVPubaxHDft29booGglPFDr2Hw0J1AercRh01UiVFm++KMDnJeH9sHgNB4hsXPii7Sgym/sTbw== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -postcss@^8.4.18: - version "8.4.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prettier@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -pretty-quick@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.3.tgz#15281108c0ddf446675157ca40240099157b638e" - integrity sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA== - dependencies: - chalk "^3.0.0" - execa "^4.0.0" - find-up "^4.1.0" - ignore "^5.1.4" - mri "^1.1.5" - multimatch "^4.0.0" - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-error-boundary@^3.1.4: - version "3.1.4" - resolved "https://registry.npmmirror.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0" - integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA== - dependencies: - "@babel/runtime" "^7.12.5" - -react-hook-form@^7.39.5: - version "7.39.5" - resolved "https://registry.npmmirror.com/react-hook-form/-/react-hook-form-7.39.5.tgz#a4272b60288ef5e1bb42bbb6ba3b36d243ab2879" - integrity sha512-OE0HKyz5IPc6svN2wd+e+evidZrw4O4WZWAWYzQVZuHi+hYnHFSLnxOq0ddjbdmaLIsLHut/ab7j72y2QT3+KA== - -react-i18next@^12.0.0: - version "12.0.0" - resolved "https://registry.npmmirror.com/react-i18next/-/react-i18next-12.0.0.tgz#634015a2c035779c5736ae4c2e5c34c1659753b1" - integrity sha512-/O7N6aIEAl1FaWZBNvhdIo9itvF/MO/nRKr9pYqRc9LhuC1u21SlfwpiYQqvaeNSEW3g3qUXLREOWMt+gxrWbg== - dependencies: - "@babel/runtime" "^7.14.5" - html-parse-stringify "^3.0.1" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-router-dom@^6.4.3: - version "6.4.3" - resolved "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.4.3.tgz#70093b5f65f85f1df9e5d4182eb7ff3a08299275" - integrity sha512-MiaYQU8CwVCaOfJdYvt84KQNjT78VF0TJrA17SIQgNHRvLnXDJO6qsFqq8F/zzB1BWZjCFIrQpu4QxcshitziQ== - dependencies: - "@remix-run/router" "1.0.3" - react-router "6.4.3" - -react-router@6.4.3: - version "6.4.3" - resolved "https://registry.npmmirror.com/react-router/-/react-router-6.4.3.tgz#9ed3ee4d6e95889e9b075a5d63e29acc7def0d49" - integrity sha512-BT6DoGn6aV1FVP5yfODMOiieakp3z46P1Fk0RNzJMACzE7C339sFuHebfvWtnB4pzBvXXkHP2vscJzWRuUjTtA== - dependencies: - "@remix-run/router" "1.0.3" - -react-transition-group@^4.4.5: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react-virtuoso@^3.1.3: - version "3.1.3" - resolved "https://registry.npmmirror.com/react-virtuoso/-/react-virtuoso-3.1.3.tgz#db811ff6fdd4749cfe9348f6d0b1333a348e65c4" - integrity sha512-sc4WICEZkyT+XdVc7gA/61UT43ZnMSX0ugh+xBG2cX+EDWs31wP1dSKQ2HSQ0YFLhZXRJ+Jqndqa8MTu4NE4CQ== - dependencies: - "@virtuoso.dev/react-urx" "^0.2.12" - "@virtuoso.dev/urx" "^0.2.12" - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -recoil@^0.7.6: - version "0.7.6" - resolved "https://registry.npmmirror.com/recoil/-/recoil-0.7.6.tgz#75297ecd70bbfeeb72e861aa6141a86bb6dfcd5e" - integrity sha512-hsBEw7jFdpBCY/tu2GweiyaqHKxVj6EqF2/SfrglbKvJHhpN57SANWvPW+gE90i3Awi+A5gssOd3u+vWlT+g7g== - dependencies: - hamt_plus "1.0.2" - -regenerator-runtime@^0.13.10: - version "0.13.10" - resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" - integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== - -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -reselect@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.6.tgz#19ca2d3d0b35373a74dc1c98692cdaffb6602656" - integrity sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.19.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -rollup@^2.79.1: - version "2.79.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== - optionalDependencies: - fsevents "~2.3.2" - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -sass@^1.54.0: - version "1.54.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.8.tgz#4adef0dd86ea2b1e4074f551eeda4fc5f812a996" - integrity sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -screenfull@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" - integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -snarkdown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/snarkdown/-/snarkdown-2.0.0.tgz#b1feb4db91b9f94a8ebbd7a50f3e99aee18b1e03" - integrity sha512-MgL/7k/AZdXCTJiNgrO7chgDqaB9FGM/1Tvlcenenb7div6obaDATzs16JhFyHHBGodHT3B7RzRc5qk8pFhg3A== - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -stylis@4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" - integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== - -stylis@4.1.3: - version "4.1.3" - resolved "https://registry.npmmirror.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7" - integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -swr@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8" - integrity sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -tunnel@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" - integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== - -typescript@^4.7.4: - version "4.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -vite-plugin-monaco-editor@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vite-plugin-monaco-editor/-/vite-plugin-monaco-editor-1.1.0.tgz#a6238c2e13d5e98dd54a1bc51f6f189325219de3" - integrity sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww== - -vite-plugin-svgr@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/vite-plugin-svgr/-/vite-plugin-svgr-2.2.1.tgz#6e1132a3b66f71e1d69e8c5fe989393260184ac3" - integrity sha512-+EqwahbwjETJH/ssA/66dNYyKN1cO0AStq96MuXmq5maU7AePBMf2lDKfQna49tJZAjtRz+R899BWCsUUP45Fg== - dependencies: - "@rollup/pluginutils" "^4.2.1" - "@svgr/core" "^6.3.1" - -vite@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.5.tgz#dee5678172a8a0ab3e547ad4148c3d547f90e86a" - integrity sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ== - dependencies: - esbuild "^0.15.9" - postcss "^8.4.18" - resolve "^1.22.1" - rollup "^2.79.1" - optionalDependencies: - fsevents "~2.3.2" - -void-elements@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= - -web-streams-polyfill@^3.0.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965" - integrity sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
  • 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 LNkvXXu0mjfrhkX( diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png deleted file mode 100644 index 324589136cb5d8b0045dbee67b71c9b3c36ea88e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29192 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 JH)y%w{txx>ZGZp( diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png deleted file mode 100644 index 1a93685f9b5500e0b9ec69befceccc8481dbde32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 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 FV1k^lkaqw8 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png deleted file mode 100644 index 822b49ba544624dd4dc3fb7a700a14d224421abc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13652 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 IM6N<$f=knYF#rGn diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png deleted file mode 100644 index 9b0ec9fa8ebc4f2452bfa50681c08bdfe5e16ec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32917 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 z z5r2s}9shPV{RsjISpnLr0LS?M_SO+K&DU1_HE`Gcn^V#$SNw z7^_2pR%3G(TRHv+$6cn1fCNX$6%nM2km_ACruMZN#*+9WK>iK^+Gxt);A}26vYC1_ zU|5ulHsPRcDw7A8szF>Gma~JpYDjm?=uUN9=e!|I&m6Z>Po5P7R)OOFOz$TV&`6!d zcJ9$e2HQD~;Lm!(Lw0u9c6Df7HKV(RT+h7GsUi3ukfwQf97FKFj|;kN0FLxQa(Wpu zsU7+c(?neySL{IFt% zYph8AAG8@VS2x%k3jPhkxAx_%9tCaXRfg`t{$-t)v)rQ$a3~Wx8sN|Ve>MX|D5?8( z7?7RRdN2AQtEV`JZ%Jk|ey`wOeJiqjHr{VUJc0d}d_BoHscE(~CQpX%;-#UB`@CCM zh58{%nWX!>GRUV$lVOp8bAbqVgPq=Zh|lQM(pegrbMe;!}(J;Yx?al9&-4K1hNK_WFgzvB*P&_uyz@Fdb< z4eIb47wK?@C_^74ZxlJ@V)*WpFfE0$zguN z-&PzDvZ}>cZ zopfHr_V=N44tN2t$3UxjYQw(leUj3!}KHI9rs9r}l;yD)Yj z#zHZny8R6eC{u-|3CSQdc z$z@71UIur(KXsh*`u^t}{|N$4Vl}~!@QEIJ^bbr_6;}Q8Y3PdRXhh&m1pE>hP8|#m zyw0ngGXPY;d(}Sa+D!>Y_owdDcyBX)M5A;5A47%{?J*-biU0rr07*qoM6N<$g7<3u AK>z>% diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png deleted file mode 100644 index 15344c6c470008d1178e9779a00812fdcb1d2658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3500 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 ar~d=t*N&}EmXeSF0000X`dDV diff --git a/src-tauri/icons/icon-new.icns b/src-tauri/icons/icon-new.icns deleted file mode 100644 index b66e74eb862032eb40c7566238480070fe9e3fe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251234 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