From b1a43b07ffefddb0d4396f46a019f000bbb00e27 Mon Sep 17 00:00:00 2001 From: Zane Schepke Date: Thu, 16 Nov 2023 11:39:17 -0500 Subject: [PATCH] Add desktop vpn app project --- nym-vpn/desktop/.dockerignore | 4 + nym-vpn/desktop/.gitignore | 32 + nym-vpn/desktop/.vscode/settings.json | 3 + nym-vpn/desktop/Build.md | 123 + nym-vpn/desktop/Cargo.lock | 9024 ++++++++ nym-vpn/desktop/Cargo.toml | 22 + nym-vpn/desktop/LICENSE | 674 + nym-vpn/desktop/Makefile.toml | 321 + nym-vpn/desktop/README.md | 21 + nym-vpn/desktop/about.toml | 30 + nym-vpn/desktop/nymvpn-assets/app-icon.png | Bin 0 -> 558069 bytes nym-vpn/desktop/nymvpn-assets/cli.gif | Bin 0 -> 233159 bytes nym-vpn/desktop/nymvpn-assets/icon.xcf | Bin 0 -> 450470 bytes .../desktop/nymvpn-assets/icons/128x128.png | Bin 0 -> 3122 bytes .../nymvpn-assets/icons/128x128@2x.png | Bin 0 -> 6404 bytes nym-vpn/desktop/nymvpn-assets/icons/32x32.png | Bin 0 -> 883 bytes .../nymvpn-assets/icons/Square107x107Logo.png | Bin 0 -> 2505 bytes .../nymvpn-assets/icons/Square142x142Logo.png | Bin 0 -> 3256 bytes .../nymvpn-assets/icons/Square150x150Logo.png | Bin 0 -> 3404 bytes .../nymvpn-assets/icons/Square284x284Logo.png | Bin 0 -> 6956 bytes .../nymvpn-assets/icons/Square30x30Logo.png | Bin 0 -> 763 bytes .../nymvpn-assets/icons/Square310x310Logo.png | Bin 0 -> 7449 bytes .../nymvpn-assets/icons/Square44x44Logo.png | Bin 0 -> 1142 bytes .../nymvpn-assets/icons/Square71x71Logo.png | Bin 0 -> 1844 bytes .../nymvpn-assets/icons/Square89x89Logo.png | Bin 0 -> 2338 bytes .../desktop/nymvpn-assets/icons/StoreLogo.png | Bin 0 -> 558069 bytes nym-vpn/desktop/nymvpn-assets/icons/icon.icns | Bin 0 -> 367019 bytes nym-vpn/desktop/nymvpn-assets/icons/icon.ico | Bin 0 -> 5430 bytes nym-vpn/desktop/nymvpn-assets/icons/icon.png | Bin 0 -> 558069 bytes nym-vpn/desktop/nymvpn-assets/logo.xcf | Bin 0 -> 450470 bytes nym-vpn/desktop/nymvpn-assets/nymvpn.svg | 659 + nym-vpn/desktop/nymvpn-assets/nymvpn.xcf | Bin 0 -> 55539 bytes nym-vpn/desktop/nymvpn-cli/Cargo.toml | 28 + nym-vpn/desktop/nymvpn-cli/nymvpn.conf.toml | 7 + nym-vpn/desktop/nymvpn-cli/src/cli.rs | 59 + .../nymvpn-cli/src/commands/connect.rs | 156 + .../nymvpn-cli/src/commands/disconnect.rs | 28 + .../desktop/nymvpn-cli/src/commands/error.rs | 13 + .../nymvpn-cli/src/commands/locations.rs | 47 + .../desktop/nymvpn-cli/src/commands/mod.rs | 7 + .../nymvpn-cli/src/commands/sign_in.rs | 49 + .../nymvpn-cli/src/commands/sign_out.rs | 25 + .../desktop/nymvpn-cli/src/commands/status.rs | 28 + nym-vpn/desktop/nymvpn-cli/src/main.rs | 10 + nym-vpn/desktop/nymvpn-config/Cargo.toml | 20 + nym-vpn/desktop/nymvpn-config/build.rs | 25 + nym-vpn/desktop/nymvpn-config/src/lib.rs | 160 + nym-vpn/desktop/nymvpn-controller/Cargo.toml | 26 + nym-vpn/desktop/nymvpn-controller/build.rs | 6 + .../proto/nymvpn-controller.proto | 126 + nym-vpn/desktop/nymvpn-controller/src/auth.rs | 76 + .../src/conversions/account.rs | 8 + .../src/conversions/location.rs | 48 + .../nymvpn-controller/src/conversions/mod.rs | 4 + .../src/conversions/notification.rs | 77 + .../src/conversions/vpn_status.rs | 110 + nym-vpn/desktop/nymvpn-controller/src/lib.rs | 153 + nym-vpn/desktop/nymvpn-daemon/Cargo.toml | 57 + .../desktop/nymvpn-daemon/nymvpn.conf.toml | 7 + nym-vpn/desktop/nymvpn-daemon/src/cleanup.rs | 10 + .../desktop/nymvpn-daemon/src/controller.rs | 297 + nym-vpn/desktop/nymvpn-daemon/src/daemon.rs | 732 + nym-vpn/desktop/nymvpn-daemon/src/db.rs | 37 + .../nymvpn-daemon/src/device/handler.rs | 244 + .../desktop/nymvpn-daemon/src/device/init.rs | 9 + .../desktop/nymvpn-daemon/src/device/mod.rs | 20 + .../desktop/nymvpn-daemon/src/device/name.rs | 54 + .../nymvpn-daemon/src/device/storage.rs | 132 + nym-vpn/desktop/nymvpn-daemon/src/lib.rs | 217 + .../nymvpn-daemon/src/location_storage.rs | 76 + nym-vpn/desktop/nymvpn-daemon/src/logging.rs | 104 + nym-vpn/desktop/nymvpn-daemon/src/macos.rs | 75 + nym-vpn/desktop/nymvpn-daemon/src/main.rs | 81 + nym-vpn/desktop/nymvpn-daemon/src/runtime.rs | 8 + nym-vpn/desktop/nymvpn-daemon/src/shutdown.rs | 122 + nym-vpn/desktop/nymvpn-daemon/src/state.rs | 114 + .../nymvpn-daemon/src/system_service.rs | 271 + .../nymvpn-daemon/src/token_storage.rs | 68 + nym-vpn/desktop/nymvpn-daemon/src/tunnel.rs | 125 + nym-vpn/desktop/nymvpn-daemon/src/unique.rs | 12 + .../nymvpn-daemon/src/vpn_session/handler.rs | 298 + .../nymvpn-daemon/src/vpn_session/mod.rs | 4 + .../src/vpn_session/reclaimer.rs | 107 + .../nymvpn-daemon/src/vpn_session/storage.rs | 476 + .../nymvpn-daemon/src/vpn_session/watcher.rs | 123 + nym-vpn/desktop/nymvpn-entity/Cargo.toml | 29 + .../nymvpn-entity/src/conversions/device.rs | 54 + .../nymvpn-entity/src/conversions/location.rs | 27 + .../nymvpn-entity/src/conversions/mod.rs | 2 + nym-vpn/desktop/nymvpn-entity/src/device.rs | 22 + nym-vpn/desktop/nymvpn-entity/src/lib.rs | 10 + nym-vpn/desktop/nymvpn-entity/src/mod.rs | 5 + nym-vpn/desktop/nymvpn-entity/src/prelude.rs | 6 + .../nymvpn-entity/src/recent_locations.rs | 22 + nym-vpn/desktop/nymvpn-entity/src/token.rs | 16 + .../desktop/nymvpn-entity/src/vpn_session.rs | 29 + nym-vpn/desktop/nymvpn-migration/Cargo.toml | 27 + nym-vpn/desktop/nymvpn-migration/README.md | 43 + nym-vpn/desktop/nymvpn-migration/src/lib.rs | 10 + nym-vpn/desktop/nymvpn-migration/src/main.rs | 6 + nym-vpn/desktop/nymvpn-packages/Cargo.toml | 143 + nym-vpn/desktop/nymvpn-packages/Dockerfile | 121 + nym-vpn/desktop/nymvpn-packages/Makefile.toml | 15 + .../desktop/nymvpn-packages/cargo-config.toml | 20 + .../code-signing-public-key.asc | 53 + .../linux/debian/maintainer-scripts}/.gitkeep | 0 .../linux/debian/maintainer-scripts/postrm | 27 + .../linux/debian/maintainer-scripts/preinst | 18 + .../linux/debian/maintainer-scripts/prerm | 8 + .../nymvpn-packages/linux/nymvpn.desktop | 9 + .../linux/unit-scripts/nymvpn-daemon.service | 14 + .../desktop/nymvpn-packages/macos/build.sh | 51 + .../nymvpn-packages/macos/pkg/Distribution | 29 + .../macos/pkg/Resources/welcome.html | 21 + .../nymvpn.app/Contents/Info.plist | 94 + .../nymvpn.app/Contents/MacOS}/.gitkeep | 0 .../Contents/Resources/uninstall.sh | 44 + .../macos/pkg/scripts/postinstall | 62 + .../macos/pkg/scripts/preinstall | 50 + .../nymvpn-oss-licenses-footer.hbs | 11 + .../nymvpn-oss-licenses-header.hbs | 49 + .../nymvpn-oss-licenses-rust.hbs | 61 + nym-vpn/desktop/nymvpn-packages/src/main.rs | 1 + nym-vpn/desktop/nymvpn-packages/tag.txt | 1 + .../nymvpn-packages/windows/nymvpn.wsx | 209 + .../desktop/nymvpn-packages/windows/sign.sh | 36 + nym-vpn/desktop/nymvpn-server/Cargo.toml | 33 + nym-vpn/desktop/nymvpn-server/build.rs | 7 + .../nymvpn-server/proto/nymvpn-server.proto | 153 + nym-vpn/desktop/nymvpn-server/src/auth.rs | 57 + .../nymvpn-server/src/conversions/device.rs | 47 + .../nymvpn-server/src/conversions/location.rs | 23 + .../nymvpn-server/src/conversions/mod.rs | 3 + .../src/conversions/vpn_session.rs | 144 + nym-vpn/desktop/nymvpn-server/src/lib.rs | 194 + nym-vpn/desktop/nymvpn-types/Cargo.toml | 22 + nym-vpn/desktop/nymvpn-types/src/device.rs | 84 + nym-vpn/desktop/nymvpn-types/src/lib.rs | 14 + nym-vpn/desktop/nymvpn-types/src/location.rs | 31 + .../desktop/nymvpn-types/src/notification.rs | 40 + .../desktop/nymvpn-types/src/nymvpn_server.rs | 276 + .../desktop/nymvpn-types/src/vpn_session.rs | 42 + nym-vpn/desktop/nymvpn-types/src/wireguard.rs | 47 + nym-vpn/desktop/nymvpn-ui/.env.production | 1 + nym-vpn/{ui => desktop/nymvpn-ui}/.gitignore | 0 nym-vpn/desktop/nymvpn-ui/.nvmrc | 1 + .../nymvpn-ui}/.vscode/extensions.json | 0 nym-vpn/desktop/nymvpn-ui/README.md | 12 + nym-vpn/{ui => desktop/nymvpn-ui}/index.html | 7 +- nym-vpn/desktop/nymvpn-ui/package-lock.json | 4636 ++++ nym-vpn/desktop/nymvpn-ui/package.json | 38 + nym-vpn/desktop/nymvpn-ui/postcss.config.cjs | 6 + .../nymvpn-ui/public}/.gitkeep | 0 .../desktop/nymvpn-ui/src-tauri/.gitignore | 4 + .../desktop/nymvpn-ui/src-tauri/Cargo.toml | 39 + .../nymvpn-ui}/src-tauri/build.rs | 0 .../nymvpn-ui/src-tauri/nymvpn.conf.toml | 6 + .../nymvpn-ui/src-tauri/src/commands/auth.rs | 69 + .../src/commands/desktop_notification.rs | 19 + .../src-tauri/src/commands/file_ops.rs | 37 + .../src-tauri/src/commands/location.rs | 27 + .../nymvpn-ui/src-tauri/src/commands/mod.rs | 7 + .../src-tauri/src/commands/notification.rs | 26 + .../src-tauri/src/commands/version.rs | 28 + .../src-tauri/src/commands/vpn_session.rs | 34 + .../desktop/nymvpn-ui/src-tauri/src/error.rs | 19 + .../src-tauri/src/event_forwarder.rs | 89 + .../desktop/nymvpn-ui/src-tauri/src/main.rs | 82 + .../desktop/nymvpn-ui/src-tauri/src/state.rs | 31 + .../nymvpn-ui/src-tauri/tauri.conf.json | 86 + nym-vpn/desktop/nymvpn-ui/src/App.tsx | 7 + .../nymvpn-ui/src/assets}/.gitkeep | 0 .../desktop/nymvpn-ui/src/assets/license.html | 18301 ++++++++++++++++ .../desktop/nymvpn-ui/src/assets/nymvpn.svg | 659 + .../nymvpn-ui/src/index.css} | 0 nym-vpn/desktop/nymvpn-ui/src/main.tsx | 10 + .../nymvpn-ui}/src/vite-env.d.ts | 0 nym-vpn/desktop/nymvpn-ui/svg.d.ts | 6 + nym-vpn/desktop/nymvpn-ui/tailwind.config.cjs | 11 + nym-vpn/desktop/nymvpn-ui/tsconfig.json | 21 + .../nymvpn-ui}/tsconfig.node.json | 3 +- nym-vpn/desktop/nymvpn-ui/vite.config.ts | 29 + nym-vpn/desktop/nymvpn-ui/yarn.lock | 1439 ++ nym-vpn/desktop/nymvpn.conf.toml | 7 + nym-vpn/ui/.eslintignore | 2 - nym-vpn/ui/.eslintrc.cjs | 21 - nym-vpn/ui/.prettierignore | 2 - nym-vpn/ui/README.md | 97 - nym-vpn/ui/package.json | 47 - nym-vpn/ui/postcss.config.js | 8 - nym-vpn/ui/prettier.config.js | 9 - nym-vpn/ui/public/vite.svg | 1 - nym-vpn/ui/src-tauri/.gitignore | 3 - nym-vpn/ui/src-tauri/Cargo.lock | 3734 ---- nym-vpn/ui/src-tauri/Cargo.toml | 33 - nym-vpn/ui/src-tauri/Cross.toml | 2 - nym-vpn/ui/src-tauri/icons/128x128.png | Bin 3512 -> 0 bytes nym-vpn/ui/src-tauri/icons/128x128@2x.png | Bin 7012 -> 0 bytes nym-vpn/ui/src-tauri/icons/32x32.png | Bin 974 -> 0 bytes .../ui/src-tauri/icons/Square107x107Logo.png | Bin 2863 -> 0 bytes .../ui/src-tauri/icons/Square142x142Logo.png | Bin 3858 -> 0 bytes .../ui/src-tauri/icons/Square150x150Logo.png | Bin 3966 -> 0 bytes .../ui/src-tauri/icons/Square284x284Logo.png | Bin 7737 -> 0 bytes .../ui/src-tauri/icons/Square30x30Logo.png | Bin 903 -> 0 bytes .../ui/src-tauri/icons/Square310x310Logo.png | Bin 8591 -> 0 bytes .../ui/src-tauri/icons/Square44x44Logo.png | Bin 1299 -> 0 bytes .../ui/src-tauri/icons/Square71x71Logo.png | Bin 2011 -> 0 bytes .../ui/src-tauri/icons/Square89x89Logo.png | Bin 2468 -> 0 bytes nym-vpn/ui/src-tauri/icons/StoreLogo.png | Bin 1523 -> 0 bytes nym-vpn/ui/src-tauri/icons/icon.icns | Bin 98451 -> 0 bytes nym-vpn/ui/src-tauri/icons/icon.ico | Bin 86642 -> 0 bytes nym-vpn/ui/src-tauri/icons/icon.png | Bin 14183 -> 0 bytes .../ui/src-tauri/src/commands/connection.rs | 61 - nym-vpn/ui/src-tauri/src/commands/mod.rs | 11 - nym-vpn/ui/src-tauri/src/commands/settings.rs | 32 - nym-vpn/ui/src-tauri/src/error.rs | 12 - nym-vpn/ui/src-tauri/src/fs/cache.rs | 6 - nym-vpn/ui/src-tauri/src/fs/config.rs | 6 - nym-vpn/ui/src-tauri/src/fs/data.rs | 13 - nym-vpn/ui/src-tauri/src/fs/log.rs | 6 - nym-vpn/ui/src-tauri/src/fs/mod.rs | 4 - nym-vpn/ui/src-tauri/src/fs/storage.rs | 84 - nym-vpn/ui/src-tauri/src/lib.rs | 16 - nym-vpn/ui/src-tauri/src/main.rs | 64 - nym-vpn/ui/src-tauri/src/states/app.rs | 44 - nym-vpn/ui/src-tauri/src/states/mod.rs | 11 - nym-vpn/ui/src-tauri/tauri.conf.json | 54 - nym-vpn/ui/src/App.tsx | 55 - nym-vpn/ui/src/dev/setup.ts | 11 - nym-vpn/ui/src/dev/tauri-cmd-mocks/greet.ts | 3 - nym-vpn/ui/src/dev/tauri-cmd-mocks/index.ts | 1 - nym-vpn/ui/src/main.tsx | 15 - nym-vpn/ui/tailwind.config.js | 10 - nym-vpn/ui/tsconfig.json | 25 - nym-vpn/ui/vite.config.ts | 20 - nym-vpn/ui/yarn.lock | 2666 --- 236 files changed, 44552 insertions(+), 7195 deletions(-) create mode 100644 nym-vpn/desktop/.dockerignore create mode 100644 nym-vpn/desktop/.gitignore create mode 100644 nym-vpn/desktop/.vscode/settings.json create mode 100644 nym-vpn/desktop/Build.md create mode 100644 nym-vpn/desktop/Cargo.lock create mode 100644 nym-vpn/desktop/Cargo.toml create mode 100644 nym-vpn/desktop/LICENSE create mode 100644 nym-vpn/desktop/Makefile.toml create mode 100644 nym-vpn/desktop/README.md create mode 100644 nym-vpn/desktop/about.toml create mode 100644 nym-vpn/desktop/nymvpn-assets/app-icon.png create mode 100644 nym-vpn/desktop/nymvpn-assets/cli.gif create mode 100644 nym-vpn/desktop/nymvpn-assets/icon.xcf create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/128x128.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/128x128@2x.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/32x32.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square107x107Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square142x142Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square150x150Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square284x284Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square30x30Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square310x310Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square44x44Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square71x71Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/Square89x89Logo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/StoreLogo.png create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/icon.icns create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/icon.ico create mode 100644 nym-vpn/desktop/nymvpn-assets/icons/icon.png create mode 100644 nym-vpn/desktop/nymvpn-assets/logo.xcf create mode 100644 nym-vpn/desktop/nymvpn-assets/nymvpn.svg create mode 100644 nym-vpn/desktop/nymvpn-assets/nymvpn.xcf create mode 100644 nym-vpn/desktop/nymvpn-cli/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-cli/nymvpn.conf.toml create mode 100644 nym-vpn/desktop/nymvpn-cli/src/cli.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/connect.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/disconnect.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/error.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/locations.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/sign_in.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/sign_out.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/commands/status.rs create mode 100644 nym-vpn/desktop/nymvpn-cli/src/main.rs create mode 100644 nym-vpn/desktop/nymvpn-config/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-config/build.rs create mode 100644 nym-vpn/desktop/nymvpn-config/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-controller/build.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/proto/nymvpn-controller.proto create mode 100644 nym-vpn/desktop/nymvpn-controller/src/auth.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/src/conversions/account.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/src/conversions/location.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/src/conversions/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/src/conversions/notification.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/src/conversions/vpn_status.rs create mode 100644 nym-vpn/desktop/nymvpn-controller/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-daemon/nymvpn.conf.toml create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/cleanup.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/controller.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/daemon.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/db.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/device/handler.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/device/init.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/device/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/device/name.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/device/storage.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/location_storage.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/logging.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/macos.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/main.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/runtime.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/shutdown.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/state.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/system_service.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/token_storage.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/tunnel.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/unique.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/vpn_session/handler.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/vpn_session/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/vpn_session/reclaimer.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/vpn_session/storage.rs create mode 100644 nym-vpn/desktop/nymvpn-daemon/src/vpn_session/watcher.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-entity/src/conversions/device.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/conversions/location.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/conversions/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/device.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/prelude.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/recent_locations.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/token.rs create mode 100644 nym-vpn/desktop/nymvpn-entity/src/vpn_session.rs create mode 100644 nym-vpn/desktop/nymvpn-migration/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-migration/README.md create mode 100644 nym-vpn/desktop/nymvpn-migration/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-migration/src/main.rs create mode 100644 nym-vpn/desktop/nymvpn-packages/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-packages/Dockerfile create mode 100644 nym-vpn/desktop/nymvpn-packages/Makefile.toml create mode 100644 nym-vpn/desktop/nymvpn-packages/cargo-config.toml create mode 100644 nym-vpn/desktop/nymvpn-packages/code-signing-public-key.asc rename nym-vpn/{linux => desktop/nymvpn-packages/linux/debian/maintainer-scripts}/.gitkeep (100%) create mode 100755 nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/postrm create mode 100755 nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/preinst create mode 100755 nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/prerm create mode 100644 nym-vpn/desktop/nymvpn-packages/linux/nymvpn.desktop create mode 100644 nym-vpn/desktop/nymvpn-packages/linux/unit-scripts/nymvpn-daemon.service create mode 100755 nym-vpn/desktop/nymvpn-packages/macos/build.sh create mode 100644 nym-vpn/desktop/nymvpn-packages/macos/pkg/Distribution create mode 100644 nym-vpn/desktop/nymvpn-packages/macos/pkg/Resources/welcome.html create mode 100644 nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Info.plist rename nym-vpn/{macos => desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/MacOS}/.gitkeep (100%) create mode 100755 nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Resources/uninstall.sh create mode 100755 nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/postinstall create mode 100755 nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/preinstall create mode 100644 nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-footer.hbs create mode 100644 nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-header.hbs create mode 100644 nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-rust.hbs create mode 100644 nym-vpn/desktop/nymvpn-packages/src/main.rs create mode 100644 nym-vpn/desktop/nymvpn-packages/tag.txt create mode 100644 nym-vpn/desktop/nymvpn-packages/windows/nymvpn.wsx create mode 100644 nym-vpn/desktop/nymvpn-packages/windows/sign.sh create mode 100644 nym-vpn/desktop/nymvpn-server/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-server/build.rs create mode 100644 nym-vpn/desktop/nymvpn-server/proto/nymvpn-server.proto create mode 100644 nym-vpn/desktop/nymvpn-server/src/auth.rs create mode 100644 nym-vpn/desktop/nymvpn-server/src/conversions/device.rs create mode 100644 nym-vpn/desktop/nymvpn-server/src/conversions/location.rs create mode 100644 nym-vpn/desktop/nymvpn-server/src/conversions/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-server/src/conversions/vpn_session.rs create mode 100644 nym-vpn/desktop/nymvpn-server/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-types/Cargo.toml create mode 100644 nym-vpn/desktop/nymvpn-types/src/device.rs create mode 100644 nym-vpn/desktop/nymvpn-types/src/lib.rs create mode 100644 nym-vpn/desktop/nymvpn-types/src/location.rs create mode 100644 nym-vpn/desktop/nymvpn-types/src/notification.rs create mode 100644 nym-vpn/desktop/nymvpn-types/src/nymvpn_server.rs create mode 100644 nym-vpn/desktop/nymvpn-types/src/vpn_session.rs create mode 100644 nym-vpn/desktop/nymvpn-types/src/wireguard.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/.env.production rename nym-vpn/{ui => desktop/nymvpn-ui}/.gitignore (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/.nvmrc rename nym-vpn/{ui => desktop/nymvpn-ui}/.vscode/extensions.json (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/README.md rename nym-vpn/{ui => desktop/nymvpn-ui}/index.html (58%) create mode 100644 nym-vpn/desktop/nymvpn-ui/package-lock.json create mode 100644 nym-vpn/desktop/nymvpn-ui/package.json create mode 100644 nym-vpn/desktop/nymvpn-ui/postcss.config.cjs rename nym-vpn/{ui/src/assets => desktop/nymvpn-ui/public}/.gitkeep (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/.gitignore create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/Cargo.toml rename nym-vpn/{ui => desktop/nymvpn-ui}/src-tauri/build.rs (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/nymvpn.conf.toml create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/auth.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/desktop_notification.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/file_ops.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/location.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/mod.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/notification.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/version.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/vpn_session.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/error.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/event_forwarder.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/main.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/src/state.rs create mode 100644 nym-vpn/desktop/nymvpn-ui/src-tauri/tauri.conf.json create mode 100644 nym-vpn/desktop/nymvpn-ui/src/App.tsx rename nym-vpn/{win => desktop/nymvpn-ui/src/assets}/.gitkeep (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/src/assets/license.html create mode 100644 nym-vpn/desktop/nymvpn-ui/src/assets/nymvpn.svg rename nym-vpn/{ui/src/styles.css => desktop/nymvpn-ui/src/index.css} (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/src/main.tsx rename nym-vpn/{ui => desktop/nymvpn-ui}/src/vite-env.d.ts (100%) create mode 100644 nym-vpn/desktop/nymvpn-ui/svg.d.ts create mode 100644 nym-vpn/desktop/nymvpn-ui/tailwind.config.cjs create mode 100644 nym-vpn/desktop/nymvpn-ui/tsconfig.json rename nym-vpn/{ui => desktop/nymvpn-ui}/tsconfig.node.json (71%) create mode 100644 nym-vpn/desktop/nymvpn-ui/vite.config.ts create mode 100644 nym-vpn/desktop/nymvpn-ui/yarn.lock create mode 100644 nym-vpn/desktop/nymvpn.conf.toml delete mode 100644 nym-vpn/ui/.eslintignore delete mode 100644 nym-vpn/ui/.eslintrc.cjs delete mode 100644 nym-vpn/ui/.prettierignore delete mode 100644 nym-vpn/ui/README.md delete mode 100644 nym-vpn/ui/package.json delete mode 100644 nym-vpn/ui/postcss.config.js delete mode 100644 nym-vpn/ui/prettier.config.js delete mode 100644 nym-vpn/ui/public/vite.svg delete mode 100644 nym-vpn/ui/src-tauri/.gitignore delete mode 100644 nym-vpn/ui/src-tauri/Cargo.lock delete mode 100644 nym-vpn/ui/src-tauri/Cargo.toml delete mode 100644 nym-vpn/ui/src-tauri/Cross.toml delete mode 100644 nym-vpn/ui/src-tauri/icons/128x128.png delete mode 100644 nym-vpn/ui/src-tauri/icons/128x128@2x.png delete mode 100644 nym-vpn/ui/src-tauri/icons/32x32.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square107x107Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square142x142Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square150x150Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square284x284Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square30x30Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square310x310Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square44x44Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square71x71Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/Square89x89Logo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/StoreLogo.png delete mode 100644 nym-vpn/ui/src-tauri/icons/icon.icns delete mode 100644 nym-vpn/ui/src-tauri/icons/icon.ico delete mode 100644 nym-vpn/ui/src-tauri/icons/icon.png delete mode 100644 nym-vpn/ui/src-tauri/src/commands/connection.rs delete mode 100644 nym-vpn/ui/src-tauri/src/commands/mod.rs delete mode 100644 nym-vpn/ui/src-tauri/src/commands/settings.rs delete mode 100644 nym-vpn/ui/src-tauri/src/error.rs delete mode 100644 nym-vpn/ui/src-tauri/src/fs/cache.rs delete mode 100644 nym-vpn/ui/src-tauri/src/fs/config.rs delete mode 100644 nym-vpn/ui/src-tauri/src/fs/data.rs delete mode 100644 nym-vpn/ui/src-tauri/src/fs/log.rs delete mode 100644 nym-vpn/ui/src-tauri/src/fs/mod.rs delete mode 100644 nym-vpn/ui/src-tauri/src/fs/storage.rs delete mode 100644 nym-vpn/ui/src-tauri/src/lib.rs delete mode 100644 nym-vpn/ui/src-tauri/src/main.rs delete mode 100644 nym-vpn/ui/src-tauri/src/states/app.rs delete mode 100644 nym-vpn/ui/src-tauri/src/states/mod.rs delete mode 100644 nym-vpn/ui/src-tauri/tauri.conf.json delete mode 100644 nym-vpn/ui/src/App.tsx delete mode 100644 nym-vpn/ui/src/dev/setup.ts delete mode 100644 nym-vpn/ui/src/dev/tauri-cmd-mocks/greet.ts delete mode 100644 nym-vpn/ui/src/dev/tauri-cmd-mocks/index.ts delete mode 100644 nym-vpn/ui/src/main.tsx delete mode 100644 nym-vpn/ui/tailwind.config.js delete mode 100644 nym-vpn/ui/tsconfig.json delete mode 100644 nym-vpn/ui/vite.config.ts delete mode 100644 nym-vpn/ui/yarn.lock diff --git a/nym-vpn/desktop/.dockerignore b/nym-vpn/desktop/.dockerignore new file mode 100644 index 00000000000..628d6d3fe85 --- /dev/null +++ b/nym-vpn/desktop/.dockerignore @@ -0,0 +1,4 @@ +build/* +data/* +dist/* +target/* diff --git a/nym-vpn/desktop/.gitignore b/nym-vpn/desktop/.gitignore new file mode 100644 index 00000000000..3723b913215 --- /dev/null +++ b/nym-vpn/desktop/.gitignore @@ -0,0 +1,32 @@ +# Generated by Cargo +# will have compiled files and executables +target + +# These are backup files generated by rustfmt +**/*.rs.bk + +node_modules + +data + +build +.cargo + +.DS_Store + +# generated Typescript types from Rust +bindings + +staging-config + +dist +.nymvpn +windows/x86_64* +*.wixobj +*.wixpdb +*.msi +mkcert* + +nymvpn-oss-licenses.html +nymvpn-oss-licenses-rust.html +third-party-licenses.txt diff --git a/nym-vpn/desktop/.vscode/settings.json b/nym-vpn/desktop/.vscode/settings.json new file mode 100644 index 00000000000..dca5221448b --- /dev/null +++ b/nym-vpn/desktop/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "svg.preview.background": "editor" +} diff --git a/nym-vpn/desktop/Build.md b/nym-vpn/desktop/Build.md new file mode 100644 index 00000000000..ce8e87695ff --- /dev/null +++ b/nym-vpn/desktop/Build.md @@ -0,0 +1,123 @@ +# Building nymvpn app + +## Install build dependencies + +### Common for all Platforms + +``` +cargo install cargo-deb +cargo install cargo-generate-rpm +cargo install --force cargo-make +cargo install sd +cargo install ripgrep +cargo install cargo-about +``` + +### Linux + +``` +apt install build-essential \ + pkg-config \ + libgtk-3-dev \ + libssl-dev \ + libsoup2.4-dev \ + libjavascriptcoregtk-4.0-dev \ + libwebkit2gtk-4.0-dev \ + libmnl-dev \ + libnftnl-dev \ + protobuf-compiler \ + zip \ + +``` + +Install protoc on x86_64/amd64 machines +``` +# x86_64 +curl -Lo protoc-3.19.1-linux-x86_64.zip \ + https://github.com/protocolbuffers/protobuf/releases/download/v3.19.1/protoc-3.19.1-linux-x86_64.zip && \ + unzip protoc-3.19.1-linux-x86_64.zip -d /tmp && \ + mv /tmp/bin/protoc /usr/bin/protoc && \ + rm protoc-3.19.1-linux-x86_64.zip +``` + +Install protoc on arm64 machines +``` +# aarch64 +curl -Lo protoc-3.19.1-linux-aarch_64.zip \ + https://github.com/protocolbuffers/protobuf/releases/download/v3.19.1/protoc-3.19.1-linux-aarch_64.zip && \ + unzip protoc-3.19.1-linux-aarch_64.zip -d /tmp && \ + sudo mv /tmp/bin/protoc /usr/bin/protoc && \ + rm protoc-3.19.1-linux-aarch_64.zip + +``` + +### macOS +``` +brew install protobuf +``` + +### Windows +TODO + +## Build Debian package + +``` +cargo make deb +``` + +## Build RPM package + +``` +cargo make rpm +``` + +## Build macOS package + +``` +cargo make pkg +``` + +To codesign for distribution provide following environment variables: + +``` +APPLE_TEAM_ID=... +APPLICATION_SIGNING_IDENTITY=... +INSTALLER_SIGNING_IDENTITY=... +cargo make pkg +``` + +## Build installer for Windows + +``` +cargo make msi +``` + +To codesign for distribution: + +``` +SIGN=true cargo make msi +``` + +## Building for Production for Linux + +### Build the Builder + +Build the Docker image to build nymvpn app. +``` +cd nymvpn-packages +cargo make builder +``` + +This will output `tag.txt`, commit it into source code. + +### Build .deb and .rpm + +This step uses builder Docker image with tag in `nymvpn-packages/tag.txt`. The final rpm and deb packages will be stored in `dist` directory. + +``` +# For host platform +cargo make linux + +# For target platform +cargo make -e TARGET=aarch64-unknown-linux-gnu linux +``` diff --git a/nym-vpn/desktop/Cargo.lock b/nym-vpn/desktop/Cargo.lock new file mode 100644 index 00000000000..d5804b70b49 --- /dev/null +++ b/nym-vpn/desktop/Cargo.lock @@ -0,0 +1,9024 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom 0.2.11", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + +[[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 = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[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 = "anstream" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" + +[[package]] +name = "anstyle-parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + +[[package]] +name = "anyhow" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" + +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ast_node" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c09c69dffe06d222d072c878c3afe86eee2179806f20503faec97250268b4c24" +dependencies = [ + "pmutil 0.6.1", + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.39", +] + +[[package]] +name = "async-attributes" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" +dependencies = [ + "concurrent-queue", + "event-listener 3.1.0", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0" +dependencies = [ + "async-lock 2.8.0", + "async-task", + "concurrent-queue", + "fastrand 2.0.1", + "futures-lite 1.13.0", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "blocking", + "futures-lite 1.13.0", +] + +[[package]] +name = "async-global-executor" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" +dependencies = [ + "async-channel 1.9.0", + "async-executor", + "async-io 1.13.0", + "async-lock 2.8.0", + "blocking", + "futures-lite 1.13.0", + "once_cell", + "tokio", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2 0.4.10", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" +dependencies = [ + "async-lock 3.1.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.0.1", + "parking", + "polling 3.3.0", + "rustix 0.38.24", + "slab", + "tracing", + "waker-fn", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb2ab2aa8a746e221ab826c73f48bc6ba41be6763f0855cb249eb6d154cf1d7" +dependencies = [ + "event-listener 3.1.0", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.24", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-recursion" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "async-signal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +dependencies = [ + "async-io 2.2.0", + "async-lock 2.8.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.24", + "signal-hook-registry", + "slab", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-attributes", + "async-channel 1.9.0", + "async-global-executor", + "async-io 1.13.0", + "async-lock 2.8.0", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite 1.13.0", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "async-task" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" + +[[package]] +name = "async-trait" +version = "0.1.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "atk" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +dependencies = [ + "atk-sys", + "bitflags 1.3.2", + "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.2.0", +] + +[[package]] +name = "atoi" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa 1.0.9", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.11", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "bae" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b8de67cc41132507eeece2584804efcb15f85ba516e34c944b7667f480397a" +dependencies = [ + "heck 0.3.3", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "better_scoped_tls" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de" +dependencies = [ + "scoped-tls", +] + +[[package]] +name = "bigdecimal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake3" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + +[[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.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel 2.1.0", + "async-lock 3.1.0", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.0.1", + "piper", + "tracing", +] + +[[package]] +name = "borsh" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf617fabf5cdbdc92f774bfe5062d870f228b80056d41180797abf48bed4056e" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3" +dependencies = [ + "once_cell", + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 2.0.39", + "syn_derive", +] + +[[package]] +name = "brotli" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byte-unit" +version = "4.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +dependencies = [ + "serde", + "utf8-width", +] + +[[package]] +name = "byte_string" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11aade7a05aa8c3a351cedc44c3fc45806430543382fcc4743a9b757a2a0b4ed" + +[[package]] +name = "bytecheck" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytemuck" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "cairo-rs" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" +dependencies = [ + "bitflags 1.3.2", + "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.2.0", +] + +[[package]] +name = "camellia" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3264e2574e9ef2b53ce6f536dea83a69ac0bc600b762d1523ff83fe07230ce30" +dependencies = [ + "byteorder", + "cipher", +] + +[[package]] +name = "cargo_toml" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" +dependencies = [ + "serde", + "toml 0.7.8", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" +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 = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20", + "cipher", + "poly1305", + "zeroize", +] + +[[package]] +name = "chrono" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.48.5", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "bitflags 1.3.2", + "clap_derive 3.2.25", + "clap_lex 0.2.4", + "indexmap 1.9.3", + "once_cell", + "textwrap", +] + +[[package]] +name = "clap" +version = "4.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" +dependencies = [ + "clap_builder", + "clap_derive 4.4.7", +] + +[[package]] +name = "clap_builder" +version = "4.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.6.0", + "strsim 0.10.0", +] + +[[package]] +name = "clap_derive" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "clap_derive" +version = "4.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clap_lex" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" + +[[package]] +name = "classic-mceliece-rust" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ce62f72a15a9071f83c5084bdf0af4e8cbf31431e79eb4a5509a2f7fe7fe5d" +dependencies = [ + "rand 0.8.5", + "sha3", + "zeroize", +] + +[[package]] +name = "cocoa" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-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 = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.0", +] + +[[package]] +name = "const-oid" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" + +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + +[[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 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +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 = "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-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crypto-bigint" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.39", +] + +[[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 = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto", + "platforms", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "darling" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" +dependencies = [ + "darling_core 0.10.2", + "darling_macro 0.10.2", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core 0.20.3", + "darling_macro 0.20.3", +] + +[[package]] +name = "darling_core" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.9.3", + "syn 1.0.109", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.39", +] + +[[package]] +name = "darling_macro" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" +dependencies = [ + "darling_core 0.10.2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core 0.20.3", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[package]] +name = "dbus" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" +dependencies = [ + "libc", + "libdbus-sys", + "winapi", +] + +[[package]] +name = "deno_ast" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fa8ee92ff3133827f79ffebb5df4fbea3d74b12e0b8b18f5a354a39126bd003" +dependencies = [ + "deno_media_type", + "dprint-swc-ext", + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "text_lines", +] + +[[package]] +name = "deno_media_type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a798670c20308e5770cc0775de821424ff9e85665b602928509c8c70430b3ee0" +dependencies = [ + "serde", +] + +[[package]] +name = "der" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", + "serde", +] + +[[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_builder" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0" +dependencies = [ + "darling 0.10.2", + "derive_builder_core", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_builder_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef" +dependencies = [ + "darling 0.10.2", + "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", + "syn 1.0.109", +] + +[[package]] +name = "dialoguer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +dependencies = [ + "console", + "fuzzy-matcher", + "shell-words", + "tempfile", + "zeroize", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[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-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 = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "dprint-core" +version = "0.62.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6563addfa2b6c6fa96acdda0341090beba2c5c4ff6ef91f3a232a6d4dd34156" +dependencies = [ + "anyhow", + "bumpalo", + "indexmap 1.9.3", + "rustc-hash", + "serde", + "unicode-width", +] + +[[package]] +name = "dprint-plugin-typescript" +version = "0.85.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee691af15c0a540083e35b19e58fdfaeaf3f57d286263d1d143d82f222fbdc3a" +dependencies = [ + "anyhow", + "deno_ast", + "dprint-core", + "rustc-hash", + "serde", +] + +[[package]] +name = "dprint-swc-ext" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4dda8a1b920e8be367aeaad035753d21bb69b3c50515afb41ab1eefbb886b5" +dependencies = [ + "bumpalo", + "num-bigint", + "rustc-hash", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "text_lines", +] + +[[package]] +name = "drain" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f1a0abf3fcefad9b4dd0e414207a7408e12b68414a01e6bb19b897d5bd7632d" +dependencies = [ + "tokio", +] + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[package]] +name = "dtoa-short" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" +dependencies = [ + "dtoa", +] + +[[package]] +name = "duct" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ae3fc31835f74c2a7ceda3aeede378b0ae2e74c8f1c36559fcc9ae2a4e7d3e" +dependencies = [ + "libc", + "once_cell", + "os_pipe", + "shared_child", +] + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "ecdsa" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +dependencies = [ + "der", + "elliptic-curve", + "signature", +] + +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "elliptic-curve" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +dependencies = [ + "base16ct", + "crypto-bigint", + "der", + "digest", + "generic-array", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "embed-resource" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f54cc3e827ee1c3812239a9a41dede7b4d7d5d5464faa32d71bd7cba28ce2cb2" +dependencies = [ + "cc", + "rustc_version", + "toml 0.8.8", + "vswhom", + "winreg 0.51.0", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-as-inner" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "enumflags2" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "err-context" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "449aad22b1364e927ff3bf50f55404efd705c40065fb47f73f28704de707c89e" + +[[package]] +name = "err-derive" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34a887c8df3ed90498c1c437ce21f211c8e27672921a8ffa293cb8d6d4caa9e" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" +dependencies = [ + "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 = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "backtrace", + "version_check", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +dependencies = [ + "event-listener 3.1.0", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fdeflate" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "fern" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" +dependencies = [ + "log", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a56f0780318174bad1c127063fd0c5fdfb35398e3cd79ffaab931a6c79df80" + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset 0.9.0", + "rustc_version", +] + +[[package]] +name = "figment" +version = "0.10.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "649f3e5d826594057e9a519626304d8da859ea8a0b18ce99500c586b8d45faee" +dependencies = [ + "atomic", + "pear", + "serde", + "toml 0.8.8", + "uncased", + "version_check", +] + +[[package]] +name = "filetime" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "windows-sys 0.48.0", +] + +[[package]] +name = "finl_unicode" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project", + "spin 0.9.8", +] + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "from_variant" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03ec5dc38ee19078d84a692b1c41181ff9f94331c76cee66ff0208c770b5e54f" +dependencies = [ + "pmutil 0.6.1", + "proc-macro2", + "swc_macros_common", + "syn 2.0.39", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[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.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" + +[[package]] +name = "futures-executor" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.11.2", +] + +[[package]] +name = "futures-io" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "futures-sink" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" + +[[package]] +name = "futures-task" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" + +[[package]] +name = "futures-util" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + +[[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 1.3.2", + "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 1.3.2", + "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.2.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.2.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.2.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.2.0", + "x11", +] + +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "ghash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +dependencies = [ + "opaque-debug", + "polyval", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "gio" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" +dependencies = [ + "bitflags 1.3.2", + "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.2.0", + "winapi", +] + +[[package]] +name = "glib" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" +dependencies = [ + "bitflags 1.3.2", + "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 1.3.1", + "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.2.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.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[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.2.0", +] + +[[package]] +name = "gtk" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" +dependencies = [ + "atk", + "bitflags 1.3.2", + "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.2.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 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "h2" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.1.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.7", +] + +[[package]] +name = "hashbrown" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +dependencies = [ + "ahash 0.8.6", + "allocator-api2", +] + +[[package]] +name = "hashlink" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +dependencies = [ + "hashbrown 0.14.2", +] + +[[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" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + +[[package]] +name = "html5ever" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" +dependencies = [ + "log", + "mac", + "markup5ever 0.10.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "html5ever" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +dependencies = [ + "log", + "mac", + "markup5ever 0.11.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "http" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.9", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 1.0.9", + "pin-project-lite", + "socket2 0.4.10", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper", + "pin-project-lite", + "tokio", + "tokio-io-timeout", +] + +[[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.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + +[[package]] +name = "ignore" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +dependencies = [ + "globset", + "lazy_static", + "log", + "memchr", + "regex", + "same-file", + "thread_local", + "walkdir", + "winapi-util", +] + +[[package]] +name = "image" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" +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 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.2", + "serde", +] + +[[package]] +name = "indicatif" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "infer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3" +dependencies = [ + "cfb", +] + +[[package]] +name = "inlinable_string" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" + +[[package]] +name = "inotify" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" +dependencies = [ + "bitflags 1.3.2", + "futures-core", + "inotify-sys", + "libc", + "tokio", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "internet-checksum" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6d6206008e25125b1f97fbe5d309eb7b85141cf9199d52dbd3729a1584dd16" + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ioctl-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c429fffa658f288669529fc26565f728489a2e39bc7b24a428aaaf51355182e" + +[[package]] +name = "ipconfig" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +dependencies = [ + "socket2 0.5.5", + "widestring", + "windows-sys 0.48.0", + "winreg 0.50.0", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "ipnetwork" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8eca9f51da27bc908ef3dd85c21e1bbba794edaf94d7841e37356275b82d31e" +dependencies = [ + "serde", +] + +[[package]] +name = "ipnetwork" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" +dependencies = [ + "serde", +] + +[[package]] +name = "iprange" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37209be0ad225457e63814401415e748e2453a5297f9b637338f5fb8afa4ec00" +dependencies = [ + "ipnet", +] + +[[package]] +name = "is-macro" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7d079e129b77477a49c5c4f1cfe9ce6c2c909ef52520693e8e811a714c7b20" +dependencies = [ + "Inflector", + "pmutil 0.5.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "javascriptcore-rs" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +dependencies = [ + "bitflags 1.3.2", + "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.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[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", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jnix" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd797d41e48568eb956ded20d7e5e3f2df1c02980d9e5b9aab9b47bd3a9f599" +dependencies = [ + "jni 0.19.0", + "jnix-macros", + "once_cell", + "parking_lot 0.12.1", +] + +[[package]] +name = "jnix-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "002f4dfe6d97ae88c33f3489c0d31ffc6f81d9a492de98ff113b127d73bafff8" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "js-sys" +version = "0.3.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6" +dependencies = [ + "serde", + "serde_json", + "thiserror", + "treediff", +] + +[[package]] +name = "json5" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +dependencies = [ + "pest", + "pest_derive", + "serde", +] + +[[package]] +name = "keccak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "kuchiki" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" +dependencies = [ + "cssparser", + "html5ever 0.25.2", + "matches", + "selectors", +] + +[[package]] +name = "kuchikiki" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +dependencies = [ + "cssparser", + "html5ever 0.26.0", + "indexmap 1.9.3", + "matches", + "selectors", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lexical" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6" +dependencies = [ + "lexical-core", +] + +[[package]] +name = "lexical-core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "libdbus-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" +dependencies = [ + "pkg-config", +] + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[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 = "linux-raw-sys" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +dependencies = [ + "value-bag", +] + +[[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-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "lru_time_cache" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd" + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "mac-notification-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51fca4d74ff9dbaac16a01b924bc3693fa2bba0862c2c633abc73f9a8ea21f64" +dependencies = [ + "cc", + "dirs-next", + "objc-foundation", + "objc_id", + "time", +] + +[[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", + "phf 0.8.0", + "phf_codegen 0.8.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "markup5ever" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +dependencies = [ + "log", + "phf 0.10.1", + "phf_codegen 0.10.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[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.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +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 = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "mnl" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1a5469630da93e1813bb257964c0ccee3b26b6879dd858039ddec35cc8681ed" +dependencies = [ + "libc", + "log", + "mnl-sys", +] + +[[package]] +name = "mnl-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9750685b201e1ecfaaf7aa5d0387829170fa565989cc481b49080aa155f70457" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "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 1.3.2", + "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 = "netlink-packet-core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5dee5ed749373c298237fe694eb0a51887f4cc1a27370c8464bac4382348f1a" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "byteorder", + "libc", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-utils" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +dependencies = [ + "anyhow", + "byteorder", + "paste", + "thiserror", +] + +[[package]] +name = "netlink-proto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +dependencies = [ + "bytes", + "futures", + "log", + "netlink-packet-core", + "netlink-sys", + "thiserror", + "tokio", +] + +[[package]] +name = "netlink-sys" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" +dependencies = [ + "bytes", + "futures", + "libc", + "log", + "tokio", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "nftnl" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9201688bd0bc571dfa4c21ce0a525480c8b782776cf88e12571fa89108dd920" +dependencies = [ + "bitflags 1.3.2", + "err-derive", + "log", + "nftnl-sys", +] + +[[package]] +name = "nftnl-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b5c587b6a5e76a3a5d51e0a757ae66dbff38c277563485807ae979ce361b56" +dependencies = [ + "cfg-if", + "libc", + "pkg-config", +] + +[[package]] +name = "nix" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" +dependencies = [ + "bitflags 1.3.2", + "cc", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", +] + +[[package]] +name = "nix" +version = "0.26.1" +source = "git+https://github.com/nix-rust/nix?rev=b13b7d18e0d2f4a8c05e41576c7ebf26d6dbfb28#b13b7d18e0d2f4a8c05e41576c7ebf26d6dbfb28" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.8.0", + "pin-utils", + "static_assertions", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", +] + +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.4.1", + "cfg-if", + "libc", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[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 = "notify-rust" +version = "4.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7b75c8958cb2eab3451538b32db8a7b74006abc33eb2e6a9a56d21e4775c2b" +dependencies = [ + "log", + "mac-notification-sys", + "serde", + "tauri-winrt-notification", + "zbus", +] + +[[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-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", + "serde", +] + +[[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.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "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 1.3.1", + "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 = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "nymvpn-cli" +version = "0.1.0" +dependencies = [ + "async-trait", + "clap 4.4.8", + "console", + "dialoguer", + "indicatif", + "nymvpn-controller", + "nymvpn-types", + "thiserror", + "tokio", + "tokio-stream", + "tonic 0.9.2", + "validator", +] + +[[package]] +name = "nymvpn-config" +version = "0.1.0" +dependencies = [ + "figment", + "once_cell", + "serde", + "thiserror", + "tokio", + "toml 0.7.8", +] + +[[package]] +name = "nymvpn-controller" +version = "0.1.0" +dependencies = [ + "chrono", + "futures", + "hyper", + "nymvpn-config", + "nymvpn-types", + "parity-tokio-ipc", + "prost 0.11.9", + "prost-types 0.11.9", + "thiserror", + "tokio", + "tonic 0.9.2", + "tonic-build 0.9.2", + "tower", +] + +[[package]] +name = "nymvpn-daemon" +version = "0.1.0" +dependencies = [ + "async-trait", + "chrono", + "clap 4.4.8", + "futures", + "futures-channel", + "hyper", + "lazy_static", + "libc", + "nix 0.26.4", + "nymvpn-config", + "nymvpn-controller", + "nymvpn-entity", + "nymvpn-migration", + "nymvpn-server", + "nymvpn-types", + "sea-orm", + "talpid-core", + "talpid-platform-metadata", + "talpid-types", + "thiserror", + "tokio", + "tokio-stream", + "tonic 0.9.2", + "tower", + "tracing", + "tracing-appender", + "tracing-subscriber", + "uuid", + "windows-service", + "windows-sys 0.45.0", +] + +[[package]] +name = "nymvpn-entity" +version = "0.1.0" +dependencies = [ + "nymvpn-types", + "sea-orm", + "serde_json", + "uuid", +] + +[[package]] +name = "nymvpn-migration" +version = "0.1.0" +dependencies = [ + "async-std", + "sea-orm-migration", +] + +[[package]] +name = "nymvpn-packages" +version = "0.0.2" + +[[package]] +name = "nymvpn-server" +version = "0.1.0" +dependencies = [ + "backoff", + "futures", + "hyper", + "ipnetwork 0.20.0", + "nymvpn-config", + "nymvpn-types", + "prost 0.11.9", + "reqwest", + "serde", + "talpid-types", + "thiserror", + "tokio", + "tonic 0.9.2", + "tonic-build 0.9.2", + "tower", + "uuid", +] + +[[package]] +name = "nymvpn-types" +version = "0.1.0" +dependencies = [ + "chrono", + "ipnetwork 0.20.0", + "nymvpn-config", + "serde", + "serde_yaml", + "talpid-types", + "thiserror", + "tokio", + "ts-rs", + "uuid", +] + +[[package]] +name = "nymvpn-ui" +version = "0.1.0" +dependencies = [ + "futures", + "log", + "nymvpn-config", + "nymvpn-controller", + "nymvpn-types", + "semver", + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-log", + "tauri-plugin-single-instance", + "thiserror", + "tokio", + "tokio-stream", + "tonic 0.9.2", +] + +[[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 = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[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 = "openssl" +version = "0.10.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" +dependencies = [ + "bitflags 2.4.1", + "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.39", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "os_info" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" +dependencies = [ + "log", + "serde", + "winapi", +] + +[[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 = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "ouroboros" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" +dependencies = [ + "aliasable", + "ouroboros_macro", +] + +[[package]] +name = "ouroboros_macro" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" +dependencies = [ + "Inflector", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p256" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" +dependencies = [ + "ecdsa", + "elliptic-curve", +] + +[[package]] +name = "p384" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" +dependencies = [ + "ecdsa", + "elliptic-curve", +] + +[[package]] +name = "pango" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +dependencies = [ + "bitflags 1.3.2", + "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.2.0", +] + +[[package]] +name = "parity-tokio-ipc" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6" +dependencies = [ + "futures", + "libc", + "log", + "rand 0.7.3", + "tokio", + "winapi", +] + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[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 0.9.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "smallvec", + "windows-targets 0.48.5", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "pear" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a386cd715229d399604b50d1361683fe687066f42d56f54be995bc6868f71c" +dependencies = [ + "inlinable_string", + "pear_codegen", + "yansi", +] + +[[package]] +name = "pear_codegen" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f0f13dac8069c139e8300a6510e3f4143ecf5259c60b116a9b271b4ca0d54" +dependencies = [ + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pest" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "pest_meta" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.1.0", +] + +[[package]] +name = "pfctl" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e0c1e1bc65fb241166b7ec8278d89cc2432d41adcbe57ffe1095c81e1d7b44" +dependencies = [ + "derive_builder", + "errno 0.2.8", + "error-chain", + "ioctl-sys", + "ipnetwork 0.16.0", + "libc", +] + +[[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_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.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + +[[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_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 = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + +[[package]] +name = "pkcs8" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "platforms" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" + +[[package]] +name = "plist" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" +dependencies = [ + "base64 0.21.5", + "indexmap 2.1.0", + "line-wrap", + "quick-xml 0.31.0", + "serde", + "time", +] + +[[package]] +name = "pmutil" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pmutil" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a40bc70c2c58040d2d8b167ba9a5ff59fc9dab7ad44771cfde3dcfde7a09c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "png" +version = "0.17.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" +dependencies = [ + "bitflags 1.3.2", + "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 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +dependencies = [ + "cfg-if", + "concurrent-queue", + "pin-project-lite", + "rustix 0.38.24", + "tracing", + "windows-sys 0.48.0", +] + +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "pqc_kyber" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b79004a05337e54e8ffc0ec7470e40fa26eca6fe182968ec2b803247f2283c" +dependencies = [ + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.39", +] + +[[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 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + +[[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.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", + "version_check", + "yansi", +] + +[[package]] +name = "prost" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" +dependencies = [ + "bytes", + "prost-derive 0.12.1", +] + +[[package]] +name = "prost-build" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +dependencies = [ + "bytes", + "heck 0.4.1", + "itertools 0.10.5", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease 0.1.25", + "prost 0.11.9", + "prost-types 0.11.9", + "regex", + "syn 1.0.109", + "tempfile", + "which", +] + +[[package]] +name = "prost-build" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" +dependencies = [ + "bytes", + "heck 0.4.1", + "itertools 0.11.0", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease 0.2.15", + "prost 0.12.1", + "prost-types 0.12.1", + "regex", + "syn 2.0.39", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" +dependencies = [ + "anyhow", + "itertools 0.11.0", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "prost-types" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost 0.11.9", +] + +[[package]] +name = "prost-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" +dependencies = [ + "prost 0.12.1", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +dependencies = [ + "memchr", +] + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[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.11", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +dependencies = [ + "getrandom 0.2.11", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.3", + "regex-syntax 0.8.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-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[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.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "rend" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.11.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +dependencies = [ + "base64 0.21.5", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.50.0", +] + +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error", +] + +[[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", + "log", + "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 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +dependencies = [ + "cc", + "getrandom 0.2.11", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + +[[package]] +name = "ring-compat" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333b9bf6765e0141324d95b5375bb1aa5267865bb4bc0281c22aff22f5d37746" +dependencies = [ + "aead", + "digest", + "ecdsa", + "ed25519", + "generic-array", + "opaque-debug", + "p256", + "p384", + "pkcs8", + "ring 0.16.20", + "signature", +] + +[[package]] +name = "rkyv" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +dependencies = [ + "bitvec", + "bytecheck", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rs-release" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21efba391745f92fc14a5cccb008e711a1a3708d8dacd2e69d88d5de513c117a" + +[[package]] +name = "rtnetlink" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46f1cfa18f8cebe685373a2697915d7e0db3b4554918bba118385e0f71f258a7" +dependencies = [ + "futures", + "log", + "netlink-packet-route", + "netlink-proto", + "nix 0.24.3", + "thiserror", + "tokio", +] + +[[package]] +name = "rust_decimal" +version = "1.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076ba1058b036d3ca8bcafb1d54d0b0572e99d7ecd3e4222723e18ca8e9ca9a8" +dependencies = [ + "arrayvec", + "borsh", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno 0.3.7", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234" +dependencies = [ + "bitflags 2.4.1", + "errno 0.3.7", + "libc", + "linux-raw-sys 0.4.11", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustls" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" +dependencies = [ + "log", + "ring 0.16.20", + "sct", + "webpki", +] + +[[package]] +name = "rustls" +version = "0.21.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +dependencies = [ + "log", + "ring 0.17.5", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.5", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.5", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[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.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.5", + "untrusted 0.9.0", +] + +[[package]] +name = "sea-orm" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fade86e8d41fd1a4721f84cb834f4ca2783f973cc30e6212b7fafc134f169214" +dependencies = [ + "async-stream", + "async-trait", + "bigdecimal", + "chrono", + "futures", + "log", + "ouroboros", + "rust_decimal", + "sea-orm-macros", + "sea-query", + "sea-query-binder", + "sea-strum", + "serde", + "serde_json", + "sqlx", + "thiserror", + "time", + "tracing", + "url", + "uuid", +] + +[[package]] +name = "sea-orm-cli" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbf34a2caf70c2e3be9bb1e674e9540f6dfd7c8f40f6f05daf3b9740e476005" +dependencies = [ + "chrono", + "clap 3.2.25", + "dotenvy", + "regex", + "sea-schema", + "tracing", + "tracing-subscriber", + "url", +] + +[[package]] +name = "sea-orm-macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28936f26d62234ff0be16f80115dbdeb3237fe9c25cf18fbcd1e3b3592360f20" +dependencies = [ + "bae", + "heck 0.3.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sea-orm-migration" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "278d3adfd0832b6ffc17d3cfbc574d3695a5c1b38814e0bc8ac238d33f3d87cf" +dependencies = [ + "async-trait", + "clap 3.2.25", + "dotenvy", + "futures", + "sea-orm", + "sea-orm-cli", + "sea-schema", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "sea-query" +version = "0.28.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbab99b8cd878ab7786157b7eb8df96333a6807cc6e45e8888c85b51534b401a" +dependencies = [ + "bigdecimal", + "chrono", + "rust_decimal", + "sea-query-derive", + "serde_json", + "time", + "uuid", +] + +[[package]] +name = "sea-query-binder" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cea85029985b40dfbf18318d85fe985c04db7c1b4e5e8e0a0a0cdff5f1e30f9" +dependencies = [ + "bigdecimal", + "chrono", + "rust_decimal", + "sea-query", + "serde_json", + "sqlx", + "time", + "uuid", +] + +[[package]] +name = "sea-query-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63f62030c60f3a691f5fe251713b4e220b306e50a71e1d6f9cce1f24bb781978" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "thiserror", +] + +[[package]] +name = "sea-schema" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeb2940bb5a10bc6cd05b450ce6cd3993e27fddd7eface2becb97fc5af3a040e" +dependencies = [ + "futures", + "sea-query", + "sea-schema-derive", +] + +[[package]] +name = "sea-schema-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56821b7076f5096b8f726e2791ad255a99c82498e08ec477a65a96c461ff1927" +dependencies = [ + "heck 0.3.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sea-strum" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "391d06a6007842cfe79ac6f7f53911b76dfd69fc9a6769f1cf6569d12ce20e1b" +dependencies = [ + "sea-strum_macros", +] + +[[package]] +name = "sea-strum_macros" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b4397b825df6ccf1e98bcdabef3bbcfc47ff5853983467850eeab878384f21" +dependencies = [ + "heck 0.3.3", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "sec1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +dependencies = [ + "base16ct", + "der", + "generic-array", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +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 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "semver" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +dependencies = [ + "serde", +] + +[[package]] +name = "sendfd" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604b71b8fc267e13bb3023a2c901126c8f349393666a6d98ac1ae5729b701798" +dependencies = [ + "libc", + "tokio", +] + +[[package]] +name = "serde" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "serde_json" +version = "1.0.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +dependencies = [ + "itoa 1.0.9", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "serde_spanned" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +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.9", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" +dependencies = [ + "base64 0.21.5", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.1.0", + "serde", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" +dependencies = [ + "darling 0.20.3", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "serde_yaml" +version = "0.9.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c" +dependencies = [ + "indexmap 2.1.0", + "itoa 1.0.9", + "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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest", + "keccak", +] + +[[package]] +name = "shadowsocks" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a88117e02c82d31aa5c967d8bb7f100747512d257fd3de8e0c14797262c9598a" +dependencies = [ + "async-trait", + "base64 0.21.5", + "blake3", + "byte_string", + "bytes", + "cfg-if", + "futures", + "libc", + "log", + "once_cell", + "percent-encoding", + "pin-project", + "sendfd", + "serde", + "serde_json", + "serde_urlencoded", + "shadowsocks-crypto", + "socket2 0.5.5", + "spin 0.9.8", + "thiserror", + "tokio", + "tokio-tfo", + "url", + "windows-sys 0.48.0", +] + +[[package]] +name = "shadowsocks-crypto" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c1997aeb62e03a85d022874bbb60374bb0593b9f1e1d28be21700f10c5a6bf" +dependencies = [ + "aes", + "aes-gcm", + "camellia", + "cfg-if", + "chacha20", + "chacha20poly1305", + "ctr", + "hkdf", + "md-5", + "rand 0.8.5", + "ring-compat", + "sha1", +] + +[[package]] +name = "shadowsocks-service" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950fb2672b51c24b7e223bacffb2c4f2acf55b0e93079bb2c5d21d948ea099a" +dependencies = [ + "arc-swap", + "async-trait", + "byte_string", + "byteorder", + "bytes", + "cfg-if", + "futures", + "idna", + "ipnet", + "iprange", + "json5", + "libc", + "log", + "lru_time_cache", + "nix 0.27.1", + "once_cell", + "pin-project", + "rand 0.8.5", + "regex", + "serde", + "shadowsocks", + "socket2 0.5.5", + "spin 0.9.8", + "thiserror", + "tokio", + "windows-sys 0.48.0", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[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 = "shell-escape" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[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 = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" + +[[package]] +name = "smartstring" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" +dependencies = [ + "autocfg", + "static_assertions", + "version_check", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "soup2" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" +dependencies = [ + "bitflags 1.3.2", + "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 1.3.2", + "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" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlformat" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b7b278788e7be4d0d29c0f39497a0eef3fba6bbc8e70d8bf7fde46edeaa9e85" +dependencies = [ + "itertools 0.11.0", + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188" +dependencies = [ + "sqlx-core", + "sqlx-macros", +] + +[[package]] +name = "sqlx-core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029" +dependencies = [ + "ahash 0.7.7", + "atoi", + "bigdecimal", + "bitflags 1.3.2", + "byteorder", + "bytes", + "chrono", + "crossbeam-queue", + "dotenvy", + "either", + "event-listener 2.5.3", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "hashlink", + "hex", + "indexmap 1.9.3", + "itoa 1.0.9", + "libc", + "libsqlite3-sys", + "log", + "memchr", + "num-bigint", + "once_cell", + "paste", + "percent-encoding", + "rust_decimal", + "rustls 0.20.9", + "rustls-pemfile", + "serde", + "serde_json", + "smallvec", + "sqlformat", + "sqlx-rt", + "stringprep", + "thiserror", + "time", + "tokio-stream", + "url", + "uuid", + "webpki-roots", +] + +[[package]] +name = "sqlx-macros" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9" +dependencies = [ + "dotenvy", + "either", + "heck 0.4.1", + "once_cell", + "proc-macro2", + "quote", + "serde_json", + "sqlx-core", + "sqlx-rt", + "syn 1.0.109", + "url", +] + +[[package]] +name = "sqlx-rt" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024" +dependencies = [ + "once_cell", + "tokio", + "tokio-rustls 0.23.4", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stacker" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "winapi", +] + +[[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 0.12.1", + "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 = "string_enum" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fa4d4f81d7c05b9161f8de839975d3326328b8ba2831164b465524cc2f55252" +dependencies = [ + "pmutil 0.6.1", + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.39", +] + +[[package]] +name = "stringprep" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" +dependencies = [ + "finl_unicode", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "strsim" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "subslice" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a8e4809a3bb02de01f1f7faf1ba01a83af9e8eabcd4d31dd6e413d14d56aae" +dependencies = [ + "memchr", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "swc_atoms" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d0307dc4bfd107d49c7528350c372758cfca94fb503629b9a056e6a1572860" +dependencies = [ + "once_cell", + "rustc-hash", + "serde", + "string_cache", + "string_cache_codegen", + "triomphe", +] + +[[package]] +name = "swc_common" +version = "0.31.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19c774005489d2907fb67909cf42af926e72edee1366512777c605ba2ef19c94" +dependencies = [ + "ahash 0.7.7", + "ast_node", + "better_scoped_tls", + "cfg-if", + "either", + "from_variant", + "new_debug_unreachable", + "num-bigint", + "once_cell", + "rustc-hash", + "serde", + "siphasher", + "string_cache", + "swc_atoms", + "swc_eq_ignore_macros", + "swc_visit", + "tracing", + "unicode-width", + "url", +] + +[[package]] +name = "swc_ecma_ast" +version = "0.104.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5cf9dd351d0c285dcd36535267953a18995d4dda0cbe34ac9d1df61aa415b26" +dependencies = [ + "bitflags 2.4.1", + "is-macro", + "num-bigint", + "scoped-tls", + "serde", + "string_enum", + "swc_atoms", + "swc_common", + "unicode-id", +] + +[[package]] +name = "swc_ecma_parser" +version = "0.134.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a3fcfe3d83dd445cbd9321882e47b467594433d9a21c4d6c37a27f534bb89e" +dependencies = [ + "either", + "lexical", + "num-bigint", + "serde", + "smallvec", + "smartstring", + "stacker", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "tracing", + "typed-arena", +] + +[[package]] +name = "swc_eq_ignore_macros" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05a95d367e228d52484c53336991fdcf47b6b553ef835d9159db4ba40efb0ee8" +dependencies = [ + "pmutil 0.6.1", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "swc_macros_common" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a273205ccb09b51fabe88c49f3b34c5a4631c4c00a16ae20e03111d6a42e832" +dependencies = [ + "pmutil 0.6.1", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "swc_visit" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e87c337fbb2d191bf371173dea6a957f01899adb8f189c6c31b122a6cfc98fc3" +dependencies = [ + "either", + "swc_visit_macros", +] + +[[package]] +name = "swc_visit_macros" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f322730fb82f3930a450ac24de8c98523af7d34ab8cb2f46bcb405839891a99" +dependencies = [ + "Inflector", + "pmutil 0.6.1", + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.39", +] + +[[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.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] + +[[package]] +name = "sys-locale" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a11bd9c338fdba09f7881ab41551932ad42e405f61d01e8406baea71c07aee" +dependencies = [ + "js-sys", + "libc", + "wasm-bindgen", + "web-sys", + "windows-sys 0.45.0", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" +dependencies = [ + "cfg-expr 0.15.5", + "heck 0.4.1", + "pkg-config", + "toml 0.8.8", + "version-compare 0.1.1", +] + +[[package]] +name = "talpid-core" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "async-trait", + "bitflags 1.3.2", + "chrono", + "duct", + "err-derive", + "futures", + "inotify", + "ipnetwork 0.16.0", + "jnix", + "libc", + "log", + "memoffset 0.6.5", + "mnl", + "nftnl", + "nix 0.23.2", + "once_cell", + "parking_lot 0.12.1", + "pfctl", + "rand 0.8.5", + "resolv-conf", + "subslice", + "system-configuration", + "talpid-dbus", + "talpid-openvpn", + "talpid-routing", + "talpid-time", + "talpid-tunnel", + "talpid-tunnel-config-client", + "talpid-types", + "talpid-windows", + "talpid-wireguard", + "tokio", + "tonic-build 0.10.2", + "triggered", + "trust-dns-proto", + "trust-dns-server", + "which", + "widestring", + "windows-service", + "windows-sys 0.48.0", + "winreg 0.51.0", +] + +[[package]] +name = "talpid-dbus" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "dbus", + "err-derive", + "libc", + "log", + "once_cell", + "tokio", +] + +[[package]] +name = "talpid-openvpn" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "async-trait", + "err-derive", + "futures", + "log", + "once_cell", + "parity-tokio-ipc", + "prost 0.12.1", + "shadowsocks-service", + "shell-escape", + "talpid-routing", + "talpid-tunnel", + "talpid-types", + "talpid-windows", + "tokio", + "tonic 0.10.2", + "tonic-build 0.10.2", + "triggered", + "uuid", + "widestring", + "windows-sys 0.48.0", + "winreg 0.51.0", +] + +[[package]] +name = "talpid-platform-metadata" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "rs-release", + "talpid-dbus", + "windows-sys 0.48.0", +] + +[[package]] +name = "talpid-routing" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "bitflags 1.3.2", + "err-derive", + "futures", + "ipnetwork 0.16.0", + "libc", + "log", + "netlink-packet-route", + "netlink-sys", + "nix 0.26.1", + "once_cell", + "rtnetlink", + "system-configuration", + "talpid-types", + "talpid-windows", + "tokio", + "widestring", + "windows-sys 0.48.0", +] + +[[package]] +name = "talpid-time" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "libc", + "tokio", +] + +[[package]] +name = "talpid-tunnel" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "cfg-if", + "duct", + "err-derive", + "futures", + "ipnetwork 0.16.0", + "jnix", + "log", + "nix 0.23.2", + "talpid-routing", + "talpid-types", + "talpid-windows", + "tokio", + "tun", + "windows-sys 0.48.0", +] + +[[package]] +name = "talpid-tunnel-config-client" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "classic-mceliece-rust", + "libc", + "log", + "pqc_kyber", + "prost 0.12.1", + "rand 0.8.5", + "talpid-types", + "tokio", + "tonic 0.10.2", + "tonic-build 0.10.2", + "tower", + "windows-sys 0.48.0", + "zeroize", +] + +[[package]] +name = "talpid-types" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "base64 0.13.1", + "err-derive", + "ipnetwork 0.16.0", + "jnix", + "serde", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "talpid-windows" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "err-derive", + "futures", + "socket2 0.5.5", + "talpid-types", + "windows-sys 0.48.0", +] + +[[package]] +name = "talpid-wireguard" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "chrono", + "duct", + "err-derive", + "futures", + "hex", + "internet-checksum", + "ipnetwork 0.16.0", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-packet-utils", + "netlink-proto", + "nix 0.23.2", + "once_cell", + "parking_lot 0.12.1", + "rand 0.8.5", + "rtnetlink", + "socket2 0.5.5", + "talpid-dbus", + "talpid-routing", + "talpid-tunnel", + "talpid-tunnel-config-client", + "talpid-types", + "talpid-windows", + "tokio", + "tokio-stream", + "tunnel-obfuscation", + "widestring", + "windows-sys 0.48.0", + "zeroize", +] + +[[package]] +name = "tao" +version = "0.16.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f5aefd6be4cd3ad3f047442242fd9f57cbfb3e565379f66b5e14749364fa4f" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "cc", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "gdk", + "gdk-pixbuf", + "gdk-sys", + "gdkwayland-sys", + "gdkx11-sys", + "gio", + "glib", + "glib-sys", + "gtk", + "image", + "instant", + "jni 0.20.0", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot 0.12.1", + "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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tar" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "target-lexicon" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" + +[[package]] +name = "tauri" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bfe673cf125ef364d6f56b15e8ce7537d9ca7e4dae1cf6fbbdeed2e024db3d9" +dependencies = [ + "anyhow", + "cocoa", + "dirs-next", + "embed_plist", + "encoding_rs", + "flate2", + "futures-util", + "glib", + "glob", + "gtk", + "heck 0.4.1", + "http", + "ignore", + "notify-rust", + "objc", + "once_cell", + "open", + "os_info", + "percent-encoding", + "rand 0.8.5", + "raw-window-handle", + "regex", + "rfd", + "semver", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "state", + "sys-locale", + "tar", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "tempfile", + "thiserror", + "tokio", + "url", + "uuid", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-build" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defbfc551bd38ab997e5f8e458f87396d2559d05ce32095076ad6c30f7fc5f9c" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs-next", + "heck 0.4.1", + "json-patch", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b3475e55acec0b4a50fb96435f19631fb58cbcd31923e1a213de5c382536bbb" +dependencies = [ + "base64 0.21.5", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "regex", + "semver", + "serde", + "serde_json", + "sha2", + "tauri-utils", + "thiserror", + "time", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613740228de92d9196b795ac455091d3a5fbdac2654abb8bb07d010b62ab43af" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin-log" +version = "0.0.0" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#dce0f02bc571128308c30278cde3233f341e6a50" +dependencies = [ + "byte-unit", + "fern", + "log", + "serde", + "serde_json", + "serde_repr", + "tauri", + "time", +] + +[[package]] +name = "tauri-plugin-single-instance" +version = "0.0.0" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#dce0f02bc571128308c30278cde3233f341e6a50" +dependencies = [ + "log", + "serde", + "serde_json", + "tauri", + "thiserror", + "windows-sys 0.48.0", + "zbus", +] + +[[package]] +name = "tauri-runtime" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07f8e9e53e00e9f41212c115749e87d5cd2a9eebccafca77a19722eeecd56d43" +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.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8141d72b6b65f2008911e9ef5b98a68d1e3413b7a1464e8f85eb3673bb19a895" +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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34d55e185904a84a419308d523c2c6891d5e2dbcee740c4997eb42e75a7b0f46" +dependencies = [ + "brotli", + "ctor", + "dunce", + "glob", + "heck 0.4.1", + "html5ever 0.26.0", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.10.1", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "serde_with", + "thiserror", + "url", + "walkdir", + "windows 0.39.0", +] + +[[package]] +name = "tauri-winres" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +dependencies = [ + "embed-resource", + "toml 0.7.8", +] + +[[package]] +name = "tauri-winrt-notification" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006851c9ccefa3c38a7646b8cec804bb429def3da10497bfa977179869c3e8e2" +dependencies = [ + "quick-xml 0.30.0", + "windows 0.51.1", +] + +[[package]] +name = "tempfile" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +dependencies = [ + "cfg-if", + "fastrand 2.0.1", + "redox_syscall 0.4.1", + "rustix 0.38.24", + "windows-sys 0.48.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 = "termcolor" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "text_lines" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd5828de7deaa782e1dd713006ae96b3bee32d3279b79eb67ecf8072c059bcf" +dependencies = [ + "serde", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[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.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[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.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +dependencies = [ + "deranged", + "itoa 1.0.9", + "libc", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +dependencies = [ + "time-core", +] + +[[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.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot 0.12.1", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.5", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[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.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls 0.20.9", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.8", + "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", + "tokio-util", +] + +[[package]] +name = "tokio-tfo" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b433f102de6c9b0546dc73398ba3d38d8a556f29f731268451e0b1b3aab9e" +dependencies = [ + "cfg-if", + "futures", + "libc", + "log", + "once_cell", + "pin-project", + "socket2 0.5.5", + "tokio", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.21.0", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.1.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +dependencies = [ + "indexmap 2.1.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tonic" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64 0.21.5", + "bytes", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-timeout", + "percent-encoding", + "pin-project", + "prost 0.11.9", + "rustls-native-certs", + "rustls-pemfile", + "tokio", + "tokio-rustls 0.24.1", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64 0.21.5", + "bytes", + "h2", + "http", + "http-body", + "hyper", + "hyper-timeout", + "percent-encoding", + "pin-project", + "prost 0.12.1", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-build" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" +dependencies = [ + "prettyplease 0.1.25", + "proc-macro2", + "prost-build 0.11.9", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tonic-build" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" +dependencies = [ + "prettyplease 0.2.15", + "proc-macro2", + "prost-build 0.12.1", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[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.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror", + "time", + "tracing-subscriber", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "treediff" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303" +dependencies = [ + "serde_json", +] + +[[package]] +name = "triggered" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce148eae0d1a376c1b94ae651fc3261d9cb8294788b962b7382066376503a2d1" + +[[package]] +name = "triomphe" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" +dependencies = [ + "serde", + "stable_deref_trait", +] + +[[package]] +name = "trust-dns-proto" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.8.5", + "serde", + "smallvec", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "trust-dns-resolver" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" +dependencies = [ + "cfg-if", + "futures-util", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot 0.12.1", + "rand 0.8.5", + "resolv-conf", + "serde", + "smallvec", + "thiserror", + "tokio", + "tracing", + "trust-dns-proto", +] + +[[package]] +name = "trust-dns-server" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c540f73c2b2ec2f6c54eabd0900e7aafb747a820224b742f556e8faabb461bc7" +dependencies = [ + "async-trait", + "bytes", + "cfg-if", + "drain", + "enum-as-inner", + "futures-executor", + "futures-util", + "serde", + "thiserror", + "time", + "tokio", + "toml 0.7.8", + "tracing", + "trust-dns-proto", + "trust-dns-resolver", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "ts-rs" +version = "7.0.0" +source = "git+https://github.com/Aleph-Alpha/ts-rs#c4bee20eb1f46372b5022b36f6001a6744aff1ed" +dependencies = [ + "chrono", + "dprint-plugin-typescript", + "thiserror", + "ts-rs-macros", + "uuid", +] + +[[package]] +name = "ts-rs-macros" +version = "7.0.0" +source = "git+https://github.com/Aleph-Alpha/ts-rs#c4bee20eb1f46372b5022b36f6001a6744aff1ed" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 2.0.39", + "termcolor", +] + +[[package]] +name = "tun" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbc25e23adc6cac7dd895ce2780f255902290fc39b00e1ae3c33e89f3d20fa66" +dependencies = [ + "ioctl-sys", + "libc", + "thiserror", +] + +[[package]] +name = "tunnel-obfuscation" +version = "0.0.0" +source = "git+https://github.com/mullvad/mullvadvpn-app.git?rev=04c6609948a770aed30491c66c4c6d779bc71c92#04c6609948a770aed30491c66c4c6d779bc71c92" +dependencies = [ + "async-trait", + "err-derive", + "tokio", + "udp-over-tcp", +] + +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "udp-over-tcp" +version = "0.3.0" +source = "git+https://github.com/mullvad/udp-over-tcp?rev=87936ac29b68b902565955f138ab02294bcc8593#87936ac29b68b902565955f138ab02294bcc8593" +dependencies = [ + "err-context", + "futures", + "lazy_static", + "log", + "nix 0.23.2", + "tokio", +] + +[[package]] +name = "uds_windows" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +dependencies = [ + "tempfile", + "winapi", +] + +[[package]] +name = "uncased" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b9bc53168a4be7402ab86c3aad243a84dd7381d09be0eddc81280c1da95ca68" +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-id" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[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 = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +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-width" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +dependencies = [ + "getrandom 0.2.11", + "serde", +] + +[[package]] +name = "validator" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b92f40481c04ff1f4f61f304d61793c7b56ff76ac1469f1beb199b1445b253bd" +dependencies = [ + "idna", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_derive", +] + +[[package]] +name = "validator_derive" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc44ca3088bb3ba384d9aecf40c6a23a676ce23e09bdaca2073d99c207f864af" +dependencies = [ + "if_chain", + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "111abfe30072511849c5910134e8baf8dc05de4c0e5903d681cbd5c9c4d611e3" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "value-bag" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a72e1902dde2bd6441347de2b70b7f5d59bf157c6c62f0c44572607a1d55bbe" + +[[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 = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "waker-fn" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" + +[[package]] +name = "walkdir" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[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.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.39", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" + +[[package]] +name = "web-sys" +version = "0.3.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +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 1.3.2", + "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 1.3.2", + "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.2.0", +] + +[[package]] +name = "webpki" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" +dependencies = [ + "ring 0.17.5", + "untrusted 0.9.0", +] + +[[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", + "serde", + "serde_json", + "thiserror", + "windows 0.39.0", + "windows-bindgen", + "windows-metadata", +] + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.24", +] + +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +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 = "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.5", +] + +[[package]] +name = "windows" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +dependencies = [ + "windows-core", + "windows-targets 0.48.5", +] + +[[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-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[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-service" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9db37ecb5b13762d95468a2fc6009d4b2c62801243223aabd44fca13ad13c8" +dependencies = [ + "bitflags 1.3.2", + "widestring", + "windows-sys 0.45.0", +] + +[[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.5", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +dependencies = [ + "memchr", +] + +[[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 = "winreg" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wry" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ef04bdad49eba2e01f06e53688c8413bd6a87b0bc14b72284465cf96e3578e" +dependencies = [ + "base64 0.13.1", + "block", + "cocoa", + "core-graphics", + "crossbeam-channel", + "dunce", + "gdk", + "gio", + "glib", + "gtk", + "html5ever 0.25.2", + "http", + "kuchiki", + "libc", + "log", + "objc", + "objc_id", + "once_cell", + "serde", + "serde_json", + "sha2", + "soup2", + "tao", + "thiserror", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[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 = "x25519-dalek" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" +dependencies = [ + "curve25519-dalek", + "rand_core 0.6.4", + "serde", + "zeroize", +] + +[[package]] +name = "xattr" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" +dependencies = [ + "libc", +] + +[[package]] +name = "xdg-home" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +dependencies = [ + "nix 0.26.4", + "winapi", +] + +[[package]] +name = "yansi" +version = "1.0.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377" + +[[package]] +name = "zbus" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "byteorder", + "derivative", + "enumflags2", + "event-listener 2.5.3", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.4", + "once_cell", + "ordered-stream", + "rand 0.8.5", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.7.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "zeroize" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12a3946ecfc929b583800f4629b6c25b88ac6e92a40ea5670f77112a85d40a8b" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "zvariant" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/nym-vpn/desktop/Cargo.toml b/nym-vpn/desktop/Cargo.toml new file mode 100644 index 00000000000..7f314495e9a --- /dev/null +++ b/nym-vpn/desktop/Cargo.toml @@ -0,0 +1,22 @@ +[workspace] +resolver = "2" +members = [ + "nymvpn-cli", + "nymvpn-config", + "nymvpn-controller", + "nymvpn-daemon", + "nymvpn-entity", + "nymvpn-migration", + "nymvpn-packages", + "nymvpn-server", + "nymvpn-types", + "nymvpn-ui/src-tauri", +] + +[profile.release] +#opt-level = 'z' # Optimize for size. +opt-level = 3 +lto = true # Enable Link Time Optimization +#codegen-units = 1 # Reduce number of codegen units to increase optimizations. +#panic = 'abort' # Abort on panic +strip = true # Strip symbols from binary* diff --git a/nym-vpn/desktop/LICENSE b/nym-vpn/desktop/LICENSE new file mode 100644 index 00000000000..f288702d2fa --- /dev/null +++ b/nym-vpn/desktop/LICENSE @@ -0,0 +1,674 @@ + 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/nym-vpn/desktop/Makefile.toml b/nym-vpn/desktop/Makefile.toml new file mode 100644 index 00000000000..5628538364f --- /dev/null +++ b/nym-vpn/desktop/Makefile.toml @@ -0,0 +1,321 @@ +[env] +CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true +PWD = {script = ["pwd"]} +REPO_ROOT = "${PWD}" +BUILDER_TAG = {script = ["cat nymvpn-packages/tag.txt"] } +#Change this +#UPSTREAM_REPO = "git@github.com:nymvpn/mullvadvpn-app.git" +#UPSTREAM_REV = "2023.3.nymvpn" +#UPSTREAM_REPO_PATH = "${PWD}/.nymvpn/mullvadvpn-app" +RUSTUP_HOST = { script = ["rustup show | rg host | awk '{print $3}'"] } +APP_VERSION = { script = ["grep version nymvpn-packages/Cargo.toml | cut -d '\"' -f2"]} +TARGET = { script = ["echo ${RUSTUP_HOST}"], condition = { env_not_set = ["TARGET"] } } +STRIP = {script = ["([ ${TARGET} = \"aarch64-unknown-linux-gnu\" ] && echo \"--no-strip\") || echo \"--strip\""]} + + +[tasks.release-build] +workspace = false +command = "cargo" +args = ["build", "--release", "--target", "${TARGET}"] + +[tasks.deb] +workspace = false +command = "cargo" +args = ["deb", "-p", "nymvpn-packages", "--target", "${TARGET}", "${STRIP}", "${@}"] +dependencies = ["oss", "ui", "wglib"] + +[tasks.rpm] +workspace = false +command = "cargo" +args = ["generate-rpm", "-p", "nymvpn-packages", "--target", "${TARGET}", "${@}"] +dependencies = ["oss", "ui", "wglib", "release-build", "strip"] + +[tasks.rpm-no-build] +workspace = false +command = "cargo" +args = ["generate-rpm", "-p", "nymvpn-packages", "--target", "${TARGET}", "${@}"] +dependencies = ["ui", "wglib", "strip"] + +[tasks.strip] +workspace = false +script = ''' +CARGO_TARGET_DIR=${CARGO_TARGET_DIR:-target} + +if [ "${STRIP:-}" = "--strip" ]; then + for file in nymvpn nymvpn-ui nymvpn-daemon + do + output="${CARGO_TARGET_DIR}/${TARGET}/release/${file}" + if [ -f "${output}" ]; then + strip "${output}" + fi + done +fi +''' + +[tasks.pkg] +workspace = false +script = ''' +tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir') +cp -R nymvpn-packages/macos ${tempdir} +cp nymvpn-assets/icons/icon.icns ${tempdir}/macos/pkg/root/Applications/nymvpn.app/Contents/Resources +cp nymvpn-packages/nymvpn-oss-licenses.html ${tempdir}/macos/pkg/root/Applications/nymvpn.app/Contents/Resources +cp target/${TARGET}/release/nymvpn ${tempdir}/macos/pkg/root/Applications/nymvpn.app/Contents/Resources +cp target/${TARGET}/release/nymvpn-daemon ${tempdir}/macos/pkg/root/Applications/nymvpn.app/Contents/Resources +cp target/${TARGET}/release/nymvpn-ui ${tempdir}/macos/pkg/root/Applications/nymvpn.app/Contents/MacOS +rm ${tempdir}/macos/pkg/root/Applications/nymvpn.app/Contents/MacOS/.gitkeep +pushd ${tempdir}/macos +./build.sh "${APP_VERSION}" +popd +mkdir -p target/pkg +AARCH=$(uname -m) +cp ${tempdir}/macos/nymvpn-${APP_VERSION}.pkg target/pkg/nymvpn-${APP_VERSION}-${AARCH}.pkg +echo "Output: target/pkg/nymvpn-${APP_VERSION}-${AARCH}.pkg" +rm -r ${tempdir} +''' +dependencies = ["oss", "ui", "wglib", "release-build"] + +[tasks.setupupstream] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +mkdir -p ${UPSTREAM_REPO_PATH} + +if [ ! -d ${UPSTREAM_REPO_PATH}/.git ]; then + git clone ${UPSTREAM_REPO} ${UPSTREAM_REPO_PATH} + cd ${UPSTREAM_REPO_PATH} && git submodule update --init && cd - +fi + +cd ${UPSTREAM_REPO_PATH} +git fetch --all --tags +git checkout ${UPSTREAM_REV} +''' + +[tasks.wglib] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +cd ${UPSTREAM_REPO_PATH} +./wireguard/build-wireguard-go.sh "${TARGET}" +cp -r ${UPSTREAM_REPO_PATH}/build ${REPO_ROOT} +''' +dependencies = ["cargo-config", "setupupstream"] + +[tasks.winfw] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +output_dir=${REPO_ROOT}/windows/${TARGET} +mkdir -p ${output_dir} +cd ${UPSTREAM_REPO_PATH} +IS_RELEASE=true CPP_BUILD_MODES=Release ./build-windows-modules.sh +cp -r ${UPSTREAM_REPO_PATH}/windows/winfw/bin/x64-Release/ ${output_dir} +''' + +[tasks.windows] +workspace = false +dependencies = ["oss", "cargo-config", "setupupstream", "wglib", "ui", "winfw", "release-build"] + +[tasks.windows-sign] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +set -eu +./nymvpn-packages/windows/sign.sh \ + target/${TARGET}/release/nymvpn.exe \ + target/${TARGET}/release/nymvpn-ui.exe \ + target/${TARGET}/release/nymvpn-daemon.exe \ + build/lib/${TARGET}/libwg.dll \ + windows/${TARGET}/X64-Release/winfw.dll +''' + +[tasks.only-msi] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +cd nymvpn-packages/windows +candle -ext WixUtilExtension -dAppVersion=${APP_VERSION} -out nymvpn.wixobj -arch x64 nymvpn.wsx +light -ext WixUtilExtension -dAppVersion=${APP_VERSION} -out nymvpn-x64-${APP_VERSION}.msi nymvpn.wixobj +''' + +[tasks.sign-msi] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +set -eu +./nymvpn-packages/windows/sign.sh nymvpn-packages/windows/nymvpn-x64-${APP_VERSION}.msi +''' + +[tasks.msi] +workspace = false +dependencies = ["windows", "windows-sign", "only-msi", "sign-msi"] + +[tasks.cargo-config] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +root_dir=$(pwd) +mkdir -p ${root_dir}/.cargo +cp ${root_dir}/nymvpn-packages/cargo-config.toml ${root_dir}/.cargo/config +sd __REPO_ROOT__ "${root_dir}" ${root_dir}/.cargo/config +''' + +[tasks.ui] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +cd nymvpn-ui +npm install +npm run build +''' + +[tasks.volumes-for-build] +workspace = false +script = ''' +docker volume rm nymvpn-app-builder || true +docker volume create nymvpn-app-builder-cargo-git +docker volume create nymvpn-app-builder-cargo-registry +docker volume create nymvpn-app-builder-cargo-target +docker volume create nymvpn-app-builder-go +docker volume create nymvpn-app-builder +''' + +[tasks.clear-and-copy-source] +workspace = false +script = ''' + +docker run --rm -v ${PWD}:/source \ + -v nymvpn-app-builder:/build \ + ghcr.io/nymvpn/nymvpn-app-builder:${BUILDER_TAG} \ + cp -r \ + /source/nymvpn-assets \ + /source/nymvpn-cli \ + /source/nymvpn-config \ + /source/nymvpn-controller \ + /source/nymvpn-daemon \ + /source/nymvpn-entity \ + /source/nymvpn-migration \ + /source/nymvpn-packages \ + /source/nymvpn-server \ + /source/nymvpn-types \ + /source/nymvpn-ui \ + /source/Cargo.toml \ + /source/Cargo.lock \ + /source/about.toml \ + /source/Makefile.toml \ + /source/.dockerignore \ + /build/ + +docker run --rm \ + -v nymvpn-app-builder:/build \ + ghcr.io/nymvpn/nymvpn-app-builder:${BUILDER_TAG} chown -R root:root . +''' + +[tasks.builder-shell] +workspace = false +command = "docker" +args = [ + "run", + "--rm", + "-it", + "-v", "nymvpn-app-builder-cargo-git:/root/.cargo/git", + "-v", "nymvpn-app-builder-cargo-registry:/root/.cargo/registry", + "-v", "nymvpn-app-builder-cargo-target:/root/.cargo/target", + "-v", "nymvpn-app-builder-go:/root/go", + "-v", "nymvpn-app-builder:/build", + # To clone github repo using ssh + "-v", "${HOME}/.ssh:/root/.ssh", + "-e", "CARGO_NET_GIT_FETCH_WITH_CLI=true", + "-e", "TARGET=${TARGET}", + # tag created by builder task + "ghcr.io/nymvpn/nymvpn-app-builder:${BUILDER_TAG}", + "bash" +] +dependencies = ["volumes-for-build", "clear-and-copy-source"] + +[tasks.linux-packages] +workspace = false +# only need to build once for packaging both +dependencies = ["deb", "rpm-no-build"] + +[tasks.build-in-container] +workspace = false +command = "docker" +args = [ + "run", + "--rm", + "-it", + "-v", "nymvpn-app-builder-cargo-git:/root/.cargo/git", + "-v", "nymvpn-app-builder-cargo-registry:/root/.cargo/registry", + "-v", "nymvpn-app-builder-cargo-target:/root/.cargo/target", + "-v", "nymvpn-app-builder-go:/root/go", + "-v", "nymvpn-app-builder:/build", + # To clone github repo using ssh + "-v", "${HOME}/.ssh:/root/.ssh", + "-e", "CARGO_NET_GIT_FETCH_WITH_CLI=true", + "-e", "TARGET=${TARGET}", + # tag created by builder task + "ghcr.io/nymvpn/nymvpn-app-builder:${BUILDER_TAG}", + "cargo", + "make", + "-e", "TARGET=${TARGET}", + "linux-packages", +] +dependencies = ["volumes-for-build", "clear-and-copy-source"] + +[tasks.output-dir] +workspace = false +script = ''' +echo "TARGET: ${TARGET}" +mkdir -p ${PWD}/dist/${TARGET} +''' + +[tasks.linux] +workspace = false +command = "docker" +args = [ + "run", + "--rm", + "-it", + "-v", "nymvpn-app-builder-cargo-target:/root/.cargo/target", + "-v", "${PWD}/dist:/dist", + # tag created by builder task + "ghcr.io/nymvpn/nymvpn-app-builder:${BUILDER_TAG}", + "cp", "-r", + "/root/.cargo/target/${TARGET}/debian", "/root/.cargo/target/${TARGET}/generate-rpm", + "/dist/${TARGET}", +] +dependencies = ["output-dir", "build-in-container"] + +[tasks.icon] +workspace = false +script = ''' +cd nymvpn-ui +cargo tauri icon -o ../nymvpn-assets/icons ../nymvpn-assets/app-icon.png +''' + +[tasks.oss] +workspace = false +script_runner = "sh" +script = ''' +#!/usr/bin/env bash +set -eu +cargo about generate nymvpn-packages/nymvpn-oss-licenses-rust.hbs > nymvpn-packages/nymvpn-oss-licenses-rust.html +sd "(talpid-[\w-]+|tunnel-obfuscation) (\d+.\d+.\d+)" '$1 $2 Copyright (C) Mullvad VPN AB, GPL-3.0' nymvpn-packages/nymvpn-oss-licenses-rust.html +sd "https://crates.io/crates//(talpid-\w+|tunnel-obfuscation)" 'https://github.com/mullvad/mullvadvpn-app/tree/main/$1' nymvpn-packages/nymvpn-oss-licenses-rust.html + +cd nymvpn-ui && npm i && cd .. +npx --yes generate-license-file --overwrite --ci --input nymvpn-ui/package.json --output nymvpn-packages/third-party-licenses.txt + +cat nymvpn-packages/nymvpn-oss-licenses-header.hbs > nymvpn-packages/nymvpn-oss-licenses.html +cat nymvpn-packages/nymvpn-oss-licenses-rust.html >> nymvpn-packages/nymvpn-oss-licenses.html +cat nymvpn-packages/third-party-licenses.txt >> nymvpn-packages/nymvpn-oss-licenses.html +cat nymvpn-packages/nymvpn-oss-licenses-footer.h bs >> nymvpn-packages/nymvpn-oss-licenses.html +''' diff --git a/nym-vpn/desktop/README.md b/nym-vpn/desktop/README.md new file mode 100644 index 00000000000..b229a5df813 --- /dev/null +++ b/nym-vpn/desktop/README.md @@ -0,0 +1,21 @@ +
+ + + +

NymVpn

+
+ +## Building Desktop Apps + +Please see [Build.md](./Build.md) + +# License + +All Rust crates in this repository are [licensed under GPL version 3](./LICENSE). + +Copyright (C) 2023 Nym Technologies + +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. diff --git a/nym-vpn/desktop/about.toml b/nym-vpn/desktop/about.toml new file mode 100644 index 00000000000..1b482f69a50 --- /dev/null +++ b/nym-vpn/desktop/about.toml @@ -0,0 +1,30 @@ +accepted = [ + "Apache-2.0", + "MIT", + "GPL-3.0", + "MPL-2.0", + "ISC", + "BSD-3-Clause", + "BSD-2-Clause", + "Unicode-DFS-2016", + "WTFPL", + "OpenSSL", + "NOASSERTION", + "Apache-2.0 WITH LLVM-exception", +] + +workarounds = [ + "ring", + "rustls", +] + +targets = [ + "x86_64-unknown-linux-gnu", + "aarch64-unknown-linux-gnu", + "x86_64-apple-darwin", + "aarch64-apple-darwin", + "x86_64-pc-windows-msvc", +] + +ignore-build-dependencies = true +ignore-dev-dependencies = true diff --git a/nym-vpn/desktop/nymvpn-assets/app-icon.png b/nym-vpn/desktop/nymvpn-assets/app-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..203168aa7c2cc59a9b6c33a71fc2751a0c2b84c0 GIT binary patch literal 558069 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

$^&kgsNug!fR``farHQ${FO`at{ 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%0Ak1r#M(KzHZ$_a}GWKUPJ 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�TwCD(5lY8nbzG zu<5HhpMvTH!udR2t;i>Qb3rBi^`^|p?MdqQYJk0W)Lttf-KfTy-UnK{$yX*r>@Tl8 zgntFdjoK87ZGme&K$LDsYV^5edsr(0>TKJ*no?beFv3qYu$MxSEpOeD+a$ci#plrm z^EDE9a)W{)yh?)8F^4;`SjGdtbYX&Ek=O$rvINOq-B(e>d%YggML6%_+R5es#RLT- z`XF9465F}s4P95k%}Zbg9aTu%CtZF6Cs|D8uBB{nE(coBS#G|NW-OcvZ7sCe^&?9YH4lR z=^s9|{pdCZd5+p4UIW6`R?|N$rSfGH?BZWDapbx)rd}EHR7I%-WE*2=ujD>j6Miz+ zQtZMiPeLjQ!LM{YkQ2dLWjiWnf{u^q=D;NbWhpTBWKopdghCBpDDNC8^+~oXsYT6c zwQBv#?kjdgt5UfsyXSPv_-;2(#V@vyf!UX^aH>K9TP0coCf)MsW6NC)V&*sg0eS##e z{r?_}`dt)$C3seAhh;^2p!ZmJx=9~|I5N%2eu#(T!W7$}bu#V#HAR4Pp zo6p9p>K4#_8$2Jx3of8C7*ezrgNJv0XvXeu_t?=2b@Dwm-$C7o@m7~90xsnrFDB4`%p%Y*eF{j#hH;2|E*2%&4(3HMStId|fh#k3x`*;`>dorZ#o;u+NWIRoTog zWGQZOz{r=&sJ&@MP=#l>Ezs)2$a%NXe|6nt*T+$>NV(X?&ogx2NVVMEw2*5?Z zUhX7ZGV*{{QI|`46c(F@b)1&en}Llp$xl)0f-k>#-0!&&;EaNvz)P^lP8T+&%oZWi z4(v>9O|b3gmx^_Zr)5{&hot~^sIEgs=Ol)@8fg+3&5_9762Kp^u>Gi=h#3Ibe$SL% zh4g=|`L=Ako;UwLJ7xb1p;&(uD4O0|<(b6n>}99P&Wt9#a4DB5bvTo@I4!udjGbsn z6XNLFg;d7#>p(NwlO%ej@%S*Q@6kuqIxVKkNJ&1RXysU3imQttEDYSbZo?7v6Q*nV zHGk)=1G_Z0M>hW#kssQQ$bb2KICo}j`s%7LJc<>4WH9dxR!c1s8(KRN zhi{whj-Ux%t|g^+bN2Yqs!}gzrQWBvok~FJ=7E2!?(j{nu2i-&@_t7SjpXsPb#sXx zRDRvr^B8MFO{>@Fj<@jlKTMu(RriK-25-v*<#x`2U#d6A3VwM<17YtDrSD&`PZ<)_ zD%&jug*%#WBSzQT=l@AWp`v0z`HWJXS`$Vx3v6qA2{BvLijdTlzN|_VR4IiJKZ`p^km{0EPf}7eLivwMr*e2b8EM9$4VW^i;@$N7dxIR(B^+9^ z1s7F^Gs-Ni5VIY8qZAe(*mBf6q)S0^S+l8}pW}jJNZc92@Ui}Xu~oF>H~HUYP>85F zJ{J93p+=fa%MZ?-&&~74K*8zIJ?R!x0FuYkk56TLkA>!B)~C0?$EqnAjy_r@0V_wIB+B%Jku?Md-2V&ga%yT72uY)ajOdYb*u7$w*V$9_@n*i zZNji4hI@G+q(OVDTNJm;W#$;1D{;qosN1NdF0HDlvaKgQD-BG~IiJs)+6%wz<}AHW zkwP~>?~5B#QIdpeO+17>aL?#>@xP1xV)Itsh&QcZik0e7+xvjljEBCX^*P*FNDCid zoSDIz>gjJpOMN@2I_BcF$@KcI12P3eq68b^tALRK6CKVO0hk2X2pnOXxxOIY4m}OO#%;LdM#Y{U@OdPauD^ia{LL zSuX)Jp|f?Dr8tO!!TbLZ*TIUCAsONI&hkE%=pUs4Ue?94HQ5oK?$dTu5+FJY@hR%$ zrxgP0e-t)u4q7%>G4eOsKTJwm!|MqRq0zU0sPS*d8i z$%$5PAFlM|I~ZSX|L;8G6BE1s$B9V%gU3s{^f|&y=`&)qF)*l$r?i`F$SIRLuu*+# z63Fr6#;6=5OWr&gutCjlgV+*CfSB~=rK7gFja70)HL1q_r$8)J=JMuM7x-JkQR2w5G*Zo2ERP zy3w1@{x}ccZ`b1O3}H`=yb=7iJ=+7kw!%AiU@V$o0(7zF0l7U2`UeyYZq+0yQxLL2yNg&i}$~CSLbqS#kNxIt}|};`hGUhEm%l_ zxQCh8X6q)M9c)l91Os<(vWqW18Gcvq5C+b}EYZy`4RH!0yUh$;3AK%QX#+@^`-qFO zF;2?JGt~5R1u_B$GzPH)EU$FDQ=jMV zqWo^xLt(K@#zUdymZYX2JbE`qJ%e6e$bNOhV<9Cqlw9e)iV93&z6zx29E#7rc(~F$ zQdeofhHq8KXR$}X+fVVA&v@E;{t1}bKxUJBmWo|m=>Q?i%1u}&%LG)LNlb`R@-e;^o{A2f#=&IbY*B_^V(!K096NXs-DL_=v#>dzw!lgg(SmQ3u%O1ymO)u zTp&$RB{>^kr&wD9&v@+5UfGe+x9~paqwk@n6)nBe2W=lPI`9Sog?T3 zl~hx~X_rFRIxGoKuq~XOm_;wlmZkGgnqr%8)v$Z@);U%q^MH^keS47pQtJi?Uq9M( zQ+h-4)s29hk7PqMuL6598p)!+yKL?cx@X{nEqmDyd}k*!c$r2RPXE$`;Nsgo$!&55 z#%K5k_jpJz;PpXeIEmr>;c+1^#c<`0N4r}c{RZ|y=33H>6VXZ7V5_8TvW81@O&obA z`OJk?Lz2#u?!trLwybM|y{wQ$G<`(XhQL%WZ(C3*xt61U3oq0^kQ7n2>()3Ed;2iM zae#v0-L5XaI7pZ*k*vT|Zhip`|5)+QbXDfebzfk$#rec=HA#}=B4R*F`sgt7F|mAJ zZJuK2C5l5{(nUBYyS9d3FZLU5Cl)Ia2Crg!k6Ra{kf+kLg#OPuw|@ISwQ?_2;T>RA z0@uCF9;K&xVO7IZ+@Sg33*$tk+QmeyWJ)V2ITCM0-`Lf?Kk|~G?1&WQnYglGV&CuEnzFKVJw>RxO{1-I?~kUR3& z^>v)+BNyX9*nbw?t3g6#*bMzSc)c^6<+!B1EH>nN)dITvP}A*5?LS9$PoOXEmA_IN zB*D4G{0YHS0_JRL_EEiZS5zoTk=Q^EQWX#&| z8Zgqm*GX^P1f0d+dT_zy38Jhtr?nkIXr zLLB3hcIjc&dWdPFJ#sPi`<=~mmvm-bD7k5sgQnz1SBd`NwHh-EK@E2PGEEL4VH zcU~{Ti>A8ag?s!no+RPc+DXfqlM5-jHCw%dO4 z9Oh8E&-F?=OOq`NOrrq{?1x&Dv4jbzznPmFuxwTh6y)68OpUq?HIQyv}-P znV_mmzsW?EeU$HB%|8JIcN5y6HuSo~w`H`Eb0g$w<$?GkwF53?Tir$oK-eIEN5vO5 zw96zW`{FLg>Jp+kOxW$)Ipz-O=puIV;pRf2qMg1{6&-yMQimxnCPj7UKB`xwL!0ON zAGh~kJ>hk;onlcdRdh&E=;ydv&{zH;EO0?OM2h1Vx|6w#@;x3;HXt5`s?pekcf3E{ zB-o@WZ~TAu$p5jf^dP-?A- z@E{YPnHKefc>9EifvU$z5G=wGj4WWO4Oqv|`GFa#{2i~ZAGPD9W5H!~z^R6{1yq%* z#Jm61PHqA^&0V1rq3Jxv$buJkYqYKjyLZ((9SSe9jRRl95}dTORgWS?Tobz9JRuXr z!^u!+w4uSL)JD~qUoQ(=4gfA58E?6+Z{1*2PNNsMeUyF2AZz$0Gq-q%aCq%GVA2o^ zs**(znRI)W5Y(9StgWvmz+xQb^<#Pm`Y^=uYFE+cu)p!b?!$Taa#I*JhAjt~)ybFFC0-k8sRH!j!{|3gU=qsk-?? z7f(le!tKX{oQ`MUcjg4uocFjiRpl;5!Ecmmtbgu;mNY)`77st2VHtew{i0*Rk@dp=WdZ|mL$f}n&VrKeHCAgrs2m?&;>0FM*(%i^F z#9fwO_}kRF&n3pLAzo7-T7CUc-gBMwI980vX2_;yePHv}|G_#Rr0EVR`jxdlo4g&b zGsk(SEPpBobOD5y^xFg0SxvSbhl$Fwqe*>AQV#$JN*#}YNsv6m3rxExO}v|>2#5*o z_i(9#JN{LLdkd98`sb zp+$ujqaY;gB^FRC!zv>|rmPHx>>WgL5x|8?n1X^p7(&8^P!y~f0s;vnKu}}|h9FZ2 zCigM6)39*0Q^FO+sQs5h|P48~$GsWLrsb zgsogZZHI|F3QXU-^)htTEMFV<-bV}PF~S?AjCbb7Qu`F$Jr#Ie(mu9~xk3A97$J+1^O?&}o>}k&}k)mB@;(3`0K!+HK z0seF`G+o9vmTeTXc3pkqN0Zz~mvIQaOIOcD&NYM_pe=s|(WVX6Zr#O=mtBo#4rtrd z$9LjfIm^N`WAHQpytZdoI&(ZXVY6foFv+6-Q3Bl`E&Nlo`m}+SdriMK1fozGv`J{i zvN4El@MkugY2V4Z-r>r#3N|BxOK&KIcU@+ST~RIgjZzOG%2WqmR)}kne17BHdBN*s zn)wxdo3W?Ns+|9OyaO7tyvt5rgFeJh%E#ipVa@qG40%ML+EDREF8?zfaqukQ4aK#!dQ4j%((UxFJa>`t61Z|u)>AkbECfgA$YVa7Vvkh z-jFRKr{W$9ZufvbD4OjoroJ(_l}sbIF1s(ss(Z>7)x#_iB<$R){Ra_G6H#9)P(GpF z?SAQf%5@#k*JuEz$GC8Av0nDKHD^`F&XcxNZpRNcys6~`mdrMsAXQ{)_;MORt+CzZ ztLP_$A|F;=E{Epxit}sC0g)HkSf>JYA|V7A8d`5=|8JV<%>BaFB>3Bv--jaP>N+a9 z(inv8O&}250YB_B#=VF&#>v|N>@AtPe00SKwVUy(mr4fuE=P2Q;4;U61RVovzmTyM z&aF42;KC#BOwK+h#G=?UkAwwj2Z~p37`4MoaRl&2g}<$&OmG+TFS=#t?h+_h!Xfy0 z**xvif;E|1@@DTN7+!Q7+qcy`by~qM#2R*)lZn+uM}%IPT~mo)SQFr9-u+E|TWB0! zIX%tcZ&wMd(nbV5PZM#|uY4BiFXSxt3@4%RmBX{XqWcfK}N;;xSxzQ}z3 zvel60QC5uf?PwW@STHfDV1LSb%R$W*2DZhIHX3-9{4`aOvbfqb92gVJKj1n7r14!7 z9RG*T06e~54ipPMZFrtz-BH%=VKZn>oK#%VWy3$m8!TyeCeFw)kxpWBqd|UqsyE+$ zvsMnm@F548Ir4%K$&q7{98|Y7vGF6^x1+;nh9Z{^xp|02-U7-`(CS@u?J3R~}&`Q04XI@7kLEk9WfF z9|h9k&Aq?{6$i}Nn)bUpGk_RWml1p6%a@+GAlS&z%nra^La8t1PM3G==84w~-EuF@1~4xpES> z&=Z8Xn}=w!4-eH&HO4DPV6aiG54fO_t0`mE4^{a}A;|*{06ejBSr$j?(@UGf5s7xr z#(h`k#7my;37N79Py&X9$*zJnZXTKv0U;n*WbVesoX_Q8ptlzm{Auot~_8u=Mia zed7bRw;N!Vzbp1&;v9a+?gP{kXcKL@5{%m@n+BC#y)0I(xhv?7ioNK-B--UVK=2QvjO`3iU4YKu|YWq9)TGLp1Z+k zJj_V-yf}4e>sClDAoemD81kCDG74QghrbsnihFG!U|LSm#WOAoz^{{0Gm?1@jTKtc z=+4Dh=r9NflwZ-LmTUJwD^tdm3<_uypt7hqkYB`Aqk%mSp#Xhypl&C^pz@cS=+}y# z_{)Q_Z; zK`pH5bO^{FklWvYDrwb5yPRNo&J3KZA%Gs?0&&AEi{TD~)`bew=}IoBXTK8n4$M!w zPVii&RAE@$9chl+cZ`?#;pE`t?tPQs-@ZkK4QmO{`+g2&(cTIN9!6ekRnM4=S59*4 zGMttfevDf)oR019UzctGmQ;D$MuyoutzF(l$DS~COxX3Wqk>p0*jhVKEBopaz$0>k zj9K<@pSI%!`WHxq5&NkaP-&F{?i_=w6HV@{i^0b2|Dj5@l#x&n)g`zzR0~U{|WAEcA27Xolko_J}_10{YQ} z$&LR#m&2=!_pCRsnzj;KV?69I(Ed!7l&VBR0Lh=!|4fdT)H0b$fYM=kREh`c>#Qag zFfh1!sUs8d8U-2n4MJJ3J&bjY{$xsqbV_y^Sb1nbh3%$>WALaG;q&BiDfY<|V|4K_ zXJy|(y*9s{0O`gzSSEPo_GW2y-EsE{xiGB{aZM2=`PDN@-w5(AW!0jj~MfTVx} zy$p+(Ccr8VS?)$;A5db;>uCM827Cc`yrk0`!j zBzlbkU@xp@0$u-ET{I`vTvk-!yXwV1K8TuOgkJ%0qzB%O7rz`~120i()OFZNO3n|< zdbu1g)!Mn5WPQ%(qSH~bX#n^4gXP>qaQXQlc=t~o+Ij43s_CB05D+W8@kRaAx~?yT z2YraPBoU}{0lGN;L)edyVoNWEKeQrB$$~&zgJ_141Vk!o40MR_)%JGk9wj!$3T-&vCXEA1 zd7xiAq!S7}qs$HLu3{eM4~Pvm3wMCGgdLZfiXXlNBf%@c70Xi=;JUEy(lk&N z5U7rDFr3I)*=E6q*n#4ig4feZ+4#>rV;4p`<8-tZ6-q^W$ zB~%$75Bg_kq5LzDg&6&22-D-uGT3=Kp9!BE3fldt0q?6$m?EUzi3~rfi`9xLw24&L zSv<7QB<8R+^XkQ}SrCt)^a6#e2o~$tG|k(IoqG%QLrzrH>fyQofZ5I8?06f6(@r4) z4F7TGo`A0u_nJu;L(jOc>3^dTf<6U^(I%L65ZGWzXKb!%mKl>PSk6 zY^k6h;PNO7>vdYkH8U*&3vFlbCTg>d-uW=I>vLUA}4-wVN}IPf743+ zzhbsAqGqL;pAZkU#?RXQTE{1kAGZo z^R4A5Sf_%Rmsvkz5tPZ&c;7LGd9w1_6<*(kxxxAV)NZb@L$w|6g3X1TpM4H?Z9c=X z!T*uvRax49>-^_&@Z}I7 z$F3Za9Fnn~wS!0a0N_|*3EH3xV7vpz5Mh@MUh8$lBrvrypiyV;bjm%GrF=|L?LZn7 z(W3hg#?K$eJqI|~3N^{_eM*_N``VM=c7(ir}XPdUr7KD0?i%Rj4<>|Zs?Cu)Zo)v7D%7L0*ew6xq~6$6BM{A` zoKypTalWdN#9D{%#&kzasag5k`1af2VW%xN-gUN5v!Nt1z)c-B>So`BcJ?DZQ)OBjTNYHw>BUN zuQsPQ9k&xc)(YLwx=z4h4Z@Mw^RenI(co-dI~>5#g(d^W85cj0KT$~H07}r9ju{}& z54F&1AwI=BBati7iXn)fQhiOC;N~ckFi*;Gt`zZdf4QZJBy`>f^aJ}X7-ylZn&N9& zluD3#_bw(=<1N})5(D%jPjDJN6CuMlqez!0j7&7Lo4FRN{lZjCe~+SXzwvU@1YiYH zciUc>%nhh@-I`qa4n%Zo|KS8abAR*(_jqbr-~nI$Z5zVommYB0w+H!m;+AKWlAjofDb+vE{_qIp8M}?;Qjvsf+j^-gG&;vtes{D5ll>Tt(@- zzVq_W&WrE4D0c(7^UO=r{SMCP@Ut1$kNx5Q$Az5g#X@UgwpGwgtzBk1@gT(~v*p*K zK?n{c6dUIzy>FMDM_qt;i{wo~i-}wAn(upk_IgX)g#bc4zJX3tM~`y~Y{EWYwWi|_++d6}FA6Y23bH^nqrm57!Fv%G zfPXw+zb+#ti6u>HZ;pesMkyO-6;5hIf6#uI4BtCYGNoMpTBq>U#M3q)8gGrA#bhN2 zV9_xZRr#fhmIBvGE&&t-kqQ5baOR759z7tBZq3CzR|G1H$ZN>ap4^1*&=&3Gk38)% z!1Obi;JfxV8^6f6`ezq=nEJy(9&&v(z>ZK2GkdC1(Uq%xaIG6o9dkk~RXRRZ##wEt~CxR{zW;GrT zwA6juVF#a^GH%CPUsyD7=(i@u<=#XEpTrEf_T2(m38mo%~<`?g?Qe_vRU2 z_@UrbRN=G(bJLhuo_e`?Xo6&=48#hRk1BhqBR&esNCR^P~9ycy33H}6kXcRe(T4i$K0op++ z`E;@V1x3-8E0{P1E+m%MPhF&e?WzIa#)Xko`Ej$TW9mFJG^8+{?jwq#wSeDeUSR7z zCA#)%HyLLD@f9q>m@*mBWHXtQuM)G~eC=Ii?&=~>tn8nh>*Rel_LEyRb zb`&Tj^|4bw)2?y4A=egG19d8WI*g;G8#3qgs)!RYWVsQs4)<~*I8Y{n=|0E~bgAc; z^ybEunr!%NDcJF&Squfv+=N%$7B+m9e`3`wXS?N}pY!1_zU-@00~LmEJ3zduej2jE z^2Q4d59A@*p(rH3|CZfsH71(W8@U`0VZl!W^9axw8>K9DXCO|yMNT9>xRJV-qZr9c z?uSN_SyD}h&Qn*l3G9`_=vi8Ai|MD!(Ip}8GNWKs)DdIY3)I65)YoqTbC9x(F}ORh zTgGCBdpz%CVR`UEW@3P~i^eol2tQkjsZXR+`)Owhlv#;#;t?wBHoo0t4AszhNt8Pr zDfs>VkZb(+>e7V6e-Fpk_$)AW#3_USqL8*t&8x9KL+NAxY)-~`aWTXD7#TD;>}&*Y zP8J(US+jAhBj_Voi()39IJHdDrt~VSZt2N{(+a@g9|7| z8mSe1M1W~WQo_VfVJ!&QIK(QjV=`iLmC|Y$1?t?p-Y_$=|6q98)Zpg4@96YTJ%rMX z)~;6V4d)j^*#y~Hk=2p^WvK)A#?sE-g>`&F)z~8z6di*20VHuYf^iq{$vfh!rBM1cc`vY<{&Hrnl$m$ z90dxflO*iljZmuu$DSLLX?6q=WDACJ+t>T*_}4iLjoBUhXEmHfxOSpxOK`{C~km=sy15B*L1@kgj0R6~>T&86%`5K}&y zca5WXp%Ibu5!C|GL#6J@HbaJx#j?k0OY^kivA$yU^9b!7;qS3=)_6**vuG_R+JVno zm!)b)hA(0J0^v=`%5&q|D~o|m-%fN{ZOyYLTmNZ`JA7un9v`(y3%v9rVsC%6!2TJy zAdEQiKxZXX*8&gfj%1}{%<*d3@xm(4Rv zj$(*r|45?v01#47{s0xiO(;U2NUBITujUK(ULBjSImi_DK8TV0U{el6q}Hg{1{REg zm>|)}p(an;PzbjvU0gEhxMq{iJz4`zi;!rX7y(u2f6lOk1scQ=>$KCED`5KClU||8 z@{#`v5gR*KKvb|LB$Azu$%46RR{|qUw8ys~ zKGt|coUo0FwB+vZilT2VO8x}U5W%>4$REGu!|55?$nl_S-6j*qoZE3L+1I*WL3a>I zBMT7G*-}RJ0gtTK`~RAxnhR6O=UP z%HgW_i4Hv#&?W*Us{g8W7FbLeHCrNOMP--%oHn5Q`&Sl~3J@;ZPY5<1N#HW@uj6nF z0{wS+k-iyWs`*(*9%4=jLosT{OHhZRTa@>`dx=x&GA=4^i_Pg{cNm_%uqc#E?}+&9 zmf$s`%2GY8_45yT2(?=06Wy@T%X&SNG1q!Db85`XVZa}7qqG?2qzz<9$&T|IX9Tg` zT$y{!gsqRM?|q>k9E_K?WtXu_f`M(t{>NinEAf9HNuidMcfbo@l*k+`3)_i-23zK?)P zM`YBIGfi&nKk(uuFcP;%E}#o@0MV)~vEC)L* z?whJfgQ4`0#3}hBa9d**VQa>-#ZS}a5RvuaMEyPq<*_(k#)7R z^<2Wrz_!eqQn^QK$wci&%=XQ_|HxV&J`-*G(u}@b*Rw`&cP=c_s&SC=FYe_=NZp+f zDWDN^)o9>oT=5q^ZFxWoI$RC*Y}ZwArF^V0=_~HZADz0im&g3oZV|KcL4QS?ksNZk z8bwMzOrP`3gH2rS>yUY_4+u9G}O7$F~ogV0bQek_rd zVIz+m?WkX!&fh0$0}Y@pZ#;7~R()&v1t(i1!RU|*=ra)lgnvT@;lwdfr%CI2r~cn+ z5}4W?`R##ii!uWaLVcb3fu?WIbVp&e&^mcF$-EwxCc*-rlj$@5i+xdVzRb(82Cg3F z2V+&S#cNNtP6g*XIg+?5LMr2=hz+XzcD7mLEwLe&&(2j7 z%>&V>DC6~*#oXX^_I$SRm`Z&JaVzG~KkJ~v)s($gL;*>7HT)B%95>m(oB-;IWqFzZ zWK3Nb$oRn`q-tTtfZ5WL2jVZ3yXy!G8YBG8{Bs(@L*h&+`Dg~NDi=(f8*1<}qs~S6 zw-$vxHsdmX{k3adtK$C93+;Hxh|+t{)Wpj?0HMRf_D^Ocr;I|2}g|v|#>JaMrZtI`;~cJ2!FGt8qYz_?S=EDhM=L{O~H_qUK*_myM4= zf5nfP?szr4O4ITd)UMp+t=>e{LBA71SFi3x%z>UOxch`bMx;+uS}vWz>mPpzMrBQ9 zCizdDE23vhGJqt-7%gOGmG)rJ$Xl@c3=RSW&#&{|N0}b3{)XEeYP9jdn~^`Fp}j_7 zFyYXUq#5&mpQnnKY4FV-{_G`O-V~f}=0uOmx9La%_aoWZ!gF!6QM2W;`{16yM6cos zQdLZo^T1ICf%Lu-WBM!q>GrT=oa9z}ZARKgFL_Ov_^(S~wEAkgV1-$0>4(gJwTE!d z8g>xDpw+J){-}dpY=YH>86ebNz!;d7@ZaI@19zY;+*;DE(5|zZa)ebr!VJfr%(eg@ z0~QIB=)XdrQ%fi6F82+YSC@e?r3ReXR&-JMQ2ZQXtmdo4TXdOo?I?54v!@%|kB$2J$VVmYwpjRiFfnRXim97N&`9_y2DByZ>n4JiO(%+cdppjH6Dhl)Aaj4R7RH zWM;MzWNMag^~~?62~%?C!d>xxO!mIY@aG7p@%40uWzW#0e(N3)su-OMQ>F;z&+fEF zl2FyppMzZx;My=aWkA}gv8I`54g2EfwE!p8oF#TGI;15L`rS}7$T8%s1~3`bsR&l` zu_mq@H>(al|CY$HgU^7Udy8RPhQ#_iqFbIumvC0%kM_tITf}A8?Eiwdw`$02^Yc<6 zD^ee|(G;~a!_$$i%a7!2eMB8XS2yLB?Y`24>A$*!iPZv?7UAs)#4e-e*zLB8<6UtP z@Kd7KBi?I*VaZ~j9?a27C9ywSZS661zt+(jAle4WN(XV@|DRcm~82+6-wj>F{{lZJeX ziJ$?QQ|&p;v&O3;Yx@RlR6~e7l0(zh7wCZWVz6fbV`JUwbs+NDYY>MVy~=bbq-u>p ztpV4`S%>Pa;dY6#^MP8{F+G828KcW#(v+LJ#IcF z4*cf|#L>#CxHE)|lKu1Chi@m{xzV51Aviq*p<_ynck&Cft>)|9xKuIZs-Im;bvy_M z8cBbfd>Bn4W<6trcspu?@4(Y`{BjMGNW6$3p$u5dj|AO9HBDkmfk=!yEdzp$Ti8!6 z(LTo3^7YzeaI| zyJ|8F)!bS`uMs9G_c|PUFo^`-Zr+X>`-M!7Kd`+uETMl^haPqk3v7LOx~3lkD$bvD zr?eCGAQ$gq3X3L8z`%^aF?G-70j_G@{$|&4kqbC$ZS81L^^MvKgVIi2jikZoFxyq^ zZUjkBk`u)8>dyUg%-*A5-c%5iGNEhRNAPtvwuENUOw1<6w zA0j{M%(CnY9=)d5Lj^DXk#+?Vsuvbxg_DxseXYATw zVBe;+(YS61nbns|TlxPFH;d<>p=0-u`8Cvw^s_#OU-o^$yCBQ}kTImrQq@EuvJ?XW z5{qz~bMDBPpP!Puv&%Cy67j+gnOAS3bfTqCpBn>EWW*7{Gq&n!2>PyW|AQ&oy;o?l z0EyD`sKRPk5HG+h8(3wMY{(Pt)zP*?eni>$-t9+y9cMo2hpH3Lx*3um(mmd*FMq4+ z(X)aD!9g|k9J6W;bUuY3+(h(_ALLbyj)*_Ig#1YV7(eQEDP((bXT|Y^n9UpiQThD- z{x({F6(&rrFSw~h2d{lp3zRs$a@zs`_i&_t?J~a4@pSpKo_86)h_>8Iy+*c3Q#M& z+H;ZOQR6iQ8vT@=2xRqs2fys)UAFLx56pX-9pd(d;7`I~d*Bv0y#s|A{9kOTqo!oo zd4yiF_8h{G(k)f3P(!~|5ol8mH`9eM_c~ExtUAB5yy9e@y@}dsGh2&bz>ic>^J;UO zLPMe!zdX+PkK}#yFO%T{ia=g+MLl@;IbhF($nS%t$e_bWemnk zCUZTnPw#)99GBe(e(^>Zj%m04VARLciXy@_W_(*%+>RlJhV4bfg#m*^@`J&$R;#<^ z`IQ9#O2-e>FMY9qJ4WSZ=;mp)ctsK5&1rdL}(pX%GatjgW!AFIl=R^<@kgHe=lxD!py}Sgf%|_>S#JN^)9$yWw#oNKW zETXceHC;m`^{9tXO+RUp$57$JX}c-rSFrf6a=_t7l&HF_$5?q+BCAOibu2cq`q2pU z%peNC;yxSgj=ni~T-wEgYF>-k{&K_daqC+1)Z@(pIO?yp!P|t?-nE=TbN<{O&j-i>2VoN0dR5*im4+G zq0MliR>pd}M2qq#q}5?45>8$X$Joaodg=k}Xj1W3FN@AN;*H8Ql}?QoPb-|LhC+N-6CS&7gqe5G@%* z?1J7IK~KYc&3t8YCv*!smg`qNC8*TyHDEn=8SEAEVRuJFafJv>-B&g_hL{;@oQ;6o zLJxpw`xrj+n1Q3Wi1g(sp*WQpBT9|qwW^d?D{MAG*_Bf@s7U!k7!daBchu{vVs!#I9PTx4>5A`=^Cwyl%$Cmf^j;aQ-2Nj^u}{ z$EMX}gMsBKauJBL6uBW#Nz};wetGM21^k2P!kREKtc9P~D~y3TI(ek$?nRV#9=b*Q zR@vS`cS$yI2msZnyPtO{1r2&CLigFh0WV^h57Wf6Qh9D-1o&FjS zotis`%xV;DX0Ooo3=1=2%y3QJF{VWc0u^N?|( z!amz7m2J>GE|mG=tH%ZF6!iao{+XR_Pvg$8Y zftpkx71-h9PMjGRS=)8}K>w|rXa-1Nhw6cqxG`?37J^Y$&`LHmlx>DxC7AmYl0Hlp zqWbYN>IvhoCc|Q^0v&st8`dMh>C9DY4_-q^B`gqJ_%XZP@0;vTfGN9V(iog^D2i!$ z<0_mdL;a{2_@g(IRd>P0{e+j7koE)8tc4{o)ze>;Z{w}KDEYMDD}G77+1+d}GXL6Lb6&HJajOp<8i*g|Za2qpW`2 zR}*gCLmmA^i9dMOc`-1{_YPMah~<@vjIP*Y=gR{}dIP@&_HVfz-!@7(^sh4f@RzB>l0)fl(JA8Dzp-u59Vs?{ z;5CY=I9Tyo&L}E2gTyUiALM5IS?{N&T%;9i=lR4$DqI-QI}eMHDE4-1574fIf{<)w zjRs=jb1IHL6)k`mY3%NHXzZe082m1i2NNk^49`@OhsRGrj?QwQl%s#gf6KP12g`E^a5R z$bP{u%J+i(?)Ibkxz8Ktz7TAiL%)$bD>SnI<7Qcd5Y9PQ_vU51TIrJv)Gbb~K|uyU z#c>-wXYg5dP&-&9283^}sCp(rB_1yKR{0tPPYfK!<|&v5Sz|4J#|+eM_W;7GrfmO% z{)N;;l=hswkHrEULezfPF`ud6TMhADOMSrkZbCxq{l@M_ctR@CNq%hB7o4>>R*gzd z=T=Te=zGB2DT&^Lkm%A{jffGCYQ+=MK|9S5EA*=d6wc!LM4Vhd`ws#_lbh8N-oH8> zQ_J`GPWV1~&s3$=d3kbFxE*Hy>3{c^0O#X}6E^1(32M+6zbs(L`)SM9JIKGwG#@FZ zLkGp+?JYB3zrJkIY4^wGaeatkkNt^+M#IZLHxuP0-hp^mAf1!np2-$HjeunY$0(V9E(x5_^*pR#vP;%USNZZJ;@OEJ7J}RDEmU22bU*=w8bl|l^ z;Kx1TjqgDHk){wofjDc28KlW)OkoxM7X3TU37oSwlus*P{N7WQ!ylBFd-n&C#5V9p zu4KJq%g$3t^qH{jG5zO%4FwYH2tVNyq6BLbD#}e8!fzts;bMC0d=08vpyXa)4AOB0 zmq|?1WxOoFbgjJPP&)PAGn17N6^$gqbi0#X!h_av5N`xDGN18aNbfwE^{62{Vx;{H zV7br&MldGmQ0Mp&aNQt_gop;y_q`4uC1I0r2TWXR%upo|PYWe83RR^m(A_&7=4<0U z4oI{NKc}c){RF#UB_FfffG5np@D=k5-Wp?(*5*vVY6?1@U}5K2RKpB%v@;%w^ zPs!stkmvM{5N88yE;LT*_6EiSW(k$8r~eiq3f=B2Ua9VVM*0vj<%O*7MNFlo2?;}wCr2f#XCtVMVGZf?EY0{`**6-i$>LRm=_6GkERTo6eE^NjhTv8^-}}C*6oa zhyoU*b>95(9vO^Y0+hFObZ+xhdOGjW+|DaqIZ-m|xlFXB&dThbXVWh)qDn%5DfXjc zy46*L1~G8Wb4Y@x+ed56s46mNZk)Nd$?qi94ceyai%m zIq>=dpa9RsMMM=pnI(2*5uQkJuwsFVs2z7w`JWm@Bd5F^Gr`Ms&a^>DGm zv5XGm6`mAfmWwXl-wZU~zupa{x1<^4PVL*6AMQB2Q;~po3<-Jec zEnYEVee&TNw~&rY3z2qaz5_d_bYVJ(nJu5|Y@hE`q5K6bqQD|83Yd}F!GgHrFP#^- zGcW}yLiTGk{5CL*qyIMez3H?kKy|?vlfgP!98E;p9;7C7bKk7+GirvyK&L1+U;082 zS(yT3hztK2L#**TMUv$wwwLn{JZ?>xK5T~4W}vEt;1UJ93=v!|GySQ86j3HO>JH{q zfD`!nzTu2Gi%*!9*Y&fD#vMuQXzTg+Af1~%Vmcb>#CGleNq=Hp?YG<|rKGn6YHwbY zuLcO!G~S!<&6Z6&ews)6@XEm-=TGu&R^c2a>>P7!iAmkReB6gwlGb%QTgkI8o*nv;P8N%geXiWtoOdp7q zUQRDxjR$dT)ZV@aS6kyCAjhCg{>NdF&1GIPJE&H014Q$VS_>8Li6l(R)H0jpl?=oH zL?w5}%Y8jQ8fLVwYj>!RQIL_c@OFpUs!?p0t!q<#)8>2f1jW{<+9hG^j{(!dzZ$ky zdF(r`u1a)3)Z$0SjEOcwSaI<0a5Fl5U-S+JK$wY9R+$OBsuBp4fTRy40blTu?Z)Co z%%2D=@z4>1kzXQiX+N+7%U>$Xnai~^Js5{vku9A7QY0XH*c}YXTjuq?{*1Wx(Y_&g zxR)Oh%66E~T((mgRftVSk!a#QSJQg)WXc9i9Fu`XoMaHMVV51ooG>L`?D0JCndEIe zePKs$eh$jUyBg(ABeA8=BHU|6d7D;J`^O*B^`8a9Jqv zuNmy&=Et<*_~lvISHx@hcD>#`e&au&ffIp|VVpJNQ2A7lz`pmaXf6EOsQi`o_~gDh z0ck=Hh*vav|LRs9GRhi*uSdRCKd76;Ds#P!3%BJjSLKI4X23^fKooOdnO8@yK>er$ zRD-T2Z0TnvcB{Qdh@rMuW>q*CE4Y@Ku?Ax^<)=%^~TJV;SWF*EP!X)i)fDUJ&S0^ z%RV23O{$Pwi{uvh+4IFxeIS2IIDo^ zB$j*-;y!1=ki?dE&|vwVEPC~AC=W>@3~JXo{DH5L%<7OL7B6B(#kf)Z+0r9+~* zCG>%a_kl>2%>u+CKgs%EN2|~tS$pyx5mt`$I*H&H!QfuSIoO`1 zwCQ5y^x6#=_?4EqU=9fwrktDqYEAX1fp)`fD6@`BLb208nLK`~Di<%&K4d2E0Gwh$BQdD7b@H3f`fm^+euv+GB zN}GRO^%Cl4w+y;Vxv(77vwtdi@EI_e*Dmv!;#amP?vn;$fZ8cPC?(RS$vQMeNap5u zB~akXWl(^F{njT3z~$fXChm9-kq`WG~=>CQAdP!hUYmiZ?*Cs+x> zf6a&wH`~?>#|yfzik7I*0d;er>_gulfcx>_FoSCZ*oz^9Rk@mu2xv`qO2IFkjY9{3 zIgAMP7QHmFdGuBWs_E%RnwJz|vCghy%D{pMsm#!%kfoQSTYTrqd|B0BBEWebFim7P zP>UYKs#O3J+#Tccn2Z9O3 zh{5ov_%E+X^a-A=Nn=y20C3gi{q@pTiXMr8E^wfobz(b6u+TaicdR(kSG*Wi2b{5> zK~QP%&)7uV%4E-~Ol=#Mlu6$GM!q*q#nPS0s6jpCx zCuQ)fi~(UCATzB|esvtjv=gOr?6W;+U_S(V&)M;4@($yrIy)>3W3dZ25myEp#hvzB z-d&vWr`*zIY*u4~-8m-n6T#Z~t|8FTWMW&8)-dI0D?P!_B(gCG=g+_wFDjqGqdk9U zw(`&-`GjP0r41;?trU{>+*81aM29ymVPWWs`E z`S_NE{EP(?Bk#tS9LURvX;~FVwW?_{U1-Avob%(>rK9QGjGNc#Iu-y1-=dlt)r(;-2^Q}#QQ{mUCNp1WRPqY+36t-w1Z+I#T}=#3h-G1iu_XuHM+v<$<)Bj?>9IZwYl|G8*4?a>UsaSO`O>Eyn?@72*C%MY`nYA zz^rS|sZ?q=wK|zRHRGli(>-i1S)5ppLRkX|2!jJ<^j(o;k)=BoFOv`E^Srx2AQI@z zY4eK?v%Pt}N&U3xyM{I%?V}xc#Oy*q-5gMNY-n+u?kr?1L!%v+Q;8n&2&{Y>w`(5W zP7Hcp^T+hAYPmJ(=4zzSP#($_>732&4VtFwuGYvH`b>^~nLidm= zjssnU)|2KjYq@8zSVDW=g|0jceYE6S!6MTbQ zLs@W(@1Iy=*tu39g_E@j8GLy9IfyIN&%bznD#}HO%43QyF?UlP?Mlggx?ns|9jz?p zOv{%rV4f}RqEp)uIxDN`nlCuR+SQJwyy&(Vph%3-_+7bh)O*_XZ2f$!*d*LH>BSK2YT?H9aB{!$1EnYk z36Tqc{NwzU$Y{U3lI!)4`?{oSz%tmwz_m*`E{43-(Qch6by-4ntV~=yj21-yeZOT{ z)}mrf*8Sh{cU)Wx9`V33Oz7@cA)uhx+e76Rw*frXdzvCg*L;e|u|_yGO?B`L zOnypIo>HiJ)Omj&me%|d`|et55Wl_-Guxej>`k-^((&U&{@2_@dHzI$A9lbQ0YO>; zJjwBXh|VoCfG|H)p`xUuw5gdA|0-E&XsR`A(0@S#KkBmVRt1h*c;Lq424nA+LLfAO&PA zGPG9J2iWIcl?$b?g|*V$q)JC-RFS{B)@Sb%g)z07*u`gb?Y_ayFL(P6u|$@9eekR^ zTsL5)|K|BEL=7dEu5jWrmhUh!Ey9z7Qkr~;_H=@N5^Yhl?P)PhG-voaBdCc42&C<} z1ljRgiZ*?KU@l)ezr{gzu&8}yKyf7DVxP*T=|?Z21=-x+$sntvibVf@?X(x**HzpX zEldL65y#b`Q~3A}8x2mZPJ22#`5>94I3hn;lLuigQiqKE5&sZ^fn@-Y)=AfSDW>gd zUz){;jJtq2>;a%|X3Co6&~ilLY=6 zE30x4W>*-J-|i3k9-6~ysh_v{%7T$o4Sh|)OHhdTL7u#Oe^L4PUgpV?q&0oDwDV4-g!?;I*GOkUd(F|HPotEEA$0! zq|k?HcD@4%3()!q0K&Rz^GzhqL&?Es9oq4oiEx&fW3zYk;7%P5?HZXf}1HW zMz@%TB@NZli`}RF{?($a*8A@(s$c!6({jGV?Ym(sOeQD6GbK^_)uPGWgse*XcUU7i zG=34Pb;M zCLK?vnPENvp8H+wT~=Dzsu~PT9hOVV^|K<>hzyw2PmuzkW3_-Y_UF=evw855Pv#4E@{XbjVxJM=0OUO?&Yp7eDyK>SK&4qWuAwr^7D;#ynkun%-JMvosPh0#b z8T$iKx`*y+?||td4g$5+^(iEbB))cZXRp+y>3vKjIt4@Zk3Onh3KrkCA3~jkY)lV6 zpF^$CbmOpM{qhq;^&he-W=5~SgeT7rYv{+d*~9L@vp9_v8%D^R?ub3pxSn~X*<6ei z_v?(nD9|1d1}_t@unF=ky=v}3VvRU5bDOW}@n3mHr*GcwE#Et4z0EbpybT^Tpbo?( zx^^B--|Y39AKW0@dgzprY3;vk5jxe^IqbE$?S9tNb+}=^JsQY$Q@U%6+493;uec2}GnAPkkC!C17kH zlMKV9cK0wJ_Y=+nZI4_U=Mzch^&{fV0}pEH6^%Y}FQGWtS2z`X2=M;D_te)bP?3Dk zvZW+evRGv=f&DxIS%2eFz91oscRe315~e;21WFM=lrOu*5f$D-kF{h-aqFIWGHz(U zx=u0bHXJ+jz`~M{-eog_yX`lA=QA9lU@l)U5Y|QQhh$v#h#`Va@=e47E+%kx^@#W} z!Y}70bG!wwd^BQo;xGRB*lVjT?PfnF>EOax&;JuKeXm-3Dv52s#b}87();7np>}S? zna=S-W)MbAs--WMj|?_z@F1@qsoCa4S>j=>q4)IVjS!_s>wpjoX_9YYgQ+xi0v~l$ z)!X_}G4{cZA?uqos!+biL9EEz3O9ePshU zJWshU)Gi6R%)!8W)-0x(d9}McXvp*?2kW;f`-}go>Fxvfx*VY<^akID?I-i(`c7mN zjfb73E&pvB_;zQXysxBlK_?J+O8x`d|8q(Ipd~X^WOSVN6BBSLD_e@`npi5qn#@?K zmFk|U%{%j|0^x}iq8zt@-A=U+nxCycSxkpA2QGH;E&*IotfKnaW~iGVEewNaUj~y| z1gqx$O%SRTTAa(c(+5NkfAUBiWE1ge^Mt6#u3kL%l#2WAdy8<%V|lh2sa+C5A1Q~o z1vNZv0|d=uZF>YJw~#zEV3G&ANt;7pACZoWlx4jh?(*p~Ig21``i8d=Jqt5?-YB7O zhbyd3=?w{9>ijFpage{(_0K{a-oyF(T5$W}fAL6JzyBM^3fJc-=YNyPHk7W9g9R#f z^W%6d%0m)o>lhVuv{-RQ%NU`N(yK;l!9mFpM-zA5y+Y{;w0zO02u8@pKWyILTZEN_Jpa7=Fl){o=UX$ zc47aEKK0Fr(I6a@g!y^tqe|!EKWFPh@zcMa5^nz#;4(Sz=)Dpp+E;^28|a4sV5R=D zI0R7$Y*Qu|)kF&qc4PybOHBx+hkV9aUhPkmBahnQYNZTJ9UGp-hq(wWh3UYu_YMDF zS9Wgf<7B>e`bTVT`HL%WNc@0mvNRv^jGRs}PpD$#WuQw=#{ZJ$3-;q|e8GG^n47L1 z|LUr(n?PJwu;d+NJ(jq^h}3~SXPb#t1*6-S)uU+%Oz z`jZ9{?=W`wY`cO)Wie*F?$LMhehDX^bv<(c5g076=WnT59cIO|220q?{>_n^E6EKT z@3ysMntkuNv2jcL%BDT~hxTnDz7JkR8EedYCNjUFMFo#Xeow6{II5P2<{BtaL{=x8 z>+F@%82gF2BM4XsL8w#3_ogQ=Z3JT`E8(yt;h3xxUjdqXIhLCQ46uA4;|Zn$5zDG^ zwmx69%gj_dw>jsS+SQiGD(=1V-Xk z0J{Ji1f4<_0c%|PH6Q_l_UYOXum7Hp7T|E5-z zG;N;6P`%nTprK3aqdj5V0d{`+g?5v4@~#W~f-=fro>0_Ts}@}m zSkotlCIVG4w-){_M^w>zZB*#2mL$L#0WrujfMGhDEcxLN z>-U$cdNzyp9M=yg@%mOB`%r`&1I+X*b5Dc4`%QWfCM~97lShcKbQX=$MDk!(VwZw8 z2Nuq^*T3!W?>xG>qj9jRy_X^@)pe*3>e(WOrU8Dl{?MR@nQ|^|dAs+qD4(xsAC;KLu}f_rmNnq(WG-gOiEag0 zh>xth(e4L*V83YseY^3bjH$Ue*z|S>5mw7 zhsZ1c{pP;kcjE@wrb8CecfaTQlcwjh^EJ)jhhbu(eGd?mj|;M6IzQYN(QCL*awnl=WFwTH`)nB81D1r z*8?X@@5D`vXl%H`D0l&9MTm&+?e3TViGS`OaYp)+Z$2VW7jCeIBv~JG*V8gn9W;o%SAgA7wm ziZtc`h`{3vSJew3YgncVk%g@H(nZ*(>@UQ8fy?&$9wcNilMBT>c>5i?LjEg zDS~5Ib z`2K*=Y=dTgO&CD+gLH+T5NyekDFskAjB1nhVu)hkRSAaXS3=YWuWFX$;eQfK`~G=$ zNOm9~Gdc|5VJBtsIBcFC?6|%z*=X|nRWZKKQ?UEaPRz}dC+^P zi@iXwre2_&1X4PPgK=R!0#6qyqBbHq7%Z>Dr$@LD}fmO!)+f@OTz&j)&(sG5YO=PZ+LhxRxqN|DH>He0hq%f!y$v$)&nj2Ow%W8{id+>fn`# zU<4Su`4brex=C9sEJ1~WuRRdfukO)l45*Z%!ALYiNc#-S(m-^7HydXa5CeQ$L-u?p zU_J6M1^u*U-k1EW1E&ok@9P@c9LCDBy^pwv=6!bs=$AC#Q;+M#5>{3cV(VQuuhxW4 z8csGG{;#*YM*;9bt-TUBw}Gb_V(w_Lv;V5vElh6d-9E{E9h>`Y0do(gL9-V~)>?Ej z^d#qtlw|w&ShN81gKBQFc`!vL&w;b1W@$ad%G6;SoWE+Swre2B5JoZ#Oz0Tcl9vFF z#^y2|>d(pfE982e3n%BJQ8bG7(|^x3x9N)*V&~G^12*_&A_Y^Vk@Ej$pPZ#`Y^|?;C;>Clp_36$B)C zImgK7bwHFrsgy-(ckiC?TD}OOoBFsve6J_}&oS$h_K2jEA?Lr5RA6GC3iS5)M36Y) zZ4qz$-KM3nb^+TyqKBh|(PyurqKEByU|RJlOzA^eE=m?{Jzx++epb0=I(mqT%Wx>E zb#=&5kNZ5~kR5J1{8vU4LdDwS!B+BtghnQ&)JD9k2zUd6MAPt6N6-&?vZbVM9;EC2 z#}d~Sb)n@`p@&DnP;|To_OxSa7UM1KIZbkLYTyp{$Ypdp^yPk)cw|~qN?+Jm7!nB4 ziXVj`UWQPjftk9up~cii7+|89g`0)Gfu0_dX2Sbgp|z_YJL{||@Scet%z0l_q-0MA zlKY(o^RG#s=M?O(W?KKv>xuPO-}M$_S2?`@J=PK*akLM43?+hO^g206=un?+Y!bZt zZ=sWp6Wy$@v_S>TA7m68TR60}V`kh1n&X_3Qc?>6Fo)wo(r~vYa>~}3kJS6@ZLQ|m zG8}m^EcuI#czt5)Ju|F!T;BS9g_xDuF5EislPihCSs1#mC9`Q*%QSvEnAq1IL7(TJBoMo59; zOkJbdh4oKGW#GSWi%JvQUIsx0LB+?hi!4p%?)+xSlD2|e)#wHdS`5r;YuTem9&BTn z5NrePvuNDkoXNIcEo;AqaN25c2u~pB1-xi9`8nCnb+HHYw#wY*4`ev}9wJnO(`R?3 z!s3CVOp=luN$z!LRGrn|DKD(_B?@_fe6`+*YNknrR+z9EP`e6?C7%Q@2DZ0Dzoaz% zpMX8uZ-3isuBgJ{_ELCO6=w-B%N1ha&A(H6K@xq2#KvA|E0vn}1_a+U4Xkso3HG+f zDr)@yR?2;+M5oYrykT-hY9O7;u=UK*x57jE*8=JVCLY(~K2GooSUJ4n(F#@j!ir@d zfg=x$v`pk38s!~n(Wn!Iix=rt16IB^Dgc@T>~=81r4Lh()Dn~@ZfHk!Xmfo8 z-drJX+0P-a=dEGnL}#|{u*Nm|1%A=9DeBOkXnhS5{-G&9F@!cG<){;mU|L8lYX0n9 zcgvi7loO0Z#SvzU82>y7q;39Fa|N7?wa*K}_Vw@Ov0oNjn#8e@%ZYRUswnpwdNLZK zzpRdPPP#kCtbxrh-mDTB-YIlVhN_)6%ujy{=P~yyX=BdJ=80$m2X6G|;6DCnDnTsm zu{nSU3nqgI?Zu5jBEIK_OjffcU%sfOf@WfgfwkF-$;HaIiTMvy7cp`-&b49#O0JNa4!8llak2$*9x-=6%8 zT&Whnt#2`hRM`4V*B11tX7QAgLf=2-DtYoZZ-f(9zwRA+zA1|N&r=cUap1%Kn6Rg8 zrHp1;Mu2EYnuX9nYL}_XSHb+Sugl2w-nyLWWu{f-)B1RBuUn$jH7A5vhVJaKvheME zZn@?yPMfVW>cgGTov6O(5V49w74(`+>AC5SIP>Pjhn6UtyVwUdAxj+tk9+DAH?)$l z{p@lz&&pzNj}9aV2AU2*;Y{HbV6C@wqD z`y-{d&Bl)|T5~bFBIPm*^O=s!E0#$L9Se;EupM@P8Tq*;M$#tzGDL7`?+9kPtO^yi zxXn}~)3fpn9F1$6_x1xA^IxP_U%Qa9=@8f3CIyE2%;{UBm5|P&l@WL=R=bP?e?T)& z+@WU0$PY|F&@CkT9m9>4=9U#PrtgSpZ)titFFKM1POIhWZ^+kIzJNd#6H1_+k3Ll% zAK!aJZAAjcMqLDj$_vjuAnvPmRXfW!q)u#4t#8Q?;L7F*Swe5(h z!IS3SiHKJN8*jgtEy4%BvAX-Qq~)6lG90nlkse3zMX@J7Pw=WlQxint7?+*Eu`2hP z-o^C|;zY*Wtcf}K-%G?T2P(;Mvm#M>JQs7uvk-`5(m88;d{7_a9tJp}J((dMLw&~L z+QG>!U8=T=QKD1*zeQbrWx#YTv=ap#r4sWHHM>93>gjW*Eb$P&iVv|wlc}y{(&*pc zu0Gq$D*Us*;KR@ya@hE5GQ>rUHa=1*pj$Gvd@bqiL?cAbG4pF=7^#VpAU`B?XJY!G zb`j=1HqIZg60jDN7aT8xsW9y{$1uEeRWB*9?De(_rf0&@;`|&S@u3dyG0TZ*Xb-v5 zCH3pJ=j5V#RN^Vp6P8U_$m=!vGUxVfRW@0iHfXss#V(*FqvAg3b)PzMjI0c5=+^TA zd9&V#Z6YKWt!!F^Cchzs$(w0?Yi+N&DjJsRVK&D%}9z3n-Fa*Nt6D--vs*i4&)kb~RX=0#zTHK6uaD0_k;8ayjiMEUh=Gpc!P9s$7LV_bqHB1ur0Ln`y6MjzmdST?V+5 z$$2K(^>LCr$Xs8>x>6Vk*}^@1;yHYzn?{RyT{E{TB!DAo=l? zhFJ~N&L5r~<6C4*z|E!&I0e$T<;Izuhbf6W&Ye8}j$nPkMeO)Cg%Y=7W>Pua@AeLl zQ8(xV?0}3d){-<37_zS%ldnWkf&GDO#Vm0~oNo~!tSf=89;&EpuKBkg3WW*F4~=&9A^EJ z=ks9mOC{rW|3a$#>w&Os_KV_yXX=)WI@wmP9O!plK zL7O)b3VDs(JDsnW7<7Hh%5dclToVz&Fn*9+FJHYH>Gw@O3DwmPDayvDv$?Z+FQqHh zAf@NFqo(3_IC_JQbL1@aC5KWCqOv5uD&)dh%#@cWXT-qHZ>$ny=MDVMMIsc5Kc!QR zc6&pR+~KaDh5Y!vcGl%cAkD&6#FR`%Nb`_36;b^fSp6)6Vnu(_Bn5=G!g-JiVEbAa zZrGvwLI`uZufKC>;wL7p7kMGotz$rwdz(KuYnD}>-KX{s5s2lr?jkfmq)~MHCsM}9 z#F)9Ny-O5?3*7KWwLzJBtb1|nFaIghKecA>Uqgw+8`rKnYM1VKkA;!0NUo~v|2*Nt zC|-`(v;XaOc4#ZL=WA`PbWhMT0R((^$?5NHCTn~JtznPyl{}GbtN`yJFf0XGawUo(F1s`hLX;V0S_DThhu17|XFl_zxw;;@+1%IJrxpj#U?DWy;!0S`EMt|qM zD=WioaQ3*mJyHYoqs;JGzKT<`g_hW2!z`?J_3ro0K`v0jfT>SbqO24JOR^Gd6} z!>E<_L3S6exNwOP*$s+JBVU45x$nG>VqTeE$3&89udEYU0K}}XKzn20o}axCZwPwu z%I*P3mF8VeRQ+L3eRcgmcAL9`&mcaSo%^3#a1mUBmuLU7Wc^_s_tdmHWj77DbeZSrknhn3Nku-l{ zzz1}tZo&tf_c6D{cV6}JW8u=zWfj1{S!#BH&%`WNM(NwJZ^n1vzlo@fJht z^pT3ubH*TTZl0H8Rgvub9MORkNQ_4-yvI(cf_ykBJ{ON=^?JI-`OB2Qs1P(_mh3b8 zgr@6U4Mqj6%U)lDK0L1GS%pLqCM%4_Q1Co24*^G=>I{16>VK67p7#8R z)5sx1wi5e=6&ccRY^e9%ZX&5!7!nq}2Q|=a42=u?N4Kzcp57WDP}Z3f6{eNt80Jn)N)X7nHg_Oj6?P7{OVgoO z7kgRl_*pMDItp4g?`J=VdhSTYMcVo_rPEhKY27MU?^lhPHxbvBbb0Ib&`aK>=yv_e z34!gLJT(RCZA%E&Mfaf((0BD$$4jJi3t6sxqJ@WSgW`6G%l@)~NSb+9Kl19f{0CHK z(RD?QO8OVZ+o~#svgL@CE%b52wgcG-QHzHh(@t(7qkK^tUB!~J0BC?h?&@1aYQpf8 zWYy1vH5wS@4Q89b|n_PQ&t6kPm5ziS0}XEFBk9< z$Z8;h(7*!N z>c}ropxE3(s6C8IqYQ=w4&l!?{QjN+jm!}NyUGgWxQ+_K61Sp&pZ???_aVq)N}9j* z>SEYDxPz?8@`dv;G%nDczbb~_;j5CcEH9WVpgRanMjcT1R7>X5>#-%Qpj+3ZYv_;r zw%`hR(uL#dy1eIYN`c%CoY>^~#BA;DAyPWqa2h0X%9rc0;T?d59K1-T4S!?V-0k|q zA^W=euKoa@3rPO#z@m9x#fd+W`z!UR6JeLyhe32S&t4m5&>|{I`+=>~*9NK?`Tv34oXm-{jj2yuM{%XL_wY+0`v2qy&rYL z$xbIB=*XOvkJ-~7Q{+Q zy@f$(5p*u}%?&>ohT;~3-;tKo>^$!Oh-}?T8Ve-#Kkikz8l?sNrX^lSn}}nlgZM*L zhhjx->#<>H{sZIsbLmj!jQhrVx#_B%mA~GFrK`5CsUPB{E*0u!$vxBi>c~)o`5|(% zXA4EBP+~aUi*bbYc=GljDHDP-vSQW*Oh!*<;iL$Q)g7vrtm}96L-KZn+hnCSUgL%> zD$Uk}MPCWx`^0|&iJ4P3j~?^qQ&VnTZCW)LDGL!i|BUV16yB)cfGE7W%&?RhPE z&{x^dB=8P&yP3^TmN+VTNMzAuOf|5(qT|UC{L-I1g1Z$2r#mZ>D0tvCtcGADuZ3@D z75vDVS?n!BZGK=JafyBtMwmEzRe!Q-+l4Vq)JYAp6#thGww?FoeEGm1qsy1iK36}s zAzgux+#f%)gk6Ewn8y-V8}&WhhFRZlBxvsL2f2^yjmuylk+&CiPCna|lwCO#^X=Ps z?6mnxnOH=8fY3NQ+rizfRR=B zhE#*sMI^Z->^!m2k)&!3A`FDEJ5Aul8;nEc6{!N}BGTsJ-)#a7im>A#adR~36S1cS z+{@4l{BjskV(S_VJi4+UnYebCkxsR+?h4x(2yV9A4^b z7~1)IdnROKss4sxh=w07+E+T)5aQBCax`mc%Nx4b)*IFQhe=v;l>6icH{w~Tb2>1` zUQR+?=zNP!+@>bkV|hj;fD->6V~0bHGS+Bx=>l@%Py6jTGx(WZHZ7*qfMB&Gkas{^ z!Yn#B5sj4lZ7}gYp>lcG(Sr6Mq;_e2YFRer!y97Ftje*RvX_@rp&;c0Q9>u_rozZx zvR(G=Kp2tDg!9XvQ89HPP9WvyMl65USN7}5t7^$4-Xo+`7?=TU0svn>?Fl?}3zCoU z0?Ohe{1FG?I9QBBR~uT?H{<@gRY~nV)F*ez`yK)`31Xp!g=*KW{GPBUECzK&{AB+Xe z55{&}w$`pN28HqvPIe{b;SSEz(Mm6~18a+e5Z-exEjU5tRZN=kbs(P%5+vbzz>S74 zj_N`V-9?eC|KKSN(rRhkowu86R>mTvySYh7)OPS;USCTA%Y|2Ee#56;Hp3%g%;kUF zJq?ypDQ zrsFAc(C}rodbzq6#t9rx5R8ws+vbFxcD^r3*vCLTCren5xwPG$F1>F=-0Lc2VaRD0 z2wA!1%K0XDK86jielV@`oCC#RvluMdXvZv^5O0r$V)&V(tzrkTBHV5Vh=@SLfzz;K z7%4Lq*#5AmxWC;dB_+<+G`DpB9mnN^WW=(;pFP#z|BUrURD13D>bf_wV^R_(SM&-^ z0rq2{$BRFC4}GgL+K^2ca0%Rbwh5VpdtI`>RLS0DSfU;Vty=y=dD0LE-*J|!C=kD2_zY{PT3^*_|7}y)iBgUg_ZPODS8oU@Gh-2k(C^Jm~~%otA_OV=}n28d@aKfQs)k*TRA5 zk2|1{3e-tNPkOe2>6OS7{tC1*VFdR;hEW0YTWO0zd4i(=DbJ35i%$YP-VNa;%xRxm z)7Lc-qM;qO-p|Q!zWhE(!kNuA3wcj^7f6BCuF$Kdv5Z5|T)h{F5oaq>&wcS;{SNuC zN%N~WAp;8OO!x@BnfCYa)D;zw8yEoTwZDIy(XaJ8Ii0n_efdA$JuOcYmFq(m+@yN_ zZu)Um2t+>+x?Uhi8?Cf+=NBmI@&j&jT9;y|+^?*)83nN^toi2zbQib$un72=y9fLd zdzkZS=CylvN6I^TcaT|Hz_gMEP4BHCbX!PNE^K21vl35Yy06f!$F{=>TE3jR!`|A1 z?Jv&^DaRcnp)_2?ZJxX@7142+hD1{UaOa(7X%Q-gB zZPcd{YBHlX4(;Npm;e(KKf{Z`K;1}%V!y+)FzRTeE^c3eSKtWFnvnjM_MOU$M28EL zHdr?hvz^&GS>((t=V4Q-uf93^;tkg`+9ADruD0C4o^g@%HpO;6xBst|IxIO++1$A75;F|M zdv$Z)H5q4PXnYl?X@{3fG0%P{$-Mx!2Sy{~4!4L_E8Xk(hVWrUnttLlPCPdpiF7)% z9o>$x_{pAEw?N@Se$-{#)DvZ1?syOXASnbswi=-%zt_Tw@sAJ*RGrNXp$P;F2|yHG zZ|@31S(D}7T)zrNBM^0Bk!lk+i?m#16`A@luZIH5k>1QAU8ojmT|)Qg!-9xGfzlIbI6q zP34FbrCDlSUyTj!(dwbTncq?x@mkfs%c}0MA^} zd#!1J8-0a}>IG$tejSm4j8Q}{;z)4EgNuDTk5!1Pwz#HJ4VFOsfB9|DHGH3_8uej_DQ=n|oL54hd0 zd929)P8>kZ;ToX#K;hcX0a9kY)&nJT`4T!CJC)hpm(&9i4ct<9^?ftD?I)jy$z@_e zxK^E1=jV$HDON<^nRpha5}Wu_`YvwsC1(C&ey5{lVAvabaly@>JtR+|4Wk{mBZs-EK&f1Oc?y{hGieDF!j4sJG}S2jA#?^LUQ#@k5~ip>@V1|OdqwZ! z!(Dw3^Gf#LTsdU(``_~49(XYZ(o3i{{UqkPO$hY$3BRo-E-As_u*1dvw4JGNfV_XpSP5t%&U8{zFMF=2ua8LT0!_lH_ z3|}$FN({|*Ceu2NtmqebQ!&y5^2ZCMnTupkpm|pS-H*{Tveh7zS-uqNh_azgdDiU*#ZmCCAov|6ylm&pSvIPPMD4e+PheN*OjqAGhXHbswvRE7 zk}m+15|?9p+C_Xk6XrKjQP!}N3nHac5|q)N9PXfZ>j8o0DMYDrpTz8e%-uybc2$0Y zSiTTb+AOK7S`J;}Y2(^#@S0Kc`C4AQ2VwVb9vzfW{$0nExX?k5oMTMY+g~q zCt~ymPn`If7@Dfrk4=-xav1KdlZ37Sq9Utph^8&IZ8zKnxSxPwNYJ zc?YRwu_LZ_hg~qZwNDWz7MDLdxIAL|>U41}ZcOslW5uWc3m>p}l&Cy3w4UkxEB|3* zrFRfNt&-N6UB*4&P}{C<=^Oq*j%fWeN;v%xf<1r5^!MCKlSO_}$X1tF0)*)uk;0HPoo;+0<#sXsMzG`A%1msEyJ{${RSd zyu*F$31i0vz#up_`N>zGK)MX_KffV9E%yyvK&Adp?9Pb#)fjz6U4QGzcer252SgJ* zHt&cfp@|?!Upsk^e22HyhYx&kKqOT@(;c8JBivplP11C8w1?v3EYYuq$q{3iyl3P<%1-R z7d=AQLJ&^<3L13rHaKiY&%^8`%}wVI$A15)FPC2*?M3CCC-vk(@tMQtJ&|p}L+J;J z66)uI#9@Qy+&NXiS+jj5P{-8vFs@j>A_0PGBHwH_pS^Lki6CCs>f4giM5s{+8@Kb} zm&aX`q09KKB-MX1g?9}aANgrS6<7_6G*2KzMIhf98rtLr^^JL$@tr$kYYVG(^h^;_ z($8YzK0{t!N3c_1og6h zL4}bS#;?Ezp}zm~m^I?(3KQ*O&C7^6q&3k+7bUp-89Agp$n;Xz{tTp6R}=%$4UymR z|6?oMtAVb)aHS-o@ZcY!72}-n76Q2 zK!z$*jk2{D^_5Tyaiy zR>cNDglCkaeWU7fGK}5mHg_gWWqV6`wbC4$=Lr|MDwp)HoWJc~I+Xpa&DL$vo$B}4 zGy&~dF=Y<;l<-UWd2b`okpXESmz#~LzQ8BdCs3k^@LtE?i4p1`Fazt!Y?ObM5Ow}W z&alz05$up@nxkY#=r&!D9B9}azYxg<>Ru+I9{zYdW0Z0I{D|sG&5DZsRC^T5I}1Hh z3Hspbyo&oQhO@sHQNnmfKM2Ap&aCR%Z=>CYhrfTA^k9`r8^#T?=HKM0-KhP}eyn48 zB6(b~1YtL}BXd(&cG#nC$g=aw_nNhiE26|(*u38J1ZGb+Q#7%#3q8?5d&hV9qfWN zX9P&2$>^OuzF8c$!Gj$#X*8frNhk%{tSYYu2SEB-<8>g^B8q?}L~&7VggJ%Lo!PF7 z+y6FQ7ChVd*7f!yuZ#5t0d>zNLV)QN8Uzx(qG&z#h31jbZcTprxk}zvRb2zEM{zOB za~}U=OtTnSn17l4IW%(NVVtk62kK%!w)yUYarO~fcXc4f{iZTQ)l)woWcQ8KjTyrK z%$9va_-dGh@F!XSn%cMPQmPP8wn|9@1^Dhx!^EA-wJwOPzcSdB2wO5=x?sQkM9zup zqV1|pBwcF&iy~L39gw{1dsh(on*Qir{m~7@U^V~<;CW9@GnG3;H-g#0zJh2Qyj;zw z(78v)94$BkFr1q9mDM421VO_E2D&*S%(;-hon~X^#-2>4D`BjMo-Ts@PQJ^0Evga# z&_UjK3$*yeF}{4-UlcC7k;4i@iF-U4kdDX(iVXtfM3|j-Uar)$70Uwo%23#oK@W z&gr_4fS>SIK)Ms<;J;{GSRnWD_3~d=+vIftbjV+sO{QkO0)R|$eV;dm963)etwC4C)J(=a?xzVWU1Qjb#tC(H1QdqZoA7v?}2 zP|ourS5T%w!qeMRzVzVzgeN`z_Q|K{SQ>sQ58k+FzRQF_^!}eeo8L&L77>)Fg)c|p z_u%`n_uU+XOeD$-f`xX}VKvBr4!^ML8L}2}vs?e=pWb4P4rkNDQ)NwLDC1Od$o)hk zu;CVt%KN<|8jc#o4}QDpR~PY0pi}L8n)Id_9+YtY4nc7)O}z7F+^&4Mb}1qVa14w? z8xZ~;Lid_u`-an^z3*cS>wpUv4{Kmv1e-B=T3H4M-h#CR5(q8pv@57EZdGd21xdQ} z2{)=AMIjvR#VE=yeLZRUkL!WBfXmMGcL64~!9g5vlO{4Tgb^N$XFF4B1+sOo9j1$O zlPz7A2CjV&c*pnlOIeP&(d9f%O`?D46r4$i>}m8ra`O9Dk2e)E?1>$^s2eNo7E6DX zNebJU4ePC`AVYkug>QIt_3g2M%~|UP)`pJk&~eT=jTZ`S4-ykMg{$gkCCdE08w-=m zMUz!W*PB;163x~FJK{xIf5NvXj8tBnnCVh(H-u+tUeVxa)h^Gfx$2A9soX*9gkhPa z7d2MIUR9FI+t!f06R{uIxOXJ^vi(oEL|QMTV0kh7)rwgZ15Q$+rWo~oye}GM^q$=_ zX`Nl9)S;?@oppm`?*En?gv*dWA>H~q>PpM?Lp`A#vUSNxJW1(vup@bT3QYQ!%!PlJ zruM!mP?{oqcZ2q2HUFZaYE3l%mCc>L4-32!-~CY)w`)ZHGbof%3HN@=h*A0pf82D? z@fKF9|Emjx>lA^oclotg(~x?u2PC#y{f^c&47Ln_mdMGUoU}H*(`=av@s}!=^P}y` zJ^~Kxq*bT&M!7X{b{KybbD(57=8Hm>=A`fUV_rGoaIg_dN)OD7(hJ34v;^+HPBtrVPt z+jJ0WP1e!%ahj%KevxsIk_O*ocC><_ydM+hNOtLkKiW@a&KMUlQ_5O?w}%kdUb6!@ zojOUVO9Q_hw#UuzezW^Sea~@I+ymAOC?$T(OK+!5JrsptFjR7iAYxXZ>L29jI2I$= zQTvA0@&ZDoc!cvn3COeC^7;)jTS*6rRQg}uy;Ry39GESE9KI|s)h9o zZp&@1Fip8$9LTHv`YLaYC*|7oTWG+SFB^CKgu&^-FfMYCW|6+5KE(0TlL7U(KEV1t z-4p=N;lcjqjmJ#^vytUXFAl!_aU5e;pXj`$ECusL>kD}6USZ~D=3aixd?sQBYr(p4 zx9huNT-W#I!!b6Em4eNN?;vMQkz%#c4i4vr2W4qA*4koi(9>W(F$4PS+M)R-g?zm_ z_;bV`gsM7A|E(2h%SuP_@agNo;q!L3_9e3YWm}BH)!J{ZV+yXpcuXawgr#T88DUT{=RmO{;6TsM3+!t7jscM+@8B|^hX&F$qDJU8{9fGp^&Fdce~;&jl@k%dt6Pa( zI+Mo^!@(0*`2ay(z1v!3XOz&}W1Em*cYgxK-+eEkcVN!^IIRm(dA&iW?DvKH?U<~9OJ;x5w(DSukib9m!s{-g{cYPDW?(mk5e z!)^ZGKLNZ@GZxD{>g|2w#ppd}(XpOGG%FlUp-AAIe+u>`G!9(jz@G!XO#cKil# z)w*9OxA<%84pgBHWg9_%Kfo}54G-1vxJ59W2!rQB?F%WXdQOf%4O|VVSE!hm9C7&q zEqJQlL?}-B#rWri%bfb*27L(m#p1*NN7uE-GyVPl%`zV{iYP>?PZ6oaTykmXs%Y++ zOG9qkTq4)GOmZnHeUz9x#a!mnY?OOSiMeEM!zhI?t6Y|Azw>$g{{4R5fBM72?7Yu8 zuje&a)O{afL%7VwozCHD#C0{ipE2Q+$c@~sbPKVRWY63czbog|EFju(qY4~Iz?C5m z|7_s!_5%H+PxLnX8Sl^6)JoMKt30_MM?J5e|4fZFoSHf-dg2sWz#Akkulk++F~SXr z`c4~-2HdN+srP~PH>)=cH@|UDp8fSUzlH|&`dp0JnbMAo#igs?jdz9+cD_SqlvrZs z<=&=6DwnR<8{_OXx@<{w|M?Dc8_Z!e!Y@dOM&?1Zf+I461#aqTfT#p=7{vEwlKsN- zI}R}euG71>l488(#Hy=}9byJKrd3xbX`xq$`ZK?S_463`L1<>*D+>^GNP&L?0r&Eb z^DUUH-Hlp`$d#*hdNxYn+l$v5JSeYBz4rFKf^>@yHQKvM1A zGct3!q}tgVP@4T)Q51%?NmVT=ax?n(giv_l zBK4LcgSt(_p|7j(6DaoF-C1WRGsS9!B}d8()z-;&I|jVz@H+MB1BltpY<^K#Z#GjEiawjPMXJkawhrtwMn7_Cq*a17Y$Z6xI+&S z*9&EP$xVFLbt8HG(sSG(#(jFY@&E)pHJQZKEAWD? z<^!91MG7OA+HQpZI5`%*QRwFzy;fa3%0IjMBX{DF!RE}bshQg-&#dU>bFaEM9~Dfz z{VUwIZ2_kG;-}uc`_1dr+}-YRT7t~Y{mLGYf!BxRNHt<5Tu(r`jFwbE(QU8L%PMsj z6f=2(lnWbzxHir^e#848_Ecf>)NS9iIf5uH?iVH(x%U*afD5O@^DQNZSA+BDVlTeS zMGOUIgd|dj!1t~g-=B9o$~uOQZ-RaRB8-Db7%QcjPlcEFiJ5@u?&_`NnVil|OgZC@C_qfcNeqN};%msB~wa?ip1C)3AvC!bl zaUd-6oVVE=-p-@!l-zr(4|7F=r zn-p%^7uhy%dmi7|g;`hv!eI{(*TyXz?s*x8KtQS|Rm~ z9&B0Dg8vk#c;d;Y9RW)j0=R3E=u`ugKWS*$sevA)O#P`J0j>M_;8#JzQJ^p-4NI8! z)AAQIM@cT=e{3QG^XVL!5IbCwA1t zUvj<{7qF;66wB-|XMJ5CTqlhWHrY8%$pqM5PX#Oc3|2FD$r~uk;8`Ol%0L+*EnS5m zS`v3CGuBI*X5I{?-^&%n!rrcy1(ZI?nz1~5k=mG$9lcH1*e(_y{lovRU3-?uRh=tX zUu9m4a@pV?P=_o|M9vP?MsKwC_%<(1k|y&Y+A98MBg9rTNS!k zyyW3sV`pHV&S9J)TLj&yEu2cG|g5j;L4TorW93v|{1 z60H@KNaulBqy_K1cSieHBw4+NVTD}^qfo;tXjkswC{n?xyfp_~H(27)Zd1HytIM^6 zT1?fvqop{88?n4W8tgXoCX{y~Y2>CeltDC*6QP5m1jIt(wC+d*WBHV0AEtXVfJ zsxT_Fpl7e{czt>Drw+WE>Rp2|4ARgK`ISH0DSwLpd-*$nq~uI_R?aT!t1$<+tP$;afa42 zVhP-FwjcLM*3lIOQ2sFuA%i3KX=K8Hg!SPRv-ur;RTKG0<+2sS=7H=&n772E9p&=m zFJxYoibIx&fvmr@Mi2Cr%=2lzi?B~W;td8^c~$YWf*sF0CZy;kFQl-DAl`w?FPQTF zvWi;VSAi9@dNmeH0XFm+X1i0-?67Kit5t~^|0{pJ`>=svFXcVxM;kMvGf2ZfJfu3R zD<@@o48#?=%H751=It%u9Fea@1|@!AG6D(XHPb00A7%VC1ht}1lG1yezlqXYspdMs zVx0gYa4$1O2%;70UGXx&Mn9C|7O%T$m$T7L-EMPWeyhFt-YLBK3sL;UsjS~OqSiZB zx!0Pix7L)J1O9NYMY(TGzrQiD{Z+E^?Aw!s=;i8(hCf@6zy!B(U@glyK%gC(;&$nw zeAWI9aoYX;tj^ak<=8*-;t>~GPg624Z;Cf>>c(|N{V{2--s-z(*u2$ovAHU;e{1wW z^kGL5t$F=7jazB>Q?x4M-L;(Kd!Oys=nAtl(v0aghd(|q?q~aW|AuH;{@`DHo||X1 zmS%G+iG8s~X+;4uuUl54&Wdm7k;LMos%2CwWLnZJS~Zj9aj_vfJ{C7#9w@~<_RKyd zcb+>ij>e`opPio8cS}i@8b0&3h%+s3x$^~b+~};$aN3N?i<2i_@dRx9b%_fjixSp_ zx^3S22@-N`p7NHRRt1Ljr-uhQhFzAAnKpxC$Y;7k3LzClrx+%2J9!MhLcc>0G_JSq zMd)I+zKT{+yAuTrO%`@#Qi`ifWy`1sOV4)AAM5RMulPaUMA(hOx{exH+0qmsNLw3+ zZ=pR{$5lsluBB1kkG(;*dj>FDVhO!-CFpsfh3QjdlBcEIa}Sifa5*rq!lrj;$G5-xZ7ou$$^ZM=${tz$davx|<8=%PCt6-TCu@G! zvQm})F6S-hV&tyb<2}j7w~_~7@}N34gY03b=Wr$(1cAin_r-p@F=Y(myi0 zUp5ECee}{^=gfPW*g2cu3%@GJSXj{(u6VIC&$c`1L}RSasOZJz0pt%)4 z>ma=+YZvuoUn^aN?y@?WoAzp^-f&X8GK}BPnem%___lT?dZnXSJnFAMP3!%{QeK~l z@77q~x}@%(Z6&cY{W)jW#r+I_UX5;>+FC71Xr4myujz085qtH!xO?Q{LuGWvR|zCv zxjy$tVn&O5;w-Nqdgpy_y-Q{jqsIgJr!R7e|KwUZQ5U>==1Bb!3@b|$H9d~irR0sD z?ZJ@hjxdYZ;aU0U%mx@POO+7JZX=9CU&v5A{O#A``NPmxL6ybl{lcOuVfewo6edy7 zH7N?#@8xU&MRr3=B7fZRQnc?TJZnX=YR%&?(c;weh^pi!3m3Ybo+_|!%%d{T#Y}xX zW+BugaH*}M4{uBmD82^^m|Ds|!;h*IJkj5%iq%LMH?5o&#HjX7zI>3@{3u+M0v3=7 zaH#D-yQNUOO2m-037ZCXvFyCJ?Mml5kD)WJEJWVVX9XiKA&5FMIATRXJZ~+mk2JI? zN9vSFEF;MhQTV;FpLQIY2Wwlx-a?J2JHJcLJh4FB?i=G-(6xd73K@j0MsGO`FH*3( zYLJNj7uusBP;!b|^D+zVbNIABd~R;j@5cW=6>@Q-^Oenk0Iw?>?QhG4*9~5aBiA3w z)LT9D?87UPt5~{B=+Q7^e0g_#qxFrYke=fgPuh$$q;0lJU6{wRt#miOZ&=uU(~9}v z8hpLgt8r*PZZDd-s!?#mX%A-=EBi}?4t0%n&4k?4x%P3At#Gw7id!w4saoa|{5&=P zB8&wo6r>bwZRuLrSfsAo3lL_7{Revhobizsez382Q{Qj5l?xWmmFuCcuS_QI-!Rnvi`f&0W15p>SAy>o zUM6I1QK3$@jt9K$AUK=O>Ns9S|*#z zul`+79aoz}wCavGeU4m{p494)#9j#n@{Y(5hCB+Feo(ttEil`KFA934G$(Gn@$rOp zLduTRq$wE}UVJ>UugW%t*5vsr#(RBHEjr|%k;s1|DQzHPG##lqb!<&)_HK6wLc{O~ z`!f>yUKC4{C1HdH3Zg&Pol$xn0>OPyjhLRfuvM>`NL4OB_`ZRq;C&X@NLc8?1TebQ zbxkg3Q%>64LhKr)2IfPnTDP>%P;AGg2J*@oI>%(U@OOM{T&Sg`-?!gk0e*4)UsuAq zeuAZ3cT$0LFHk36{?jP%VQnmc3KW{d62$iB_H-V$25mPY{tv!EV=tfH{}uvU2qgcc@<=HAPN#+k}-A=ubCS@4rDDt#e!Bbrb zqo|aT^nrQ;7#0hSJfW{HZyz_(TKFN{M`E3d2DS8EH+yC_#gxvQ*mEbVWI%DLU|sM` zV9B`8;GEEnl8UE^+m97%OoTqMBkXEN#tW3_tCE)UIlI_%HI!KQeJvR_K>cnR7T@&#@2>Q9HtyS*l$Rf9Ie zdoK0QMkaqJjdfkNM`(;J=~@r(J7;nhY_VbQp~#FWxkq&*?=lSb^gT$|bLVfh;f}CN z8leb92NgQha^95SPx6H3WlMOtC8#*qIGYgWd<;QywkPQ79X)T0#nU8PJ=NeT@tc1u zl1)5+i3Rq^fC&Yzs21GO>D{Mg0`wv_u7SI_=ZcN42|PaX;b_&qNrnK$`|70Vim8iP zc$p#0d$)m|qFG)w0EYyv`<++r4*eA|rO;@%FFDw+6)yvQ{@8f*-Rj?e&UesfBEO3B zc3h=xojF;2PR9ALAd*sfeq!FCiv0CJovoCXPM+qf{t@=P{$U&%Q%W0%7>CsqkuoFZ z@AC*`-a&@#6|qP1ft1RiM}{0n8OJ~rlfTc}#3@hnJMT;5v6pLNxx1vq>Bv9M=SFUc zlg!45(5en?itQz?D@0cHrI8JS7;$G$OUA1Aqn<~$UZBKcXEwZX-`l}_B*>6L?(P{@E{>**4H&=>@6@$6W3b_QjP#<>0=EFIM+`N z=WB$pZ-l8-KeiH|^G+KT4MKTUU(^$#RM_O1HFGDFA(_jw#PZkedVac=HfF&|aFUZ~3K z*46&E-rx*ulM!94K9My$)q)W^J5kK}02S7ZZs4Oe=M1%LcUNZvEnQ(O>68qX{!*>`%s-Qu)y?r0 zn@RHd1=KCX4|@vTN%i@l3%#J>!Yk6vlDBCJGbURGs^ueHAfNht6!J%T84Y?JIIhF& z+}#F{obUhche7Wh4?&P9kRt=B4iaJkI8RY$@!8ryi^g{&C+Zu#Sb@RvfcK!(z~6h7 z)i%Tmolc)F_rS_dYQb45Z;Sd|)G1XikE8}gLun&=H-m3U(eZZ(;hfZ%8o4l(&yF&e zVhCYQpmN;rPv?q*0QJB3adGM^l~KD|ZLtZ9lw@d40B(6wQ4U7<$0WmSj6a;uh|eOH zw5O%Wl8}_wz%yftCk_BBmgu=8HWBnoN>`0)aH=ORVSU64U(8%>QD1v_t}M)BO#xG8 zU~|Ld#xKEzc&h>(gvfO!Rx5U(RK#KN?<+5t~?qVZh%hZwVcOpfNrZ1Qcx$tr3 zfQ%_^Q@SgS#&+NW#T}jGJpi*@8t3dpBi8y_)ZxQ7YgMXV%#mYo!Y>4~rYG*{uh(9S zUyK2TPOGOJA>Qx9ZEH*jXp4=NnT(w&MQE}yfi$90(?0RondAdd7V6T)aHTs#e?M!E zn-+9Voe1Dn$(B_~g)$F&l-JqjBg^{p8Pk)pT)~>7^yx?S3kfQtBc#(UI4Ct+)OFOv zo5O$oh9Fjq^g<})$u!oEk&sk_M~zDgUh}1R{myJP^M?Y4{W0HS#GlP11 zjzzwCNKGBTzbJfWZ_2VBjwU4@{pA4;djVryL|e)vF41h)w0v0Y$)XzDLB|ht3zF=yy#~W1zaD3=LyP= z)8%P!e>JS;SwXUHF5<{}wMV`28(FQ6!s+ zY0MFhn*+VVC~r)^9LhKSu%|l+KRy$33GosCMc}!5Z@Z!ciZEAHEM>w3;njv!v1rljiqrrey(u8_n#fk(cfB(Rce4ks1TnW z3>QGKt{&ZhQ*EReM^fOES3fgEN{y1K%2nRXK2*(_5R}9xJLwKqgEF7xW%z3N33;?2eY!`-Eeez@oI%TtZ~#nYAd3AYWc$2OoZ!cNXJ9%%`S*ls;yE4RwR_lKSdZI!f&(xp5up*&u_IurKkv-c7#>AP zhZ)BfCiLg2R^sr;f&-+?uZEuDmk?0_lU>a>RwI@2Gn*xAdpVl@G1^ zY)>BenQ;d{Rvg*lBT9i@*ZAG_Sv&Vw-gI}09Bb(2fgj}6laOA~qp|C!QpsnK_nG|1rQ9%Vkv zwXJ)^Mf2Y9`A2+C#SMh9m0d5hX=UfLxKa#kT*AkD1m3GC; z&jqEcg(t}Xh8(D@Yt<)@LcrmTua|dp`|CuW&i5M#OV|gvm)R6urR3>S-ZESRHYjmn zs#f?lIBCfrF*Yv!O(5sHVU;FUE;D8e)wXf2@BNP63hstE_wR4PsJ#5H9U*=SfG{f8 zrz33~>R+?jop;%1#-u;u_Qnpp{zcB-am34PX~&po0C6}Hu&%|D|ErhqWgpODFWU~ zu_Nj4yU___s<6)f+w9c}e}c6V6f z_>~mu8-kRf)!ENaW?iFpdlCAcUFZFO$ncN{^)W#h>RZf z6fV$Jw(}s)M1gC#ZP|3R}c^>NUzMN7Xv`@}*=OmVj$2Wvlc9d<6+k z1+StX8C}o++)>n;5JqwTnIzxA{nB=#J}bowKNn6sT7PzmC~plKuW-0fyN#%6$>zW# zNG(cbwMZuT#zbiVO!5$T+_B#uGjglW%!N?~#gWDcX}iYEy_pkG-?kC-C|xq2w@IB) z_%8`eb#zUU(gpE^N}mAN<&IYK`1qYE(<1m=7p${T$Yo;-M2k#MT{L7Y4aFW^xjR6{ z$f{Q5KMc$MtfyXh21{4)u57~zM=4fu(@Am#P;W?I-Ukn)2`)=0rHFR`*0&0go2+>s%>P#q zyeCrpKEC-UdgeQtU9U0wAfGN)ZNKcuSBusszi;|uE;zCeL$fD&{Dbf6FZh&XmA^Z) zllMU{8ovSg^jAdSH4+nby4xzBdaOL3m*Ol6f+x3-WhsAry=b|53!u(LU#UM~R7!#n zINM3h?7~{1e&3m2gYvX&I}#!fBM4%>*EStLBXd>&d^zZuFr>iwe4Ap7(-e9h9|CRa z6V1a=s>7nCpjA-IE7!qmGjyt~7xM-$bzPFw#qWk^$dnK68JYamKHh!*4dUu3l)x6s zWAxYstv3n~pjk-X4~$BQ4G9r=%NA=wwHSW_!X4u{-yc9U*UZ1yhUPmhI!PG2p{d4r zn_FCNn2q(QE-##!g1JM0XB?SjkOpeZziGk;Or63@UV3N%+;I^8u13D@0$?TK6oX(( z>nB4J=);O?tRcdqfx)~lwypHi!FZ<@0{Vv4E;aK6-_ecdt6_00i3?W}smzp<1yMsG z5bDA9W4%eS9((oXg-PJ>hm>DF0FnqcNP};_WiG;>u8l%IiK05g1PH>F?qV~k04-YM z3u05rMs%^7pcE>M5PDKf3c!U0X`x6|@mDF9=-nO9!&o+esP~YgYl2-al6> zaj7$8zrk5cg-AQ&Lfsb4<@z~{1=j5uzo+y*Mu0G~@kQRqmpwDq!pH%~X9qg8(mfhc zLd|y3OwMsDB8Jou`|A%m-0}WLi4t5{mAR-NVV75HknRy?<8t^C_3dp+$&1qti;zp5 z<8x4Yb)nMZY+|H2a?g;a=ZyTqEi+=8T@XW{bj^YJ>RNS{;EM=Esm!H87p<6%+fk;c znB7U!qhjSYDb%tmDCRI9gF1chd|a|;vB8sele#z|FT??$*U=7 zX+P1-)qoE`Y7T10F>YJAb!Pvwu~0dsddX}laD3DV*Ryn2d0K#cZ1}>4>a`X`&M7(T z0Z7%cg`;|&LKD5kTj|6{2az_IB`=WcfVX+d4ADOcAvY&wx%C{l1^r-av1Fw}4SHYk zdSQi=k&o09`Uoztc%}KFtsTS1$)JMF%Wcw3QNzkbBgO3LK!dpU3s5Ms-tdO-s@cwE z6aeL%6q?AWb3RvHky=unUtB!{%3VVaFM23+ZVWc>3mweYYVkTy7mnDQh-+Ag@I>O41a6zS?ZMVz3A@I`ElMGzm{Z z%%Jo>6y5jUJOAFWq~yql_G06`rUa^33fGk<;Xf*X+bM_tY4Y%cice9^Y9d?K2nVwP^P zvVs&G95V}|3i#!}Jotu#N-)9SS?zgYbV1a9p9EO6I7TBzpU#G2TbfE=1gnN1uc z6H9I$jlr?ognQpTBnl1ch@-f})*~NQy1eG|AJOuMEj~Q>1?j&z6lkzEf?`BEO$6S^ ztNAT$L`YY!vIVolhL}0Ywc-^&n8aQZc?k_jYP`sSUX8tji5u<;Ivf0Y;~1LcQ$4kn zdaNXfWTvPI9}NCM?vXk^6{4iWJ;dLh%F!#M?|7AfIV?{-W@MiuEGs^>KqM!O z72-KMlD*47sl45k@LK_AV`DNgF?NUTx|jINi90IVE6WeQk3Zd(^=n`aJ+J%xf}Uuh zi=QCn#l%^F&Zo%cX+9LGT&sn?RA<>5(Mw<3;(}mZ`)+pHujX~NE6SP>bZNW+C;rY! zjre{E|FZi8(K0$a1OR;}mm-9A`H0up^kgsoa>z9D{?g>O!r1z9KHSWkOEAR?`W8|+ z5XRkc@@YBVtv~Tox0Um>;Ou>lsvGQS4xu#^GuX4lJNZTGM@5zX)Apndy1tX4F`lzxmHkz$`I zFRFk23{(zlG(WN`AoWd(JnNYFPP_Z5yhqmq((}XMR@M%iss)$r6A4|tZnFhqI_l!Ic?{b)k_pj@8H}2Hk^NUBKWXTqj}PI0KMT>l%Wo+y1RyfdP8d=7 z_wEzV3T_0^ZxDyr5tZ^_Vw&EfnG<58b~-|K*(NfMHHq+YQ}p3R7}k_A^8Ip32~J^% zZZK_B_?=f{5=&Y<{AH~Nu4e#NOW!&Qn0Mg;*2C z=vpnF_Wio(t%oh{aPoJ353$x;ym+C!qYud&+S8&{LFs@D-(l>~IKPYh#^b#~mF=D( zhBG|pk(ct1K;5l1|^ zXK2?rf0skt_zo?%OW@1}(dLa}B{pbk8*YKrUDXyOG-4~32d*ULAK^ghT>71(yOGaW z%|dB^UvqdUOm*j_!Awma@@>LEjv>ldXYa@RK9E7pvpa96&7gkD>FmWQGM1W#4l@3k z4_Qr-4G%wE!#tpOcKxxHN|o@Fb`50;p#ISymrtZ_ATsN( zMQzo!{Ud?+R4X|9dqibjdkR~EP?$~XFSzh%{l~1GvKru>Jij5S@`hLZffQZi8;SM2 zIINU0ZhN!S5KG?@i^WS}l0sPX6=)2Mz0V_6cK0s1T=DbU&Sx~pB6#7lTYD-^eWxMA zDKu5=(dNUu*WMk}DOHa(mV*Jjqeiei_|{)s*A|D7dbY4dC#_jv0Me+w5N}vUQU6dx zB5(S3LV*A}Q>Aj`_@03iY5`7 zc}~w{oyvV5JwG8@^S{N8T3V~x1QA-~&mYMMr3*H3K*FP=T4@pGe*@w*IJNCMqX>~L zP^~nOO1ZiR1Xk?CA_Dn3a%_l}p_0f40&+@TnQHF{1I`57rMm-=;_-Cd#CWpJU|x+! z-^|6H-Qr@ImroEs6=&c5ByknMqvJNax+ko}{LQ3B^@XyEB9|M)h02ejR z%G1E`0LJ{DLJH4FE3U%}d>{E$!TxmQMCJCruZ(zh&B=*(4+2N565g;yT(9iorip;* z6m8!bvgbv#XBc#_K>R#oOwxGO_gf3MwNap^zt(GVK?}aiK48^N}$fz4Lis zb^KcLQj~3?>%ry%A$U^XoUR3|^OW}a+VUyU?;ZGLZHU&y$hQz117O$76_2x&3ombv zH-u=$v%vL1sH%v#NHKBYeg(S1(|OWFX8@|R5xbatdmA%6N0*AKN$|_|_WNA9roCnm z>t(r<6rb3%+6}KA(d{#MySncy`~{Ll0&;|+UUJ>cg3~<&crgYnFokMcqRzi?DalgpZ4E!z`sC%(=54=z?Wm>llFK?Tq?P=*yxL;8YAbd0$Xr_i< zo!=-g2dkwSR?`k)3$1`E8JCNkwT&%di;xK;&OthTPL}yKa=BDCbGhsj8Aka1a5=JA zxpK|0Irb%6ER-0hdUv`Wnwo9(6wsL&_&+W)drzqD;ySx%F?V;!n5OdO&%sDXK@u0? z!?#R>?9vOTE^Pfn;S}i0)Cd*^y9JFwt!PsB4I-``F zEjW;&QaDo5n>AxdLUPY8Y`;B%k01TpwOs_Sv%8eIqpCV{o!yx8*Vetxq1s&i=D|M( zxc|L769@}_tqi62L$$@%{$PpyE?RmA$s#@i)bAx0IxTdxJJ8BF0qxZ!n~C|NF&{Ep z-Zi?w;I(Qc*%*M~+MlEG8;oYdL)tp3IRA|9!uXf6P#=NRwTc+8rog{Z%;L$7$LPFQAl+-T!z^%Cz}b&-e+r7Lo^sMXfa+IW}|s$?FOzTBAV?gDpw9ilvwL z&vT-bYygx2G$8b-*W(fTNOAO}a(>zpW*oK3!&pbGqXTL}WJ(*Z)!%rS~KaQ$%w0J6b)w*N@ z>;A9V=O%=n#LGkQ&@#0K<(Ju_hpzM{qqM?lXO4(qlihe7z;ih`+U70q2up#x)5Rz* zpn`n;Ls+{A;Xq`WvG11ro`JuG92s`bu^Q>|V=Z-JrAA1zxx4)Yaou(I8%uGrnL|+O z(SZkFdc_n{{PbIu?x#O;*N_{2s}>S+f%hbgQ4*Qy5W zD~U`j5;kN@0uJ%V8&_jqqAki&WL9M?O}6SPtw%~tf&k_J(Ik%Rx=St=ud4l*TE2GH zZmHp`>%+%>*f$(bWP*^hUXzC*^1ddV0ru}KWpE`IrO5Q!+OSgi*QZa49tZInT&!5H zXkdlpIfob@c>85wnb6s*q5%~2KflP0K57bW{Il`tzplr_6Zt-V`Ua|9N6};zn*5Fn zfh))kdiV7ftsvOs$DED1o8aizoG|gyx}wPC9AwCS#J!mQ&`Um6<fp*O9@s)ac9AhxtaXN&+-7mGIov(#lf?nUOUhJU30XrJKEL@ zlwJlLvgWu3x7oy*1&7dzDAKnO3>Pu98dl@G_W@HdT=qX5Rw&_#>c{?)1>NC5G?`39 z%K9_rtKClgG|xMoCBik&!(_lb4u>+Et@5>m`g(~U>Lq|gTi~TUUy=NJIV`vfe3F$h ztKkQS%BWP=vvMEB;*eH1HC8n54LZQ^iDAZ1@{tj+6}216wCw$^^@ppdD`(yU0CY!9 zkkDk2LRj38uK>Zaa7ORbM64I_5_8XxFE7pD-t5^grEiKr0?{Uj=Sh;nN?vTTv;lX* zpQ$C3%RA~o>R!H91guJS2yN@8lN@M!L-G`2m+VCpZunZB+F>j(DUrs{)U}g9vI$39 zkY4%*UIoS(M|UQ1*yRWVGBoU73=oX+YPPKPux8V@u!Vl-q|(XhpwbHW1y7R^s|=>i z$O+-+Hlb=yM<(s<(tScOHA9|4{fBxQ#Tfa|CNp{XiB?S>*Lt)Y{!D!`ZA}3U;KA?w zz`S9LVS+j^U#*7LqP!c1JhdHxj==g#j~@h+N@-!ciP>iShe)$&s|OMARlR^DyK7%{!9$Ky_hdZ?b2Wi$jxh zq~1L|*W(xCEst?KqSbXSPEC=%7kpPq22@Fp*l@N4rciehS$D_dnMkftJ~fsgb^S^l z@*YpQmmF;ZoCW+}#LTR}w)*x~`UM`k{U6)y0`HkmW%G77wGfcG?ZKWm=w1+iLxvO9{*-!A3wCBVOev7?i~=;7Btk<0=HJJzs(^HLPV z`!lIWI;v*8fD)e(o%?in4_YsUEZbxx0+@10`R54A;{MC|+`pudXOEeRwIH^@WZVF@f@jW!`Kj-nJg%tuM~wIHNK$)uWY&82ad&b!B8YyYFfxAdx1*QP zpl>T7!qOUB9p!30XK)(;N|C%8ugnN@ZhV7(VJPP>P0EZe z0et^DUp|XJQ|G5EYNVkX37+I@dAxVCykV0P|IXuAUS# z6zwkiI-MIuJZU{vAzboJxGzhv;X)9~$Fjbe|I*Gb)v!An-Wz-is6>j5p_N9FpdvC? z?41Ho)Pg!Jufni9c;dg?mQ+hx3izEaN|Tx&r;by2FpQ+v1N^zT!A(RP0h$xm9c1Hp z1)bcA%;+pZcO2P%KFt?j^7G*}Y-j#Az!r6h07QZy8&f!aHP#xvGo3nPJL8-%@=5CS z&K0DkOQ3Sa8!r+I$Gg(RPZ!9X?!hJN^5PYFvQ4IYYWt&F&f69cRt7uGl9 z`KKHfPNlGbwV*>$vy6^iSH!>cAT58*}yv1vpi zxLwbI|1Q<@+~<;t_T6F>P}7k|fBI3jC;TRz{-N-s`ax|A&nrl+=)gng8HqdIe1AB! zopVqte&qfg^2|ucDQ2q{%47Ih1oaIA&NfbF&eX5h2n|bEUjeAoU^`N^1nN4a0AZ9i z*?z7O%f0+?ORVah_P32i(s16})yrFA4R1V0LN4;MPB}n7RY?YI z8twH==h}*)lJORJhmtCnq3%S?j<+DedlDIH<9x-R>AHM!b2|8%)B0Xm=ON4PIozik zC6sEr^IEVTNDb6D>GgSz@F}%|SP#n^mQN8?0ds@4_#=blEg!CNojIu$KMW}o_Lr^#dDzg}umgD*q5juN09L|1+tC3jR-cV; zg8BmF_{2^r#@;pQ7TGq!Kg~&;zupeU04tqDUnP$4yk+_${u}p-1xCXQ40ZUt|1kPi zS04zrO6U6jW&^TMPnZINIcLf;VsVh6*)iownsea9FXGuFC)~`euH~&Ets?i1A&krm(Lkl-vIjz z%tzor;)3=Bzll#wuxpmn$Y1{-E$#cOFjwOEUy;)wmfi_S5<$(SlsAO zqiA%20imLe5-RLyaEe29-yMwqLo$l>A{A7k2iVv`$WTQ z-r(n`?as+7a*eqtS)8TSPEhLkipL{qEg#`5$fO*dF-e*u*L}s%^v0$&MtC^I~y^g|fOaRmG#^a@p zjpm^T$^Y?y27B(0r$daB3QeC+WtP2sg=5QN$||t-u!%Dd;+>%b);`JC;ufVwK86T5 zj*?$vV4UEkxTXCN+2&N|lW2c3Yw2+9GWgN+9unXC^-IR3h77!va545U}z zR84pKvvBG7ue*ad(cj0XKUjGK>gjfH1uC<}+bPIw|EtB8T+ay()dgwmIUfkrGJ_$| z9Q%i}Yr0Ef6X$?L4bD3vU*G5<@Q|fLyR|y10j{v#}pCwLR+t&ArNC>|bY|R>} zo8at>klr;aoB~Whc7FX?M#x+XrY?)cdLjO(wxLrIvnX(V=L@YxD{(zE2E1e$uV5Eo zEsO+~<1J<&tbbM>cORPL()?{4S^%|F?FCfK=6>(9dvQ_CTl!^mq!6X(2f6u=AnD6yA zb`J9^RG9!u$m8mAU z0tOu06#}ybRI}lM*ZPOoapEYoD14Gt;VkSFEwYE+Z0R~5#D#h6+Fo|WG;t$_lS$2WaZnKAC0@iE9Q z)em5j<|FpIh588As3)fJRw3jyS?9KlUJh*GC|1Tbu2=L-XJG!gOz7cfk->{rcQFoj zPO80RUbP57Fj$@1KJS6vH2W2?8HH;+>5rK=fK!dKlcDq-pXNYXgMYZha=MC->Jdh0 zplRs8ast*+jnc#b(6@e~f=^Lag&}!!Jdc3v+wwtazpopMs_(RHZvsWSzC3wr2Wy8G z4Q%?S-q*g?1Ap9*ZwqG8WBJveif^hs;M`ZGYmq$9oYk$H&XeI-BegUt$Y z3&+2}8&(ux-q4DUilKCkS-1{J;Ee_3(BWr>!2Wx34wqxcw<S+Gb)j>iRUlnv#w3jI3Q~dJbs1@XjjV_aMd9Hk zPe4eCV+2egi{}Kva^f5 zA+JA`jkm!%9IIZ@pMGY2qwT@K$o077rz3lGmSno`S3DVB9-H0C{yd&2O#L>he^54M zBu-I_{a&>GCv|U0cYNf%0IizePa#OA{Vi%K)rDW|9ObuBvcyCDCvK}%#4ykW>p1MU zNy5n03~KIQ%rO?b7gpYmBap_y#s0U5Z=g+0Y^&>Rw0#q|SJnf-czp^+e!_WlT0Z9@ zvsYHN+$K>CT1x^HaQd34t_eX$?IR%l>!7H9`5t?3wRQ0d61fLTQD;f(JsHh`d3;mL zmRK=}>#3?=K2xT2z9jl;6}8Q~nwVf1i?3DGj(s1D9?j+lHIY7f&Da>|00}H^>>7%y zQhgBQ(@$J>r=P!pV_STq55hhiRnTL>D69C334?!EppX-8d$FSR0f%Z=2lM=y}H4z*y5;w8s;+|<{IaQ z1bVd9`%7P?fh|FG4lnSyq@TzKL#npZJu|3g&XohaL)yQ~+q@4nn06Uj4;CCfLWd0A ze7^+grPO9#j=GGc=I)~^V(#EXvt3SFk2Lt5au|g4-{#|5GP*0Yi2KdkB@1Cdx^F(r zGScMOhvx`=3%SzE?e;X}?ZQAmE&ok{23mGH#P!Z*zwy|N_sp4Dvw-(sbw|*%1q3JK z8=!un^U*@x2}Qri12R5o)pvYKi=-b*fd)fau8fxlFa&>g$k9lFAEAF)ZXEA&`mFJB zO;7$@y&&yY&Wy=Ym-3$Bk8+jJf)Q^EyO6-y^4vXf7%)Bzt>J3v%J&U4t|0~_BoR>v0jg0_y*N# z73#sgLQkZ7GkW}V&F{qvjE)?vnSq1uBGp}TOwp(%il3xytVHG=FD2;5xeNeXg8@MX zVYzcyEnFe8_JZF0Jz3rENO<0Kvt0{v;u;c}dq$Ld!oMMa_CvdN zlh9(XQl|@i2F!jlA36{!x&=XUk?~eHB+P;ba_kyqms2d2)!X}B^%+-4oA&>3#kohSV{ixDZhO?q5KV@2U5Me z%eIAKkkwvFi1&G=)+E$b zD_xbGO-fF4+QFGgQ89@$BU?7r>Z!MFY( z&=S4Vb%R~SPIRw#Dlyax`DzX8+TDOxC323NMLq8k|MuA(m_;~?Z_b|jW^rKkjcLX) z@qC=E=37%qK1aTLP(TVj8w_*XVL~LnBlv(Sy6oY=_tU!!+4}5>$mAYKEf~zVea6KL zhHUej$1JIzDfBpnZ-Hye7FdicNN1|)gEjJu7LEod>?Yksd?cM8o%-BLa`F~4S4kE* zJlt&O1yDnKH(@fb`{me9s6R`*E}kDyIV%sHg?Ww1A^gv&;ZR0p6t1w)atOFdDlcG& zug|jfOAP!=B8v-v>9Kp2a_a+4ton3f?nok~Qqp3UFtUi+F!WMuYraiCM1+N8bp6l+ z;lAK&2I(f?&!(qi=$|A*XAHA~$CH6i-{Bd`aPsWkUKQ(%gPiD{VUECYD z<6(14T$o&U6g3k@<45UxdB6gld`?wR&Yxh;6?s#DChYTU<6~40+?4sj70eAqraG5`_d?zbo`%sbvk{O589caujyyM6fn37qL;F)k5O#~Z%M`zLk)HT z=>(7lmTJQzYM*EFqZUs4FE0Avj$ZRNM0Z^_Ny(V|xYTX;f*9PXaMc>CgkG|@-K^?F zZ-fCcT6z?2M*n;f_%bi+7*BJ)f~W*7t5z?izJrhB(k*G)*7CBpq`2WfAd>9b0T7{F zT$snTcv`5<8F#7VU!cao2Y?BtAhJsn8#;-c6W`5-p!TklTu78y#o*22-vO&@w6aj~ z$oU95{^rLpH$>wN!J=Vi4J6pfMJ>WXu1QV!CxZ_ZI48*i_3J&dch+DbsNC{?!3Ju6 z>@M!Bt~Wkaw85C?M`!#$giq9m=8c?jarJso}4{WZfy|j9g^6y;i#Vu{gGIZ z0#=X;smEr6k*%bdt>z4lLgi(XU=L-X!om3qXG8o(?}Y1|)O3>Vb2DaGNdM@`n1l#V z-$xKImKKB_CMKXsuRr*`T!>Qj$j&*i6wLcmF)Jw> z^6nt`J8Q3##v2Odzk}u;e5An+E}|G^8jw}aRg`@Bo98aja`RaD$07YNhd=pPv0ul{ zFPI*_-m4=ke7&bxO{qfAP_s1d%egIFnqZUDZLe_Ky{hXRM$w5qA7qJJ(1*0@Xp$c` z5LA|qQhyr;Y?}1#$1Dy1t-jxabl3UeA}8@5kjx*_Nl>;du5ewc>@uDt+N4MfHe|E` zw_AWQTjc(TnGmp=<)4EH^WjJTX0x#d^sKNRw?_bKUKAoh{VNOrUqm>Bu{{gBp&ul- zwnZyce(IbKzi{ny%C(>s(R`Nj|B#OB>8;dP0uM!ZP>{jTo`)ih$Rity$?C;_28BDC zha~rEFA?wAXi2cNj1|OdL<%xGe&C1xSN%e4!}Y))JDde~Ie_A>R26V$#AjmPsD<+T z9_5$#`#g3+d;m?f-tCn4ALYy_2tTTM#;5#SU`ZjfadyXRu3RB^X-*-y!@W(l3YCbG zT~MEt=(LMN6!gV=>m1fr@Zmu#BCmxbott7O4Kuo` zv>%~91Sd%p4m~&_mG$5tfoo0vA}R&nHehhjx8tH9WG`Edim(X!P`J9+sd2Cz1AgY( z-Q~BUM-Fp-meD9x*S3B?jc1zlWOQC_`dAs=T*8!X;g+%SVXmGDzurdndd#TM1l_k4 z4vb|1A4PaoA49!xI0Ql(0=Dc?V1@Vq5q&sV7*7nl_oyFIRdjx{sort0GByZ)E@$+pH6ek9-j@=zu~+O$Pn-7AgF4 zm%(No4tRFlz!ceZJT|_4z0Wp?Ox?{`UbpcT_qZnpg$bflZaqh@-WY7>I`*RJC?xBf+j^g-CZ_rjkfUudY`@w9*;Zk@3~V9y)ME}Dv> zz0+XMW;Jw3b%&}ytBYxwx3<4yID)=y$3fg6JMc3Dvwag?Vo2)$r}7W6zVaOLh-`1|o=S}?7 zFo{Oi5~7V#92omzj!)aoCce$6X*k|3W%5w7;BDBQTs(!7_yVJ~hf;q=22vP46uwKA z_8Hl&b-ML#HzYgkUy9}o?Bs2O`YwG;=;V@yTWi^b*3q#HeTawcHsbTc=OYpK^{wGg zhK-(T6YOKDr|6)E1(Q3DjA6d2AvZqGkKI-Hr52DBff@=h0Y;Nz?!vx5nt{4aTbI9?%Td1sV+gkO zi#9}9i*k;h#o3*~pbiN=jdE!3 zUPdaLbw?&Y0uM8o{?pUt^Op*9Vf1Q*TkEVPP^A~Q!0c}~LGUgCOrw&pN&Q<2MQ_s2 zCiJRboHq1O7M%0t8?v2UU=IZ=ie(pw0C5Jbzp#G49}j#!1urI6BHD|IXZ_~>o-gC2 zhEBVlpid>Q;hmO$f!9WNzSi0r%3#VBefn@s^g~NuV+x~WBg25!D16j1e-};NqpK`OE5Twcf4_`kEr%lAJs}T1ZYF zt$+3we!5Uxaap}a_D^tTM6N}<%GsldT_%xRA7&2>j6C~`2pQ@*^9Xe`Zl&+>X7aC< z+jD_)y3hXSguSx)Iagn!oZ@{j#_o|w@rY&^I%#0$&PPdD);cZu1BTb_Cwil1-`3;J z3{9Y@5@^{g>k;6slJ;dh8d#4%<zV0ZHgG7 zS39#=-)bIN@8qSn9bGfCJVdKj>^JpRpv*!+Jm@?wbZxME=WIk*v|_EzL^!9cM=Xn3 z`#f*QG4#tpme;P5V;A%rftnVv%ZQP2TsCiUNw8|)oIvVr4t<6W@6rW>ax@h}GK!$f zzq9>cP9j1`yI$v-d?i zvgE&!cmvK{(B{NJY;1-rhWUaxQ(6Ir91t-i(|0qlWcPeF#(MRI2kGun{?zTD6W!9%4TIFtjET}Zdj_u4Kbi3T zZu^aa-C11N!0-3!;)xB_g<3m8A$OtZ13u<6SSO}J;9T>Le!x)-+@BDAPtLfDbq16l z`A-?^iQ41g5|Gio7oM4?jG>I@y_{Hq2vb^NQ4cPN=NSJo4PpFqx9B5phX~cn5nxC? z-|2n}NWe|BE={M1nL~>R;>sr=@DKNn3;*9soyyI-|J~~R5HF68T?^F#J$A>C*@!WD-ZG&{@y+VhQE*}C_~x4@E-Lrut*D9Hao#s!Gh#=H z4F(^5!XZ32=!$m#MHk7(ny3C^%1t_7~R(@Id(uH25X+-zG<57l#blH+RB%%wL=hk1(FF zSiY?bBWvMH-Uj4#QMm_QgzL#_$GC+?pLYapuiC8#Jj#;wA+4u|`{N^(lb&Pn=%W*I!@$vaV?*>D%z4a)M*5^!yCCAcx}6YUa6Z;pYhd(3 z02ovQO$!Z?0{m63uy=00h_jw&uKnGvd$t@}`$zwdg@KE%ZXo8CCN3`jEPBN-%Smi5 zqya47ejdJYiz24KmvTXmCa1_00N02<&Id|=Id7$^9n38x<*T2IZ zRqA29ZlmE62R4{*3qxbQJsN?Wd$kD`KpUX$JTh>$esi?rNs_YF=Bd#PLDlof-7M(Q zR*jM>EhkypU!>)y8wLZv2N|fJ@Y7*-2`e&= zCHGuvUoo=qr)H$=S&Ffh!J*D6=Da##BDoSb24 z1=74t*6M}6fm1}PBYU<#7T%x2`YWTjq}RIB75Kaa+S2#g4`2b#8&O>AU8UO_3QRK_ z@`kS}_kVLJuDVRO*PYMo7Ov@YO4|z;%zK?)OXt7-XyU1FHIptPg)?jJ>{n|vE*!4HqT zh8?Kdg{rkTjTz=qe!=caeLZuNM__?{^Er|GAGYkLkp?$1=qtx+9i~`C<&{=oHSqkP zN?nrhoqUS4qCZ^!d4{`R4@P-ivR+RfnnNVdly*)?-|N2_*2HdmhT?|;yG>%(V51a@ zh7f_?sDiS#R>hgCC^Av60Wq|nhT(!9kMYuq)RRQ@r%)eKiZ~I1N*vnF+tH&7vB*+B z_AB;l*SrR|(Y5=b!o`v~2n(>zU_tuCR)cyB{vFsp9{8ftgXjUbj>qPr|yaKI{eAJ(xf%d=VbV=Km84HN}^y~|HEE&^KFHQ5t5WSMY;!~N&hMI zYio3N2Kr_i=sooHPmsF65}0*!r1?{m>u_^8VV!%98Yj+PfqyZV`e|5$I3Kjp$M~yi z4fJ2DJSyZXpg;4->Lq^+0zmod@BRm5jOW(fMxBB@j@D~!Rnp%jAT`|(1r>ad$u7K! zHK~6t28!!?Ih$)4 z1adlqjYHtQ=G9V6AWNxqv0d|&e!(!ImxnJy=oR;>ij zQdv)O2C z9OY0*2e_Vd`4+w51VGu-V_aX!iJqNXNgg&?)nS zZNyD!Y?>Z>@#nntif#41|FPZ%^P7Zf*@947+xYWagH7zRvP3U=PKP~#L6(#=w{WwJ zE)~2bsc;_I%siAA6t_Vn%!cAhk^JP`>w2`^=98qN2K&);;XZ35y8wfnTR9yKkyc#W zFsNQk&RNmRT8CKRz!HcBb=ddl?-p>d(pcXolww{QK4J}|>=?Lju>p)N+web(jw zu6zmGorwMJFliune2&Te;_iecoWdBNxl<=yDwFRnY}4?kZ(Tfa&a3N2lmXbADA#E3 zCJx<8zg9A7GvZ=O*AK?cwYX=~S7@SO1NI_-xG$;H4!njwby-051C+{SbJXuNMB`*m zG=E*@47E^}3jEB=&e6z7jnA@&J~+WAX!RTU@AB2xK@qNAMye!@H20=!k9`2R0omfO zkpAiJqeU?$*TlRR`Tr(3^YDv>xSzoOC8xZzHm9jHv%Ue-jtJIa#dW_(1w4qdSQj zL4PEy0jt`>08!JK%4xZzUN&Hsr;_vM=DSgxYS@4yoTGBOZKs`PaOn5W6_;$8i(^lQ zbt~nVufvbOSFBAD)^*2w8%v6ro1DZ`2pB0?HixH!m{cB1rHyBxMX&s6D|EUox z@sbB)(~`_&+o7f>rjoTs62YkJ4C`^MEi4Mc5cq{c{QJ%P`FUuC5s=sT8QEYLsG7HA z(HfidfZ^l-6sSp(iu}I<-dS5UP=9AQEMDqr%(o-o&M7L}{;`d-u>PpW3v#=&Z@p4Q zW3jRiv;V#RC68`MmF`n}Cy#G~av$86dXIWbvo*{=D&KTYYg7a{geJW^$+S@h%Yud+ z1PTN20JrNt7-${slPcZ8n_<1ins}Ft7>M8I6rKGlz^Do^gD!eN$cPZw)6~es0Z3KY zO<)#U*Woy<5#rEU~`yXQ+s{q%)K`2T(z_vtNNt{U2n;yFR*;D^KyD(+w%^sNp- z_DipVVQE4@ti~?-q0IBzhXV8G%j%!^NZ0Jb;(IMH^c96P83UcM zg?hr+xzE3#euVJ(4xn5_?QkB+F)G{v(Vd$Qx4PN(7sYxPKfI=G-v# z9kC-TWVtM`OOLfU{FuD(3So*Id1YZz^rB$4ex|fZd*|Vz=P7__)}e#RoTPOy1`DLM z6L;o4KqYx-@_b&JSp#^J>>mTs3yM52Qw&WK>YRf?+QAkw`%(JQg_VQKV$l9e{FApi z-gq0(liL_WSgGx^;D$E?dHTHkf6CJb2N4pDWFfbFQ!_Vq>9ettXlCf6*DYfrR064O ze1X7@iTfow#8ZaM7ye@FcRzL+il$0;{ZXzGvBUB(**gX=MbV7o(Yq>-$=2x^vG#p$ zQ>D-(kf#fqXvnB?>E*fdxsnG@R0_7JMrbd!@TwIG0#=E^#@#^tQE#Dzre^%nLk)+W zo(`q6HRlSGHtXWdzLzGDql5X714%=wPwhFit;C;*&<{USJ&82}#HI5)L0L;it ztOD4J<&X-Mr`q!mXqOgB{jUdz%6pLU1a`H;z-bV`Yz7yy1vS?+F}MzB;j1pocvf@M z&dyYTek4v4iJs+AsPIBrR&XW+53SF>aEsrVK>WDxW!pSN*roF9N-ne-GJMrSYRc0# z%sdY7qMoGuy>bVN4pr{`p@*8Rp8b2S;X3(amXAt-7qVxjVHhh+?$VoAXUq+?D%#O;tn1DAyF@4hSppwmpxt1C@HY{ zW_Q?O#prqVZJ7U8$0xZP$3@JB`W%A`-$c;tg$!Trje*i+WHhv-=pAlWuO`)|pEjuA zSubb;y+@>WFp#8|C5pwU!zg$^gabX|r(Bw3phH$BX((6w$r;w@XIp#f5^zek7vpQ{_QrTP2T~i^Ks7Vm&He| zasUka6#Wck{l`fgFyTGz=Yv=+g$Aa-!w&3efTA7XhVNU(6c7^0O}}Q9E>(^3O|yYhm!lbI!j<=eP_Q! z)WU;f7=L{?wF7jblIVl}a>ULnU+7N62eI9~tOfzC7d!^ByUNefgK`?@g03I|xxE{) zTP=c~btZW>i;%XqseyI0qGH zXFYVgdSiTN@e#ce<^mw99@v(#;NXu~ReLD(^yRN0%M~8fMrFu#E*YiZO2EMzAqupF zzpte+!Fk4+wI3oTiVS{Iu|Buczg>=l`cLd8%^pKBmkfM5nqriLap~S*Vz%jicd~*# zi~(oR33(M0WoFRVzsqmhK)c-X91dGZeaBG|7|K^{)ZVJc3>^R3Y*aH4f`x10q9;4b z`2juu8JzQfe%O53=(+tuOyPGk>zz>^iC}gcErmX`ugI9ZV)E^TsUDB}QJ0~OiVs>| z)P<6uRqlKuQN0#=2o?d>6^X*{m;99nO9`Wc>(6a#7xkzx^* zR4LSd8gh}$ZnB!6gB}@khl(yemY&^klbNOZC@5f-NLp)_B)oW!2;$Jwm@BII^9LM$ zY9x-R@30FDE9QpjQ0C-RE9Xs(4-N-EJKnXM1g~EDv!@UVqsAoEr}0MFLd{M&n@PqLNZ(NLu=R32ZWoBYR=Wh zNkWwRHQ-N+qL5MTGlz?eHw-FXwO-#3e>}Ic$GQLDZl8(TKiJz}gP#2Zy!p4mq`89= z$_accTEWr<*|VKsba}0QsQpLTqJqz~Npv`^uL8W{u)fnfk7=GzV>nPn0Xw(-@jNmo z1?PHc%)R7|?l~|!o)c<5DPm)XqU#cD%7%?f1%?*k@lu^5nkZE4G|ydGfF;;19V{#= zvV6Itwi&pD!_TPa>>I_d)HgJgSVMaMQuUyb3pFoJ1Gm_M^>ZNg*;z5Mn@oGxu#uM$ z;~L%@dKvv~YtY@FZw%S0oU?HgHlazPh~`#OZ8bIV&5!I4n{-2roFoBjpMhAVbqLlC zQAih90wjs+*6Zc2aZy75r6264{GshLatKnb*jFJ5g?AQj_2_~;y)xXw{;Dq}_!v_? zu8l*>Yp+Yn_AZGGEodZl<`!Z4HP~AcylneT!5RAg4*=p+%+>8rt#Eg__^-%E8XBd% zjvlHsY*N@uqGbRK3sudje*DTI^N^`4zqTNG__t&z!#8>H_gTlp9Q{4>uWioytED*n zfOmrFNSQXYcng7m;#NhY44KW)8h8ywxpJvqgAo>n{p=n&SJxiRzhBby;;_J7gK&TygV$8Pn=npXV`ArO?q73{r`JY zB^Nxm&po&_1zwPw1HG|f+&H3n3&+{-R4|yd`*H?Mq|UMhw@Ow&cmp;?~{v%w9S5H>(?x*5(| z{d0fKv^&7enk+&!H<)JT4D(AS8I$0yORCDLn zuFQ3{zrSy1Q6t#%;JpdyIUx1eIkir#!Q;LN^gbBztgu|wh5`j!d@KR*J*msZXF7A1 zVsk+N$rE3#k5%i<=ctZ8bp63a2p0}G9IeQns~A?_)S{lQQr@_AO^JxyLiP)MGanf2 z)=C;X7!;3c_@ZNjA*vV4j+JhdJ;-Bu9j-ePun!iDaKa^AhKTlfzvrmr$9g@LWQ=cw zy+NM#z=OGt@s!>!KB+a48D#^LqpUZ6maWI=PR?+(2~FjPc&HHn)=l`?GY6_<%#Fhk zGW6K(8Bxb7Is!-+_hkNNBY*`ea0Q;o$(9K*v8+h_Z#b zt#o(Ch5pJuGuOP7=P3a3+yC!>pVpoh9#1|l%(Y$mu-w-=uPF4=N`t2{J%v+bIa{TA z$s<_=?@u+dT}41pAMVvFKjy0B$OLPvVJWy$&0&GQeKdL6-f!Ih8`8}zrPPqqZf$gg zxtKPoU_$btC}UYm`G@^z1EnLQH~@L9`Z71(=%-fTu!}xjGjF+tL-m%-1;HxBoEElv zct8ivj%ZWea9B2|LBV=t2|ik9E~j0%ilZE+-P>&ZDcUjH=yEf`tL%*Of{6VvMJND_to;eCw7C}@8Lwm+{*v1df8stxuKK-uu+m=18JR)VJCN zT`(5Y^gM-&!@|Y9YK6fmL_7rx5;}q&!}|mSdC?l={G{bXsCiOfUGgTH817^DVdh5v zj-JJ1Fhfy@tujLpt1z-_v;bd5@r3zIgu`CFW+F((bRFkK1oaXbQ(YE4u!`{EYVFVD zAap}*MlI(H@+@2&^X%jH?15rH zZ=9a~m19EsHMw$cLK?LF|9h(bT!y*SvQ}r_l$YCH`w?=W5_JbVZI{c|%bZjx^R@9$ zAbu)_JIPX{FVYuOD#3_h3^^n!$j4c7^_seHaQ6vyYdG4vL|Ag%^#mocFHow9wN~oaj%=%in%7h;99)=P zW?Gh48hO-IAReRY=IhSZk0InbM>CypN00a~X~Zw&t@Pl&?PN@}tcHHmv68?9i&3n* zxT8Eu!$or%M{lyWg>BJ73Jp9$nt4k#`rM{J_|*dGTrbFQ>hFb(YLDV-Y9fc{z_*Se zqZ4ZPH4lLVqQ#2}6ct8qZB2n?gnb#s-Oq^eh;Y{g~3BJlwKx9+2Qqq zDWApwYK2|RGGapSl)b8lpo9u%}!Fa^aUZ3`rHX|7*j>w2AOg*N#o|$!V2Vc4Q8^ z{{@Dt{_Tp@9ektR2PLiuq~7aGCD;A0aJNaapf?4hqI^GvfRTD=@ql%iS!rq)#eyIZ zT^HR|FVAbbPBt5Dng}xU-X^`${WY?CUZ8pwL)P?^l>TN@YM3#(s2#LB0-t3LR?71Z zQMc1Gy4Uzn)VR}Y7-jg(|@4( zb5NoSOOv(KG`Uq^9Z$;2&s}iSuY=W|H7%T&WF3IkIoxEv=Xe-O;!I2Nl?RGN8BQ>1 z&h|SKB)hRdC-+XXm-db%7g8{jfsW4Y#Yj|ZzhtVE4L1=6Gu0cs4LKc6nwbfK8L9{xw*!q#9q@`@^VYp)QSz* zu23vt1eEeLUSy0S;l3 zV(Hmt20F@>hwIuflr*xQbT4}l-9@a~cxSPkz7ShmnmyJvDpoBOmcL!>g|$eUM{aaQhJ3FCNkc`m z6i7poBP6{^&bUmq(&gI3wox87ygYB?s?zCJ8>w&3ih9A7nKDJbh|aCvdwNZP_DUUOJjQX$hGEzF7-@dl|*VyOYh3Drawgxm4f! z-;%GK;Tc1?H$yI4AJy21rUlNhvB4g3B&#wg9ySP8Q$(c-{q?~e4=xB*Peh+iK?={V zT!%8qMV2XW9&_cko@C#w=E>U!Ti82Aw(x`6z`jL5WGkh$&61{*x9}{y=b)9P8Ioy}|F=m~I`DB>yP+ zlhuf3OG{0N&;qTS_{cWJ;o@YgY@-HlUAfk4``^O*+hdMluH-70>F(h^9_wmZ7>Gx3 zsBSD%9gR_d<%`k2Lw!6yslw#g>EWky%xFRosZbPz;Xh!7B4 zukfM!yX3Q4kbfQCpDL)IT=ELHl`pfBdS}=Mvzy$OM2|7=I^}_JN)s1n}upP5Ql51moBI}B?&7InPX52V#w1ktEOKY_J$3GFW=LUiLrs? z$gOMB__Gkf#Y3}*EMFIYWk^laUYhvbG!o?MPZ?~-c96o<5pPC%b1btc6$9`|_#Xy2V$Y$|#5 zPWE8Lg^2qezofTZGim<(h%^QFwU-t4x zp>a<}cK64-KiA7Tx!($mJi6c&+VjC@?4)tGTTrEH7iQzAi14HFx-Ug>Mb;7nUK6|8)|+{E*W{K z?f&nJ=I6Eh<$9~1Y-1xvHIcR(&VHMo7Nu(;>dMNQgF9{f(EQ zd9Q|PsN}(^)kCFtGtQy@CIaU??{YLmuSw-Qxokt&I(kztht{#lE8nU$fHtIx&8L}3 zKvt>!v{g6zlt(87JwIakmFl^T*NH!C*Vxo2-HoA3@jN=;w=!$`QC`}csACHLmaGF+ zbjVF^`2HF+U^N7?Y`37OxcTtOvR5`yR{}5eefPRcl23X|s`ole8g5%A3mtp?BACl@ zxxK-e?OE^Z$G1TWt~8IbI|Knt499Hh|N0)u{VnVP6y2Arb+N;8O3$-RgK}Gf91%3mEBSCv61P-h**yJ(fY($5TbaXD$!lZR{sXgt!zcs zv!FPS71F&G_~S4Gd6G~N_5^;@xUtl-B6SX3fg65vg&&tpRL|4(!8d;DK?@VV4rd9$ za}{h10mJxpHP#RDSA0M3G316^l+d-Xtt$$B>mHZBe|ef8ls_y=*@iWwLoIkj^xAgL zz%66a#t_dAs|jryeZ<`$NWOIoD@&4P(72UN;~s=E_q{}uBI>K{uL^d2m@rc;a5w>` zWPl9A(KL)*#SREei(nW%Eq2Oa;wwTZIwVuS3XN^FyU@o5`&R}f=Vp96F z*sG!Pm)Mu(9$rXp@OW=V_00?<%^Ntm58solj7&KJcx?+i(soCLy?p!R0mVy67TNda zb$q~VskMks_-Jt7P`u?md;4Uy`ZE*_>;Mi^hT3Ctf;Ni}^Yc*GGE>|qG*5)CF_s#y z6K~;hlipGBRlqYAf9YGnfk_0!r+htKW?Sp2bVya-jhI7FWb^URjnY$4>}tC zz=DGHg|D#>m=w3l)IL19@2gzrwB0w=v)2WV zP;OqAk)7ljn9oJuCHL1uywuv+aSzNk((sxWZ~y$K3cHW=B}adNXuNBn#x*u)A&bY( zPM_LI#)t9zz59WsK$phh#9hc1?x~hCeono#XKkz4{jdcU>JBSR;yjtD0%@VvoJL)* zgl!)670?4}$E#KHmST=j)N3Pij_3$S1i5lwX|F{u=`V1h)!x+0{I7Fpd6In~kD=XfVuZ zBt$JL1?!WcG#PdV!-q9Sc8juoXh11ugW(eupVAM}Sg%}U8w|x)ac0L+%H58L@?nKO z9Ske{b)?I#X0zbV`BNXfShjYH#Yq)8-LtJ^x3zWg!gY^T3dgOjz@j|0**Ap_L6=E9 zyA%$Q)-i_#pn$7R>RWT5#KP!?!0gK~PA}tma=af92&;w(A1T|W{_DA6MnuJzreM}A7nMNhW79L*&<77<}lB~Gx zE=dp_yE;$kF8?+D;}(>JQ``L??a;f;k2d*7f4e=u(EDrk&B9p)O0a*zDLn@Fx@gTg zyG91*?4)KO8JfSK2WwNk#FBQ;Y5CwSp(LB?#9jma>J;Q?Rbw=bs8|9BcOT{swVal} zrSRi|1nb(9dZXa?7qW_681lyOoU2Vd;-&?YuQ+|;oDI?`!OkPz{~)U$+|<$UE4ZDP zc(HuEU_~_*#pX&q-lH-bhy8>gmdJBHy)^VtJlg{W@*&53Gm7ji5J^R6BK2(kC zOW$Q(TA3ieF@Wzh@G<9sn+C;3M|mA@Ziey@5Xl{-bM>cqrFi9rq@RT?v6LeOr6>DJ zu_?F@Hr4Y#hs=PI?XfKJ+DgA8SVI|`;slUKQ2&x2oxwP{Ov9CXQ|l7!Xp$~`uqk$< zB^bSzL;Y`u11=|hSCcJ`eWg4s&t=Y{S1lPxPPHRe_~+}&MR(*|Cq+tL^CCT)I+&Z? zS_X&-w5-Pj?1T?s-6&=H93M9(gL}UIIjTXRK~XPfPTT99Q`0fd5}3MTa81Xq>SJ(< z)?CqPJCbDZ+l=vxmHT_a@3ql_V;TNu+8#fpK`VT@FlmJ9SmJ(LU(UJ7gz1%QGyAqw zyX0|E=ATPf z8tfmoLfLneaMmwBE$G5u^bSMWNe4ZfZ7cM{^nO}()UN3V(dJbaKWCGRR#x-vI5So8YwBtIxD4HOp z8x%{|k~6Zg9iKs+@X#`=%}39&SSt-r`1UrQznnAqY($;{@0s;+#z_5~Ty;zId!oOg_wEmAn@ku3%-ah`b;Vdslz z6^6*#w*B;?IGavFRBPRwAS{winst|^W96LR+%`^?k<*?pXI{?(vf9xCv>yo2PHF2R z#m?!{h%;pZGtsFvfW3+FKjaGHVhXSHTlIF-ZQTILY(A6BDfjfMX%)Nf-K_eb$Kube zOpN4xZMojUqx>@pPJU^8QZh)mka+&_mZ6t52w@thWL#68Y#I{>X(~OVuV_1VnB}2i z{RJ?|KMkp|NrMyBx+f*PfF&+A`JcPBmkmbU>o^0F*CpX>Gb!GyBAtIFrx7CgTKaRD zdW5W2*cM71S@;2#C^A{A=jM#n&U}kyU0PoR^+f=jz4X^PSo06{n|vtSj)qTD0!bar z!>CdO#T3EQE7u&hVxfB4Y?6B-?nco-5RS*(%{c>PpjpkG_vn5da*0+xwR?yV+&u_R z3(Vj8{unNmHI=A_q=mf3Kz57y?MBp-LcW(}d2bL%lQq?g`Y~Z`DRdHF#p=cXj8*Iu)Y=hF z**?LbGT+2RCb;*@%o%qkc4nc4$=WyVLz~V$jDi4`nJ*PU2Ma`=@%}%VH{O#+h~^!m zqAIWciPfeTJAzdmej1$~qF^WuI_i3v2z*vSKc0m5R{ z7y}KH(S{O~XFvSqgb5KVKS(GRK0j_%IZ$0lfMnWTQejax2|s3G^k`}T7~SFD z;D7T&^$=z6>#@H=75X4dSv)zmO%CpgsXlL&|2`4R#x591e*3TW7)gr{5UOc>cxiu^ zbWdYgnGH|}%=KXwV6v!EJ}wtLdZJ$7P|X=|H~wn;9gd+Bc3fS2MG`8A6}&pq$5e}t zHOI3uHiw#}hCTU44>@CZ*L}rn0CsZB5)u#!=iw~bqU?XKVQeM_SPI7sf^jbbwNEu} zVT&Z87hyasPn0K2GMSs@I+E_o-}Wd7G}wpCn^`9~zx3S7Z*n?TKO?A*nx)?7B-*%+X?}*4CGbg7&g* zmX70`k_1S{X{-A3ydUX&#C?b(FiCgjA)mzN*S&j-8popkz- zO5*RQ*IX}bwpl(0p)`O0u>A4!FRPvj6G|KxCdm{ep?lyd#@$mvQ1j%j!2a5eld7D3 zJ#YwO!EIZ{q+dT3wnl4)EisQwJbJj2^|a{YMt;kjrC(S`*f z>IVB5rO`=Cfk()}&T60cI5zkZ(1+BBtn|0@2Oa$>wxEClr|=!*3DiDR&KX{UfJ`(! zGn%BKeSRk`K=LSWyavBBF%ZLl{tWDjtd@7ZDek2eN%4w96)UPf;r64mmBPLl}g$rO<9j_MYMdw|Sb z4%1A6ejQ84>s<1{a3Uv$tXM|^-t$uBGtf)Z%izXj}igRLa!p4S?ST!@6n~fArKw;h!=xYP21F71<>J%*y$(Md;Lkm<(>qUq;5jSP2mR2mF{y8O zZrww|Cu1{46uh6T4SHXECYfqHn|`Q)Vv*YaR=uoi)~t7Tsh%bEVaednb$mHP=HM|j z5TCRHLbV>5!K{mgT@xl*m~#iU{gQiBSec{swQZ2y42u2`_EY+Z%#+uZxxX%W3S`++ zX65ZdmFrq1hWW%O7b)Ow-KX+z!mY9&BnY!Wk%L_MhwcEuF-ch#caX+d{o3tvqj?^K{L-^4C;_P|-Qm!Y3 zd^^aEA&GZ4%=Wo6$t}l8m7pEV@%#x*$&jfN=GA<-uxR<-8KUMn+ONzj%>_EP)2zuWA_JE`zPu(-q z(hhFum!;z3q}h58souXRlje`_p$C5^wnrySe;%G`{x&^4Q{DVc_2uqaFg~bHx)8&U z*^e_QXdnUNB6(^;4XoTZv6U4l@DHa(`|Fz{d9uB=(ca|cTvPdYYk%C_yuH`D&>Ofq z(urn!jqaqxfNXZd8m-i(&k5^L&BkXA6^b_x3mT~fg6ynGaQ02@AL%V3BiM^rs0TLX z?boUF$LF11=+O&SLEv$^Lej7P= zuXRGnN({WuXLWkAKw9Rx$J3T=1wju~pN+{uJmL!AJ*EVH*o7ZCG*5H!Csv>fRi8I= z*pAb8odt_#R{wOqNwXX4Ekn4Ff}(@#sm#Cc<=A(~21%W%?XrhRP(&qZ#qJ1B_v`)Y z??wf+mqRE>#ad~t?c&F!uais83n}w+sPFC9KYdu`C!kFiq@DdD>zp&#QLJ%HytgY) za83QZLvD^X7sM!{kK!2u>AR|?AzZeHP7nOOP`B?~V)7eWR86^DW_<95Zyk{#-=ukX zizD7U!LRAoiIl@+J|gZ$V5?e5Yq_hb`r$9d;Ri^1TE}ikX8kjD24J1Z&>S$rPa}T7 z=L%xl=>`S!|4jC+e1xgW*qNz7AHdgPp640t1VYLGgAPso8e1K_w*HI2uPDcGG6LtX z50&Zk_(*{);6?IKRZd`qM?6u7G~Ce?Rakw-zc;wauRmkHi#Y%afEp8C6hhCycw=lg z)%qcmT38iGuQ@?pUS!rgBow+)7Cb2qjV>}t0#(1r%9GNkm2pP09aFnr5WI0LbZ&Z^ zqf)RkE-6X2*SiRItkJB_B(|`^U3Oh^?J(cDp&BKP&jCInlG}m zj$K;>3q7<>TtnXyPJM<D3vHKUI+H2QumC~(H#Qsv`<&Vq6S9WC91h~a_Ky{#U0)q0ndh1@^)+!pc8PorZrq?Yr zM)e*Hc9py?#s&z*-xUv}M7H1$t3ymQ@YAR~baxp<)VLgXINvw6Auu0=}l*1zCu zg++KS16w=S@6hSN{q*~?{+*TA6LDiHG&60q)c&_8#3NNTF7qEzxEBINzw3kO`!vOBM z27Vp$65u)GlGMr^FPIMqp7MeN&TL~iajo#Qp^WXOAF7S2qAzbFH2ACQN4r!~r;fef zJw*TXLD>I9z2UZ|;*dP9xxEOylQCRDep-(|b%!azJ~U5oxx3$$s{3X(SvZ3>JQsCJ zn59^LiMr}QoFl7m_M=_WVbRS&m;=*W4%l9vl^5)9<7??rHMJYp5nz8AN4t>Om8jTV zhj=KGk?Pl@DNT3Q_8wS`A`m{?O!(NUeWqi*_tgPWX6MZc>~uO$_6#Z*ZB?_V)^j-TAYJ-iukUw`rj%$N>RwkevKscB=Hs#IA z;F0y!#9(m^Sl#tHJ~7KT5jK4tSkxQ|wyG0^&qm$XpfXovaN_#a<}H{f-Qhc;|V1nxQny^vWGyY zr-LbQp!@fJVj}YZt28XQaL=;mxlP*>O{WVkIkbJR^1*6+Wr1L`e3^80{B4sfc4hnH ztp<8(XiM+D^k{u2NZ%2${q)MFpLwufzJ zbiL3F>gL1^6QuFia3Th; zN7B@M8jq4?lzf658V7 zWj7_>D9E1n#h(JiO6b$hOz*@)1N|pf3!G${@?@a(zEIALYFABT)<&2P^L>M|)hu_X`ZD;NbAx$8R#2J%x8irvOY}5yi?-s>VMvvxb-~Q{hXRlCv%gMPv&Zz|E$dX?wy^E z+j!RT%f!Dktf{wr>XkwK?A}w?u#DM>yMk{M3C<+wy&ls~o2$)$(!h#n!H`ViM7j42 zWrh>GSO-?)t6{lVzwXks!t83corw4Iom3kj0c@Zms~xP@;kI4_F@P&YPX@*>C|vg} z7|*N=s1zLdv4lak`8ZKV+Y`KvC51fI<)q@;Hxqft61}249{^8*jwQV^?6AO*F2oBe z*8g}5@Zj+o6A1nk6Y}N<91P?%qCvNc(09Y{A{A>`5Pmkl;`e2p>wGr50G7%K$F`kA zKm;o?H=6FN#GCa|o>)enosW@{4-AV4F8EQUkvBi82&F4ZwQHUI=*7_!FPP1tC_p}e z6hxfaPIkC~$}!PppLFc+e&I2PsEY1r-9*$mBX=Vq_-b7UR__fMOC!Rdy`Su%&!WoT|w~Uizc%lXJxCyMk z@~hl>{)>D9U--r_YzH*gx3&%wdv+2hL2SWK%x+g%f8<`ZD^a(8-48ytZ2$Tq5}fTQ zsuCs6ES}Z(`5r?7&F7K@!ez#R8WoclisnpgRLuD1I^#4(4ijEh_Ve2HkN}f z)=BUKN^c{dLH`HqXaZ%qC1yId`2KEA+uWK5L=WNRHzE*DCEwj1;}R^-HG%yT*_Ow5 zuPlQ4f#B*qKrI>pWkCiG&HzAWRJG+t`9X+y$d&`?#)7OCt;F4#4Y}b@7}5XkRkvx=E^Q! z7>Rxq5%#ZU^-v?Rd{|%tEv?ur|2dD3C|3IZQCoip2rR4=Jkvk461`SqB7|UgOhxxQ z8|6a&8_LczHpjt2TYl}h=!Xa0qNq(9G4u<}>Yukv8|R`}JvG@p*{OD7{eSF=8=ky= z1_&?#(MxQ+_ z-Zjj3cMrxK(xMA6m2!0Z$TpGMKs$g>7B1`RsJ#6u*=hl+2ciuyDkXiLZ4kpsk~T(n zKn1{9#>7VAdyPAJS7RGFLt|HhVHt<5JRr|f8Rd3e04-9!?gloP?v(*8T}pL!43td! z|M-CO_A|^2O+zI|>BKz@B0ZuOS?pUDho3{8k>d>kh{u7Qk=r{u7efGtUdy071!tJMXwbg;B8;il>>NFNo0|k%!eqzZGO#vX#HN&;oC?xJiS$l zsZk!zGJ%&J2@pdC&wqZ9p@BT=@td_MGp=Ua7aX~hF1?LAlbhKLrqF}r_mmCi^B*3P znlbVhfTncj{lj4a#s^|BLv0JC0KB>)5NpdnVj=t(x0>f8u(=|ZR0@>5zJ#2OLY+6@ zaev}9^r!2}Vv<@Ay7o-6;Xxn@dQn3{4-lMTjw zsx5Nf>rh*x+R1di5P>>8_Q%e?)>GHgS&|>t1NxPpT^-awFaczOwKI2YwJg5Uy4iptd>b{0Jgk3^>ji!= zNXbUh1Wykr!yv&?``^cEY=GhHT#z^L*}XnuMTD}cLs+J>u3xHQ9n&><;$=n&XSq0z zrEYD?MOQv~#WV`oY71V8*9q_l4|s=SHbve>52b+?Z*yS(#><dU#RhuKdmuHQ_ z0g{71|GGn5*>jI8Nt0zI-I&0qVJ=HD&NL8hpK0pQdV}k>`B<>}P`hDQ#%B8D)y>yW z<};)pmwnC9hM$iM_dF#a?kGNM@4Vx*x_;sIGWK_&7BCO+i!@G)X{y^v5j9JnKmRjR zJwlYySM69^NYx36+ld>nCI)l0Sz$x!T><}4}qXhpG6EA3l?e!HWNU*oTxI73oYkA*EYMj9Yn zCN;&nr)#F+E;5}b7uql>ug6(!WS??7y`J3=F4PV7w=m*l<>m)S22LzEgl`N@z;>j* zuLOjs-NaUra0564^!)1V(QB3qXb?zwy)U@uk3cepa+cd_afuMEC!I_O!Bpx|(is{Rv0va6#&69$DDm$Qsmd-r)1|lG7RW`;z zR5+Ct1#5Ar`quAi`Lu6~sucEO}{XQO&&Uk3_`dw5xI>H;DK#Mf8)ek#{ZX<7o z2(1KNvD-_Y?Se>i(dHOYscwg{_ru1JLSZs+${~QV(XSI4 z8ay5tzIi&9HsKQTO?Is(uRK|Zd`bH~I-gG{uq)ZcBhdA2i>4^=@H>$OuGFM&sY}cH zUhh}`c*j?KJ}JVRKj~XX4kzZXuSw%+Bw3%1Uk>gD2Ai8P-yTh7rjU$JzzX4)s1F4W z1Kk-$kNmWBJP%k6qFg{c(?*cWnVD6<)ymK#e}-xO{G`E6^#W_p$Y}e!`M9j`3;N** z05z6f?g438D5c406E@Ob8l49_-H68RK+PvO#KkPOXtfItrx@7+ofF^x>6g4OE_RNj zO-N?%HUb24cQ0+vL3NJ~zgm0Vw#W?1J~}{JUPpXT681SO%7tiOk>zwhJX5;6*>B9x zePGx+^SXW3-%|!L`ynBSCnXD+$`z&eDrE!f?+6Fyhz)`Wr&)Jucpg=}XPlkgFChFuuON)NR^Z!_sHdMUkitB{*TRDCT$3$8J zaillHTc%U65fzO0Ng4C2C>GN_AVk<@|AK00hg$F6s7<(=aMRwatlcaq*JcwKetMaK(jDV7((7h!;i-eK|0~c<;w9Rp? zpe6_l5q`)uo^Lv--p-PCr04_D3F4>55By8?|8=M-#70WF&rRdtvCccVxl^{(2w(P> zy~m?W;P;QvL0Jikf`?!=uYB7=?iE91%m4vX0CY<&75J_0W(OPR%UrQ(Z^rGrM{GbY z_8EdVr~nC&8x+z|9hvp#FQ#b$LmYX|9ZAoG#Y?<#tr%9uu)xU2TGUE_g{vNZXpnT^ zYUL2>*i%~K=oG_6Q0%y%RHdw1|N7*A?B+`^1q`Zl?AILz!jd3#fB+b9ctA)#T9W}h z&J8ihIyvsFnQZ4FZ`u1PvksXK4+LJ?bZ0>D1BN8~r@)UcaSnCG7IEuv4Z&#_!_YGi zVV9!xgvY0QuOmw|4U*NS&2t6-1c_tLbgcw)NaH^S6kBL<9wGc8j55o;c_H1hfvo2E z0Halye5iYSE;$a8+5H#2&csNzJPj(M!jgrm8cGn`PxYePpDGDJQLu@Uhwxx%Y&o+qv3ak6BQTU>>aK9$k2%T7z?mdt>} zp!`X`41P?7c?5a01-$o0$Mn;%?HV5*5`@WE0WJxMMxow8%f$*7+E2e+2=Cb09>&}K zmn-I9#ri>RJ%&bdrwsH#xVyT2T&)qcP~g`E4!1)?2u%gC07_i%XamfdtI;{Sk9z2v zJ&@kAo8jl>4WNwo4w@pFr|zU4x9OmC$t6%u{U1ncb*Y4CU)1?97pDyOJ+zKH#y<YR5jlSU?S#IB~Sp6Vlg4&!a8H?@E>8BAl0V8o? zdR7mK(7pBRU;t|F^BHe+?GyW)Icuh}Cd3ce`x+y_wmhwF zWo-l+;m>WW@%5n@U4G(hl%IQ!fA3@)WKWLRG8ouOZTZm&^y>G@mpa@v-NL#M=G|n0 zk*E8EyK?3iV@OZ@SeaXJkG;(#pm*P$Mz6dt2oKJ863@vxW^O)A9T<8%OI;AQ?-!ew z8l7X#W&fhYblWNV4Q*TK$Q)fDDa5tzer&uGMcDl@K{6kA$vSBIoPRJ#kYMlP`GliJ z5zq2!u1X-!X8svM!-xsDXC4h#!9OD=NQiP|ht+T?ybpB=_5gk#(=CtY5`BPe{e9E` z6ccq~K|Hggy}dYzK0p1%rhQ2{Q``pD4{gf)H~sH#pTIW~#Z?_#wV|BMY@`-Xctui! zE~$faO`u_kXT4lVx@@z5u2K&)gfqYFl3dB?!VQ`n);=6DcGJ$$flbpok-y-i0CmX8 zLS_-gu4PK%NxgoYg?KXDrd%d{x|yj9u}*34(EIEY<^^g0@-M`w`*gH_I}h7_ypEt> zn4t-u5FgRQvaA&^il`&Q{>ljsLFq5z4^Mz4_jyEm;2zb~7w=ZszrZ@9nX>&Ov@lR$ z*+@VXiy11MEk^*8J3#XT6ZZ=0kAj2N%55$2Fkx2d?TV1LBfDhYk;5TX*HJD@cDl1v&IEP7jH6%)1-!Fx5=eO0B9%m5Mtys{Z!_o66 z*~twkstO%|rx5_YaQl?BHet5ZTu^-0DTDcaeDJ5=k}m!#QhVHX1_*=M+26jD<^di9 zVc8O|6AFF84Up*wp|~KM@+0HPR5OHVBLpm)?7s2pUxr@8>6o;hahq+;4;ANDa|!pq zRPi_CJt{bz)vUf-NUpk`tZ@9PEQ6lfBZBkN{iWe)oAJeKj$9IJSGfr)@<(CYDW^YNe<7ASDz<~> z5i?5u(nX)f1UCv8OrPHa6T1KHs2!_p(^l(pewQy}*xXhre zX--FCsdp1gCIcwM=nT6rO3CP0=VzS@q9*id2i;%Brv%gHX7c8dv{SHdp?b%dwL6w&hlhz%1OSRm# z6ncUgW^x|56BvA2p!=TO*)6&016>?YjSOB%FX!swg!skc%iZ6_U%)??jzs?Z{B8Jx zd$VCM;o@Tblwq2jg82n_zT~K2v^g_50Ol9<`6j_MK)Ya!Yg}0IbP9L0rNnd3BXAr! zq5mGC>3@>`F#!&|$CS8RAZy9!9nH_b_mY7NkU@cV!h*`ePR^)7aVJ{zJm%YZdaC@b zK`tfYY(CDuEWx0RMuf<4T0!1?+koW#oX%*>dhs2d2C?d-NFnHT3ZM{yhsf*4J;(3cSl_p*rJi|Cbk2XSj+^hrF`=PjgR_ekwJ&NC z4%ewa19sWeFYaUj$_1$7ll^n>SZ0 zW$QED$@obQRG8WWuo4%fC)tN?X+{3qg4I++LgrAV*CZ=D96I$xO$HQ1Vc&RFJ~mmf zq5vp`<}P;y-}0BvPUzRsRzBd=?P+lgZQsKXUM3^UFegA{Vm(ojmV7LLi;% z{D8|#BsaN(OCizT;w5Zw!d}L}&`!xK=RyKxY?Y1a3BJ|_T9}on-cCxItM`aJ`h86O zClKT!(GfjN0b90Lk+Z{B*~an>gVhHMt=_8l8ty#wHHjosgJ%F|ul@r9X8MaSQT(9^9*_%>NmDO#M|ZeG5Db;b`#S*V{n$x5@`Ec;C?y-irp-dCUx{t(Y>6_L!c%Pm312Vd)?ln zseNC|0Qhpt730hYVtA-v=FCpCayI?uiWdSh&bC1JfpArk5r+`d7Jd7p!|@mx88k~@ z@!2U8jo2HWz$?)td9B`Gz<1dXExO7^0c&-;mSfXOs9sJd0@=yew@%q-zfFAlFvBc3 z>;G-yYv&C5{;FcdrEh=qcm3CT_BiRTY2?D-RCQ!z+`{D4jC!QNprTr>`rldOci2Y8 zE_fe=88fjHw+{xoTvq-*(%VgQ5gFEpY=%5LnNC1^2c5Pu7e4P?p%h&1{XAV2D7eDfm4Lu!EC`q12QbQHOi`mNHvk)d zdsFPiY;-`-HSkap(raJM8F{80$JY^c%hgxKUE4s8dw$lVHamv!RRXtd2CZA-_)2bc zf;lN$)69-!*6d(c5=clS?`Vt2a7WKEbs#3l@w-2dh2v&>1Gy{-0>Q?$Q%ohC zP_3PmhikZCe2K}g`qI^Yyn7uX$Qv29?ihRM#VEYE$8lqs!)Bd>u$#s%vc>snn>pnT zm5nA_QF~~odLoE^*m|cLuk+uJf%Ccl(}&jsA9Hqb*aqjSnuMhb+#Q%+^+L0Kgq0iZx_!&d*qTAPDSWe=Yi%gN@98ta}5+|mEqg#LVN6AT@s-22ctk|r&maGL!* z_@PTB|1e4Dkk27w?T`Fz)%dX>`a-ZBdlYCwb5^|c9gzNx1O8wND9cj08M>(EX+Tt@ zetJkQ(xN)?(9fL6xTvx9AG7B3^KL>QI+MTcb3K9A1U3XC1(;ldh0C5)Nk&iJvV6c9 zTBb{{M;Zi(8_aiiUpivRz)TmYaPH)VNt`WvKecG3za;q>QUl5_ZqP_fkin+MXxdIa znqtrF(K%tg+G^96h@~;7Gk&!R6}O2w{ug`bw^uWj1#6`m6CRiv9pJ9?Y_MlGyf)8lUsEO-!nsq&Yk-D~R4S!m&eY{%|IP`g8jbEXLR;{vcIYF=?$@6G`Az>k zXi!%_j|`j$Glthcgt4;V4g2>X<|I?|JprO`v<(nNP2AkCP{GaT5sN3Yww8hQ%M|*T z?s;JymGS1iU#=)tt|^}v05Idi2;{-oPJ9~>{p$9PRhvn_R>Jdt?oXZPcHwg1g}N^Z z^IM&3gA@)P>--2ajJ7i|p$YGfCdDLyOK)4OWkcGWDic*picx2W#qJS}SM7^${IAZ? z?168U#LwgS4Guptw*2SUc(dUOWi%)`VpY4^KpEj+WUh>uo0=IO9#JKEoo>?dQJbgs3~63cKCgNo$Xp) rQX<@Rlg{og*^&SM^?smpzpaW*jreU%dR`I){Qb7yb6=5Lz~%o3o|Xu7 literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/cli.gif b/nym-vpn/desktop/nymvpn-assets/cli.gif new file mode 100644 index 0000000000000000000000000000000000000000..09aa73129f695c010dff962363aa2eb6e6c50336 GIT binary patch literal 233159 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%0DY&N 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� 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%0A;;a-pD`Dh2ZyOMyM(n1 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 Yj>7o>UI*>jHjKPu1*+W-In literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/128x128.png b/nym-vpn/desktop/nymvpn-assets/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..0b1da9698e7623d2e07c20030598cc779024f6d3 GIT binary patch literal 3122 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 literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/32x32.png b/nym-vpn/desktop/nymvpn-assets/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..32b58a4930e27ea37f1262e3256fa657c4b754f2 GIT binary patch literal 883 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U{nk632}8V@cF?I@s}a|MUdlr zJ)i#?0sj-6|C{*zXNde7^>zg>rN@%zX848Q5J$m%y`SX`?NjW=rACOYe)6%yQlhKw_ zG5YlBb7*8rpS5Wpx8rU$FAoJhI|)52d+)bz-xUYwwy^ z-`u6FY3}Y5F=^_Y^&7XX72s9nm>LxIvzgU1qAoaXZ-n-d+XNP8GqL1{>KFWFom#)FqnHJ03(iZmZytj zh{fsFVD{ic1|obJjv@u`_ZoWzUoz8O9WdqPJd2C}|7-hXy7E2zboXoQrSE%ZerNd6 zI>|@&oj;e%nRjP36C_SuJM-+^>B@~ETJ!ARFWbJnP2=O&&fkl=oL0=d{qpLM1$Ntt zikB(gV83M4`r^v`I?ai}>{o2NX7%fQdn-I$>JR%{Eumi>`p?~7uqw;HeY$W>?CJuQ zD~HlM%^r|g5vxQ^PnLC*UJX@A4v#JO`mieJ~saT;@$LK&rjNzB1`Wx~e{SW3| z{y?RDfg?xz9g`N3=j@YbNIhwh5O|vI_((Rf{gT|t?Pk5 z>W3nCdwGVdi(0>a)qhrMtL$p8w>oY!Sq=Uxay-r3sm-zHRcyfY>k?~)|8CXcSQ_v2 z`q1jvEY{!3nLpoBP8LlR7OGN=5p)&Maq~T6{kAP`t>se%7yXlcrzO8~wB@EboO`v_ z{8pK@<0QwKVmU&Wn>J{2T{*+vE%1>wm93XcTG-5BM@#RdZBf4>E_P9tQ!CT literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/Square107x107Logo.png b/nym-vpn/desktop/nymvpn-assets/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..12f0afc0462995e1aec7081df1b5706994ac24cb GIT binary patch literal 2505 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 TVkf|B00000NkvXXu0mjffa$_2 literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/Square142x142Logo.png b/nym-vpn/desktop/nymvpn-assets/icons/Square142x142Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..97f22041c0ede8b8f9b612ecb4789fb3d65804dd GIT binary patch literal 3256 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 literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/Square150x150Logo.png b/nym-vpn/desktop/nymvpn-assets/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..97ccbcdce16fdf4919294b2b13d8ff9dbf7a153b GIT binary patch literal 3404 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 IM6N<$f}2kXp8x;= literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/Square71x71Logo.png b/nym-vpn/desktop/nymvpn-assets/icons/Square71x71Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d050bb9380ec696716ac25c7e189de192a7de7 GIT binary patch literal 1844 zcmchXi#HVd7RM(>81Gjkd0rA>&M*eec#L7pU@#u@P)M8(_li=K4&x%PljfRK=9uAn zl|y1Uq~y_=45{vw@hnElE1Kwdlw^K)oIm3J*4lfo^;y6D-Fxl5)-DJn;Z{AOi>moWM#I0F)-d5%zLPctFL0(|@T2djYcd9+axV zNqbP90z$ojn=c6Q0>}M;T>uF328YPNENBm^Qh+T9Ku+xalqM2=0D%CozTilphOPww zKvm~&st3$fw9Nj}50_T2s;S@H+}hs$rhU-zW@$N*L|4)|^FoDv2S6m>If+0xB2Pm{c-EnEF z@QXG+Us=+9TC&D{EZj}6!PeYa*l>y66zb{<{XVpxVt!!uIWW`HKNj?jNT>dPc#zU{ z3u&j&GX$JR2$kPhy6vft*X~!`%)b;Fbi*OFY-b5$f2FxIC)g%Sy&$tH+LV4Z%)AKi zkoWMKzh7F7*zFDKO0R9GtkbHz-j6A6kGH!~cVD(Qjm|tudq3Fsd~p?5z1Rej=IM)# zY2kfa^ROo!kacQvu%~C2hL;C5i1uQ4H6|e_J@lH-n}<|tyEP#G@BpFJdxPxQTCh)}eb)H_KC zyh`{_e|KxTPYE$yqH#4^Z>Y|m32C$`n6{Bi%}_fZ8r{L8eGVzAByD~&-gp{V7t}#% zJN|Y^xQ`cl@}RAP+R41Nex%jbaOfP%^U{;US$xa`R9oHjw}iDo&O_Q~>(UgLoV=wZ zM=R02yRTjkO_`vPB)jt)*-HWSUX9$+^3lO5d3|1ks@ZMXvrXeG*M;wXe{(qX>eQ!y z8A96X+T=$HJAPAkRuSSo4FB{gj-?g94W*ERT7HhW75p5XpcordYc$`MvN@eY&%hPR zT-5U{nG#U1&t6scxNmZeu>nQsE&k!qqAB<-F2GFy6RgM85mxKw-_ZNNgM3W8QtpeA zR;8wei>d+b(Nxib1|SJ|$4q+J0nw96$mawO$1cfzDdLba?0#?YQtP>@bAjJ50_!-I zs5UbHd~PrESW-J&^i0QTiZv0Htk9$FtoXHh!lEhJ0grwZUSj5QoSnM4SkLah3}E{qCt? z=SsPswl2kTl-W*3I9`tDu=R*FH#^WUc!l!j=#j@*Gq&85KUkwizqo3?YjqIp&wJ`Y zEbp4#`la#x&2dw*7bm+6yzgvv+@?SN+Tkj)SywyC&Z`?nCzj`o zz}gC_i$-DVCJo!{$+Rc&yU}gsi0~Pj7)2E`O2z$Du^L-UVT&th;zc&su9TZf<@S_v z<=NZ-HupB0JHwtn(%d-{l`}I^IoXB-{ZGRZw`duMZ(?3 HMrHjEBoDJ* literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/Square89x89Logo.png b/nym-vpn/desktop/nymvpn-assets/icons/Square89x89Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3278d3bb735142628c7afac534ea9be3bcec08 GIT binary patch literal 2338 zcmchYi8s{m9>>2~TPCukp)AALnrIjdhQy3zn#GtgF$~F4WVusze)dAtO;H)^`Q_qQ z`6=0olqF;*Yu036hU`t``y2P%zu`XT{k)&;bw20wEayCTDP+szM`exz0B{^{g`@IX z#z8&I&vV!QkZb_plco@D%`I6(P{u#nXALD=l>_G?Y z|J)u2^5lpGT}?qjJCMg*F$3*zAl)21!Xq6(vL#5cI+*9hIm7_l(LAF3Xf4x(SeA=K;ZJ=(1?hnk~ma#e}5mYj_&@_hc>d3meZ)KZ(3Yh{`r&3 zOXG};>KQ3D4j=s>F>6cE3eP=cfAaKM4=;aNB`rx_{PWfz+~#>v$>!$Pm%afV*je5# z2oy&h35{i@2?(V&lZ=`LNp@m7vvUg|nzV=@&=Hzg2_)C$B2w4v;7rUey(+25efHPH z#N^|rIT)yhxspb-o{o+T0))__MT}`M*}0loP@Ua; zM=2(w{1g*7qUf-Nx43@32=3m4r|`4r#^%=7Mnwbk(HfqPLH=J6f>`fV`U{w zT{WGijna(bOedw`ezS&KJ2U&7%<*TpTUxN#xw+4+^Dl1C&+~5S|6Tw{!88j1gaq+8 zQ(OCna`xRTy;hRVZ60D`Gn7MuF@qKyEm&gO+n40UCfnu3)K zuGty?cxxgP?mO)AXW7ODc~6yQ^uNaU)}6KUdO2Rw<|hZE-rnT2=67~>66}h{_P&QT zECRl+tgSw|tJT3E!=*Pq-kiUBcAd?2{*>eBt}+ zjeT!ZQL*f9R-FI+o&DnQG%dcp9 zOgITvmOf}6z(wBh-&l3)45^*pcBi?~2mXZ0^h8B2cV<7npm_o5u$tP`)NY-p{&TOw;(kXJVPPy4IXKfGPxM0Kz?Ms8dDUr|Gr%E+3D9krZp+eKpnMX!R)`uVL z67fo>!yUOk_+D--YobNDizynCQ_vd#{isC~Z)w6qvF&n=&+BUn@yZR*$hb+hBBCGi zKP(q#K9BcE<;U$2KwvGRC-|(#i56Rp8I!`Vrvjh7xVspAlp=8T@*5_pnw^ndF&c0T z%p5yv@7FR{-WJZeRcaAQs~PzO{vkvAAb!nNZhau8L*OA?vwpyEtt)iteQA<^Z#Qdb zG)6jXoD;NIfU(LPhoO!L@_q>S+2Gc|)BQp>HVBH%jA56hAQGwD<@GNgMdLa>$S$AX zZo#6_zt2Gk9gD}6bgJU@gc9u9|;kHiqMM zjKkz-3Ptso!;9v%$0}ogJjhr+2D}c7QFA9}#b4=C3{eg0;=lQXWwq^7zXDi1X|Fd9 zTI`?JRr_v8|B~`Kxf{Jy233?mu^=KS*tP+#uXS2M-#G3ZdbvU<;)ZsCh-}|;8{K!~ z@lHWy5_cdqTixMzeY>aPJyIb5)EiPk(L9wv=XmCkAmB(`9^9mmP+j%h3_$R zL+cQT0qc5q+mD4Kt{ao))jx~wqr^&bo&D3>d+Ji*5-O>%#aivG3a?79siJ-%*nE6o zr~y%h0}W5hN%CRGJNf&iQM<+Q1;dF0sFZgZfOFnDgPL=lG2Q15*?jFQQIn`hGqyB| zvyxiN;9kV06aC}5tQ9|(qga&;dAUTz-s=>)AlBXMeZ;_!dx=nhpKSatX4w_ap1nWM zM2osZwO+#Gty9qIY#|w6CwN6DsW`c_OXPjlA6co|TUBP`=^J5lQj*%!bJ@x^Wxn6> zftWGHHH;3|psL{W9oVxfoZO=aRSmkIWkZ?8>KTS_y}gppCS1Y>KB^FT^KuL_fgY++ zDhYq(wxikl<2QQ@V^X~;89#A(`Gc@@WW$@?m23KTwSJLGcz^8zr&)Jsr_w@tM?^{H zEB=V-0+H8jH+TK>tt?Hn4tVAxM+l(Gs$m;mCW0_1cE&`emz7TqEsce9cTI9VbCUd0i;nUBGXQT+#ub~n#Qp;v>#pAb literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/StoreLogo.png b/nym-vpn/desktop/nymvpn-assets/icons/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..203168aa7c2cc59a9b6c33a71fc2751a0c2b84c0 GIT binary patch literal 558069 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

$^&kgsNug!fR``farHQ${FO`at{ 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%0Ak1r#M(KzHZ$_a}GWKUPJ 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�TwCD(5lY8nbzG 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 literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/icon.icns b/nym-vpn/desktop/nymvpn-assets/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..a325d8e7506b61f446a44b3e9e74373b41155271 GIT binary patch literal 367019 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%0D&w{-vOaVPu|x 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

L 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 z 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

hygf4#kE2(o@;-&+bNxe~&`{S1!`A8L+Z!c)hJ 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 W_upg@)k0b*(@yr^>+RU-_x}JZi=y2C literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/icons/icon.png b/nym-vpn/desktop/nymvpn-assets/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..203168aa7c2cc59a9b6c33a71fc2751a0c2b84c0 GIT binary patch literal 558069 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

$^&kgsNug!fR``farHQ${FO`at{ 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%0Ak1r#M(KzHZ$_a}GWKUPJ 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�TwCD(5lY8nbzG zu<5HhpMvTH!udR2t;i>Qb3rBi^`^|p?MdqQYJk0W)Lttf-KfTy-UnK{$yX*r>@Tl8 zgntFdjoK87ZGme&K$LDsYV^5edsr(0>TKJ*no?beFv3qYu$MxSEpOeD+a$ci#plrm z^EDE9a)W{)yh?)8F^4;`SjGdtbYX&Ek=O$rvINOq-B(e>d%YggML6%_+R5es#RLT- z`XF9465F}s4P95k%}Zbg9aTu%CtZF6Cs|D8uBB{nE(coBS#G|NW-OcvZ7sCe^&?9YH4lR z=^s9|{pdCZd5+p4UIW6`R?|N$rSfGH?BZWDapbx)rd}EHR7I%-WE*2=ujD>j6Miz+ zQtZMiPeLjQ!LM{YkQ2dLWjiWnf{u^q=D;NbWhpTBWKopdghCBpDDNC8^+~oXsYT6c zwQBv#?kjdgt5UfsyXSPv_-;2(#V@vyf!UX^aH>K9TP0coCf)MsW6NC)V&*sg0eS##e z{r?_}`dt)$C3seAhh;^2p!ZmJx=9~|I5N%2eu#(T!W7$}bu#V#HAR4Pp zo6p9p>K4#_8$2Jx3of8C7*ezrgNJv0XvXeu_t?=2b@Dwm-$C7o@m7~90xsnrFDB4`%p%Y*eF{j#hH;2|E*2%&4(3HMStId|fh#k3x`*;`>dorZ#o;u+NWIRoTog zWGQZOz{r=&sJ&@MP=#l>Ezs)2$a%NXe|6nt*T+$>NV(X?&ogx2NVVMEw2*5?Z zUhX7ZGV*{{QI|`46c(F@b)1&en}Llp$xl)0f-k>#-0!&&;EaNvz)P^lP8T+&%oZWi z4(v>9O|b3gmx^_Zr)5{&hot~^sIEgs=Ol)@8fg+3&5_9762Kp^u>Gi=h#3Ibe$SL% zh4g=|`L=Ako;UwLJ7xb1p;&(uD4O0|<(b6n>}99P&Wt9#a4DB5bvTo@I4!udjGbsn z6XNLFg;d7#>p(NwlO%ej@%S*Q@6kuqIxVKkNJ&1RXysU3imQttEDYSbZo?7v6Q*nV zHGk)=1G_Z0M>hW#kssQQ$bb2KICo}j`s%7LJc<>4WH9dxR!c1s8(KRN zhi{whj-Ux%t|g^+bN2Yqs!}gzrQWBvok~FJ=7E2!?(j{nu2i-&@_t7SjpXsPb#sXx zRDRvr^B8MFO{>@Fj<@jlKTMu(RriK-25-v*<#x`2U#d6A3VwM<17YtDrSD&`PZ<)_ zD%&jug*%#WBSzQT=l@AWp`v0z`HWJXS`$Vx3v6qA2{BvLijdTlzN|_VR4IiJKZ`p^km{0EPf}7eLivwMr*e2b8EM9$4VW^i;@$N7dxIR(B^+9^ z1s7F^Gs-Ni5VIY8qZAe(*mBf6q)S0^S+l8}pW}jJNZc92@Ui}Xu~oF>H~HUYP>85F zJ{J93p+=fa%MZ?-&&~74K*8zIJ?R!x0FuYkk56TLkA>!B)~C0?$EqnAjy_r@0V_wIB+B%Jku?Md-2V&ga%yT72uY)ajOdYb*u7$w*V$9_@n*i zZNji4hI@G+q(OVDTNJm;W#$;1D{;qosN1NdF0HDlvaKgQD-BG~IiJs)+6%wz<}AHW zkwP~>?~5B#QIdpeO+17>aL?#>@xP1xV)Itsh&QcZik0e7+xvjljEBCX^*P*FNDCid zoSDIz>gjJpOMN@2I_BcF$@KcI12P3eq68b^tALRK6CKVO0hk2X2pnOXxxOIY4m}OO#%;LdM#Y{U@OdPauD^ia{LL zSuX)Jp|f?Dr8tO!!TbLZ*TIUCAsONI&hkE%=pUs4Ue?94HQ5oK?$dTu5+FJY@hR%$ zrxgP0e-t)u4q7%>G4eOsKTJwm!|MqRq0zU0sPS*d8i z$%$5PAFlM|I~ZSX|L;8G6BE1s$B9V%gU3s{^f|&y=`&)qF)*l$r?i`F$SIRLuu*+# z63Fr6#;6=5OWr&gutCjlgV+*CfSB~=rK7gFja70)HL1q_r$8)J=JMuM7x-JkQR2w5G*Zo2ERP zy3w1@{x}ccZ`b1O3}H`=yb=7iJ=+7kw!%AiU@V$o0(7zF0l7U2`UeyYZq+0yQxLL2yNg&i}$~CSLbqS#kNxIt}|};`hGUhEm%l_ zxQCh8X6q)M9c)l91Os<(vWqW18Gcvq5C+b}EYZy`4RH!0yUh$;3AK%QX#+@^`-qFO zF;2?JGt~5R1u_B$GzPH)EU$FDQ=jMV zqWo^xLt(K@#zUdymZYX2JbE`qJ%e6e$bNOhV<9Cqlw9e)iV93&z6zx29E#7rc(~F$ zQdeofhHq8KXR$}X+fVVA&v@E;{t1}bKxUJBmWo|m=>Q?i%1u}&%LG)LNlb`R@-e;^o{A2f#=&IbY*B_^V(!K096NXs-DL_=v#>dzw!lgg(SmQ3u%O1ymO)u zTp&$RB{>^kr&wD9&v@+5UfGe+x9~paqwk@n6)nBe2W=lPI`9Sog?T3 zl~hx~X_rFRIxGoKuq~XOm_;wlmZkGgnqr%8)v$Z@);U%q^MH^keS47pQtJi?Uq9M( zQ+h-4)s29hk7PqMuL6598p)!+yKL?cx@X{nEqmDyd}k*!c$r2RPXE$`;Nsgo$!&55 z#%K5k_jpJz;PpXeIEmr>;c+1^#c<`0N4r}c{RZ|y=33H>6VXZ7V5_8TvW81@O&obA z`OJk?Lz2#u?!trLwybM|y{wQ$G<`(XhQL%WZ(C3*xt61U3oq0^kQ7n2>()3Ed;2iM zae#v0-L5XaI7pZ*k*vT|Zhip`|5)+QbXDfebzfk$#rec=HA#}=B4R*F`sgt7F|mAJ zZJuK2C5l5{(nUBYyS9d3FZLU5Cl)Ia2Crg!k6Ra{kf+kLg#OPuw|@ISwQ?_2;T>RA z0@uCF9;K&xVO7IZ+@Sg33*$tk+QmeyWJ)V2ITCM0-`Lf?Kk|~G?1&WQnYglGV&CuEnzFKVJw>RxO{1-I?~kUR3& z^>v)+BNyX9*nbw?t3g6#*bMzSc)c^6<+!B1EH>nN)dITvP}A*5?LS9$PoOXEmA_IN zB*D4G{0YHS0_JRL_EEiZS5zoTk=Q^EQWX#&| z8Zgqm*GX^P1f0d+dT_zy38Jhtr?nkIXr zLLB3hcIjc&dWdPFJ#sPi`<=~mmvm-bD7k5sgQnz1SBd`NwHh-EK@E2PGEEL4VH zcU~{Ti>A8ag?s!no+RPc+DXfqlM5-jHCw%dO4 z9Oh8E&-F?=OOq`NOrrq{?1x&Dv4jbzznPmFuxwTh6y)68OpUq?HIQyv}-P znV_mmzsW?EeU$HB%|8JIcN5y6HuSo~w`H`Eb0g$w<$?GkwF53?Tir$oK-eIEN5vO5 zw96zW`{FLg>Jp+kOxW$)Ipz-O=puIV;pRf2qMg1{6&-yMQimxnCPj7UKB`xwL!0ON zAGh~kJ>hk;onlcdRdh&E=;ydv&{zH;EO0?OM2h1Vx|6w#@;x3;HXt5`s?pekcf3E{ zB-o@WZ~TAu$p5jf^dP-?A- z@E{YPnHKefc>9EifvU$z5G=wGj4WWO4Oqv|`GFa#{2i~ZAGPD9W5H!~z^R6{1yq%* z#Jm61PHqA^&0V1rq3Jxv$buJkYqYKjyLZ((9SSe9jRRl95}dTORgWS?Tobz9JRuXr z!^u!+w4uSL)JD~qUoQ(=4gfA58E?6+Z{1*2PNNsMeUyF2AZz$0Gq-q%aCq%GVA2o^ zs**(znRI)W5Y(9StgWvmz+xQb^<#Pm`Y^=uYFE+cu)p!b?!$Taa#I*JhAjt~)ybFFC0-k8sRH!j!{|3gU=qsk-?? z7f(le!tKX{oQ`MUcjg4uocFjiRpl;5!Ecmmtbgu;mNY)`77st2VHtew{i0*Rk@dp=WdZ|mL$f}n&VrKeHCAgrs2m?&;>0FM*(%i^F z#9fwO_}kRF&n3pLAzo7-T7CUc-gBMwI980vX2_;yePHv}|G_#Rr0EVR`jxdlo4g&b zGsk(SEPpBobOD5y^xFg0SxvSbhl$Fwqe*>AQV#$JN*#}YNsv6m3rxExO}v|>2#5*o z_i(9#JN{LLdkd98`sb zp+$ujqaY;gB^FRC!zv>|rmPHx>>WgL5x|8?n1X^p7(&8^P!y~f0s;vnKu}}|h9FZ2 zCigM6)39*0Q^FO+sQs5h|P48~$GsWLrsb zgsogZZHI|F3QXU-^)htTEMFV<-bV}PF~S?AjCbb7Qu`F$Jr#Ie(mu9~xk3A97$J+1^O?&}o>}k&}k)mB@;(3`0K!+HK z0seF`G+o9vmTeTXc3pkqN0Zz~mvIQaOIOcD&NYM_pe=s|(WVX6Zr#O=mtBo#4rtrd z$9LjfIm^N`WAHQpytZdoI&(ZXVY6foFv+6-Q3Bl`E&Nlo`m}+SdriMK1fozGv`J{i zvN4El@MkugY2V4Z-r>r#3N|BxOK&KIcU@+ST~RIgjZzOG%2WqmR)}kne17BHdBN*s zn)wxdo3W?Ns+|9OyaO7tyvt5rgFeJh%E#ipVa@qG40%ML+EDREF8?zfaqukQ4aK#!dQ4j%((UxFJa>`t61Z|u)>AkbECfgA$YVa7Vvkh z-jFRKr{W$9ZufvbD4OjoroJ(_l}sbIF1s(ss(Z>7)x#_iB<$R){Ra_G6H#9)P(GpF z?SAQf%5@#k*JuEz$GC8Av0nDKHD^`F&XcxNZpRNcys6~`mdrMsAXQ{)_;MORt+CzZ ztLP_$A|F;=E{Epxit}sC0g)HkSf>JYA|V7A8d`5=|8JV<%>BaFB>3Bv--jaP>N+a9 z(inv8O&}250YB_B#=VF&#>v|N>@AtPe00SKwVUy(mr4fuE=P2Q;4;U61RVovzmTyM z&aF42;KC#BOwK+h#G=?UkAwwj2Z~p37`4MoaRl&2g}<$&OmG+TFS=#t?h+_h!Xfy0 z**xvif;E|1@@DTN7+!Q7+qcy`by~qM#2R*)lZn+uM}%IPT~mo)SQFr9-u+E|TWB0! zIX%tcZ&wMd(nbV5PZM#|uY4BiFXSxt3@4%RmBX{XqWcfK}N;;xSxzQ}z3 zvel60QC5uf?PwW@STHfDV1LSb%R$W*2DZhIHX3-9{4`aOvbfqb92gVJKj1n7r14!7 z9RG*T06e~54ipPMZFrtz-BH%=VKZn>oK#%VWy3$m8!TyeCeFw)kxpWBqd|UqsyE+$ zvsMnm@F548Ir4%K$&q7{98|Y7vGF6^x1+;nh9Z{^xp|02-U7-`(CS@u?J3R~}&`Q04XI@7kLEk9WfF z9|h9k&Aq?{6$i}Nn)bUpGk_RWml1p6%a@+GAlS&z%nra^La8t1PM3G==84w~-EuF@1~4xpES> z&=Z8Xn}=w!4-eH&HO4DPV6aiG54fO_t0`mE4^{a}A;|*{06ejBSr$j?(@UGf5s7xr z#(h`k#7my;37N79Py&X9$*zJnZXTKv0U;n*WbVesoX_Q8ptlzm{Auot~_8u=Mia zed7bRw;N!Vzbp1&;v9a+?gP{kXcKL@5{%m@n+BC#y)0I(xhv?7ioNK-B--UVK=2QvjO`3iU4YKu|YWq9)TGLp1Z+k zJj_V-yf}4e>sClDAoemD81kCDG74QghrbsnihFG!U|LSm#WOAoz^{{0Gm?1@jTKtc z=+4Dh=r9NflwZ-LmTUJwD^tdm3<_uypt7hqkYB`Aqk%mSp#Xhypl&C^pz@cS=+}y# z_{)Q_Z; zK`pH5bO^{FklWvYDrwb5yPRNo&J3KZA%Gs?0&&AEi{TD~)`bew=}IoBXTK8n4$M!w zPVii&RAE@$9chl+cZ`?#;pE`t?tPQs-@ZkK4QmO{`+g2&(cTIN9!6ekRnM4=S59*4 zGMttfevDf)oR019UzctGmQ;D$MuyoutzF(l$DS~COxX3Wqk>p0*jhVKEBopaz$0>k zj9K<@pSI%!`WHxq5&NkaP-&F{?i_=w6HV@{i^0b2|Dj5@l#x&n)g`zzR0~U{|WAEcA27Xolko_J}_10{YQ} z$&LR#m&2=!_pCRsnzj;KV?69I(Ed!7l&VBR0Lh=!|4fdT)H0b$fYM=kREh`c>#Qag zFfh1!sUs8d8U-2n4MJJ3J&bjY{$xsqbV_y^Sb1nbh3%$>WALaG;q&BiDfY<|V|4K_ zXJy|(y*9s{0O`gzSSEPo_GW2y-EsE{xiGB{aZM2=`PDN@-w5(AW!0jj~MfTVx} zy$p+(Ccr8VS?)$;A5db;>uCM827Cc`yrk0`!j zBzlbkU@xp@0$u-ET{I`vTvk-!yXwV1K8TuOgkJ%0qzB%O7rz`~120i()OFZNO3n|< zdbu1g)!Mn5WPQ%(qSH~bX#n^4gXP>qaQXQlc=t~o+Ij43s_CB05D+W8@kRaAx~?yT z2YraPBoU}{0lGN;L)edyVoNWEKeQrB$$~&zgJ_141Vk!o40MR_)%JGk9wj!$3T-&vCXEA1 zd7xiAq!S7}qs$HLu3{eM4~Pvm3wMCGgdLZfiXXlNBf%@c70Xi=;JUEy(lk&N z5U7rDFr3I)*=E6q*n#4ig4feZ+4#>rV;4p`<8-tZ6-q^W$ zB~%$75Bg_kq5LzDg&6&22-D-uGT3=Kp9!BE3fldt0q?6$m?EUzi3~rfi`9xLw24&L zSv<7QB<8R+^XkQ}SrCt)^a6#e2o~$tG|k(IoqG%QLrzrH>fyQofZ5I8?06f6(@r4) z4F7TGo`A0u_nJu;L(jOc>3^dTf<6U^(I%L65ZGWzXKb!%mKl>PSk6 zY^k6h;PNO7>vdYkH8U*&3vFlbCTg>d-uW=I>vLUA}4-wVN}IPf743+ zzhbsAqGqL;pAZkU#?RXQTE{1kAGZo z^R4A5Sf_%Rmsvkz5tPZ&c;7LGd9w1_6<*(kxxxAV)NZb@L$w|6g3X1TpM4H?Z9c=X z!T*uvRax49>-^_&@Z}I7 z$F3Za9Fnn~wS!0a0N_|*3EH3xV7vpz5Mh@MUh8$lBrvrypiyV;bjm%GrF=|L?LZn7 z(W3hg#?K$eJqI|~3N^{_eM*_N``VM=c7(ir}XPdUr7KD0?i%Rj4<>|Zs?Cu)Zo)v7D%7L0*ew6xq~6$6BM{A` zoKypTalWdN#9D{%#&kzasag5k`1af2VW%xN-gUN5v!Nt1z)c-B>So`BcJ?DZQ)OBjTNYHw>BUN zuQsPQ9k&xc)(YLwx=z4h4Z@Mw^RenI(co-dI~>5#g(d^W85cj0KT$~H07}r9ju{}& z54F&1AwI=BBati7iXn)fQhiOC;N~ckFi*;Gt`zZdf4QZJBy`>f^aJ}X7-ylZn&N9& zluD3#_bw(=<1N})5(D%jPjDJN6CuMlqez!0j7&7Lo4FRN{lZjCe~+SXzwvU@1YiYH zciUc>%nhh@-I`qa4n%Zo|KS8abAR*(_jqbr-~nI$Z5zVommYB0w+H!m;+AKWlAjofDb+vE{_qIp8M}?;Qjvsf+j^-gG&;vtes{D5ll>Tt(@- zzVq_W&WrE4D0c(7^UO=r{SMCP@Ut1$kNx5Q$Az5g#X@UgwpGwgtzBk1@gT(~v*p*K zK?n{c6dUIzy>FMDM_qt;i{wo~i-}wAn(upk_IgX)g#bc4zJX3tM~`y~Y{EWYwWi|_++d6}FA6Y23bH^nqrm57!Fv%G zfPXw+zb+#ti6u>HZ;pesMkyO-6;5hIf6#uI4BtCYGNoMpTBq>U#M3q)8gGrA#bhN2 zV9_xZRr#fhmIBvGE&&t-kqQ5baOR759z7tBZq3CzR|G1H$ZN>ap4^1*&=&3Gk38)% z!1Obi;JfxV8^6f6`ezq=nEJy(9&&v(z>ZK2GkdC1(Uq%xaIG6o9dkk~RXRRZ##wEt~CxR{zW;GrT zwA6juVF#a^GH%CPUsyD7=(i@u<=#XEpTrEf_T2(m38mo%~<`?g?Qe_vRU2 z_@UrbRN=G(bJLhuo_e`?Xo6&=48#hRk1BhqBR&esNCR^P~9ycy33H}6kXcRe(T4i$K0op++ z`E;@V1x3-8E0{P1E+m%MPhF&e?WzIa#)Xko`Ej$TW9mFJG^8+{?jwq#wSeDeUSR7z zCA#)%HyLLD@f9q>m@*mBWHXtQuM)G~eC=Ii?&=~>tn8nh>*Rel_LEyRb zb`&Tj^|4bw)2?y4A=egG19d8WI*g;G8#3qgs)!RYWVsQs4)<~*I8Y{n=|0E~bgAc; z^ybEunr!%NDcJF&Squfv+=N%$7B+m9e`3`wXS?N}pY!1_zU-@00~LmEJ3zduej2jE z^2Q4d59A@*p(rH3|CZfsH71(W8@U`0VZl!W^9axw8>K9DXCO|yMNT9>xRJV-qZr9c z?uSN_SyD}h&Qn*l3G9`_=vi8Ai|MD!(Ip}8GNWKs)DdIY3)I65)YoqTbC9x(F}ORh zTgGCBdpz%CVR`UEW@3P~i^eol2tQkjsZXR+`)Owhlv#;#;t?wBHoo0t4AszhNt8Pr zDfs>VkZb(+>e7V6e-Fpk_$)AW#3_USqL8*t&8x9KL+NAxY)-~`aWTXD7#TD;>}&*Y zP8J(US+jAhBj_Voi()39IJHdDrt~VSZt2N{(+a@g9|7| z8mSe1M1W~WQo_VfVJ!&QIK(QjV=`iLmC|Y$1?t?p-Y_$=|6q98)Zpg4@96YTJ%rMX z)~;6V4d)j^*#y~Hk=2p^WvK)A#?sE-g>`&F)z~8z6di*20VHuYf^iq{$vfh!rBM1cc`vY<{&Hrnl$m$ z90dxflO*iljZmuu$DSLLX?6q=WDACJ+t>T*_}4iLjoBUhXEmHfxOSpxOK`{C~km=sy15B*L1@kgj0R6~>T&86%`5K}&y zca5WXp%Ibu5!C|GL#6J@HbaJx#j?k0OY^kivA$yU^9b!7;qS3=)_6**vuG_R+JVno zm!)b)hA(0J0^v=`%5&q|D~o|m-%fN{ZOyYLTmNZ`JA7un9v`(y3%v9rVsC%6!2TJy zAdEQiKxZXX*8&gfj%1}{%<*d3@xm(4Rv zj$(*r|45?v01#47{s0xiO(;U2NUBITujUK(ULBjSImi_DK8TV0U{el6q}Hg{1{REg zm>|)}p(an;PzbjvU0gEhxMq{iJz4`zi;!rX7y(u2f6lOk1scQ=>$KCED`5KClU||8 z@{#`v5gR*KKvb|LB$Azu$%46RR{|qUw8ys~ zKGt|coUo0FwB+vZilT2VO8x}U5W%>4$REGu!|55?$nl_S-6j*qoZE3L+1I*WL3a>I zBMT7G*-}RJ0gtTK`~RAxnhR6O=UP z%HgW_i4Hv#&?W*Us{g8W7FbLeHCrNOMP--%oHn5Q`&Sl~3J@;ZPY5<1N#HW@uj6nF z0{wS+k-iyWs`*(*9%4=jLosT{OHhZRTa@>`dx=x&GA=4^i_Pg{cNm_%uqc#E?}+&9 zmf$s`%2GY8_45yT2(?=06Wy@T%X&SNG1q!Db85`XVZa}7qqG?2qzz<9$&T|IX9Tg` zT$y{!gsqRM?|q>k9E_K?WtXu_f`M(t{>NinEAf9HNuidMcfbo@l*k+`3)_i-23zK?)P zM`YBIGfi&nKk(uuFcP;%E}#o@0MV)~vEC)L* z?whJfgQ4`0#3}hBa9d**VQa>-#ZS}a5RvuaMEyPq<*_(k#)7R z^<2Wrz_!eqQn^QK$wci&%=XQ_|HxV&J`-*G(u}@b*Rw`&cP=c_s&SC=FYe_=NZp+f zDWDN^)o9>oT=5q^ZFxWoI$RC*Y}ZwArF^V0=_~HZADz0im&g3oZV|KcL4QS?ksNZk z8bwMzOrP`3gH2rS>yUY_4+u9G}O7$F~ogV0bQek_rd zVIz+m?WkX!&fh0$0}Y@pZ#;7~R()&v1t(i1!RU|*=ra)lgnvT@;lwdfr%CI2r~cn+ z5}4W?`R##ii!uWaLVcb3fu?WIbVp&e&^mcF$-EwxCc*-rlj$@5i+xdVzRb(82Cg3F z2V+&S#cNNtP6g*XIg+?5LMr2=hz+XzcD7mLEwLe&&(2j7 z%>&V>DC6~*#oXX^_I$SRm`Z&JaVzG~KkJ~v)s($gL;*>7HT)B%95>m(oB-;IWqFzZ zWK3Nb$oRn`q-tTtfZ5WL2jVZ3yXy!G8YBG8{Bs(@L*h&+`Dg~NDi=(f8*1<}qs~S6 zw-$vxHsdmX{k3adtK$C93+;Hxh|+t{)Wpj?0HMRf_D^Ocr;I|2}g|v|#>JaMrZtI`;~cJ2!FGt8qYz_?S=EDhM=L{O~H_qUK*_myM4= zf5nfP?szr4O4ITd)UMp+t=>e{LBA71SFi3x%z>UOxch`bMx;+uS}vWz>mPpzMrBQ9 zCizdDE23vhGJqt-7%gOGmG)rJ$Xl@c3=RSW&#&{|N0}b3{)XEeYP9jdn~^`Fp}j_7 zFyYXUq#5&mpQnnKY4FV-{_G`O-V~f}=0uOmx9La%_aoWZ!gF!6QM2W;`{16yM6cos zQdLZo^T1ICf%Lu-WBM!q>GrT=oa9z}ZARKgFL_Ov_^(S~wEAkgV1-$0>4(gJwTE!d z8g>xDpw+J){-}dpY=YH>86ebNz!;d7@ZaI@19zY;+*;DE(5|zZa)ebr!VJfr%(eg@ z0~QIB=)XdrQ%fi6F82+YSC@e?r3ReXR&-JMQ2ZQXtmdo4TXdOo?I?54v!@%|kB$2J$VVmYwpjRiFfnRXim97N&`9_y2DByZ>n4JiO(%+cdppjH6Dhl)Aaj4R7RH zWM;MzWNMag^~~?62~%?C!d>xxO!mIY@aG7p@%40uWzW#0e(N3)su-OMQ>F;z&+fEF zl2FyppMzZx;My=aWkA}gv8I`54g2EfwE!p8oF#TGI;15L`rS}7$T8%s1~3`bsR&l` zu_mq@H>(al|CY$HgU^7Udy8RPhQ#_iqFbIumvC0%kM_tITf}A8?Eiwdw`$02^Yc<6 zD^ee|(G;~a!_$$i%a7!2eMB8XS2yLB?Y`24>A$*!iPZv?7UAs)#4e-e*zLB8<6UtP z@Kd7KBi?I*VaZ~j9?a27C9ywSZS661zt+(jAle4WN(XV@|DRcm~82+6-wj>F{{lZJeX ziJ$?QQ|&p;v&O3;Yx@RlR6~e7l0(zh7wCZWVz6fbV`JUwbs+NDYY>MVy~=bbq-u>p ztpV4`S%>Pa;dY6#^MP8{F+G828KcW#(v+LJ#IcF z4*cf|#L>#CxHE)|lKu1Chi@m{xzV51Aviq*p<_ynck&Cft>)|9xKuIZs-Im;bvy_M z8cBbfd>Bn4W<6trcspu?@4(Y`{BjMGNW6$3p$u5dj|AO9HBDkmfk=!yEdzp$Ti8!6 z(LTo3^7YzeaI| zyJ|8F)!bS`uMs9G_c|PUFo^`-Zr+X>`-M!7Kd`+uETMl^haPqk3v7LOx~3lkD$bvD zr?eCGAQ$gq3X3L8z`%^aF?G-70j_G@{$|&4kqbC$ZS81L^^MvKgVIi2jikZoFxyq^ zZUjkBk`u)8>dyUg%-*A5-c%5iGNEhRNAPtvwuENUOw1<6w zA0j{M%(CnY9=)d5Lj^DXk#+?Vsuvbxg_DxseXYATw zVBe;+(YS61nbns|TlxPFH;d<>p=0-u`8Cvw^s_#OU-o^$yCBQ}kTImrQq@EuvJ?XW z5{qz~bMDBPpP!Puv&%Cy67j+gnOAS3bfTqCpBn>EWW*7{Gq&n!2>PyW|AQ&oy;o?l z0EyD`sKRPk5HG+h8(3wMY{(Pt)zP*?eni>$-t9+y9cMo2hpH3Lx*3um(mmd*FMq4+ z(X)aD!9g|k9J6W;bUuY3+(h(_ALLbyj)*_Ig#1YV7(eQEDP((bXT|Y^n9UpiQThD- z{x({F6(&rrFSw~h2d{lp3zRs$a@zs`_i&_t?J~a4@pSpKo_86)h_>8Iy+*c3Q#M& z+H;ZOQR6iQ8vT@=2xRqs2fys)UAFLx56pX-9pd(d;7`I~d*Bv0y#s|A{9kOTqo!oo zd4yiF_8h{G(k)f3P(!~|5ol8mH`9eM_c~ExtUAB5yy9e@y@}dsGh2&bz>ic>^J;UO zLPMe!zdX+PkK}#yFO%T{ia=g+MLl@;IbhF($nS%t$e_bWemnk zCUZTnPw#)99GBe(e(^>Zj%m04VARLciXy@_W_(*%+>RlJhV4bfg#m*^@`J&$R;#<^ z`IQ9#O2-e>FMY9qJ4WSZ=;mp)ctsK5&1rdL}(pX%GatjgW!AFIl=R^<@kgHe=lxD!py}Sgf%|_>S#JN^)9$yWw#oNKW zETXceHC;m`^{9tXO+RUp$57$JX}c-rSFrf6a=_t7l&HF_$5?q+BCAOibu2cq`q2pU z%peNC;yxSgj=ni~T-wEgYF>-k{&K_daqC+1)Z@(pIO?yp!P|t?-nE=TbN<{O&j-i>2VoN0dR5*im4+G zq0MliR>pd}M2qq#q}5?45>8$X$Joaodg=k}Xj1W3FN@AN;*H8Ql}?QoPb-|LhC+N-6CS&7gqe5G@%* z?1J7IK~KYc&3t8YCv*!smg`qNC8*TyHDEn=8SEAEVRuJFafJv>-B&g_hL{;@oQ;6o zLJxpw`xrj+n1Q3Wi1g(sp*WQpBT9|qwW^d?D{MAG*_Bf@s7U!k7!daBchu{vVs!#I9PTx4>5A`=^Cwyl%$Cmf^j;aQ-2Nj^u}{ z$EMX}gMsBKauJBL6uBW#Nz};wetGM21^k2P!kREKtc9P~D~y3TI(ek$?nRV#9=b*Q zR@vS`cS$yI2msZnyPtO{1r2&CLigFh0WV^h57Wf6Qh9D-1o&FjS zotis`%xV;DX0Ooo3=1=2%y3QJF{VWc0u^N?|( z!amz7m2J>GE|mG=tH%ZF6!iao{+XR_Pvg$8Y zftpkx71-h9PMjGRS=)8}K>w|rXa-1Nhw6cqxG`?37J^Y$&`LHmlx>DxC7AmYl0Hlp zqWbYN>IvhoCc|Q^0v&st8`dMh>C9DY4_-q^B`gqJ_%XZP@0;vTfGN9V(iog^D2i!$ z<0_mdL;a{2_@g(IRd>P0{e+j7koE)8tc4{o)ze>;Z{w}KDEYMDD}G77+1+d}GXL6Lb6&HJajOp<8i*g|Za2qpW`2 zR}*gCLmmA^i9dMOc`-1{_YPMah~<@vjIP*Y=gR{}dIP@&_HVfz-!@7(^sh4f@RzB>l0)fl(JA8Dzp-u59Vs?{ z;5CY=I9Tyo&L}E2gTyUiALM5IS?{N&T%;9i=lR4$DqI-QI}eMHDE4-1574fIf{<)w zjRs=jb1IHL6)k`mY3%NHXzZe082m1i2NNk^49`@OhsRGrj?QwQl%s#gf6KP12g`E^a5R z$bP{u%J+i(?)Ibkxz8Ktz7TAiL%)$bD>SnI<7Qcd5Y9PQ_vU51TIrJv)Gbb~K|uyU z#c>-wXYg5dP&-&9283^}sCp(rB_1yKR{0tPPYfK!<|&v5Sz|4J#|+eM_W;7GrfmO% z{)N;;l=hswkHrEULezfPF`ud6TMhADOMSrkZbCxq{l@M_ctR@CNq%hB7o4>>R*gzd z=T=Te=zGB2DT&^Lkm%A{jffGCYQ+=MK|9S5EA*=d6wc!LM4Vhd`ws#_lbh8N-oH8> zQ_J`GPWV1~&s3$=d3kbFxE*Hy>3{c^0O#X}6E^1(32M+6zbs(L`)SM9JIKGwG#@FZ zLkGp+?JYB3zrJkIY4^wGaeatkkNt^+M#IZLHxuP0-hp^mAf1!np2-$HjeunY$0(V9E(x5_^*pR#vP;%USNZZJ;@OEJ7J}RDEmU22bU*=w8bl|l^ z;Kx1TjqgDHk){wofjDc28KlW)OkoxM7X3TU37oSwlus*P{N7WQ!ylBFd-n&C#5V9p zu4KJq%g$3t^qH{jG5zO%4FwYH2tVNyq6BLbD#}e8!fzts;bMC0d=08vpyXa)4AOB0 zmq|?1WxOoFbgjJPP&)PAGn17N6^$gqbi0#X!h_av5N`xDGN18aNbfwE^{62{Vx;{H zV7br&MldGmQ0Mp&aNQt_gop;y_q`4uC1I0r2TWXR%upo|PYWe83RR^m(A_&7=4<0U z4oI{NKc}c){RF#UB_FfffG5np@D=k5-Wp?(*5*vVY6?1@U}5K2RKpB%v@;%w^ zPs!stkmvM{5N88yE;LT*_6EiSW(k$8r~eiq3f=B2Ua9VVM*0vj<%O*7MNFlo2?;}wCr2f#XCtVMVGZf?EY0{`**6-i$>LRm=_6GkERTo6eE^NjhTv8^-}}C*6oa zhyoU*b>95(9vO^Y0+hFObZ+xhdOGjW+|DaqIZ-m|xlFXB&dThbXVWh)qDn%5DfXjc zy46*L1~G8Wb4Y@x+ed56s46mNZk)Nd$?qi94ceyai%m zIq>=dpa9RsMMM=pnI(2*5uQkJuwsFVs2z7w`JWm@Bd5F^Gr`Ms&a^>DGm zv5XGm6`mAfmWwXl-wZU~zupa{x1<^4PVL*6AMQB2Q;~po3<-Jec zEnYEVee&TNw~&rY3z2qaz5_d_bYVJ(nJu5|Y@hE`q5K6bqQD|83Yd}F!GgHrFP#^- zGcW}yLiTGk{5CL*qyIMez3H?kKy|?vlfgP!98E;p9;7C7bKk7+GirvyK&L1+U;082 zS(yT3hztK2L#**TMUv$wwwLn{JZ?>xK5T~4W}vEt;1UJ93=v!|GySQ86j3HO>JH{q zfD`!nzTu2Gi%*!9*Y&fD#vMuQXzTg+Af1~%Vmcb>#CGleNq=Hp?YG<|rKGn6YHwbY zuLcO!G~S!<&6Z6&ews)6@XEm-=TGu&R^c2a>>P7!iAmkReB6gwlGb%QTgkI8o*nv;P8N%geXiWtoOdp7q zUQRDxjR$dT)ZV@aS6kyCAjhCg{>NdF&1GIPJE&H014Q$VS_>8Li6l(R)H0jpl?=oH zL?w5}%Y8jQ8fLVwYj>!RQIL_c@OFpUs!?p0t!q<#)8>2f1jW{<+9hG^j{(!dzZ$ky zdF(r`u1a)3)Z$0SjEOcwSaI<0a5Fl5U-S+JK$wY9R+$OBsuBp4fTRy40blTu?Z)Co z%%2D=@z4>1kzXQiX+N+7%U>$Xnai~^Js5{vku9A7QY0XH*c}YXTjuq?{*1Wx(Y_&g zxR)Oh%66E~T((mgRftVSk!a#QSJQg)WXc9i9Fu`XoMaHMVV51ooG>L`?D0JCndEIe zePKs$eh$jUyBg(ABeA8=BHU|6d7D;J`^O*B^`8a9Jqv zuNmy&=Et<*_~lvISHx@hcD>#`e&au&ffIp|VVpJNQ2A7lz`pmaXf6EOsQi`o_~gDh z0ck=Hh*vav|LRs9GRhi*uSdRCKd76;Ds#P!3%BJjSLKI4X23^fKooOdnO8@yK>er$ zRD-T2Z0TnvcB{Qdh@rMuW>q*CE4Y@Ku?Ax^<)=%^~TJV;SWF*EP!X)i)fDUJ&S0^ z%RV23O{$Pwi{uvh+4IFxeIS2IIDo^ zB$j*-;y!1=ki?dE&|vwVEPC~AC=W>@3~JXo{DH5L%<7OL7B6B(#kf)Z+0r9+~* zCG>%a_kl>2%>u+CKgs%EN2|~tS$pyx5mt`$I*H&H!QfuSIoO`1 zwCQ5y^x6#=_?4EqU=9fwrktDqYEAX1fp)`fD6@`BLb208nLK`~Di<%&K4d2E0Gwh$BQdD7b@H3f`fm^+euv+GB zN}GRO^%Cl4w+y;Vxv(77vwtdi@EI_e*Dmv!;#amP?vn;$fZ8cPC?(RS$vQMeNap5u zB~akXWl(^F{njT3z~$fXChm9-kq`WG~=>CQAdP!hUYmiZ?*Cs+x> zf6a&wH`~?>#|yfzik7I*0d;er>_gulfcx>_FoSCZ*oz^9Rk@mu2xv`qO2IFkjY9{3 zIgAMP7QHmFdGuBWs_E%RnwJz|vCghy%D{pMsm#!%kfoQSTYTrqd|B0BBEWebFim7P zP>UYKs#O3J+#Tccn2Z9O3 zh{5ov_%E+X^a-A=Nn=y20C3gi{q@pTiXMr8E^wfobz(b6u+TaicdR(kSG*Wi2b{5> zK~QP%&)7uV%4E-~Ol=#Mlu6$GM!q*q#nPS0s6jpCx zCuQ)fi~(UCATzB|esvtjv=gOr?6W;+U_S(V&)M;4@($yrIy)>3W3dZ25myEp#hvzB z-d&vWr`*zIY*u4~-8m-n6T#Z~t|8FTWMW&8)-dI0D?P!_B(gCG=g+_wFDjqGqdk9U zw(`&-`GjP0r41;?trU{>+*81aM29ymVPWWs`E z`S_NE{EP(?Bk#tS9LURvX;~FVwW?_{U1-Avob%(>rK9QGjGNc#Iu-y1-=dlt)r(;-2^Q}#QQ{mUCNp1WRPqY+36t-w1Z+I#T}=#3h-G1iu_XuHM+v<$<)Bj?>9IZwYl|G8*4?a>UsaSO`O>Eyn?@72*C%MY`nYA zz^rS|sZ?q=wK|zRHRGli(>-i1S)5ppLRkX|2!jJ<^j(o;k)=BoFOv`E^Srx2AQI@z zY4eK?v%Pt}N&U3xyM{I%?V}xc#Oy*q-5gMNY-n+u?kr?1L!%v+Q;8n&2&{Y>w`(5W zP7Hcp^T+hAYPmJ(=4zzSP#($_>732&4VtFwuGYvH`b>^~nLidm= zjssnU)|2KjYq@8zSVDW=g|0jceYE6S!6MTbQ zLs@W(@1Iy=*tu39g_E@j8GLy9IfyIN&%bznD#}HO%43QyF?UlP?Mlggx?ns|9jz?p zOv{%rV4f}RqEp)uIxDN`nlCuR+SQJwyy&(Vph%3-_+7bh)O*_XZ2f$!*d*LH>BSK2YT?H9aB{!$1EnYk z36Tqc{NwzU$Y{U3lI!)4`?{oSz%tmwz_m*`E{43-(Qch6by-4ntV~=yj21-yeZOT{ z)}mrf*8Sh{cU)Wx9`V33Oz7@cA)uhx+e76Rw*frXdzvCg*L;e|u|_yGO?B`L zOnypIo>HiJ)Omj&me%|d`|et55Wl_-Guxej>`k-^((&U&{@2_@dHzI$A9lbQ0YO>; zJjwBXh|VoCfG|H)p`xUuw5gdA|0-E&XsR`A(0@S#KkBmVRt1h*c;Lq424nA+LLfAO&PA zGPG9J2iWIcl?$b?g|*V$q)JC-RFS{B)@Sb%g)z07*u`gb?Y_ayFL(P6u|$@9eekR^ zTsL5)|K|BEL=7dEu5jWrmhUh!Ey9z7Qkr~;_H=@N5^Yhl?P)PhG-voaBdCc42&C<} z1ljRgiZ*?KU@l)ezr{gzu&8}yKyf7DVxP*T=|?Z21=-x+$sntvibVf@?X(x**HzpX zEldL65y#b`Q~3A}8x2mZPJ22#`5>94I3hn;lLuigQiqKE5&sZ^fn@-Y)=AfSDW>gd zUz){;jJtq2>;a%|X3Co6&~ilLY=6 zE30x4W>*-J-|i3k9-6~ysh_v{%7T$o4Sh|)OHhdTL7u#Oe^L4PUgpV?q&0oDwDV4-g!?;I*GOkUd(F|HPotEEA$0! zq|k?HcD@4%3()!q0K&Rz^GzhqL&?Es9oq4oiEx&fW3zYk;7%P5?HZXf}1HW zMz@%TB@NZli`}RF{?($a*8A@(s$c!6({jGV?Ym(sOeQD6GbK^_)uPGWgse*XcUU7i zG=34Pb;M zCLK?vnPENvp8H+wT~=Dzsu~PT9hOVV^|K<>hzyw2PmuzkW3_-Y_UF=evw855Pv#4E@{XbjVxJM=0OUO?&Yp7eDyK>SK&4qWuAwr^7D;#ynkun%-JMvosPh0#b z8T$iKx`*y+?||td4g$5+^(iEbB))cZXRp+y>3vKjIt4@Zk3Onh3KrkCA3~jkY)lV6 zpF^$CbmOpM{qhq;^&he-W=5~SgeT7rYv{+d*~9L@vp9_v8%D^R?ub3pxSn~X*<6ei z_v?(nD9|1d1}_t@unF=ky=v}3VvRU5bDOW}@n3mHr*GcwE#Et4z0EbpybT^Tpbo?( zx^^B--|Y39AKW0@dgzprY3;vk5jxe^IqbE$?S9tNb+}=^JsQY$Q@U%6+493;uec2}GnAPkkC!C17kH zlMKV9cK0wJ_Y=+nZI4_U=Mzch^&{fV0}pEH6^%Y}FQGWtS2z`X2=M;D_te)bP?3Dk zvZW+evRGv=f&DxIS%2eFz91oscRe315~e;21WFM=lrOu*5f$D-kF{h-aqFIWGHz(U zx=u0bHXJ+jz`~M{-eog_yX`lA=QA9lU@l)U5Y|QQhh$v#h#`Va@=e47E+%kx^@#W} z!Y}70bG!wwd^BQo;xGRB*lVjT?PfnF>EOax&;JuKeXm-3Dv52s#b}87();7np>}S? zna=S-W)MbAs--WMj|?_z@F1@qsoCa4S>j=>q4)IVjS!_s>wpjoX_9YYgQ+xi0v~l$ z)!X_}G4{cZA?uqos!+biL9EEz3O9ePshU zJWshU)Gi6R%)!8W)-0x(d9}McXvp*?2kW;f`-}go>Fxvfx*VY<^akID?I-i(`c7mN zjfb73E&pvB_;zQXysxBlK_?J+O8x`d|8q(Ipd~X^WOSVN6BBSLD_e@`npi5qn#@?K zmFk|U%{%j|0^x}iq8zt@-A=U+nxCycSxkpA2QGH;E&*IotfKnaW~iGVEewNaUj~y| z1gqx$O%SRTTAa(c(+5NkfAUBiWE1ge^Mt6#u3kL%l#2WAdy8<%V|lh2sa+C5A1Q~o z1vNZv0|d=uZF>YJw~#zEV3G&ANt;7pACZoWlx4jh?(*p~Ig21``i8d=Jqt5?-YB7O zhbyd3=?w{9>ijFpage{(_0K{a-oyF(T5$W}fAL6JzyBM^3fJc-=YNyPHk7W9g9R#f z^W%6d%0m)o>lhVuv{-RQ%NU`N(yK;l!9mFpM-zA5y+Y{;w0zO02u8@pKWyILTZEN_Jpa7=Fl){o=UX$ zc47aEKK0Fr(I6a@g!y^tqe|!EKWFPh@zcMa5^nz#;4(Sz=)Dpp+E;^28|a4sV5R=D zI0R7$Y*Qu|)kF&qc4PybOHBx+hkV9aUhPkmBahnQYNZTJ9UGp-hq(wWh3UYu_YMDF zS9Wgf<7B>e`bTVT`HL%WNc@0mvNRv^jGRs}PpD$#WuQw=#{ZJ$3-;q|e8GG^n47L1 z|LUr(n?PJwu;d+NJ(jq^h}3~SXPb#t1*6-S)uU+%Oz z`jZ9{?=W`wY`cO)Wie*F?$LMhehDX^bv<(c5g076=WnT59cIO|220q?{>_n^E6EKT z@3ysMntkuNv2jcL%BDT~hxTnDz7JkR8EedYCNjUFMFo#Xeow6{II5P2<{BtaL{=x8 z>+F@%82gF2BM4XsL8w#3_ogQ=Z3JT`E8(yt;h3xxUjdqXIhLCQ46uA4;|Zn$5zDG^ zwmx69%gj_dw>jsS+SQiGD(=1V-Xk z0J{Ji1f4<_0c%|PH6Q_l_UYOXum7Hp7T|E5-z zG;N;6P`%nTprK3aqdj5V0d{`+g?5v4@~#W~f-=fro>0_Ts}@}m zSkotlCIVG4w-){_M^w>zZB*#2mL$L#0WrujfMGhDEcxLN z>-U$cdNzyp9M=yg@%mOB`%r`&1I+X*b5Dc4`%QWfCM~97lShcKbQX=$MDk!(VwZw8 z2Nuq^*T3!W?>xG>qj9jRy_X^@)pe*3>e(WOrU8Dl{?MR@nQ|^|dAs+qD4(xsAC;KLu}f_rmNnq(WG-gOiEag0 zh>xth(e4L*V83YseY^3bjH$Ue*z|S>5mw7 zhsZ1c{pP;kcjE@wrb8CecfaTQlcwjh^EJ)jhhbu(eGd?mj|;M6IzQYN(QCL*awnl=WFwTH`)nB81D1r z*8?X@@5D`vXl%H`D0l&9MTm&+?e3TViGS`OaYp)+Z$2VW7jCeIBv~JG*V8gn9W;o%SAgA7wm ziZtc`h`{3vSJew3YgncVk%g@H(nZ*(>@UQ8fy?&$9wcNilMBT>c>5i?LjEg zDS~5Ib z`2K*=Y=dTgO&CD+gLH+T5NyekDFskAjB1nhVu)hkRSAaXS3=YWuWFX$;eQfK`~G=$ zNOm9~Gdc|5VJBtsIBcFC?6|%z*=X|nRWZKKQ?UEaPRz}dC+^P zi@iXwre2_&1X4PPgK=R!0#6qyqBbHq7%Z>Dr$@LD}fmO!)+f@OTz&j)&(sG5YO=PZ+LhxRxqN|DH>He0hq%f!y$v$)&nj2Ow%W8{id+>fn`# zU<4Su`4brex=C9sEJ1~WuRRdfukO)l45*Z%!ALYiNc#-S(m-^7HydXa5CeQ$L-u?p zU_J6M1^u*U-k1EW1E&ok@9P@c9LCDBy^pwv=6!bs=$AC#Q;+M#5>{3cV(VQuuhxW4 z8csGG{;#*YM*;9bt-TUBw}Gb_V(w_Lv;V5vElh6d-9E{E9h>`Y0do(gL9-V~)>?Ej z^d#qtlw|w&ShN81gKBQFc`!vL&w;b1W@$ad%G6;SoWE+Swre2B5JoZ#Oz0Tcl9vFF z#^y2|>d(pfE982e3n%BJQ8bG7(|^x3x9N)*V&~G^12*_&A_Y^Vk@Ej$pPZ#`Y^|?;C;>Clp_36$B)C zImgK7bwHFrsgy-(ckiC?TD}OOoBFsve6J_}&oS$h_K2jEA?Lr5RA6GC3iS5)M36Y) zZ4qz$-KM3nb^+TyqKBh|(PyurqKEByU|RJlOzA^eE=m?{Jzx++epb0=I(mqT%Wx>E zb#=&5kNZ5~kR5J1{8vU4LdDwS!B+BtghnQ&)JD9k2zUd6MAPt6N6-&?vZbVM9;EC2 z#}d~Sb)n@`p@&DnP;|To_OxSa7UM1KIZbkLYTyp{$Ypdp^yPk)cw|~qN?+Jm7!nB4 ziXVj`UWQPjftk9up~cii7+|89g`0)Gfu0_dX2Sbgp|z_YJL{||@Scet%z0l_q-0MA zlKY(o^RG#s=M?O(W?KKv>xuPO-}M$_S2?`@J=PK*akLM43?+hO^g206=un?+Y!bZt zZ=sWp6Wy$@v_S>TA7m68TR60}V`kh1n&X_3Qc?>6Fo)wo(r~vYa>~}3kJS6@ZLQ|m zG8}m^EcuI#czt5)Ju|F!T;BS9g_xDuF5EislPihCSs1#mC9`Q*%QSvEnAq1IL7(TJBoMo59; zOkJbdh4oKGW#GSWi%JvQUIsx0LB+?hi!4p%?)+xSlD2|e)#wHdS`5r;YuTem9&BTn z5NrePvuNDkoXNIcEo;AqaN25c2u~pB1-xi9`8nCnb+HHYw#wY*4`ev}9wJnO(`R?3 z!s3CVOp=luN$z!LRGrn|DKD(_B?@_fe6`+*YNknrR+z9EP`e6?C7%Q@2DZ0Dzoaz% zpMX8uZ-3isuBgJ{_ELCO6=w-B%N1ha&A(H6K@xq2#KvA|E0vn}1_a+U4Xkso3HG+f zDr)@yR?2;+M5oYrykT-hY9O7;u=UK*x57jE*8=JVCLY(~K2GooSUJ4n(F#@j!ir@d zfg=x$v`pk38s!~n(Wn!Iix=rt16IB^Dgc@T>~=81r4Lh()Dn~@ZfHk!Xmfo8 z-drJX+0P-a=dEGnL}#|{u*Nm|1%A=9DeBOkXnhS5{-G&9F@!cG<){;mU|L8lYX0n9 zcgvi7loO0Z#SvzU82>y7q;39Fa|N7?wa*K}_Vw@Ov0oNjn#8e@%ZYRUswnpwdNLZK zzpRdPPP#kCtbxrh-mDTB-YIlVhN_)6%ujy{=P~yyX=BdJ=80$m2X6G|;6DCnDnTsm zu{nSU3nqgI?Zu5jBEIK_OjffcU%sfOf@WfgfwkF-$;HaIiTMvy7cp`-&b49#O0JNa4!8llak2$*9x-=6%8 zT&Whnt#2`hRM`4V*B11tX7QAgLf=2-DtYoZZ-f(9zwRA+zA1|N&r=cUap1%Kn6Rg8 zrHp1;Mu2EYnuX9nYL}_XSHb+Sugl2w-nyLWWu{f-)B1RBuUn$jH7A5vhVJaKvheME zZn@?yPMfVW>cgGTov6O(5V49w74(`+>AC5SIP>Pjhn6UtyVwUdAxj+tk9+DAH?)$l z{p@lz&&pzNj}9aV2AU2*;Y{HbV6C@wqD z`y-{d&Bl)|T5~bFBIPm*^O=s!E0#$L9Se;EupM@P8Tq*;M$#tzGDL7`?+9kPtO^yi zxXn}~)3fpn9F1$6_x1xA^IxP_U%Qa9=@8f3CIyE2%;{UBm5|P&l@WL=R=bP?e?T)& z+@WU0$PY|F&@CkT9m9>4=9U#PrtgSpZ)titFFKM1POIhWZ^+kIzJNd#6H1_+k3Ll% zAK!aJZAAjcMqLDj$_vjuAnvPmRXfW!q)u#4t#8Q?;L7F*Swe5(h z!IS3SiHKJN8*jgtEy4%BvAX-Qq~)6lG90nlkse3zMX@J7Pw=WlQxint7?+*Eu`2hP z-o^C|;zY*Wtcf}K-%G?T2P(;Mvm#M>JQs7uvk-`5(m88;d{7_a9tJp}J((dMLw&~L z+QG>!U8=T=QKD1*zeQbrWx#YTv=ap#r4sWHHM>93>gjW*Eb$P&iVv|wlc}y{(&*pc zu0Gq$D*Us*;KR@ya@hE5GQ>rUHa=1*pj$Gvd@bqiL?cAbG4pF=7^#VpAU`B?XJY!G zb`j=1HqIZg60jDN7aT8xsW9y{$1uEeRWB*9?De(_rf0&@;`|&S@u3dyG0TZ*Xb-v5 zCH3pJ=j5V#RN^Vp6P8U_$m=!vGUxVfRW@0iHfXss#V(*FqvAg3b)PzMjI0c5=+^TA zd9&V#Z6YKWt!!F^Cchzs$(w0?Yi+N&DjJsRVK&D%}9z3n-Fa*Nt6D--vs*i4&)kb~RX=0#zTHK6uaD0_k;8ayjiMEUh=Gpc!P9s$7LV_bqHB1ur0Ln`y6MjzmdST?V+5 z$$2K(^>LCr$Xs8>x>6Vk*}^@1;yHYzn?{RyT{E{TB!DAo=l? zhFJ~N&L5r~<6C4*z|E!&I0e$T<;Izuhbf6W&Ye8}j$nPkMeO)Cg%Y=7W>Pua@AeLl zQ8(xV?0}3d){-<37_zS%ldnWkf&GDO#Vm0~oNo~!tSf=89;&EpuKBkg3WW*F4~=&9A^EJ z=ks9mOC{rW|3a$#>w&Os_KV_yXX=)WI@wmP9O!plK zL7O)b3VDs(JDsnW7<7Hh%5dclToVz&Fn*9+FJHYH>Gw@O3DwmPDayvDv$?Z+FQqHh zAf@NFqo(3_IC_JQbL1@aC5KWCqOv5uD&)dh%#@cWXT-qHZ>$ny=MDVMMIsc5Kc!QR zc6&pR+~KaDh5Y!vcGl%cAkD&6#FR`%Nb`_36;b^fSp6)6Vnu(_Bn5=G!g-JiVEbAa zZrGvwLI`uZufKC>;wL7p7kMGotz$rwdz(KuYnD}>-KX{s5s2lr?jkfmq)~MHCsM}9 z#F)9Ny-O5?3*7KWwLzJBtb1|nFaIghKecA>Uqgw+8`rKnYM1VKkA;!0NUo~v|2*Nt zC|-`(v;XaOc4#ZL=WA`PbWhMT0R((^$?5NHCTn~JtznPyl{}GbtN`yJFf0XGawUo(F1s`hLX;V0S_DThhu17|XFl_zxw;;@+1%IJrxpj#U?DWy;!0S`EMt|qM zD=WioaQ3*mJyHYoqs;JGzKT<`g_hW2!z`?J_3ro0K`v0jfT>SbqO24JOR^Gd6} z!>E<_L3S6exNwOP*$s+JBVU45x$nG>VqTeE$3&89udEYU0K}}XKzn20o}axCZwPwu z%I*P3mF8VeRQ+L3eRcgmcAL9`&mcaSo%^3#a1mUBmuLU7Wc^_s_tdmHWj77DbeZSrknhn3Nku-l{ zzz1}tZo&tf_c6D{cV6}JW8u=zWfj1{S!#BH&%`WNM(NwJZ^n1vzlo@fJht z^pT3ubH*TTZl0H8Rgvub9MORkNQ_4-yvI(cf_ykBJ{ON=^?JI-`OB2Qs1P(_mh3b8 zgr@6U4Mqj6%U)lDK0L1GS%pLqCM%4_Q1Co24*^G=>I{16>VK67p7#8R z)5sx1wi5e=6&ccRY^e9%ZX&5!7!nq}2Q|=a42=u?N4Kzcp57WDP}Z3f6{eNt80Jn)N)X7nHg_Oj6?P7{OVgoO z7kgRl_*pMDItp4g?`J=VdhSTYMcVo_rPEhKY27MU?^lhPHxbvBbb0Ib&`aK>=yv_e z34!gLJT(RCZA%E&Mfaf((0BD$$4jJi3t6sxqJ@WSgW`6G%l@)~NSb+9Kl19f{0CHK z(RD?QO8OVZ+o~#svgL@CE%b52wgcG-QHzHh(@t(7qkK^tUB!~J0BC?h?&@1aYQpf8 zWYy1vH5wS@4Q89b|n_PQ&t6kPm5ziS0}XEFBk9< z$Z8;h(7*!N z>c}ropxE3(s6C8IqYQ=w4&l!?{QjN+jm!}NyUGgWxQ+_K61Sp&pZ???_aVq)N}9j* z>SEYDxPz?8@`dv;G%nDczbb~_;j5CcEH9WVpgRanMjcT1R7>X5>#-%Qpj+3ZYv_;r zw%`hR(uL#dy1eIYN`c%CoY>^~#BA;DAyPWqa2h0X%9rc0;T?d59K1-T4S!?V-0k|q zA^W=euKoa@3rPO#z@m9x#fd+W`z!UR6JeLyhe32S&t4m5&>|{I`+=>~*9NK?`Tv34oXm-{jj2yuM{%XL_wY+0`v2qy&rYL z$xbIB=*XOvkJ-~7Q{+Q zy@f$(5p*u}%?&>ohT;~3-;tKo>^$!Oh-}?T8Ve-#Kkikz8l?sNrX^lSn}}nlgZM*L zhhjx->#<>H{sZIsbLmj!jQhrVx#_B%mA~GFrK`5CsUPB{E*0u!$vxBi>c~)o`5|(% zXA4EBP+~aUi*bbYc=GljDHDP-vSQW*Oh!*<;iL$Q)g7vrtm}96L-KZn+hnCSUgL%> zD$Uk}MPCWx`^0|&iJ4P3j~?^qQ&VnTZCW)LDGL!i|BUV16yB)cfGE7W%&?RhPE z&{x^dB=8P&yP3^TmN+VTNMzAuOf|5(qT|UC{L-I1g1Z$2r#mZ>D0tvCtcGADuZ3@D z75vDVS?n!BZGK=JafyBtMwmEzRe!Q-+l4Vq)JYAp6#thGww?FoeEGm1qsy1iK36}s zAzgux+#f%)gk6Ewn8y-V8}&WhhFRZlBxvsL2f2^yjmuylk+&CiPCna|lwCO#^X=Ps z?6mnxnOH=8fY3NQ+rizfRR=B zhE#*sMI^Z->^!m2k)&!3A`FDEJ5Aul8;nEc6{!N}BGTsJ-)#a7im>A#adR~36S1cS z+{@4l{BjskV(S_VJi4+UnYebCkxsR+?h4x(2yV9A4^b z7~1)IdnROKss4sxh=w07+E+T)5aQBCax`mc%Nx4b)*IFQhe=v;l>6icH{w~Tb2>1` zUQR+?=zNP!+@>bkV|hj;fD->6V~0bHGS+Bx=>l@%Py6jTGx(WZHZ7*qfMB&Gkas{^ z!Yn#B5sj4lZ7}gYp>lcG(Sr6Mq;_e2YFRer!y97Ftje*RvX_@rp&;c0Q9>u_rozZx zvR(G=Kp2tDg!9XvQ89HPP9WvyMl65USN7}5t7^$4-Xo+`7?=TU0svn>?Fl?}3zCoU z0?Ohe{1FG?I9QBBR~uT?H{<@gRY~nV)F*ez`yK)`31Xp!g=*KW{GPBUECzK&{AB+Xe z55{&}w$`pN28HqvPIe{b;SSEz(Mm6~18a+e5Z-exEjU5tRZN=kbs(P%5+vbzz>S74 zj_N`V-9?eC|KKSN(rRhkowu86R>mTvySYh7)OPS;USCTA%Y|2Ee#56;Hp3%g%;kUF zJq?ypDQ zrsFAc(C}rodbzq6#t9rx5R8ws+vbFxcD^r3*vCLTCren5xwPG$F1>F=-0Lc2VaRD0 z2wA!1%K0XDK86jielV@`oCC#RvluMdXvZv^5O0r$V)&V(tzrkTBHV5Vh=@SLfzz;K z7%4Lq*#5AmxWC;dB_+<+G`DpB9mnN^WW=(;pFP#z|BUrURD13D>bf_wV^R_(SM&-^ z0rq2{$BRFC4}GgL+K^2ca0%Rbwh5VpdtI`>RLS0DSfU;Vty=y=dD0LE-*J|!C=kD2_zY{PT3^*_|7}y)iBgUg_ZPODS8oU@Gh-2k(C^Jm~~%otA_OV=}n28d@aKfQs)k*TRA5 zk2|1{3e-tNPkOe2>6OS7{tC1*VFdR;hEW0YTWO0zd4i(=DbJ35i%$YP-VNa;%xRxm z)7Lc-qM;qO-p|Q!zWhE(!kNuA3wcj^7f6BCuF$Kdv5Z5|T)h{F5oaq>&wcS;{SNuC zN%N~WAp;8OO!x@BnfCYa)D;zw8yEoTwZDIy(XaJ8Ii0n_efdA$JuOcYmFq(m+@yN_ zZu)Um2t+>+x?Uhi8?Cf+=NBmI@&j&jT9;y|+^?*)83nN^toi2zbQib$un72=y9fLd zdzkZS=CylvN6I^TcaT|Hz_gMEP4BHCbX!PNE^K21vl35Yy06f!$F{=>TE3jR!`|A1 z?Jv&^DaRcnp)_2?ZJxX@7142+hD1{UaOa(7X%Q-gB zZPcd{YBHlX4(;Npm;e(KKf{Z`K;1}%V!y+)FzRTeE^c3eSKtWFnvnjM_MOU$M28EL zHdr?hvz^&GS>((t=V4Q-uf93^;tkg`+9ADruD0C4o^g@%HpO;6xBst|IxIO++1$A75;F|M zdv$Z)H5q4PXnYl?X@{3fG0%P{$-Mx!2Sy{~4!4L_E8Xk(hVWrUnttLlPCPdpiF7)% z9o>$x_{pAEw?N@Se$-{#)DvZ1?syOXASnbswi=-%zt_Tw@sAJ*RGrNXp$P;F2|yHG zZ|@31S(D}7T)zrNBM^0Bk!lk+i?m#16`A@luZIH5k>1QAU8ojmT|)Qg!-9xGfzlIbI6q zP34FbrCDlSUyTj!(dwbTncq?x@mkfs%c}0MA^} zd#!1J8-0a}>IG$tejSm4j8Q}{;z)4EgNuDTk5!1Pwz#HJ4VFOsfB9|DHGH3_8uej_DQ=n|oL54hd0 zd929)P8>kZ;ToX#K;hcX0a9kY)&nJT`4T!CJC)hpm(&9i4ct<9^?ftD?I)jy$z@_e zxK^E1=jV$HDON<^nRpha5}Wu_`YvwsC1(C&ey5{lVAvabaly@>JtR+|4Wk{mBZs-EK&f1Oc?y{hGieDF!j4sJG}S2jA#?^LUQ#@k5~ip>@V1|OdqwZ! z!(Dw3^Gf#LTsdU(``_~49(XYZ(o3i{{UqkPO$hY$3BRo-E-As_u*1dvw4JGNfV_XpSP5t%&U8{zFMF=2ua8LT0!_lH_ z3|}$FN({|*Ceu2NtmqebQ!&y5^2ZCMnTupkpm|pS-H*{Tveh7zS-uqNh_azgdDiU*#ZmCCAov|6ylm&pSvIPPMD4e+PheN*OjqAGhXHbswvRE7 zk}m+15|?9p+C_Xk6XrKjQP!}N3nHac5|q)N9PXfZ>j8o0DMYDrpTz8e%-uybc2$0Y zSiTTb+AOK7S`J;}Y2(^#@S0Kc`C4AQ2VwVb9vzfW{$0nExX?k5oMTMY+g~q zCt~ymPn`If7@Dfrk4=-xav1KdlZ37Sq9Utph^8&IZ8zKnxSxPwNYJ zc?YRwu_LZ_hg~qZwNDWz7MDLdxIAL|>U41}ZcOslW5uWc3m>p}l&Cy3w4UkxEB|3* zrFRfNt&-N6UB*4&P}{C<=^Oq*j%fWeN;v%xf<1r5^!MCKlSO_}$X1tF0)*)uk;0HPoo;+0<#sXsMzG`A%1msEyJ{${RSd zyu*F$31i0vz#up_`N>zGK)MX_KffV9E%yyvK&Adp?9Pb#)fjz6U4QGzcer252SgJ* zHt&cfp@|?!Upsk^e22HyhYx&kKqOT@(;c8JBivplP11C8w1?v3EYYuq$q{3iyl3P<%1-R z7d=AQLJ&^<3L13rHaKiY&%^8`%}wVI$A15)FPC2*?M3CCC-vk(@tMQtJ&|p}L+J;J z66)uI#9@Qy+&NXiS+jj5P{-8vFs@j>A_0PGBHwH_pS^Lki6CCs>f4giM5s{+8@Kb} zm&aX`q09KKB-MX1g?9}aANgrS6<7_6G*2KzMIhf98rtLr^^JL$@tr$kYYVG(^h^;_ z($8YzK0{t!N3c_1og6h zL4}bS#;?Ezp}zm~m^I?(3KQ*O&C7^6q&3k+7bUp-89Agp$n;Xz{tTp6R}=%$4UymR z|6?oMtAVb)aHS-o@ZcY!72}-n76Q2 zK!z$*jk2{D^_5Tyaiy zR>cNDglCkaeWU7fGK}5mHg_gWWqV6`wbC4$=Lr|MDwp)HoWJc~I+Xpa&DL$vo$B}4 zGy&~dF=Y<;l<-UWd2b`okpXESmz#~LzQ8BdCs3k^@LtE?i4p1`Fazt!Y?ObM5Ow}W z&alz05$up@nxkY#=r&!D9B9}azYxg<>Ru+I9{zYdW0Z0I{D|sG&5DZsRC^T5I}1Hh z3Hspbyo&oQhO@sHQNnmfKM2Ap&aCR%Z=>CYhrfTA^k9`r8^#T?=HKM0-KhP}eyn48 zB6(b~1YtL}BXd(&cG#nC$g=aw_nNhiE26|(*u38J1ZGb+Q#7%#3q8?5d&hV9qfWN zX9P&2$>^OuzF8c$!Gj$#X*8frNhk%{tSYYu2SEB-<8>g^B8q?}L~&7VggJ%Lo!PF7 z+y6FQ7ChVd*7f!yuZ#5t0d>zNLV)QN8Uzx(qG&z#h31jbZcTprxk}zvRb2zEM{zOB za~}U=OtTnSn17l4IW%(NVVtk62kK%!w)yUYarO~fcXc4f{iZTQ)l)woWcQ8KjTyrK z%$9va_-dGh@F!XSn%cMPQmPP8wn|9@1^Dhx!^EA-wJwOPzcSdB2wO5=x?sQkM9zup zqV1|pBwcF&iy~L39gw{1dsh(on*Qir{m~7@U^V~<;CW9@GnG3;H-g#0zJh2Qyj;zw z(78v)94$BkFr1q9mDM421VO_E2D&*S%(;-hon~X^#-2>4D`BjMo-Ts@PQJ^0Evga# z&_UjK3$*yeF}{4-UlcC7k;4i@iF-U4kdDX(iVXtfM3|j-Uar)$70Uwo%23#oK@W z&gr_4fS>SIK)Ms<;J;{GSRnWD_3~d=+vIftbjV+sO{QkO0)R|$eV;dm963)etwC4C)J(=a?xzVWU1Qjb#tC(H1QdqZoA7v?}2 zP|ourS5T%w!qeMRzVzVzgeN`z_Q|K{SQ>sQ58k+FzRQF_^!}eeo8L&L77>)Fg)c|p z_u%`n_uU+XOeD$-f`xX}VKvBr4!^ML8L}2}vs?e=pWb4P4rkNDQ)NwLDC1Od$o)hk zu;CVt%KN<|8jc#o4}QDpR~PY0pi}L8n)Id_9+YtY4nc7)O}z7F+^&4Mb}1qVa14w? z8xZ~;Lid_u`-an^z3*cS>wpUv4{Kmv1e-B=T3H4M-h#CR5(q8pv@57EZdGd21xdQ} z2{)=AMIjvR#VE=yeLZRUkL!WBfXmMGcL64~!9g5vlO{4Tgb^N$XFF4B1+sOo9j1$O zlPz7A2CjV&c*pnlOIeP&(d9f%O`?D46r4$i>}m8ra`O9Dk2e)E?1>$^s2eNo7E6DX zNebJU4ePC`AVYkug>QIt_3g2M%~|UP)`pJk&~eT=jTZ`S4-ykMg{$gkCCdE08w-=m zMUz!W*PB;163x~FJK{xIf5NvXj8tBnnCVh(H-u+tUeVxa)h^Gfx$2A9soX*9gkhPa z7d2MIUR9FI+t!f06R{uIxOXJ^vi(oEL|QMTV0kh7)rwgZ15Q$+rWo~oye}GM^q$=_ zX`Nl9)S;?@oppm`?*En?gv*dWA>H~q>PpM?Lp`A#vUSNxJW1(vup@bT3QYQ!%!PlJ zruM!mP?{oqcZ2q2HUFZaYE3l%mCc>L4-32!-~CY)w`)ZHGbof%3HN@=h*A0pf82D? z@fKF9|Emjx>lA^oclotg(~x?u2PC#y{f^c&47Ln_mdMGUoU}H*(`=av@s}!=^P}y` zJ^~Kxq*bT&M!7X{b{KybbD(57=8Hm>=A`fUV_rGoaIg_dN)OD7(hJ34v;^+HPBtrVPt z+jJ0WP1e!%ahj%KevxsIk_O*ocC><_ydM+hNOtLkKiW@a&KMUlQ_5O?w}%kdUb6!@ zojOUVO9Q_hw#UuzezW^Sea~@I+ymAOC?$T(OK+!5JrsptFjR7iAYxXZ>L29jI2I$= zQTvA0@&ZDoc!cvn3COeC^7;)jTS*6rRQg}uy;Ry39GESE9KI|s)h9o zZp&@1Fip8$9LTHv`YLaYC*|7oTWG+SFB^CKgu&^-FfMYCW|6+5KE(0TlL7U(KEV1t z-4p=N;lcjqjmJ#^vytUXFAl!_aU5e;pXj`$ECusL>kD}6USZ~D=3aixd?sQBYr(p4 zx9huNT-W#I!!b6Em4eNN?;vMQkz%#c4i4vr2W4qA*4koi(9>W(F$4PS+M)R-g?zm_ z_;bV`gsM7A|E(2h%SuP_@agNo;q!L3_9e3YWm}BH)!J{ZV+yXpcuXawgr#T88DUT{=RmO{;6TsM3+!t7jscM+@8B|^hX&F$qDJU8{9fGp^&Fdce~;&jl@k%dt6Pa( zI+Mo^!@(0*`2ay(z1v!3XOz&}W1Em*cYgxK-+eEkcVN!^IIRm(dA&iW?DvKH?U<~9OJ;x5w(DSukib9m!s{-g{cYPDW?(mk5e z!)^ZGKLNZ@GZxD{>g|2w#ppd}(XpOGG%FlUp-AAIe+u>`G!9(jz@G!XO#cKil# z)w*9OxA<%84pgBHWg9_%Kfo}54G-1vxJ59W2!rQB?F%WXdQOf%4O|VVSE!hm9C7&q zEqJQlL?}-B#rWri%bfb*27L(m#p1*NN7uE-GyVPl%`zV{iYP>?PZ6oaTykmXs%Y++ zOG9qkTq4)GOmZnHeUz9x#a!mnY?OOSiMeEM!zhI?t6Y|Azw>$g{{4R5fBM72?7Yu8 zuje&a)O{afL%7VwozCHD#C0{ipE2Q+$c@~sbPKVRWY63czbog|EFju(qY4~Iz?C5m z|7_s!_5%H+PxLnX8Sl^6)JoMKt30_MM?J5e|4fZFoSHf-dg2sWz#Akkulk++F~SXr z`c4~-2HdN+srP~PH>)=cH@|UDp8fSUzlH|&`dp0JnbMAo#igs?jdz9+cD_SqlvrZs z<=&=6DwnR<8{_OXx@<{w|M?Dc8_Z!e!Y@dOM&?1Zf+I461#aqTfT#p=7{vEwlKsN- zI}R}euG71>l488(#Hy=}9byJKrd3xbX`xq$`ZK?S_463`L1<>*D+>^GNP&L?0r&Eb z^DUUH-Hlp`$d#*hdNxYn+l$v5JSeYBz4rFKf^>@yHQKvM1A zGct3!q}tgVP@4T)Q51%?NmVT=ax?n(giv_l zBK4LcgSt(_p|7j(6DaoF-C1WRGsS9!B}d8()z-;&I|jVz@H+MB1BltpY<^K#Z#GjEiawjPMXJkawhrtwMn7_Cq*a17Y$Z6xI+&S z*9&EP$xVFLbt8HG(sSG(#(jFY@&E)pHJQZKEAWD? z<^!91MG7OA+HQpZI5`%*QRwFzy;fa3%0IjMBX{DF!RE}bshQg-&#dU>bFaEM9~Dfz z{VUwIZ2_kG;-}uc`_1dr+}-YRT7t~Y{mLGYf!BxRNHt<5Tu(r`jFwbE(QU8L%PMsj z6f=2(lnWbzxHir^e#848_Ecf>)NS9iIf5uH?iVH(x%U*afD5O@^DQNZSA+BDVlTeS zMGOUIgd|dj!1t~g-=B9o$~uOQZ-RaRB8-Db7%QcjPlcEFiJ5@u?&_`NnVil|OgZC@C_qfcNeqN};%msB~wa?ip1C)3AvC!bl zaUd-6oVVE=-p-@!l-zr(4|7F=r zn-p%^7uhy%dmi7|g;`hv!eI{(*TyXz?s*x8KtQS|Rm~ z9&B0Dg8vk#c;d;Y9RW)j0=R3E=u`ugKWS*$sevA)O#P`J0j>M_;8#JzQJ^p-4NI8! z)AAQIM@cT=e{3QG^XVL!5IbCwA1t zUvj<{7qF;66wB-|XMJ5CTqlhWHrY8%$pqM5PX#Oc3|2FD$r~uk;8`Ol%0L+*EnS5m zS`v3CGuBI*X5I{?-^&%n!rrcy1(ZI?nz1~5k=mG$9lcH1*e(_y{lovRU3-?uRh=tX zUu9m4a@pV?P=_o|M9vP?MsKwC_%<(1k|y&Y+A98MBg9rTNS!k zyyW3sV`pHV&S9J)TLj&yEu2cG|g5j;L4TorW93v|{1 z60H@KNaulBqy_K1cSieHBw4+NVTD}^qfo;tXjkswC{n?xyfp_~H(27)Zd1HytIM^6 zT1?fvqop{88?n4W8tgXoCX{y~Y2>CeltDC*6QP5m1jIt(wC+d*WBHV0AEtXVfJ zsxT_Fpl7e{czt>Drw+WE>Rp2|4ARgK`ISH0DSwLpd-*$nq~uI_R?aT!t1$<+tP$;afa42 zVhP-FwjcLM*3lIOQ2sFuA%i3KX=K8Hg!SPRv-ur;RTKG0<+2sS=7H=&n772E9p&=m zFJxYoibIx&fvmr@Mi2Cr%=2lzi?B~W;td8^c~$YWf*sF0CZy;kFQl-DAl`w?FPQTF zvWi;VSAi9@dNmeH0XFm+X1i0-?67Kit5t~^|0{pJ`>=svFXcVxM;kMvGf2ZfJfu3R zD<@@o48#?=%H751=It%u9Fea@1|@!AG6D(XHPb00A7%VC1ht}1lG1yezlqXYspdMs zVx0gYa4$1O2%;70UGXx&Mn9C|7O%T$m$T7L-EMPWeyhFt-YLBK3sL;UsjS~OqSiZB zx!0Pix7L)J1O9NYMY(TGzrQiD{Z+E^?Aw!s=;i8(hCf@6zy!B(U@glyK%gC(;&$nw zeAWI9aoYX;tj^ak<=8*-;t>~GPg624Z;Cf>>c(|N{V{2--s-z(*u2$ovAHU;e{1wW z^kGL5t$F=7jazB>Q?x4M-L;(Kd!Oys=nAtl(v0aghd(|q?q~aW|AuH;{@`DHo||X1 zmS%G+iG8s~X+;4uuUl54&Wdm7k;LMos%2CwWLnZJS~Zj9aj_vfJ{C7#9w@~<_RKyd zcb+>ij>e`opPio8cS}i@8b0&3h%+s3x$^~b+~};$aN3N?i<2i_@dRx9b%_fjixSp_ zx^3S22@-N`p7NHRRt1Ljr-uhQhFzAAnKpxC$Y;7k3LzClrx+%2J9!MhLcc>0G_JSq zMd)I+zKT{+yAuTrO%`@#Qi`ifWy`1sOV4)AAM5RMulPaUMA(hOx{exH+0qmsNLw3+ zZ=pR{$5lsluBB1kkG(;*dj>FDVhO!-CFpsfh3QjdlBcEIa}Sifa5*rq!lrj;$G5-xZ7ou$$^ZM=${tz$davx|<8=%PCt6-TCu@G! zvQm})F6S-hV&tyb<2}j7w~_~7@}N34gY03b=Wr$(1cAin_r-p@F=Y(myi0 zUp5ECee}{^=gfPW*g2cu3%@GJSXj{(u6VIC&$c`1L}RSasOZJz0pt%)4 z>ma=+YZvuoUn^aN?y@?WoAzp^-f&X8GK}BPnem%___lT?dZnXSJnFAMP3!%{QeK~l z@77q~x}@%(Z6&cY{W)jW#r+I_UX5;>+FC71Xr4myujz085qtH!xO?Q{LuGWvR|zCv zxjy$tVn&O5;w-Nqdgpy_y-Q{jqsIgJr!R7e|KwUZQ5U>==1Bb!3@b|$H9d~irR0sD z?ZJ@hjxdYZ;aU0U%mx@POO+7JZX=9CU&v5A{O#A``NPmxL6ybl{lcOuVfewo6edy7 zH7N?#@8xU&MRr3=B7fZRQnc?TJZnX=YR%&?(c;weh^pi!3m3Ybo+_|!%%d{T#Y}xX zW+BugaH*}M4{uBmD82^^m|Ds|!;h*IJkj5%iq%LMH?5o&#HjX7zI>3@{3u+M0v3=7 zaH#D-yQNUOO2m-037ZCXvFyCJ?Mml5kD)WJEJWVVX9XiKA&5FMIATRXJZ~+mk2JI? zN9vSFEF;MhQTV;FpLQIY2Wwlx-a?J2JHJcLJh4FB?i=G-(6xd73K@j0MsGO`FH*3( zYLJNj7uusBP;!b|^D+zVbNIABd~R;j@5cW=6>@Q-^Oenk0Iw?>?QhG4*9~5aBiA3w z)LT9D?87UPt5~{B=+Q7^e0g_#qxFrYke=fgPuh$$q;0lJU6{wRt#miOZ&=uU(~9}v z8hpLgt8r*PZZDd-s!?#mX%A-=EBi}?4t0%n&4k?4x%P3At#Gw7id!w4saoa|{5&=P zB8&wo6r>bwZRuLrSfsAo3lL_7{Revhobizsez382Q{Qj5l?xWmmFuCcuS_QI-!Rnvi`f&0W15p>SAy>o zUM6I1QK3$@jt9K$AUK=O>Ns9S|*#z zul`+79aoz}wCavGeU4m{p494)#9j#n@{Y(5hCB+Feo(ttEil`KFA934G$(Gn@$rOp zLduTRq$wE}UVJ>UugW%t*5vsr#(RBHEjr|%k;s1|DQzHPG##lqb!<&)_HK6wLc{O~ z`!f>yUKC4{C1HdH3Zg&Pol$xn0>OPyjhLRfuvM>`NL4OB_`ZRq;C&X@NLc8?1TebQ zbxkg3Q%>64LhKr)2IfPnTDP>%P;AGg2J*@oI>%(U@OOM{T&Sg`-?!gk0e*4)UsuAq zeuAZ3cT$0LFHk36{?jP%VQnmc3KW{d62$iB_H-V$25mPY{tv!EV=tfH{}uvU2qgcc@<=HAPN#+k}-A=ubCS@4rDDt#e!Bbrb zqo|aT^nrQ;7#0hSJfW{HZyz_(TKFN{M`E3d2DS8EH+yC_#gxvQ*mEbVWI%DLU|sM` zV9B`8;GEEnl8UE^+m97%OoTqMBkXEN#tW3_tCE)UIlI_%HI!KQeJvR_K>cnR7T@&#@2>Q9HtyS*l$Rf9Ie zdoK0QMkaqJjdfkNM`(;J=~@r(J7;nhY_VbQp~#FWxkq&*?=lSb^gT$|bLVfh;f}CN z8leb92NgQha^95SPx6H3WlMOtC8#*qIGYgWd<;QywkPQ79X)T0#nU8PJ=NeT@tc1u zl1)5+i3Rq^fC&Yzs21GO>D{Mg0`wv_u7SI_=ZcN42|PaX;b_&qNrnK$`|70Vim8iP zc$p#0d$)m|qFG)w0EYyv`<++r4*eA|rO;@%FFDw+6)yvQ{@8f*-Rj?e&UesfBEO3B zc3h=xojF;2PR9ALAd*sfeq!FCiv0CJovoCXPM+qf{t@=P{$U&%Q%W0%7>CsqkuoFZ z@AC*`-a&@#6|qP1ft1RiM}{0n8OJ~rlfTc}#3@hnJMT;5v6pLNxx1vq>Bv9M=SFUc zlg!45(5en?itQz?D@0cHrI8JS7;$G$OUA1Aqn<~$UZBKcXEwZX-`l}_B*>6L?(P{@E{>**4H&=>@6@$6W3b_QjP#<>0=EFIM+`N z=WB$pZ-l8-KeiH|^G+KT4MKTUU(^$#RM_O1HFGDFA(_jw#PZkedVac=HfF&|aFUZ~3K z*46&E-rx*ulM!94K9My$)q)W^J5kK}02S7ZZs4Oe=M1%LcUNZvEnQ(O>68qX{!*>`%s-Qu)y?r0 zn@RHd1=KCX4|@vTN%i@l3%#J>!Yk6vlDBCJGbURGs^ueHAfNht6!J%T84Y?JIIhF& z+}#F{obUhche7Wh4?&P9kRt=B4iaJkI8RY$@!8ryi^g{&C+Zu#Sb@RvfcK!(z~6h7 z)i%Tmolc)F_rS_dYQb45Z;Sd|)G1XikE8}gLun&=H-m3U(eZZ(;hfZ%8o4l(&yF&e zVhCYQpmN;rPv?q*0QJB3adGM^l~KD|ZLtZ9lw@d40B(6wQ4U7<$0WmSj6a;uh|eOH zw5O%Wl8}_wz%yftCk_BBmgu=8HWBnoN>`0)aH=ORVSU64U(8%>QD1v_t}M)BO#xG8 zU~|Ld#xKEzc&h>(gvfO!Rx5U(RK#KN?<+5t~?qVZh%hZwVcOpfNrZ1Qcx$tr3 zfQ%_^Q@SgS#&+NW#T}jGJpi*@8t3dpBi8y_)ZxQ7YgMXV%#mYo!Y>4~rYG*{uh(9S zUyK2TPOGOJA>Qx9ZEH*jXp4=NnT(w&MQE}yfi$90(?0RondAdd7V6T)aHTs#e?M!E zn-+9Voe1Dn$(B_~g)$F&l-JqjBg^{p8Pk)pT)~>7^yx?S3kfQtBc#(UI4Ct+)OFOv zo5O$oh9Fjq^g<})$u!oEk&sk_M~zDgUh}1R{myJP^M?Y4{W0HS#GlP11 zjzzwCNKGBTzbJfWZ_2VBjwU4@{pA4;djVryL|e)vF41h)w0v0Y$)XzDLB|ht3zF=yy#~W1zaD3=LyP= z)8%P!e>JS;SwXUHF5<{}wMV`28(FQ6!s+ zY0MFhn*+VVC~r)^9LhKSu%|l+KRy$33GosCMc}!5Z@Z!ciZEAHEM>w3;njv!v1rljiqrrey(u8_n#fk(cfB(Rce4ks1TnW z3>QGKt{&ZhQ*EReM^fOES3fgEN{y1K%2nRXK2*(_5R}9xJLwKqgEF7xW%z3N33;?2eY!`-Eeez@oI%TtZ~#nYAd3AYWc$2OoZ!cNXJ9%%`S*ls;yE4RwR_lKSdZI!f&(xp5up*&u_IurKkv-c7#>AP zhZ)BfCiLg2R^sr;f&-+?uZEuDmk?0_lU>a>RwI@2Gn*xAdpVl@G1^ zY)>BenQ;d{Rvg*lBT9i@*ZAG_Sv&Vw-gI}09Bb(2fgj}6laOA~qp|C!QpsnK_nG|1rQ9%Vkv zwXJ)^Mf2Y9`A2+C#SMh9m0d5hX=UfLxKa#kT*AkD1m3GC; z&jqEcg(t}Xh8(D@Yt<)@LcrmTua|dp`|CuW&i5M#OV|gvm)R6urR3>S-ZESRHYjmn zs#f?lIBCfrF*Yv!O(5sHVU;FUE;D8e)wXf2@BNP63hstE_wR4PsJ#5H9U*=SfG{f8 zrz33~>R+?jop;%1#-u;u_Qnpp{zcB-am34PX~&po0C6}Hu&%|D|ErhqWgpODFWU~ zu_Nj4yU___s<6)f+w9c}e}c6V6f z_>~mu8-kRf)!ENaW?iFpdlCAcUFZFO$ncN{^)W#h>RZf z6fV$Jw(}s)M1gC#ZP|3R}c^>NUzMN7Xv`@}*=OmVj$2Wvlc9d<6+k z1+StX8C}o++)>n;5JqwTnIzxA{nB=#J}bowKNn6sT7PzmC~plKuW-0fyN#%6$>zW# zNG(cbwMZuT#zbiVO!5$T+_B#uGjglW%!N?~#gWDcX}iYEy_pkG-?kC-C|xq2w@IB) z_%8`eb#zUU(gpE^N}mAN<&IYK`1qYE(<1m=7p${T$Yo;-M2k#MT{L7Y4aFW^xjR6{ z$f{Q5KMc$MtfyXh21{4)u57~zM=4fu(@Am#P;W?I-Ukn)2`)=0rHFR`*0&0go2+>s%>P#q zyeCrpKEC-UdgeQtU9U0wAfGN)ZNKcuSBusszi;|uE;zCeL$fD&{Dbf6FZh&XmA^Z) zllMU{8ovSg^jAdSH4+nby4xzBdaOL3m*Ol6f+x3-WhsAry=b|53!u(LU#UM~R7!#n zINM3h?7~{1e&3m2gYvX&I}#!fBM4%>*EStLBXd>&d^zZuFr>iwe4Ap7(-e9h9|CRa z6V1a=s>7nCpjA-IE7!qmGjyt~7xM-$bzPFw#qWk^$dnK68JYamKHh!*4dUu3l)x6s zWAxYstv3n~pjk-X4~$BQ4G9r=%NA=wwHSW_!X4u{-yc9U*UZ1yhUPmhI!PG2p{d4r zn_FCNn2q(QE-##!g1JM0XB?SjkOpeZziGk;Or63@UV3N%+;I^8u13D@0$?TK6oX(( z>nB4J=);O?tRcdqfx)~lwypHi!FZ<@0{Vv4E;aK6-_ecdt6_00i3?W}smzp<1yMsG z5bDA9W4%eS9((oXg-PJ>hm>DF0FnqcNP};_WiG;>u8l%IiK05g1PH>F?qV~k04-YM z3u05rMs%^7pcE>M5PDKf3c!U0X`x6|@mDF9=-nO9!&o+esP~YgYl2-al6> zaj7$8zrk5cg-AQ&Lfsb4<@z~{1=j5uzo+y*Mu0G~@kQRqmpwDq!pH%~X9qg8(mfhc zLd|y3OwMsDB8Jou`|A%m-0}WLi4t5{mAR-NVV75HknRy?<8t^C_3dp+$&1qti;zp5 z<8x4Yb)nMZY+|H2a?g;a=ZyTqEi+=8T@XW{bj^YJ>RNS{;EM=Esm!H87p<6%+fk;c znB7U!qhjSYDb%tmDCRI9gF1chd|a|;vB8sele#z|FT??$*U=7 zX+P1-)qoE`Y7T10F>YJAb!Pvwu~0dsddX}laD3DV*Ryn2d0K#cZ1}>4>a`X`&M7(T z0Z7%cg`;|&LKD5kTj|6{2az_IB`=WcfVX+d4ADOcAvY&wx%C{l1^r-av1Fw}4SHYk zdSQi=k&o09`Uoztc%}KFtsTS1$)JMF%Wcw3QNzkbBgO3LK!dpU3s5Ms-tdO-s@cwE z6aeL%6q?AWb3RvHky=unUtB!{%3VVaFM23+ZVWc>3mweYYVkTy7mnDQh-+Ag@I>O41a6zS?ZMVz3A@I`ElMGzm{Z z%%Jo>6y5jUJOAFWq~yql_G06`rUa^33fGk<;Xf*X+bM_tY4Y%cice9^Y9d?K2nVwP^P zvVs&G95V}|3i#!}Jotu#N-)9SS?zgYbV1a9p9EO6I7TBzpU#G2TbfE=1gnN1uc z6H9I$jlr?ognQpTBnl1ch@-f})*~NQy1eG|AJOuMEj~Q>1?j&z6lkzEf?`BEO$6S^ ztNAT$L`YY!vIVolhL}0Ywc-^&n8aQZc?k_jYP`sSUX8tji5u<;Ivf0Y;~1LcQ$4kn zdaNXfWTvPI9}NCM?vXk^6{4iWJ;dLh%F!#M?|7AfIV?{-W@MiuEGs^>KqM!O z72-KMlD*47sl45k@LK_AV`DNgF?NUTx|jINi90IVE6WeQk3Zd(^=n`aJ+J%xf}Uuh zi=QCn#l%^F&Zo%cX+9LGT&sn?RA<>5(Mw<3;(}mZ`)+pHujX~NE6SP>bZNW+C;rY! zjre{E|FZi8(K0$a1OR;}mm-9A`H0up^kgsoa>z9D{?g>O!r1z9KHSWkOEAR?`W8|+ z5XRkc@@YBVtv~Tox0Um>;Ou>lsvGQS4xu#^GuX4lJNZTGM@5zX)Apndy1tX4F`lzxmHkz$`I zFRFk23{(zlG(WN`AoWd(JnNYFPP_Z5yhqmq((}XMR@M%iss)$r6A4|tZnFhqI_l!Ic?{b)k_pj@8H}2Hk^NUBKWXTqj}PI0KMT>l%Wo+y1RyfdP8d=7 z_wEzV3T_0^ZxDyr5tZ^_Vw&EfnG<58b~-|K*(NfMHHq+YQ}p3R7}k_A^8Ip32~J^% zZZK_B_?=f{5=&Y<{AH~Nu4e#NOW!&Qn0Mg;*2C z=vpnF_Wio(t%oh{aPoJ353$x;ym+C!qYud&+S8&{LFs@D-(l>~IKPYh#^b#~mF=D( zhBG|pk(ct1K;5l1|^ zXK2?rf0skt_zo?%OW@1}(dLa}B{pbk8*YKrUDXyOG-4~32d*ULAK^ghT>71(yOGaW z%|dB^UvqdUOm*j_!Awma@@>LEjv>ldXYa@RK9E7pvpa96&7gkD>FmWQGM1W#4l@3k z4_Qr-4G%wE!#tpOcKxxHN|o@Fb`50;p#ISymrtZ_ATsN( zMQzo!{Ud?+R4X|9dqibjdkR~EP?$~XFSzh%{l~1GvKru>Jij5S@`hLZffQZi8;SM2 zIINU0ZhN!S5KG?@i^WS}l0sPX6=)2Mz0V_6cK0s1T=DbU&Sx~pB6#7lTYD-^eWxMA zDKu5=(dNUu*WMk}DOHa(mV*Jjqeiei_|{)s*A|D7dbY4dC#_jv0Me+w5N}vUQU6dx zB5(S3LV*A}Q>Aj`_@03iY5`7 zc}~w{oyvV5JwG8@^S{N8T3V~x1QA-~&mYMMr3*H3K*FP=T4@pGe*@w*IJNCMqX>~L zP^~nOO1ZiR1Xk?CA_Dn3a%_l}p_0f40&+@TnQHF{1I`57rMm-=;_-Cd#CWpJU|x+! z-^|6H-Qr@ImroEs6=&c5ByknMqvJNax+ko}{LQ3B^@XyEB9|M)h02ejR z%G1E`0LJ{DLJH4FE3U%}d>{E$!TxmQMCJCruZ(zh&B=*(4+2N565g;yT(9iorip;* z6m8!bvgbv#XBc#_K>R#oOwxGO_gf3MwNap^zt(GVK?}aiK48^N}$fz4Lis zb^KcLQj~3?>%ry%A$U^XoUR3|^OW}a+VUyU?;ZGLZHU&y$hQz117O$76_2x&3ombv zH-u=$v%vL1sH%v#NHKBYeg(S1(|OWFX8@|R5xbatdmA%6N0*AKN$|_|_WNA9roCnm z>t(r<6rb3%+6}KA(d{#MySncy`~{Ll0&;|+UUJ>cg3~<&crgYnFokMcqRzi?DalgpZ4E!z`sC%(=54=z?Wm>llFK?Tq?P=*yxL;8YAbd0$Xr_i< zo!=-g2dkwSR?`k)3$1`E8JCNkwT&%di;xK;&OthTPL}yKa=BDCbGhsj8Aka1a5=JA zxpK|0Irb%6ER-0hdUv`Wnwo9(6wsL&_&+W)drzqD;ySx%F?V;!n5OdO&%sDXK@u0? z!?#R>?9vOTE^Pfn;S}i0)Cd*^y9JFwt!PsB4I-``F zEjW;&QaDo5n>AxdLUPY8Y`;B%k01TpwOs_Sv%8eIqpCV{o!yx8*Vetxq1s&i=D|M( zxc|L769@}_tqi62L$$@%{$PpyE?RmA$s#@i)bAx0IxTdxJJ8BF0qxZ!n~C|NF&{Ep z-Zi?w;I(Qc*%*M~+MlEG8;oYdL)tp3IRA|9!uXf6P#=NRwTc+8rog{Z%;L$7$LPFQAl+-T!z^%Cz}b&-e+r7Lo^sMXfa+IW}|s$?FOzTBAV?gDpw9ilvwL z&vT-bYygx2G$8b-*W(fTNOAO}a(>zpW*oK3!&pbGqXTL}WJ(*Z)!%rS~KaQ$%w0J6b)w*N@ z>;A9V=O%=n#LGkQ&@#0K<(Ju_hpzM{qqM?lXO4(qlihe7z;ih`+U70q2up#x)5Rz* zpn`n;Ls+{A;Xq`WvG11ro`JuG92s`bu^Q>|V=Z-JrAA1zxx4)Yaou(I8%uGrnL|+O z(SZkFdc_n{{PbIu?x#O;*N_{2s}>S+f%hbgQ4*Qy5W zD~U`j5;kN@0uJ%V8&_jqqAki&WL9M?O}6SPtw%~tf&k_J(Ik%Rx=St=ud4l*TE2GH zZmHp`>%+%>*f$(bWP*^hUXzC*^1ddV0ru}KWpE`IrO5Q!+OSgi*QZa49tZInT&!5H zXkdlpIfob@c>85wnb6s*q5%~2KflP0K57bW{Il`tzplr_6Zt-V`Ua|9N6};zn*5Fn zfh))kdiV7ftsvOs$DED1o8aizoG|gyx}wPC9AwCS#J!mQ&`Um6<fp*O9@s)ac9AhxtaXN&+-7mGIov(#lf?nUOUhJU30XrJKEL@ zlwJlLvgWu3x7oy*1&7dzDAKnO3>Pu98dl@G_W@HdT=qX5Rw&_#>c{?)1>NC5G?`39 z%K9_rtKClgG|xMoCBik&!(_lb4u>+Et@5>m`g(~U>Lq|gTi~TUUy=NJIV`vfe3F$h ztKkQS%BWP=vvMEB;*eH1HC8n54LZQ^iDAZ1@{tj+6}216wCw$^^@ppdD`(yU0CY!9 zkkDk2LRj38uK>Zaa7ORbM64I_5_8XxFE7pD-t5^grEiKr0?{Uj=Sh;nN?vTTv;lX* zpQ$C3%RA~o>R!H91guJS2yN@8lN@M!L-G`2m+VCpZunZB+F>j(DUrs{)U}g9vI$39 zkY4%*UIoS(M|UQ1*yRWVGBoU73=oX+YPPKPux8V@u!Vl-q|(XhpwbHW1y7R^s|=>i z$O+-+Hlb=yM<(s<(tScOHA9|4{fBxQ#Tfa|CNp{XiB?S>*Lt)Y{!D!`ZA}3U;KA?w zz`S9LVS+j^U#*7LqP!c1JhdHxj==g#j~@h+N@-!ciP>iShe)$&s|OMARlR^DyK7%{!9$Ky_hdZ?b2Wi$jxh zq~1L|*W(xCEst?KqSbXSPEC=%7kpPq22@Fp*l@N4rciehS$D_dnMkftJ~fsgb^S^l z@*YpQmmF;ZoCW+}#LTR}w)*x~`UM`k{U6)y0`HkmW%G77wGfcG?ZKWm=w1+iLxvO9{*-!A3wCBVOev7?i~=;7Btk<0=HJJzs(^HLPV z`!lIWI;v*8fD)e(o%?in4_YsUEZbxx0+@10`R54A;{MC|+`pudXOEeRwIH^@WZVF@f@jW!`Kj-nJg%tuM~wIHNK$)uWY&82ad&b!B8YyYFfxAdx1*QP zpl>T7!qOUB9p!30XK)(;N|C%8ugnN@ZhV7(VJPP>P0EZe z0et^DUp|XJQ|G5EYNVkX37+I@dAxVCykV0P|IXuAUS# z6zwkiI-MIuJZU{vAzboJxGzhv;X)9~$Fjbe|I*Gb)v!An-Wz-is6>j5p_N9FpdvC? z?41Ho)Pg!Jufni9c;dg?mQ+hx3izEaN|Tx&r;by2FpQ+v1N^zT!A(RP0h$xm9c1Hp z1)bcA%;+pZcO2P%KFt?j^7G*}Y-j#Az!r6h07QZy8&f!aHP#xvGo3nPJL8-%@=5CS z&K0DkOQ3Sa8!r+I$Gg(RPZ!9X?!hJN^5PYFvQ4IYYWt&F&f69cRt7uGl9 z`KKHfPNlGbwV*>$vy6^iSH!>cAT58*}yv1vpi zxLwbI|1Q<@+~<;t_T6F>P}7k|fBI3jC;TRz{-N-s`ax|A&nrl+=)gng8HqdIe1AB! zopVqte&qfg^2|ucDQ2q{%47Ih1oaIA&NfbF&eX5h2n|bEUjeAoU^`N^1nN4a0AZ9i z*?z7O%f0+?ORVah_P32i(s16})yrFA4R1V0LN4;MPB}n7RY?YI z8twH==h}*)lJORJhmtCnq3%S?j<+DedlDIH<9x-R>AHM!b2|8%)B0Xm=ON4PIozik zC6sEr^IEVTNDb6D>GgSz@F}%|SP#n^mQN8?0ds@4_#=blEg!CNojIu$KMW}o_Lr^#dDzg}umgD*q5juN09L|1+tC3jR-cV; zg8BmF_{2^r#@;pQ7TGq!Kg~&;zupeU04tqDUnP$4yk+_${u}p-1xCXQ40ZUt|1kPi zS04zrO6U6jW&^TMPnZINIcLf;VsVh6*)iownsea9FXGuFC)~`euH~&Ets?i1A&krm(Lkl-vIjz z%tzor;)3=Bzll#wuxpmn$Y1{-E$#cOFjwOEUy;)wmfi_S5<$(SlsAO zqiA%20imLe5-RLyaEe29-yMwqLo$l>A{A7k2iVv`$WTQ z-r(n`?as+7a*eqtS)8TSPEhLkipL{qEg#`5$fO*dF-e*u*L}s%^v0$&MtC^I~y^g|fOaRmG#^a@p zjpm^T$^Y?y27B(0r$daB3QeC+WtP2sg=5QN$||t-u!%Dd;+>%b);`JC;ufVwK86T5 zj*?$vV4UEkxTXCN+2&N|lW2c3Yw2+9GWgN+9unXC^-IR3h77!va545U}z zR84pKvvBG7ue*ad(cj0XKUjGK>gjfH1uC<}+bPIw|EtB8T+ay()dgwmIUfkrGJ_$| z9Q%i}Yr0Ef6X$?L4bD3vU*G5<@Q|fLyR|y10j{v#}pCwLR+t&ArNC>|bY|R>} zo8at>klr;aoB~Whc7FX?M#x+XrY?)cdLjO(wxLrIvnX(V=L@YxD{(zE2E1e$uV5Eo zEsO+~<1J<&tbbM>cORPL()?{4S^%|F?FCfK=6>(9dvQ_CTl!^mq!6X(2f6u=AnD6yA zb`J9^RG9!u$m8mAU z0tOu06#}ybRI}lM*ZPOoapEYoD14Gt;VkSFEwYE+Z0R~5#D#h6+Fo|WG;t$_lS$2WaZnKAC0@iE9Q z)em5j<|FpIh588As3)fJRw3jyS?9KlUJh*GC|1Tbu2=L-XJG!gOz7cfk->{rcQFoj zPO80RUbP57Fj$@1KJS6vH2W2?8HH;+>5rK=fK!dKlcDq-pXNYXgMYZha=MC->Jdh0 zplRs8ast*+jnc#b(6@e~f=^Lag&}!!Jdc3v+wwtazpopMs_(RHZvsWSzC3wr2Wy8G z4Q%?S-q*g?1Ap9*ZwqG8WBJveif^hs;M`ZGYmq$9oYk$H&XeI-BegUt$Y z3&+2}8&(ux-q4DUilKCkS-1{J;Ee_3(BWr>!2Wx34wqxcw<S+Gb)j>iRUlnv#w3jI3Q~dJbs1@XjjV_aMd9Hk zPe4eCV+2egi{}Kva^f5 zA+JA`jkm!%9IIZ@pMGY2qwT@K$o077rz3lGmSno`S3DVB9-H0C{yd&2O#L>he^54M zBu-I_{a&>GCv|U0cYNf%0IizePa#OA{Vi%K)rDW|9ObuBvcyCDCvK}%#4ykW>p1MU zNy5n03~KIQ%rO?b7gpYmBap_y#s0U5Z=g+0Y^&>Rw0#q|SJnf-czp^+e!_WlT0Z9@ zvsYHN+$K>CT1x^HaQd34t_eX$?IR%l>!7H9`5t?3wRQ0d61fLTQD;f(JsHh`d3;mL zmRK=}>#3?=K2xT2z9jl;6}8Q~nwVf1i?3DGj(s1D9?j+lHIY7f&Da>|00}H^>>7%y zQhgBQ(@$J>r=P!pV_STq55hhiRnTL>D69C334?!EppX-8d$FSR0f%Z=2lM=y}H4z*y5;w8s;+|<{IaQ z1bVd9`%7P?fh|FG4lnSyq@TzKL#npZJu|3g&XohaL)yQ~+q@4nn06Uj4;CCfLWd0A ze7^+grPO9#j=GGc=I)~^V(#EXvt3SFk2Lt5au|g4-{#|5GP*0Yi2KdkB@1Cdx^F(r zGScMOhvx`=3%SzE?e;X}?ZQAmE&ok{23mGH#P!Z*zwy|N_sp4Dvw-(sbw|*%1q3JK z8=!un^U*@x2}Qri12R5o)pvYKi=-b*fd)fau8fxlFa&>g$k9lFAEAF)ZXEA&`mFJB zO;7$@y&&yY&Wy=Ym-3$Bk8+jJf)Q^EyO6-y^4vXf7%)Bzt>J3v%J&U4t|0~_BoR>v0jg0_y*N# z73#sgLQkZ7GkW}V&F{qvjE)?vnSq1uBGp}TOwp(%il3xytVHG=FD2;5xeNeXg8@MX zVYzcyEnFe8_JZF0Jz3rENO<0Kvt0{v;u;c}dq$Ld!oMMa_CvdN zlh9(XQl|@i2F!jlA36{!x&=XUk?~eHB+P;ba_kyqms2d2)!X}B^%+-4oA&>3#kohSV{ixDZhO?q5KV@2U5Me z%eIAKkkwvFi1&G=)+E$b zD_xbGO-fF4+QFGgQ89@$BU?7r>Z!MFY( z&=S4Vb%R~SPIRw#Dlyax`DzX8+TDOxC323NMLq8k|MuA(m_;~?Z_b|jW^rKkjcLX) z@qC=E=37%qK1aTLP(TVj8w_*XVL~LnBlv(Sy6oY=_tU!!+4}5>$mAYKEf~zVea6KL zhHUej$1JIzDfBpnZ-Hye7FdicNN1|)gEjJu7LEod>?Yksd?cM8o%-BLa`F~4S4kE* zJlt&O1yDnKH(@fb`{me9s6R`*E}kDyIV%sHg?Ww1A^gv&;ZR0p6t1w)atOFdDlcG& zug|jfOAP!=B8v-v>9Kp2a_a+4ton3f?nok~Qqp3UFtUi+F!WMuYraiCM1+N8bp6l+ z;lAK&2I(f?&!(qi=$|A*XAHA~$CH6i-{Bd`aPsWkUKQ(%gPiD{VUECYD z<6(14T$o&U6g3k@<45UxdB6gld`?wR&Yxh;6?s#DChYTU<6~40+?4sj70eAqraG5`_d?zbo`%sbvk{O589caujyyM6fn37qL;F)k5O#~Z%M`zLk)HT z=>(7lmTJQzYM*EFqZUs4FE0Avj$ZRNM0Z^_Ny(V|xYTX;f*9PXaMc>CgkG|@-K^?F zZ-fCcT6z?2M*n;f_%bi+7*BJ)f~W*7t5z?izJrhB(k*G)*7CBpq`2WfAd>9b0T7{F zT$snTcv`5<8F#7VU!cao2Y?BtAhJsn8#;-c6W`5-p!TklTu78y#o*22-vO&@w6aj~ z$oU95{^rLpH$>wN!J=Vi4J6pfMJ>WXu1QV!CxZ_ZI48*i_3J&dch+DbsNC{?!3Ju6 z>@M!Bt~Wkaw85C?M`!#$giq9m=8c?jarJso}4{WZfy|j9g^6y;i#Vu{gGIZ z0#=X;smEr6k*%bdt>z4lLgi(XU=L-X!om3qXG8o(?}Y1|)O3>Vb2DaGNdM@`n1l#V z-$xKImKKB_CMKXsuRr*`T!>Qj$j&*i6wLcmF)Jw> z^6nt`J8Q3##v2Odzk}u;e5An+E}|G^8jw}aRg`@Bo98aja`RaD$07YNhd=pPv0ul{ zFPI*_-m4=ke7&bxO{qfAP_s1d%egIFnqZUDZLe_Ky{hXRM$w5qA7qJJ(1*0@Xp$c` z5LA|qQhyr;Y?}1#$1Dy1t-jxabl3UeA}8@5kjx*_Nl>;du5ewc>@uDt+N4MfHe|E` zw_AWQTjc(TnGmp=<)4EH^WjJTX0x#d^sKNRw?_bKUKAoh{VNOrUqm>Bu{{gBp&ul- zwnZyce(IbKzi{ny%C(>s(R`Nj|B#OB>8;dP0uM!ZP>{jTo`)ih$Rity$?C;_28BDC zha~rEFA?wAXi2cNj1|OdL<%xGe&C1xSN%e4!}Y))JDde~Ie_A>R26V$#AjmPsD<+T z9_5$#`#g3+d;m?f-tCn4ALYy_2tTTM#;5#SU`ZjfadyXRu3RB^X-*-y!@W(l3YCbG zT~MEt=(LMN6!gV=>m1fr@Zmu#BCmxbott7O4Kuo` zv>%~91Sd%p4m~&_mG$5tfoo0vA}R&nHehhjx8tH9WG`Edim(X!P`J9+sd2Cz1AgY( z-Q~BUM-Fp-meD9x*S3B?jc1zlWOQC_`dAs=T*8!X;g+%SVXmGDzurdndd#TM1l_k4 z4vb|1A4PaoA49!xI0Ql(0=Dc?V1@Vq5q&sV7*7nl_oyFIRdjx{sort0GByZ)E@$+pH6ek9-j@=zu~+O$Pn-7AgF4 zm%(No4tRFlz!ceZJT|_4z0Wp?Ox?{`UbpcT_qZnpg$bflZaqh@-WY7>I`*RJC?xBf+j^g-CZ_rjkfUudY`@w9*;Zk@3~V9y)ME}Dv> zz0+XMW;Jw3b%&}ytBYxwx3<4yID)=y$3fg6JMc3Dvwag?Vo2)$r}7W6zVaOLh-`1|o=S}?7 zFo{Oi5~7V#92omzj!)aoCce$6X*k|3W%5w7;BDBQTs(!7_yVJ~hf;q=22vP46uwKA z_8Hl&b-ML#HzYgkUy9}o?Bs2O`YwG;=;V@yTWi^b*3q#HeTawcHsbTc=OYpK^{wGg zhK-(T6YOKDr|6)E1(Q3DjA6d2AvZqGkKI-Hr52DBff@=h0Y;Nz?!vx5nt{4aTbI9?%Td1sV+gkO zi#9}9i*k;h#o3*~pbiN=jdE!3 zUPdaLbw?&Y0uM8o{?pUt^Op*9Vf1Q*TkEVPP^A~Q!0c}~LGUgCOrw&pN&Q<2MQ_s2 zCiJRboHq1O7M%0t8?v2UU=IZ=ie(pw0C5Jbzp#G49}j#!1urI6BHD|IXZ_~>o-gC2 zhEBVlpid>Q;hmO$f!9WNzSi0r%3#VBefn@s^g~NuV+x~WBg25!D16j1e-};NqpK`OE5Twcf4_`kEr%lAJs}T1ZYF zt$+3we!5Uxaap}a_D^tTM6N}<%GsldT_%xRA7&2>j6C~`2pQ@*^9Xe`Zl&+>X7aC< z+jD_)y3hXSguSx)Iagn!oZ@{j#_o|w@rY&^I%#0$&PPdD);cZu1BTb_Cwil1-`3;J z3{9Y@5@^{g>k;6slJ;dh8d#4%<zV0ZHgG7 zS39#=-)bIN@8qSn9bGfCJVdKj>^JpRpv*!+Jm@?wbZxME=WIk*v|_EzL^!9cM=Xn3 z`#f*QG4#tpme;P5V;A%rftnVv%ZQP2TsCiUNw8|)oIvVr4t<6W@6rW>ax@h}GK!$f zzq9>cP9j1`yI$v-d?i zvgE&!cmvK{(B{NJY;1-rhWUaxQ(6Ir91t-i(|0qlWcPeF#(MRI2kGun{?zTD6W!9%4TIFtjET}Zdj_u4Kbi3T zZu^aa-C11N!0-3!;)xB_g<3m8A$OtZ13u<6SSO}J;9T>Le!x)-+@BDAPtLfDbq16l z`A-?^iQ41g5|Gio7oM4?jG>I@y_{Hq2vb^NQ4cPN=NSJo4PpFqx9B5phX~cn5nxC? z-|2n}NWe|BE={M1nL~>R;>sr=@DKNn3;*9soyyI-|J~~R5HF68T?^F#J$A>C*@!WD-ZG&{@y+VhQE*}C_~x4@E-Lrut*D9Hao#s!Gh#=H z4F(^5!XZ32=!$m#MHk7(ny3C^%1t_7~R(@Id(uH25X+-zG<57l#blH+RB%%wL=hk1(FF zSiY?bBWvMH-Uj4#QMm_QgzL#_$GC+?pLYapuiC8#Jj#;wA+4u|`{N^(lb&Pn=%W*I!@$vaV?*>D%z4a)M*5^!yCCAcx}6YUa6Z;pYhd(3 z02ovQO$!Z?0{m63uy=00h_jw&uKnGvd$t@}`$zwdg@KE%ZXo8CCN3`jEPBN-%Smi5 zqya47ejdJYiz24KmvTXmCa1_00N02<&Id|=Id7$^9n38x<*T2IZ zRqA29ZlmE62R4{*3qxbQJsN?Wd$kD`KpUX$JTh>$esi?rNs_YF=Bd#PLDlof-7M(Q zR*jM>EhkypU!>)y8wLZv2N|fJ@Y7*-2`e&= zCHGuvUoo=qr)H$=S&Ffh!J*D6=Da##BDoSb24 z1=74t*6M}6fm1}PBYU<#7T%x2`YWTjq}RIB75Kaa+S2#g4`2b#8&O>AU8UO_3QRK_ z@`kS}_kVLJuDVRO*PYMo7Ov@YO4|z;%zK?)OXt7-XyU1FHIptPg)?jJ>{n|vE*!4HqT zh8?Kdg{rkTjTz=qe!=caeLZuNM__?{^Er|GAGYkLkp?$1=qtx+9i~`C<&{=oHSqkP zN?nrhoqUS4qCZ^!d4{`R4@P-ivR+RfnnNVdly*)?-|N2_*2HdmhT?|;yG>%(V51a@ zh7f_?sDiS#R>hgCC^Av60Wq|nhT(!9kMYuq)RRQ@r%)eKiZ~I1N*vnF+tH&7vB*+B z_AB;l*SrR|(Y5=b!o`v~2n(>zU_tuCR)cyB{vFsp9{8ftgXjUbj>qPr|yaKI{eAJ(xf%d=VbV=Km84HN}^y~|HEE&^KFHQ5t5WSMY;!~N&hMI zYio3N2Kr_i=sooHPmsF65}0*!r1?{m>u_^8VV!%98Yj+PfqyZV`e|5$I3Kjp$M~yi z4fJ2DJSyZXpg;4->Lq^+0zmod@BRm5jOW(fMxBB@j@D~!Rnp%jAT`|(1r>ad$u7K! zHK~6t28!!?Ih$)4 z1adlqjYHtQ=G9V6AWNxqv0d|&e!(!ImxnJy=oR;>ij zQdv)O2C z9OY0*2e_Vd`4+w51VGu-V_aX!iJqNXNgg&?)nS zZNyD!Y?>Z>@#nntif#41|FPZ%^P7Zf*@947+xYWagH7zRvP3U=PKP~#L6(#=w{WwJ zE)~2bsc;_I%siAA6t_Vn%!cAhk^JP`>w2`^=98qN2K&);;XZ35y8wfnTR9yKkyc#W zFsNQk&RNmRT8CKRz!HcBb=ddl?-p>d(pcXolww{QK4J}|>=?Lju>p)N+web(jw zu6zmGorwMJFliune2&Te;_iecoWdBNxl<=yDwFRnY}4?kZ(Tfa&a3N2lmXbADA#E3 zCJx<8zg9A7GvZ=O*AK?cwYX=~S7@SO1NI_-xG$;H4!njwby-051C+{SbJXuNMB`*m zG=E*@47E^}3jEB=&e6z7jnA@&J~+WAX!RTU@AB2xK@qNAMye!@H20=!k9`2R0omfO zkpAiJqeU?$*TlRR`Tr(3^YDv>xSzoOC8xZzHm9jHv%Ue-jtJIa#dW_(1w4qdSQj zL4PEy0jt`>08!JK%4xZzUN&Hsr;_vM=DSgxYS@4yoTGBOZKs`PaOn5W6_;$8i(^lQ zbt~nVufvbOSFBAD)^*2w8%v6ro1DZ`2pB0?HixH!m{cB1rHyBxMX&s6D|EUox z@sbB)(~`_&+o7f>rjoTs62YkJ4C`^MEi4Mc5cq{c{QJ%P`FUuC5s=sT8QEYLsG7HA z(HfidfZ^l-6sSp(iu}I<-dS5UP=9AQEMDqr%(o-o&M7L}{;`d-u>PpW3v#=&Z@p4Q zW3jRiv;V#RC68`MmF`n}Cy#G~av$86dXIWbvo*{=D&KTYYg7a{geJW^$+S@h%Yud+ z1PTN20JrNt7-${slPcZ8n_<1ins}Ft7>M8I6rKGlz^Do^gD!eN$cPZw)6~es0Z3KY zO<)#U*Woy<5#rEU~`yXQ+s{q%)K`2T(z_vtNNt{U2n;yFR*;D^KyD(+w%^sNp- z_DipVVQE4@ti~?-q0IBzhXV8G%j%!^NZ0Jb;(IMH^c96P83UcM zg?hr+xzE3#euVJ(4xn5_?QkB+F)G{v(Vd$Qx4PN(7sYxPKfI=G-v# z9kC-TWVtM`OOLfU{FuD(3So*Id1YZz^rB$4ex|fZd*|Vz=P7__)}e#RoTPOy1`DLM z6L;o4KqYx-@_b&JSp#^J>>mTs3yM52Qw&WK>YRf?+QAkw`%(JQg_VQKV$l9e{FApi z-gq0(liL_WSgGx^;D$E?dHTHkf6CJb2N4pDWFfbFQ!_Vq>9ettXlCf6*DYfrR064O ze1X7@iTfow#8ZaM7ye@FcRzL+il$0;{ZXzGvBUB(**gX=MbV7o(Yq>-$=2x^vG#p$ zQ>D-(kf#fqXvnB?>E*fdxsnG@R0_7JMrbd!@TwIG0#=E^#@#^tQE#Dzre^%nLk)+W zo(`q6HRlSGHtXWdzLzGDql5X714%=wPwhFit;C;*&<{USJ&82}#HI5)L0L;it ztOD4J<&X-Mr`q!mXqOgB{jUdz%6pLU1a`H;z-bV`Yz7yy1vS?+F}MzB;j1pocvf@M z&dyYTek4v4iJs+AsPIBrR&XW+53SF>aEsrVK>WDxW!pSN*roF9N-ne-GJMrSYRc0# z%sdY7qMoGuy>bVN4pr{`p@*8Rp8b2S;X3(amXAt-7qVxjVHhh+?$VoAXUq+?D%#O;tn1DAyF@4hSppwmpxt1C@HY{ zW_Q?O#prqVZJ7U8$0xZP$3@JB`W%A`-$c;tg$!Trje*i+WHhv-=pAlWuO`)|pEjuA zSubb;y+@>WFp#8|C5pwU!zg$^gabX|r(Bw3phH$BX((6w$r;w@XIp#f5^zek7vpQ{_QrTP2T~i^Ks7Vm&He| zasUka6#Wck{l`fgFyTGz=Yv=+g$Aa-!w&3efTA7XhVNU(6c7^0O}}Q9E>(^3O|yYhm!lbI!j<=eP_Q! z)WU;f7=L{?wF7jblIVl}a>ULnU+7N62eI9~tOfzC7d!^ByUNefgK`?@g03I|xxE{) zTP=c~btZW>i;%XqseyI0qGH zXFYVgdSiTN@e#ce<^mw99@v(#;NXu~ReLD(^yRN0%M~8fMrFu#E*YiZO2EMzAqupF zzpte+!Fk4+wI3oTiVS{Iu|Buczg>=l`cLd8%^pKBmkfM5nqriLap~S*Vz%jicd~*# zi~(oR33(M0WoFRVzsqmhK)c-X91dGZeaBG|7|K^{)ZVJc3>^R3Y*aH4f`x10q9;4b z`2juu8JzQfe%O53=(+tuOyPGk>zz>^iC}gcErmX`ugI9ZV)E^TsUDB}QJ0~OiVs>| z)P<6uRqlKuQN0#=2o?d>6^X*{m;99nO9`Wc>(6a#7xkzx^* zR4LSd8gh}$ZnB!6gB}@khl(yemY&^klbNOZC@5f-NLp)_B)oW!2;$Jwm@BII^9LM$ zY9x-R@30FDE9QpjQ0C-RE9Xs(4-N-EJKnXM1g~EDv!@UVqsAoEr}0MFLd{M&n@PqLNZ(NLu=R32ZWoBYR=Wh zNkWwRHQ-N+qL5MTGlz?eHw-FXwO-#3e>}Ic$GQLDZl8(TKiJz}gP#2Zy!p4mq`89= z$_accTEWr<*|VKsba}0QsQpLTqJqz~Npv`^uL8W{u)fnfk7=GzV>nPn0Xw(-@jNmo z1?PHc%)R7|?l~|!o)c<5DPm)XqU#cD%7%?f1%?*k@lu^5nkZE4G|ydGfF;;19V{#= zvV6Itwi&pD!_TPa>>I_d)HgJgSVMaMQuUyb3pFoJ1Gm_M^>ZNg*;z5Mn@oGxu#uM$ z;~L%@dKvv~YtY@FZw%S0oU?HgHlazPh~`#OZ8bIV&5!I4n{-2roFoBjpMhAVbqLlC zQAih90wjs+*6Zc2aZy75r6264{GshLatKnb*jFJ5g?AQj_2_~;y)xXw{;Dq}_!v_? zu8l*>Yp+Yn_AZGGEodZl<`!Z4HP~AcylneT!5RAg4*=p+%+>8rt#Eg__^-%E8XBd% zjvlHsY*N@uqGbRK3sudje*DTI^N^`4zqTNG__t&z!#8>H_gTlp9Q{4>uWioytED*n zfOmrFNSQXYcng7m;#NhY44KW)8h8ywxpJvqgAo>n{p=n&SJxiRzhBby;;_J7gK&TygV$8Pn=npXV`ArO?q73{r`JY zB^Nxm&po&_1zwPw1HG|f+&H3n3&+{-R4|yd`*H?Mq|UMhw@Ow&cmp;?~{v%w9S5H>(?x*5(| z{d0fKv^&7enk+&!H<)JT4D(AS8I$0yORCDLn zuFQ3{zrSy1Q6t#%;JpdyIUx1eIkir#!Q;LN^gbBztgu|wh5`j!d@KR*J*msZXF7A1 zVsk+N$rE3#k5%i<=ctZ8bp63a2p0}G9IeQns~A?_)S{lQQr@_AO^JxyLiP)MGanf2 z)=C;X7!;3c_@ZNjA*vV4j+JhdJ;-Bu9j-ePun!iDaKa^AhKTlfzvrmr$9g@LWQ=cw zy+NM#z=OGt@s!>!KB+a48D#^LqpUZ6maWI=PR?+(2~FjPc&HHn)=l`?GY6_<%#Fhk zGW6K(8Bxb7Is!-+_hkNNBY*`ea0Q;o$(9K*v8+h_Z#b zt#o(Ch5pJuGuOP7=P3a3+yC!>pVpoh9#1|l%(Y$mu-w-=uPF4=N`t2{J%v+bIa{TA z$s<_=?@u+dT}41pAMVvFKjy0B$OLPvVJWy$&0&GQeKdL6-f!Ih8`8}zrPPqqZf$gg zxtKPoU_$btC}UYm`G@^z1EnLQH~@L9`Z71(=%-fTu!}xjGjF+tL-m%-1;HxBoEElv zct8ivj%ZWea9B2|LBV=t2|ik9E~j0%ilZE+-P>&ZDcUjH=yEf`tL%*Of{6VvMJND_to;eCw7C}@8Lwm+{*v1df8stxuKK-uu+m=18JR)VJCN zT`(5Y^gM-&!@|Y9YK6fmL_7rx5;}q&!}|mSdC?l={G{bXsCiOfUGgTH817^DVdh5v zj-JJ1Fhfy@tujLpt1z-_v;bd5@r3zIgu`CFW+F((bRFkK1oaXbQ(YE4u!`{EYVFVD zAap}*MlI(H@+@2&^X%jH?15rH zZ=9a~m19EsHMw$cLK?LF|9h(bT!y*SvQ}r_l$YCH`w?=W5_JbVZI{c|%bZjx^R@9$ zAbu)_JIPX{FVYuOD#3_h3^^n!$j4c7^_seHaQ6vyYdG4vL|Ag%^#mocFHow9wN~oaj%=%in%7h;99)=P zW?Gh48hO-IAReRY=IhSZk0InbM>CypN00a~X~Zw&t@Pl&?PN@}tcHHmv68?9i&3n* zxT8Eu!$or%M{lyWg>BJ73Jp9$nt4k#`rM{J_|*dGTrbFQ>hFb(YLDV-Y9fc{z_*Se zqZ4ZPH4lLVqQ#2}6ct8qZB2n?gnb#s-Oq^eh;Y{g~3BJlwKx9+2Qqq zDWApwYK2|RGGapSl)b8lpo9u%}!Fa^aUZ3`rHX|7*j>w2AOg*N#o|$!V2Vc4Q8^ z{{@Dt{_Tp@9ektR2PLiuq~7aGCD;A0aJNaapf?4hqI^GvfRTD=@ql%iS!rq)#eyIZ zT^HR|FVAbbPBt5Dng}xU-X^`${WY?CUZ8pwL)P?^l>TN@YM3#(s2#LB0-t3LR?71Z zQMc1Gy4Uzn)VR}Y7-jg(|@4( zb5NoSOOv(KG`Uq^9Z$;2&s}iSuY=W|H7%T&WF3IkIoxEv=Xe-O;!I2Nl?RGN8BQ>1 z&h|SKB)hRdC-+XXm-db%7g8{jfsW4Y#Yj|ZzhtVE4L1=6Gu0cs4LKc6nwbfK8L9{xw*!q#9q@`@^VYp)QSz* zu23vt1eEeLUSy0S;l3 zV(Hmt20F@>hwIuflr*xQbT4}l-9@a~cxSPkz7ShmnmyJvDpoBOmcL!>g|$eUM{aaQhJ3FCNkc`m z6i7poBP6{^&bUmq(&gI3wox87ygYB?s?zCJ8>w&3ih9A7nKDJbh|aCvdwNZP_DUUOJjQX$hGEzF7-@dl|*VyOYh3Drawgxm4f! z-;%GK;Tc1?H$yI4AJy21rUlNhvB4g3B&#wg9ySP8Q$(c-{q?~e4=xB*Peh+iK?={V zT!%8qMV2XW9&_cko@C#w=E>U!Ti82Aw(x`6z`jL5WGkh$&61{*x9}{y=b)9P8Ioy}|F=m~I`DB>yP+ zlhuf3OG{0N&;qTS_{cWJ;o@YgY@-HlUAfk4``^O*+hdMluH-70>F(h^9_wmZ7>Gx3 zsBSD%9gR_d<%`k2Lw!6yslw#g>EWky%xFRosZbPz;Xh!7B4 zukfM!yX3Q4kbfQCpDL)IT=ELHl`pfBdS}=Mvzy$OM2|7=I^}_JN)s1n}upP5Ql51moBI}B?&7InPX52V#w1ktEOKY_J$3GFW=LUiLrs? z$gOMB__Gkf#Y3}*EMFIYWk^laUYhvbG!o?MPZ?~-c96o<5pPC%b1btc6$9`|_#Xy2V$Y$|#5 zPWE8Lg^2qezofTZGim<(h%^QFwU-t4x zp>a<}cK64-KiA7Tx!($mJi6c&+VjC@?4)tGTTrEH7iQzAi14HFx-Ug>Mb;7nUK6|8)|+{E*W{K z?f&nJ=I6Eh<$9~1Y-1xvHIcR(&VHMo7Nu(;>dMNQgF9{f(EQ zd9Q|PsN}(^)kCFtGtQy@CIaU??{YLmuSw-Qxokt&I(kztht{#lE8nU$fHtIx&8L}3 zKvt>!v{g6zlt(87JwIakmFl^T*NH!C*Vxo2-HoA3@jN=;w=!$`QC`}csACHLmaGF+ zbjVF^`2HF+U^N7?Y`37OxcTtOvR5`yR{}5eefPRcl23X|s`ole8g5%A3mtp?BACl@ zxxK-e?OE^Z$G1TWt~8IbI|Knt499Hh|N0)u{VnVP6y2Arb+N;8O3$-RgK}Gf91%3mEBSCv61P-h**yJ(fY($5TbaXD$!lZR{sXgt!zcs zv!FPS71F&G_~S4Gd6G~N_5^;@xUtl-B6SX3fg65vg&&tpRL|4(!8d;DK?@VV4rd9$ za}{h10mJxpHP#RDSA0M3G316^l+d-Xtt$$B>mHZBe|ef8ls_y=*@iWwLoIkj^xAgL zz%66a#t_dAs|jryeZ<`$NWOIoD@&4P(72UN;~s=E_q{}uBI>K{uL^d2m@rc;a5w>` zWPl9A(KL)*#SREei(nW%Eq2Oa;wwTZIwVuS3XN^FyU@o5`&R}f=Vp96F z*sG!Pm)Mu(9$rXp@OW=V_00?<%^Ntm58solj7&KJcx?+i(soCLy?p!R0mVy67TNda zb$q~VskMks_-Jt7P`u?md;4Uy`ZE*_>;Mi^hT3Ctf;Ni}^Yc*GGE>|qG*5)CF_s#y z6K~;hlipGBRlqYAf9YGnfk_0!r+htKW?Sp2bVya-jhI7FWb^URjnY$4>}tC zz=DGHg|D#>m=w3l)IL19@2gzrwB0w=v)2WV zP;OqAk)7ljn9oJuCHL1uywuv+aSzNk((sxWZ~y$K3cHW=B}adNXuNBn#x*u)A&bY( zPM_LI#)t9zz59WsK$phh#9hc1?x~hCeono#XKkz4{jdcU>JBSR;yjtD0%@VvoJL)* zgl!)670?4}$E#KHmST=j)N3Pij_3$S1i5lwX|F{u=`V1h)!x+0{I7Fpd6In~kD=XfVuZ zBt$JL1?!WcG#PdV!-q9Sc8juoXh11ugW(eupVAM}Sg%}U8w|x)ac0L+%H58L@?nKO z9Ske{b)?I#X0zbV`BNXfShjYH#Yq)8-LtJ^x3zWg!gY^T3dgOjz@j|0**Ap_L6=E9 zyA%$Q)-i_#pn$7R>RWT5#KP!?!0gK~PA}tma=af92&;w(A1T|W{_DA6MnuJzreM}A7nMNhW79L*&<77<}lB~Gx zE=dp_yE;$kF8?+D;}(>JQ``L??a;f;k2d*7f4e=u(EDrk&B9p)O0a*zDLn@Fx@gTg zyG91*?4)KO8JfSK2WwNk#FBQ;Y5CwSp(LB?#9jma>J;Q?Rbw=bs8|9BcOT{swVal} zrSRi|1nb(9dZXa?7qW_681lyOoU2Vd;-&?YuQ+|;oDI?`!OkPz{~)U$+|<$UE4ZDP zc(HuEU_~_*#pX&q-lH-bhy8>gmdJBHy)^VtJlg{W@*&53Gm7ji5J^R6BK2(kC zOW$Q(TA3ieF@Wzh@G<9sn+C;3M|mA@Ziey@5Xl{-bM>cqrFi9rq@RT?v6LeOr6>DJ zu_?F@Hr4Y#hs=PI?XfKJ+DgA8SVI|`;slUKQ2&x2oxwP{Ov9CXQ|l7!Xp$~`uqk$< zB^bSzL;Y`u11=|hSCcJ`eWg4s&t=Y{S1lPxPPHRe_~+}&MR(*|Cq+tL^CCT)I+&Z? zS_X&-w5-Pj?1T?s-6&=H93M9(gL}UIIjTXRK~XPfPTT99Q`0fd5}3MTa81Xq>SJ(< z)?CqPJCbDZ+l=vxmHT_a@3ql_V;TNu+8#fpK`VT@FlmJ9SmJ(LU(UJ7gz1%QGyAqw zyX0|E=ATPf z8tfmoLfLneaMmwBE$G5u^bSMWNe4ZfZ7cM{^nO}()UN3V(dJbaKWCGRR#x-vI5So8YwBtIxD4HOp z8x%{|k~6Zg9iKs+@X#`=%}39&SSt-r`1UrQznnAqY($;{@0s;+#z_5~Ty;zId!oOg_wEmAn@ku3%-ah`b;Vdslz z6^6*#w*B;?IGavFRBPRwAS{winst|^W96LR+%`^?k<*?pXI{?(vf9xCv>yo2PHF2R z#m?!{h%;pZGtsFvfW3+FKjaGHVhXSHTlIF-ZQTILY(A6BDfjfMX%)Nf-K_eb$Kube zOpN4xZMojUqx>@pPJU^8QZh)mka+&_mZ6t52w@thWL#68Y#I{>X(~OVuV_1VnB}2i z{RJ?|KMkp|NrMyBx+f*PfF&+A`JcPBmkmbU>o^0F*CpX>Gb!GyBAtIFrx7CgTKaRD zdW5W2*cM71S@;2#C^A{A=jM#n&U}kyU0PoR^+f=jz4X^PSo06{n|vtSj)qTD0!bar z!>CdO#T3EQE7u&hVxfB4Y?6B-?nco-5RS*(%{c>PpjpkG_vn5da*0+xwR?yV+&u_R z3(Vj8{unNmHI=A_q=mf3Kz57y?MBp-LcW(}d2bL%lQq?g`Y~Z`DRdHF#p=cXj8*Iu)Y=hF z**?LbGT+2RCb;*@%o%qkc4nc4$=WyVLz~V$jDi4`nJ*PU2Ma`=@%}%VH{O#+h~^!m zqAIWciPfeTJAzdmej1$~qF^WuI_i3v2z*vSKc0m5R{ z7y}KH(S{O~XFvSqgb5KVKS(GRK0j_%IZ$0lfMnWTQejax2|s3G^k`}T7~SFD z;D7T&^$=z6>#@H=75X4dSv)zmO%CpgsXlL&|2`4R#x591e*3TW7)gr{5UOc>cxiu^ zbWdYgnGH|}%=KXwV6v!EJ}wtLdZJ$7P|X=|H~wn;9gd+Bc3fS2MG`8A6}&pq$5e}t zHOI3uHiw#}hCTU44>@CZ*L}rn0CsZB5)u#!=iw~bqU?XKVQeM_SPI7sf^jbbwNEu} zVT&Z87hyasPn0K2GMSs@I+E_o-}Wd7G}wpCn^`9~zx3S7Z*n?TKO?A*nx)?7B-*%+X?}*4CGbg7&g* zmX70`k_1S{X{-A3ydUX&#C?b(FiCgjA)mzN*S&j-8popkz- zO5*RQ*IX}bwpl(0p)`O0u>A4!FRPvj6G|KxCdm{ep?lyd#@$mvQ1j%j!2a5eld7D3 zJ#YwO!EIZ{q+dT3wnl4)EisQwJbJj2^|a{YMt;kjrC(S`*f z>IVB5rO`=Cfk()}&T60cI5zkZ(1+BBtn|0@2Oa$>wxEClr|=!*3DiDR&KX{UfJ`(! zGn%BKeSRk`K=LSWyavBBF%ZLl{tWDjtd@7ZDek2eN%4w96)UPf;r64mmBPLl}g$rO<9j_MYMdw|Sb z4%1A6ejQ84>s<1{a3Uv$tXM|^-t$uBGtf)Z%izXj}igRLa!p4S?ST!@6n~fArKw;h!=xYP21F71<>J%*y$(Md;Lkm<(>qUq;5jSP2mR2mF{y8O zZrww|Cu1{46uh6T4SHXECYfqHn|`Q)Vv*YaR=uoi)~t7Tsh%bEVaednb$mHP=HM|j z5TCRHLbV>5!K{mgT@xl*m~#iU{gQiBSec{swQZ2y42u2`_EY+Z%#+uZxxX%W3S`++ zX65ZdmFrq1hWW%O7b)Ow-KX+z!mY9&BnY!Wk%L_MhwcEuF-ch#caX+d{o3tvqj?^K{L-^4C;_P|-Qm!Y3 zd^^aEA&GZ4%=Wo6$t}l8m7pEV@%#x*$&jfN=GA<-uxR<-8KUMn+ONzj%>_EP)2zuWA_JE`zPu(-q z(hhFum!;z3q}h58souXRlje`_p$C5^wnrySe;%G`{x&^4Q{DVc_2uqaFg~bHx)8&U z*^e_QXdnUNB6(^;4XoTZv6U4l@DHa(`|Fz{d9uB=(ca|cTvPdYYk%C_yuH`D&>Ofq z(urn!jqaqxfNXZd8m-i(&k5^L&BkXA6^b_x3mT~fg6ynGaQ02@AL%V3BiM^rs0TLX z?boUF$LF11=+O&SLEv$^Lej7P= zuXRGnN({WuXLWkAKw9Rx$J3T=1wju~pN+{uJmL!AJ*EVH*o7ZCG*5H!Csv>fRi8I= z*pAb8odt_#R{wOqNwXX4Ekn4Ff}(@#sm#Cc<=A(~21%W%?XrhRP(&qZ#qJ1B_v`)Y z??wf+mqRE>#ad~t?c&F!uais83n}w+sPFC9KYdu`C!kFiq@DdD>zp&#QLJ%HytgY) za83QZLvD^X7sM!{kK!2u>AR|?AzZeHP7nOOP`B?~V)7eWR86^DW_<95Zyk{#-=ukX zizD7U!LRAoiIl@+J|gZ$V5?e5Yq_hb`r$9d;Ri^1TE}ikX8kjD24J1Z&>S$rPa}T7 z=L%xl=>`S!|4jC+e1xgW*qNz7AHdgPp640t1VYLGgAPso8e1K_w*HI2uPDcGG6LtX z50&Zk_(*{);6?IKRZd`qM?6u7G~Ce?Rakw-zc;wauRmkHi#Y%afEp8C6hhCycw=lg z)%qcmT38iGuQ@?pUS!rgBow+)7Cb2qjV>}t0#(1r%9GNkm2pP09aFnr5WI0LbZ&Z^ zqf)RkE-6X2*SiRItkJB_B(|`^U3Oh^?J(cDp&BKP&jCInlG}m zj$K;>3q7<>TtnXyPJM<D3vHKUI+H2QumC~(H#Qsv`<&Vq6S9WC91h~a_Ky{#U0)q0ndh1@^)+!pc8PorZrq?Yr zM)e*Hc9py?#s&z*-xUv}M7H1$t3ymQ@YAR~baxp<)VLgXINvw6Auu0=}l*1zCu zg++KS16w=S@6hSN{q*~?{+*TA6LDiHG&60q)c&_8#3NNTF7qEzxEBINzw3kO`!vOBM z27Vp$65u)GlGMr^FPIMqp7MeN&TL~iajo#Qp^WXOAF7S2qAzbFH2ACQN4r!~r;fef zJw*TXLD>I9z2UZ|;*dP9xxEOylQCRDep-(|b%!azJ~U5oxx3$$s{3X(SvZ3>JQsCJ zn59^LiMr}QoFl7m_M=_WVbRS&m;=*W4%l9vl^5)9<7??rHMJYp5nz8AN4t>Om8jTV zhj=KGk?Pl@DNT3Q_8wS`A`m{?O!(NUeWqi*_tgPWX6MZc>~uO$_6#Z*ZB?_V)^j-TAYJ-iukUw`rj%$N>RwkevKscB=Hs#IA z;F0y!#9(m^Sl#tHJ~7KT5jK4tSkxQ|wyG0^&qm$XpfXovaN_#a<}H{f-Qhc;|V1nxQny^vWGyY zr-LbQp!@fJVj}YZt28XQaL=;mxlP*>O{WVkIkbJR^1*6+Wr1L`e3^80{B4sfc4hnH ztp<8(XiM+D^k{u2NZ%2${q)MFpLwufzJ zbiL3F>gL1^6QuFia3Th; zN7B@M8jq4?lzf658V7 zWj7_>D9E1n#h(JiO6b$hOz*@)1N|pf3!G${@?@a(zEIALYFABT)<&2P^L>M|)hu_X`ZD;NbAx$8R#2J%x8irvOY}5yi?-s>VMvvxb-~Q{hXRlCv%gMPv&Zz|E$dX?wy^E z+j!RT%f!Dktf{wr>XkwK?A}w?u#DM>yMk{M3C<+wy&ls~o2$)$(!h#n!H`ViM7j42 zWrh>GSO-?)t6{lVzwXks!t83corw4Iom3kj0c@Zms~xP@;kI4_F@P&YPX@*>C|vg} z7|*N=s1zLdv4lak`8ZKV+Y`KvC51fI<)q@;Hxqft61}249{^8*jwQV^?6AO*F2oBe z*8g}5@Zj+o6A1nk6Y}N<91P?%qCvNc(09Y{A{A>`5Pmkl;`e2p>wGr50G7%K$F`kA zKm;o?H=6FN#GCa|o>)enosW@{4-AV4F8EQUkvBi82&F4ZwQHUI=*7_!FPP1tC_p}e z6hxfaPIkC~$}!PppLFc+e&I2PsEY1r-9*$mBX=Vq_-b7UR__fMOC!Rdy`Su%&!WoT|w~Uizc%lXJxCyMk z@~hl>{)>D9U--r_YzH*gx3&%wdv+2hL2SWK%x+g%f8<`ZD^a(8-48ytZ2$Tq5}fTQ zsuCs6ES}Z(`5r?7&F7K@!ez#R8WoclisnpgRLuD1I^#4(4ijEh_Ve2HkN}f z)=BUKN^c{dLH`HqXaZ%qC1yId`2KEA+uWK5L=WNRHzE*DCEwj1;}R^-HG%yT*_Ow5 zuPlQ4f#B*qKrI>pWkCiG&HzAWRJG+t`9X+y$d&`?#)7OCt;F4#4Y}b@7}5XkRkvx=E^Q! z7>Rxq5%#ZU^-v?Rd{|%tEv?ur|2dD3C|3IZQCoip2rR4=Jkvk461`SqB7|UgOhxxQ z8|6a&8_LczHpjt2TYl}h=!Xa0qNq(9G4u<}>Yukv8|R`}JvG@p*{OD7{eSF=8=ky= z1_&?#(MxQ+_ z-Zjj3cMrxK(xMA6m2!0Z$TpGMKs$g>7B1`RsJ#6u*=hl+2ciuyDkXiLZ4kpsk~T(n zKn1{9#>7VAdyPAJS7RGFLt|HhVHt<5JRr|f8Rd3e04-9!?gloP?v(*8T}pL!43td! z|M-CO_A|^2O+zI|>BKz@B0ZuOS?pUDho3{8k>d>kh{u7Qk=r{u7efGtUdy071!tJMXwbg;B8;il>>NFNo0|k%!eqzZGO#vX#HN&;oC?xJiS$l zsZk!zGJ%&J2@pdC&wqZ9p@BT=@td_MGp=Ua7aX~hF1?LAlbhKLrqF}r_mmCi^B*3P znlbVhfTncj{lj4a#s^|BLv0JC0KB>)5NpdnVj=t(x0>f8u(=|ZR0@>5zJ#2OLY+6@ zaev}9^r!2}Vv<@Ay7o-6;Xxn@dQn3{4-lMTjw zsx5Nf>rh*x+R1di5P>>8_Q%e?)>GHgS&|>t1NxPpT^-awFaczOwKI2YwJg5Uy4iptd>b{0Jgk3^>ji!= zNXbUh1Wykr!yv&?``^cEY=GhHT#z^L*}XnuMTD}cLs+J>u3xHQ9n&><;$=n&XSq0z zrEYD?MOQv~#WV`oY71V8*9q_l4|s=SHbve>52b+?Z*yS(#><dU#RhuKdmuHQ_ z0g{71|GGn5*>jI8Nt0zI-I&0qVJ=HD&NL8hpK0pQdV}k>`B<>}P`hDQ#%B8D)y>yW z<};)pmwnC9hM$iM_dF#a?kGNM@4Vx*x_;sIGWK_&7BCO+i!@G)X{y^v5j9JnKmRjR zJwlYySM69^NYx36+ld>nCI)l0Sz$x!T><}4}qXhpG6EA3l?e!HWNU*oTxI73oYkA*EYMj9Yn zCN;&nr)#F+E;5}b7uql>ug6(!WS??7y`J3=F4PV7w=m*l<>m)S22LzEgl`N@z;>j* zuLOjs-NaUra0564^!)1V(QB3qXb?zwy)U@uk3cepa+cd_afuMEC!I_O!Bpx|(is{Rv0va6#&69$DDm$Qsmd-r)1|lG7RW`;z zR5+Ct1#5Ar`quAi`Lu6~sucEO}{XQO&&Uk3_`dw5xI>H;DK#Mf8)ek#{ZX<7o z2(1KNvD-_Y?Se>i(dHOYscwg{_ru1JLSZs+${~QV(XSI4 z8ay5tzIi&9HsKQTO?Is(uRK|Zd`bH~I-gG{uq)ZcBhdA2i>4^=@H>$OuGFM&sY}cH zUhh}`c*j?KJ}JVRKj~XX4kzZXuSw%+Bw3%1Uk>gD2Ai8P-yTh7rjU$JzzX4)s1F4W z1Kk-$kNmWBJP%k6qFg{c(?*cWnVD6<)ymK#e}-xO{G`E6^#W_p$Y}e!`M9j`3;N** z05z6f?g438D5c406E@Ob8l49_-H68RK+PvO#KkPOXtfItrx@7+ofF^x>6g4OE_RNj zO-N?%HUb24cQ0+vL3NJ~zgm0Vw#W?1J~}{JUPpXT681SO%7tiOk>zwhJX5;6*>B9x zePGx+^SXW3-%|!L`ynBSCnXD+$`z&eDrE!f?+6Fyhz)`Wr&)Jucpg=}XPlkgFChFuuON)NR^Z!_sHdMUkitB{*TRDCT$3$8J zaillHTc%U65fzO0Ng4C2C>GN_AVk<@|AK00hg$F6s7<(=aMRwatlcaq*JcwKetMaK(jDV7((7h!;i-eK|0~c<;w9Rp? zpe6_l5q`)uo^Lv--p-PCr04_D3F4>55By8?|8=M-#70WF&rRdtvCccVxl^{(2w(P> zy~m?W;P;QvL0Jikf`?!=uYB7=?iE91%m4vX0CY<&75J_0W(OPR%UrQ(Z^rGrM{GbY z_8EdVr~nC&8x+z|9hvp#FQ#b$LmYX|9ZAoG#Y?<#tr%9uu)xU2TGUE_g{vNZXpnT^ zYUL2>*i%~K=oG_6Q0%y%RHdw1|N7*A?B+`^1q`Zl?AILz!jd3#fB+b9ctA)#T9W}h z&J8ihIyvsFnQZ4FZ`u1PvksXK4+LJ?bZ0>D1BN8~r@)UcaSnCG7IEuv4Z&#_!_YGi zVV9!xgvY0QuOmw|4U*NS&2t6-1c_tLbgcw)NaH^S6kBL<9wGc8j55o;c_H1hfvo2E z0Halye5iYSE;$a8+5H#2&csNzJPj(M!jgrm8cGn`PxYePpDGDJQLu@Uhwxx%Y&o+qv3ak6BQTU>>aK9$k2%T7z?mdt>} zp!`X`41P?7c?5a01-$o0$Mn;%?HV5*5`@WE0WJxMMxow8%f$*7+E2e+2=Cb09>&}K zmn-I9#ri>RJ%&bdrwsH#xVyT2T&)qcP~g`E4!1)?2u%gC07_i%XamfdtI;{Sk9z2v zJ&@kAo8jl>4WNwo4w@pFr|zU4x9OmC$t6%u{U1ncb*Y4CU)1?97pDyOJ+zKH#y<YR5jlSU?S#IB~Sp6Vlg4&!a8H?@E>8BAl0V8o? zdR7mK(7pBRU;t|F^BHe+?GyW)Icuh}Cd3ce`x+y_wmhwF zWo-l+;m>WW@%5n@U4G(hl%IQ!fA3@)WKWLRG8ouOZTZm&^y>G@mpa@v-NL#M=G|n0 zk*E8EyK?3iV@OZ@SeaXJkG;(#pm*P$Mz6dt2oKJ863@vxW^O)A9T<8%OI;AQ?-!ew z8l7X#W&fhYblWNV4Q*TK$Q)fDDa5tzer&uGMcDl@K{6kA$vSBIoPRJ#kYMlP`GliJ z5zq2!u1X-!X8svM!-xsDXC4h#!9OD=NQiP|ht+T?ybpB=_5gk#(=CtY5`BPe{e9E` z6ccq~K|Hggy}dYzK0p1%rhQ2{Q``pD4{gf)H~sH#pTIW~#Z?_#wV|BMY@`-Xctui! zE~$faO`u_kXT4lVx@@z5u2K&)gfqYFl3dB?!VQ`n);=6DcGJ$$flbpok-y-i0CmX8 zLS_-gu4PK%NxgoYg?KXDrd%d{x|yj9u}*34(EIEY<^^g0@-M`w`*gH_I}h7_ypEt> zn4t-u5FgRQvaA&^il`&Q{>ljsLFq5z4^Mz4_jyEm;2zb~7w=ZszrZ@9nX>&Ov@lR$ z*+@VXiy11MEk^*8J3#XT6ZZ=0kAj2N%55$2Fkx2d?TV1LBfDhYk;5TX*HJD@cDl1v&IEP7jH6%)1-!Fx5=eO0B9%m5Mtys{Z!_o66 z*~twkstO%|rx5_YaQl?BHet5ZTu^-0DTDcaeDJ5=k}m!#QhVHX1_*=M+26jD<^di9 zVc8O|6AFF84Up*wp|~KM@+0HPR5OHVBLpm)?7s2pUxr@8>6o;hahq+;4;ANDa|!pq zRPi_CJt{bz)vUf-NUpk`tZ@9PEQ6lfBZBkN{iWe)oAJeKj$9IJSGfr)@<(CYDW^YNe<7ASDz<~> z5i?5u(nX)f1UCv8OrPHa6T1KHs2!_p(^l(pewQy}*xXhre zX--FCsdp1gCIcwM=nT6rO3CP0=VzS@q9*id2i;%Brv%gHX7c8dv{SHdp?b%dwL6w&hlhz%1OSRm# z6ncUgW^x|56BvA2p!=TO*)6&016>?YjSOB%FX!swg!skc%iZ6_U%)??jzs?Z{B8Jx zd$VCM;o@Tblwq2jg82n_zT~K2v^g_50Ol9<`6j_MK)Ya!Yg}0IbP9L0rNnd3BXAr! zq5mGC>3@>`F#!&|$CS8RAZy9!9nH_b_mY7NkU@cV!h*`ePR^)7aVJ{zJm%YZdaC@b zK`tfYY(CDuEWx0RMuf<4T0!1?+koW#oX%*>dhs2d2C?d-NFnHT3ZM{yhsf*4J;(3cSl_p*rJi|Cbk2XSj+^hrF`=PjgR_ekwJ&NC z4%ewa19sWeFYaUj$_1$7ll^n>SZ0 zW$QED$@obQRG8WWuo4%fC)tN?X+{3qg4I++LgrAV*CZ=D96I$xO$HQ1Vc&RFJ~mmf zq5vp`<}P;y-}0BvPUzRsRzBd=?P+lgZQsKXUM3^UFegA{Vm(ojmV7LLi;% z{D8|#BsaN(OCizT;w5Zw!d}L}&`!xK=RyKxY?Y1a3BJ|_T9}on-cCxItM`aJ`h86O zClKT!(GfjN0b90Lk+Z{B*~an>gVhHMt=_8l8ty#wHHjosgJ%F|ul@r9X8MaSQT(9^9*_%>NmDO#M|ZeG5Db;b`#S*V{n$x5@`Ec;C?y-irp-dCUx{t(Y>6_L!c%Pm312Vd)?ln zseNC|0Qhpt730hYVtA-v=FCpCayI?uiWdSh&bC1JfpArk5r+`d7Jd7p!|@mx88k~@ z@!2U8jo2HWz$?)td9B`Gz<1dXExO7^0c&-;mSfXOs9sJd0@=yew@%q-zfFAlFvBc3 z>;G-yYv&C5{;FcdrEh=qcm3CT_BiRTY2?D-RCQ!z+`{D4jC!QNprTr>`rldOci2Y8 zE_fe=88fjHw+{xoTvq-*(%VgQ5gFEpY=%5LnNC1^2c5Pu7e4P?p%h&1{XAV2D7eDfm4Lu!EC`q12QbQHOi`mNHvk)d zdsFPiY;-`-HSkap(raJM8F{80$JY^c%hgxKUE4s8dw$lVHamv!RRXtd2CZA-_)2bc zf;lN$)69-!*6d(c5=clS?`Vt2a7WKEbs#3l@w-2dh2v&>1Gy{-0>Q?$Q%ohC zP_3PmhikZCe2K}g`qI^Yyn7uX$Qv29?ihRM#VEYE$8lqs!)Bd>u$#s%vc>snn>pnT zm5nA_QF~~odLoE^*m|cLuk+uJf%Ccl(}&jsA9Hqb*aqjSnuMhb+#Q%+^+L0Kgq0iZx_!&d*qTAPDSWe=Yi%gN@98ta}5+|mEqg#LVN6AT@s-22ctk|r&maGL!* z_@PTB|1e4Dkk27w?T`Fz)%dX>`a-ZBdlYCwb5^|c9gzNx1O8wND9cj08M>(EX+Tt@ zetJkQ(xN)?(9fL6xTvx9AG7B3^KL>QI+MTcb3K9A1U3XC1(;ldh0C5)Nk&iJvV6c9 zTBb{{M;Zi(8_aiiUpivRz)TmYaPH)VNt`WvKecG3za;q>QUl5_ZqP_fkin+MXxdIa znqtrF(K%tg+G^96h@~;7Gk&!R6}O2w{ug`bw^uWj1#6`m6CRiv9pJ9?Y_MlGyf)8lUsEO-!nsq&Yk-D~R4S!m&eY{%|IP`g8jbEXLR;{vcIYF=?$@6G`Az>k zXi!%_j|`j$Glthcgt4;V4g2>X<|I?|JprO`v<(nNP2AkCP{GaT5sN3Yww8hQ%M|*T z?s;JymGS1iU#=)tt|^}v05Idi2;{-oPJ9~>{p$9PRhvn_R>Jdt?oXZPcHwg1g}N^Z z^IM&3gA@)P>--2ajJ7i|p$YGfCdDLyOK)4OWkcGWDic*picx2W#qJS}SM7^${IAZ? z?168U#LwgS4Guptw*2SUc(dUOWi%)`VpY4^KpEj+WUh>uo0=IO9#JKEoo>?dQJbgs3~63cKCgNo$Xp) rQX<@Rlg{og*^&SM^?smpzpaW*jreU%dR`I){Qb7yb6=5Lz~%o3o|Xu7 literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/logo.xcf b/nym-vpn/desktop/nymvpn-assets/logo.xcf new file mode 100644 index 0000000000000000000000000000000000000000..985f7900d600e6096d24602930fb83febbfc0e12 GIT binary patch literal 450470 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� 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%0A;;a-pD`Dh2ZyOMyM(n1 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 Yj>7o>UI*>jHjKPu1*+W-In literal 0 HcmV?d00001 diff --git a/nym-vpn/desktop/nymvpn-assets/nymvpn.svg b/nym-vpn/desktop/nymvpn-assets/nymvpn.svg new file mode 100644 index 00000000000..2061b9ff3f1 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-assets/nymvpn.svg @@ -0,0 +1,659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nym-vpn/desktop/nymvpn-assets/nymvpn.xcf b/nym-vpn/desktop/nymvpn-assets/nymvpn.xcf new file mode 100644 index 0000000000000000000000000000000000000000..7b54fe83d4d59db8dfffd180df4479ebc1dda11f GIT binary patch literal 55539 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 fsBf{)g2z0>eYo2 Result<(), CliError>; +} + +#[derive(Parser, Debug)] +#[command(author, version, about)] +pub struct Cli { + #[clap(subcommand)] + command: Commands, +} + +#[derive(Subcommand, Debug)] +pub enum Commands { + /// Sign in to your https://nymtech.net account + SignIn(SignIn), + /// Sign out current device + SignOut(SignOut), + /// Current VPN status + Status(Status), + /// Available locations for VPN + Locations(ListLocations), + /// Connect VPN + Connect(Connect), + /// Disconnect VPN + Disconnect(Disconnect), +} + +impl Cli { + pub async fn run(self) -> ExitCode { + let output = match self.command { + Commands::SignIn(sign_in) => sign_in.run().await, + Commands::SignOut(sign_out) => sign_out.run().await, + Commands::Locations(list_locations) => list_locations.run().await, + Commands::Connect(connect) => connect.run().await, + Commands::Disconnect(disconnect) => disconnect.run().await, + Commands::Status(status) => status.run().await, + }; + + match output { + Ok(()) => ExitCode::SUCCESS, + Err(e) => { + eprintln!("{}", style(e).for_stderr().red()); + ExitCode::FAILURE + } + } + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/connect.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/connect.rs new file mode 100644 index 00000000000..9fd7967cc19 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/connect.rs @@ -0,0 +1,156 @@ +use std::time::Duration; + +use clap::Args; +use console::style; +use dialoguer::{theme::ColorfulTheme, FuzzySelect}; +use indicatif::{ProgressBar, ProgressStyle}; +use tokio_stream::StreamExt; +use tonic::Request; +use nymvpn_types::{notification::Notification, vpn_session::VpnStatus}; + +use crate::cli::RunCommand; + +use super::{error::CliError, locations::list_locations}; + +#[derive(Debug, Args)] +pub struct Connect {} + +pub async fn start_signal_watch(message: String) { + tokio::spawn(async move { + let ctrl_c = async { + tokio::signal::ctrl_c() + .await + .expect("failed to install Ctrl+C handler"); + }; + + #[cfg(unix)] + let terminate = async { + tokio::signal::unix::signal(tokio::signal::unix::SignalKind::terminate()) + .expect("failed to install TERM signal handler") + .recv() + .await; + }; + + #[cfg(not(unix))] + let terminate = std::future::pending::<()>(); + + tokio::select! { + _ = ctrl_c => {}, + _ = terminate => {}, + } + + println!("{}", style(message).cyan()); + + std::process::exit(0); + }); +} + +#[async_trait::async_trait] +impl RunCommand for Connect { + async fn run(self) -> Result<(), CliError> { + // get locations + let locations = list_locations().await?; + + let selection = FuzzySelect::with_theme(&ColorfulTheme::default()) + .items(&locations) + .with_prompt("Location:") + .interact_opt()?; + + if let Some(index) = selection { + // start signal watcher for user interrupts + start_signal_watch( + "You can continue to watch status using 'nymvpn status' cli or on the app.\nTo end current session use 'nymvpn disconnect' cli or the app".into(), + ) + .await; + + let location = locations.get(index).unwrap(); + + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| CliError::DaemonUnavailable)?; + + let mut stream = client.watch_events(()).await?.into_inner(); + + let vpn_status = client + .connect_vpn(Request::new(location.clone().into())) + .await + .map(|res| res.into_inner()) + .map(VpnStatus::from)?; + + // wait while vpn becomes active + let pb = ProgressBar::new(100); + let mut progress = 0; + let mut done = false; + pb.set_style( + ProgressStyle::with_template( + "{spinner:.blue} [{elapsed_precise}] [{bar:.cyan/blue}] {wide_msg}", + ) + .unwrap(), + ); + + pb.set_position(progress); + pb.set_message(format!("{}", style(vpn_status.to_string()).yellow())); + pb.enable_steady_tick(Duration::from_secs(1)); + while let Some(event) = stream.next().await { + match event { + Ok(event) => { + if let Some(event) = event.event { + match event { + nymvpn_controller::proto::daemon_event::Event::VpnStatus( + vpn_status, + ) => { + let vpn_status: VpnStatus = vpn_status.into(); + progress = match vpn_status { + VpnStatus::Accepted(_) => 25, + VpnStatus::Connected(_, _) => { + done = true; + 100 + } + VpnStatus::Connecting(_) => 95, + VpnStatus::Disconnected => { + done = true; + 0 + } + VpnStatus::Disconnecting(_) => progress, + VpnStatus::ServerCreated(_) => 50, + VpnStatus::ServerRunning(_) => 75, + VpnStatus::ServerReady(_) => 80, + }; + pb.set_position(progress); + pb.set_message(format!( + "{}", + style(vpn_status.to_string()).yellow() + )); + } + nymvpn_controller::proto::daemon_event::Event::Notification( + notification, + ) => { + let id = notification.id.clone(); + if let Ok(notification) = Notification::try_from(notification) { + pb.set_position(0); + pb.set_message(format!( + "{}", + style(notification.message).red(), + )); + } + + client.ack_notification(id).await?; + + done = true; + } + } + } + } + Err(err) => Err(err)?, + } + + if done { + break; + } + } + pb.finish(); + } + + Ok(()) + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/disconnect.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/disconnect.rs new file mode 100644 index 00000000000..5464307f2da --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/disconnect.rs @@ -0,0 +1,28 @@ +use clap::Args; +use console::style; + +use crate::cli::RunCommand; + +use super::error::CliError; + +#[derive(Debug, Args)] +pub struct Disconnect {} + +#[async_trait::async_trait] +impl RunCommand for Disconnect { + async fn run(self) -> Result<(), CliError> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| CliError::DaemonUnavailable)?; + + let vpn_status = client + .disconnect_vpn(()) + .await + .map(|res| res.into_inner()) + .map(nymvpn_types::vpn_session::VpnStatus::from)?; + + println!("{}", style(vpn_status).yellow()); + + Ok(()) + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/error.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/error.rs new file mode 100644 index 00000000000..3d7dec9cb1b --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/error.rs @@ -0,0 +1,13 @@ +use tonic::Status; + +#[derive(Debug, thiserror::Error)] +pub enum CliError { + #[error("daemon is offline")] + DaemonUnavailable, + #[error("{}", .0.message())] + Grpc(#[from] Status), + #[error("{0}")] + Io(#[from] std::io::Error), + #[error("{0}")] + InvalidArgument(String), +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/locations.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/locations.rs new file mode 100644 index 00000000000..bdd6f4c1eb5 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/locations.rs @@ -0,0 +1,47 @@ +use async_trait::async_trait; +use clap::Args; +use console::style; +use validator::Validate; + +use crate::cli::RunCommand; + +use super::error::CliError; + +#[derive(Args, Debug, Validate)] +pub struct ListLocations {} + +pub async fn list_locations() -> Result, CliError> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| CliError::DaemonUnavailable)?; + + let locations = client.get_locations(()).await?; + + Ok(locations.into_inner().into()) +} + +#[async_trait] +impl RunCommand for ListLocations { + async fn run(self) -> Result<(), CliError> { + let locations = list_locations().await?; + + for location in locations { + if location.state.is_some() { + println!( + "{}, {}, {}", + style(location.city).white(), + style(location.state.unwrap()).white().dim(), + style(location.country).white().dim() + ); + } else { + println!( + "{}, {}", + style(location.city).white(), + style(location.country).white().dim() + ); + } + } + + Ok(()) + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/mod.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/mod.rs new file mode 100644 index 00000000000..3d9ef26ae42 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/mod.rs @@ -0,0 +1,7 @@ +pub mod connect; +pub mod disconnect; +pub mod error; +pub mod locations; +pub mod sign_in; +pub mod sign_out; +pub mod status; diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/sign_in.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/sign_in.rs new file mode 100644 index 00000000000..db1e47796ab --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/sign_in.rs @@ -0,0 +1,49 @@ +use async_trait::async_trait; +use clap::Args; +use console::style; +use dialoguer::{theme::ColorfulTheme, Input, Password}; +use nymvpn_controller::proto::SignInRequest; +use validator::Validate; + +use crate::cli::RunCommand; + +use super::error::CliError; + +#[derive(Args, Debug, Validate)] +pub struct SignIn { + email: Option, +} + +#[async_trait] +impl RunCommand for SignIn { + async fn run(self) -> Result<(), CliError> { + let email = match self.email { + Some(email) => email, + None => Input::::with_theme(&ColorfulTheme::default()) + .with_prompt("Email:") + .interact_text()?, + }; + + if !validator::validate_email(&email) { + return Err(CliError::InvalidArgument(format!( + "\"{email}\" is not a valid email" + ))); + } + + let password = Password::with_theme(&ColorfulTheme::default()) + .with_prompt("Password:") + .interact()?; + + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| CliError::DaemonUnavailable)?; + + client + .account_sign_in(SignInRequest { email, password }) + .await?; + + println!("{}", style("Successfully signed in").yellow()); + + Ok(()) + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/sign_out.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/sign_out.rs new file mode 100644 index 00000000000..150d64576c7 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/sign_out.rs @@ -0,0 +1,25 @@ +use async_trait::async_trait; +use clap::Args; +use console::style; + +use crate::cli::RunCommand; + +use super::error::CliError; + +#[derive(Args, Debug)] +pub struct SignOut; + +#[async_trait] +impl RunCommand for SignOut { + async fn run(self) -> Result<(), CliError> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| CliError::DaemonUnavailable)?; + + client.account_sign_out(()).await?; + + println!("{}", style("Successfully signed out").yellow()); + + Ok(()) + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/commands/status.rs b/nym-vpn/desktop/nymvpn-cli/src/commands/status.rs new file mode 100644 index 00000000000..f95080b65ab --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/commands/status.rs @@ -0,0 +1,28 @@ +use clap::Args; +use console::style; + +use crate::cli::RunCommand; + +use super::error::CliError; + +#[derive(Debug, Args)] +pub struct Status {} + +#[async_trait::async_trait] +impl RunCommand for Status { + async fn run(self) -> Result<(), CliError> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| CliError::DaemonUnavailable)?; + + let vpn_status = client + .get_vpn_status(()) + .await + .map(|res| res.into_inner()) + .map(nymvpn_types::vpn_session::VpnStatus::from)?; + + println!("{}", style(vpn_status).yellow()); + + Ok(()) + } +} diff --git a/nym-vpn/desktop/nymvpn-cli/src/main.rs b/nym-vpn/desktop/nymvpn-cli/src/main.rs new file mode 100644 index 00000000000..d45120c0a10 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-cli/src/main.rs @@ -0,0 +1,10 @@ +pub mod cli; +pub mod commands; +use std::process::ExitCode; + +use clap::Parser; + +#[tokio::main] +async fn main() -> ExitCode { + cli::Cli::parse().run().await +} diff --git a/nym-vpn/desktop/nymvpn-config/Cargo.toml b/nym-vpn/desktop/nymvpn-config/Cargo.toml new file mode 100644 index 00000000000..9c462a9d7af --- /dev/null +++ b/nym-vpn/desktop/nymvpn-config/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "nymvpn-config" +version = "0.1.0" +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[dependencies] +figment = { version = "0.10.8", features = ["env", "toml"] } +once_cell = "1.17.1" +serde = { version = "1.0.160", features = ["derive"] } +thiserror = "1.0.40" +tokio = { version = "1.27.0", features = ["fs"] } + +[build-dependencies] +toml = "0.7.3" +serde = "1.0.160" diff --git a/nym-vpn/desktop/nymvpn-config/build.rs b/nym-vpn/desktop/nymvpn-config/build.rs new file mode 100644 index 00000000000..408caa5ad8d --- /dev/null +++ b/nym-vpn/desktop/nymvpn-config/build.rs @@ -0,0 +1,25 @@ +use std::error::Error; + +use serde::Deserialize; + +#[derive(Deserialize)] +struct Package { + version: String, +} + +#[derive(Deserialize)] +struct CargoToml { + package: Package, +} + +fn main() -> Result<(), Box> { + let path = "../nymvpn-packages/Cargo.toml"; + println!("cargo:rerun-if-changed={path}"); + let cargo_toml: CargoToml = toml::from_str(&std::fs::read_to_string(path)?)?; + println!( + "cargo:rustc-env=nymvpn_VERSION={}", + cargo_toml.package.version + ); + + Ok(()) +} diff --git a/nym-vpn/desktop/nymvpn-config/src/lib.rs b/nym-vpn/desktop/nymvpn-config/src/lib.rs new file mode 100644 index 00000000000..7861dde0f4b --- /dev/null +++ b/nym-vpn/desktop/nymvpn-config/src/lib.rs @@ -0,0 +1,160 @@ +#[cfg(unix)] +use std::str::FromStr; +use std::{ + net::{IpAddr, Ipv4Addr}, + path::{Path, PathBuf}, +}; + +use figment::{ + providers::{Env, Format, Serialized, Toml}, + Figment, +}; +use once_cell::sync::OnceCell; +use serde::{Deserialize, Serialize}; +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum ConfigError { + #[error("failed to create dir {0}: {1}")] + CreateDirError(PathBuf, std::io::Error), + #[error("failed to set permissions ({0:?}) on ({1}): {2:?}")] + DirPermissionError(std::fs::Permissions, PathBuf, std::io::Error), +} + +static CONFIG: OnceCell = OnceCell::new(); +static CONFIG_DIR: OnceCell = OnceCell::new(); +static LOG_DIR: OnceCell = OnceCell::new(); +static SOCKET_PATH: OnceCell = OnceCell::new(); +const CONFIG_FILENAME: &str = "nymvpn.conf.toml"; + +pub fn config() -> &'static Config { + #[cfg(windows)] + let program_data_path = PathBuf::from(std::env::var("ProgramData").unwrap_or( + std::env::var("PROGRAMDATA").expect("missing ProgramData and PROGRAMDATA env var"), + )); + + let config_dir = CONFIG_DIR.get_or_init(|| { + #[cfg(unix)] + return PathBuf::from("/etc/nymvpn"); + #[cfg(windows)] + { + return program_data_path.join("nymvpn"); + } + }); + + let _ = LOG_DIR.get_or_init(|| { + #[cfg(unix)] + return PathBuf::from("/var/log/nymvpn"); + #[cfg(windows)] + return program_data_path.join("nymvpn").join("log"); + }); + + let _ = SOCKET_PATH.get_or_init(|| { + #[cfg(unix)] + return PathBuf::from("/var/run/nymvpn.sock"); + #[cfg(windows)] + return PathBuf::from("//./pipe/nymvpn"); + }); + + CONFIG.get_or_init(|| { + Figment::from(Serialized::defaults(Config::default())) + .merge(Toml::file(PathBuf::from(config_dir).join(CONFIG_FILENAME))) + .merge(Toml::file(CONFIG_FILENAME)) + .merge(Env::prefixed("nymvpn_")) + .extract() + .unwrap() + }) +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct Config { + config_dir: PathBuf, + log_dir: PathBuf, + // todo: non string types for grpc and rest api? + grpc_api_host_port: String, + socket_path: PathBuf, + daemon_log_filename: String, + allowed_endpoint_ipv4: IpAddr, + license_file_path: Option, +} + +impl Default for Config { + fn default() -> Self { + Self { + config_dir: CONFIG_DIR.get().unwrap().into(), + log_dir: LOG_DIR.get().unwrap().into(), + grpc_api_host_port: "grpcs://api.nymvpn.app:44444".into(), + socket_path: SOCKET_PATH.get().unwrap().into(), + daemon_log_filename: "nymvpn-daemon.log".into(), + // IP of api.nymvpn.app + allowed_endpoint_ipv4: IpAddr::V4(Ipv4Addr::new(168, 220, 80, 137)), + license_file_path: None, + } + } +} + +impl Config { + pub fn db_dir(&self) -> PathBuf { + self.config_dir.join("db") + } + + pub fn db_url(&self) -> String { + format!("sqlite://{}/nymvpn.db?mode=rwc", self.db_dir().display()) + } + + pub fn grpc_api_host_port(&self) -> &str { + &self.grpc_api_host_port + } + + pub fn allowed_endpoint_ipv4(&self) -> &IpAddr { + &self.allowed_endpoint_ipv4 + } + + pub fn log_dir(&self) -> &Path { + self.log_dir.as_path() + } + + pub fn daemon_log_filename(&self) -> &str { + &self.daemon_log_filename + } + + pub fn daemon_log_file_full_path(&self) -> PathBuf { + self.log_dir().join(self.daemon_log_filename()) + } + + pub fn socket_path(&self) -> &Path { + return &self.socket_path; + } + + pub fn version(&self) -> &'static str { + env!("nymvpn_VERSION") + } + + pub fn license_file_path(&self) -> PathBuf { + if self.license_file_path.is_some() { + return self.license_file_path.clone().unwrap(); + } + #[cfg(target_os = "linux")] + return PathBuf::from_str("/opt/nymvpn/nymvpn-oss-licenses.html").unwrap(); + #[cfg(target_os = "macos")] + return PathBuf::from_str( + "/Applications/nymvpn.app/Contents/Resources/nymvpn-oss-licenses.html", + ) + .unwrap(); + #[cfg(target_os = "windows")] + return PathBuf::from(std::env::var("PROGRAMFILES").unwrap_or( + std::env::var("ProgramFiles").expect("missing PROGRAMFILES and ProgramFiles env var"), + )) + .join("nymvpn") + .join("nymvpn-oss-licenses.html"); + } + + pub fn icon_path(&self) -> &'static str { + #[cfg(target_os = "linux")] + return "/usr/share/icons/hicolor/32x32/apps/nymvpn.png"; + #[cfg(target_os = "macos")] + return "/Applications/nymvpn.app/Contents/Resources/icon.icns"; + #[cfg(target_os = "windows")] + return ""; + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/Cargo.toml b/nym-vpn/desktop/nymvpn-controller/Cargo.toml new file mode 100644 index 00000000000..68a1a9fc513 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "nymvpn-controller" +version = "0.1.0" +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[dependencies] +futures = "0.3.28" +hyper = "0.14.26" +parity-tokio-ipc = "0.9.0" +prost = "0.11.9" +prost-types = "0.11.9" +thiserror = "1.0.40" +tokio = "1.27.0" +tonic = "0.9.2" +tower = "0.4.13" +nymvpn-config = { path = "../nymvpn-config" } +nymvpn-types = {path = "../nymvpn-types"} # grpc types to nymvpn-types conversions +chrono = { version = "0.4.24", features = ["serde"] } + +[build-dependencies] +tonic-build = "0.9.2" diff --git a/nym-vpn/desktop/nymvpn-controller/build.rs b/nym-vpn/desktop/nymvpn-controller/build.rs new file mode 100644 index 00000000000..cdf689d4a01 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/build.rs @@ -0,0 +1,6 @@ +fn main() -> Result<(), Box> { + const PROTO_PATH: &str = "proto/nymvpn-controller.proto"; + tonic_build::configure().compile(&[PROTO_PATH], &["proto"])?; + println!("cargo:rerun-if-changed=proto"); + Ok(()) +} diff --git a/nym-vpn/desktop/nymvpn-controller/proto/nymvpn-controller.proto b/nym-vpn/desktop/nymvpn-controller/proto/nymvpn-controller.proto new file mode 100644 index 00000000000..0f82342d94f --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/proto/nymvpn-controller.proto @@ -0,0 +1,126 @@ +syntax = "proto3"; + +package nymvpn.controller; + +import "google/protobuf/empty.proto"; +import "google/protobuf/wrappers.proto"; +import "google/protobuf/timestamp.proto"; + +service ControllerService { + // Locations served + rpc GetLocations(google.protobuf.Empty) returns (Locations); + rpc RecentLocations(google.protobuf.Empty) returns (Locations); + + // Account + rpc IsAuthenticated(google.protobuf.Empty) returns (google.protobuf.BoolValue); + rpc AccountSignIn(SignInRequest) returns (google.protobuf.Empty); + rpc AccountSignOut(google.protobuf.Empty) returns (google.protobuf.Empty); + rpc GetAccountInfo(google.protobuf.Empty) returns (AccountInfo); + + // Control VPN + rpc ConnectVpn(Location) returns (VpnStatus); + rpc DisconnectVpn(google.protobuf.Empty) returns (VpnStatus); + rpc GetVpnStatus(google.protobuf.Empty) returns (VpnStatus); + + // Notifications + rpc GetNotifications(google.protobuf.Empty) returns (Notifications); + rpc AckNotification(google.protobuf.StringValue) returns (google.protobuf.Empty); + + // Versions and Updates + rpc LatestAppVersion(google.protobuf.Empty) returns (google.protobuf.StringValue); + + // Events + rpc WatchEvents(google.protobuf.Empty) returns (stream DaemonEvent); +} + +message SignInRequest { + string email = 1; + string password = 2; +} + +message AccountInfo { + string email = 1; + uint32 balance = 2; +} + +message Notifications { + repeated Notification notification = 1; +} + +enum NotificationType { + SERVER_FAILED = 0; + CLIENT_FAILED = 1; +} + +message Notification { + string id = 1; + NotificationType notification_type = 2; + string message = 3; + google.protobuf.Timestamp timestamp = 4; +} + +message VpnStatus { + + message Accepted { + Location location = 1; + }; + + message ServerCreated { + Location location = 1; + } + + message ServerRunning { + Location location = 1; + } + + message ServerReady { + Location location = 1; + } + + message Connecting { + Location location = 1; + } + + message Connected { + Location location = 1; + google.protobuf.Timestamp timestamp = 2; + } + + message Disconnecting { + Location location = 1; + } + + message Disconnected {} + + oneof vpn_status { + Accepted accepted = 1; + Connecting connecting = 2; + ServerCreated server_created = 3; + ServerRunning server_running = 4; + ServerReady server_ready = 5; + Connected connected = 6; + Disconnecting disconnecting = 7; + Disconnected disconnected = 8; + } +} + +message Locations { + repeated Location location = 1; +} + +message Location { + string code = 1; + string country = 2; + string country_code = 3; + string city = 4; + string city_code = 5; + optional string state = 6; + optional string state_code = 7; +} + +message DaemonEvent { + oneof event { + VpnStatus vpn_status = 1; + Notification notification = 2; + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/src/auth.rs b/nym-vpn/desktop/nymvpn-controller/src/auth.rs new file mode 100644 index 00000000000..e81d712d1ee --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/auth.rs @@ -0,0 +1,76 @@ +use std::task::{Context, Poll}; + +use hyper::Body; +use tonic::body::BoxBody; +use tower::{Layer, Service}; + +#[tonic::async_trait] +pub trait Auth: Clone + Send + Sync { + async fn is_authenticated(&self) -> bool; +} + +#[derive(Debug, Clone)] +pub struct ControllerAuthLayer { + auth: P, +} + +impl ControllerAuthLayer

{ + pub fn new(auth: P) -> Self { + Self { auth } + } +} + +const ALLOWED_UNAUTHORIZED_PATHS: [&str; 2] = [ + "/nymvpn.controller.ControllerService/AccountSignIn", + "/nymvpn.controller.ControllerService/IsAuthenticated", +]; + +#[derive(Debug, Clone)] +pub struct ControllerAuthMiddleware { + auth: P, + inner: S, +} + +impl Layer for ControllerAuthLayer

{ + type Service = ControllerAuthMiddleware; + fn layer(&self, inner: S) -> Self::Service { + ControllerAuthMiddleware { + auth: self.auth.clone(), + inner, + } + } +} + +impl Service> for ControllerAuthMiddleware +where + S: Service, Response = hyper::Response> + Clone + Send + 'static, + S::Future: Send + 'static, + P: Auth + 'static, +{ + type Response = S::Response; + type Error = S::Error; + type Future = futures::future::BoxFuture<'static, Result>; + + fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll> { + self.inner.poll_ready(cx) + } + + fn call(&mut self, req: hyper::Request) -> Self::Future { + // This is necessary because tonic internally uses `tower::buffer::Buffer`. + // See https://github.com/tower-rs/tower/issues/547#issuecomment-767629149 + // for details on why this is necessary + let clone = self.inner.clone(); + let mut inner = std::mem::replace(&mut self.inner, clone); + + let auth = self.auth.clone(); + Box::pin(async move { + if ALLOWED_UNAUTHORIZED_PATHS.contains(&req.uri().path()) + || auth.is_authenticated().await + { + return inner.call(req).await; + } + + Ok(tonic::Status::unauthenticated("please sign in first").to_http()) + }) + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/src/conversions/account.rs b/nym-vpn/desktop/nymvpn-controller/src/conversions/account.rs new file mode 100644 index 00000000000..cb0e87f35af --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/conversions/account.rs @@ -0,0 +1,8 @@ +impl From for nymvpn_types::nymvpn_server::UserCredentials { + fn from(value: crate::proto::SignInRequest) -> Self { + Self { + email: value.email, + password: value.password, + } + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/src/conversions/location.rs b/nym-vpn/desktop/nymvpn-controller/src/conversions/location.rs new file mode 100644 index 00000000000..f6493ac6c21 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/conversions/location.rs @@ -0,0 +1,48 @@ +impl From for crate::proto::Location { + fn from(value: nymvpn_types::location::Location) -> Self { + Self { + code: value.code, + country: value.country, + country_code: value.country_code, + city: value.city, + city_code: value.city_code, + state: value.state, + state_code: value.state_code, + } + } +} + +impl From for nymvpn_types::location::Location { + fn from(value: crate::proto::Location) -> Self { + Self { + code: value.code, + country: value.country, + country_code: value.country_code, + city: value.city, + city_code: value.city_code, + state: value.state, + state_code: value.state_code, + } + } +} + +impl From> for crate::proto::Locations { + fn from(value: Vec) -> Self { + Self { + location: value + .into_iter() + .map(crate::proto::Location::from) + .collect(), + } + } +} + +impl From for Vec { + fn from(value: crate::proto::Locations) -> Self { + value + .location + .into_iter() + .map(nymvpn_types::location::Location::from) + .collect() + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/src/conversions/mod.rs b/nym-vpn/desktop/nymvpn-controller/src/conversions/mod.rs new file mode 100644 index 00000000000..42fc2a973ff --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/conversions/mod.rs @@ -0,0 +1,4 @@ +pub mod account; +pub mod location; +pub mod notification; +pub mod vpn_status; diff --git a/nym-vpn/desktop/nymvpn-controller/src/conversions/notification.rs b/nym-vpn/desktop/nymvpn-controller/src/conversions/notification.rs new file mode 100644 index 00000000000..09b2a369319 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/conversions/notification.rs @@ -0,0 +1,77 @@ +use crate::timestamp_to_datetime_utc; + +impl From for nymvpn_types::notification::NotificationType { + fn from(value: crate::proto::NotificationType) -> Self { + match value { + crate::proto::NotificationType::ServerFailed => { + nymvpn_types::notification::NotificationType::ServerFailed + } + crate::proto::NotificationType::ClientFailed => { + nymvpn_types::notification::NotificationType::ClientFailed + } + } + } +} + +impl From for crate::proto::NotificationType { + fn from(value: nymvpn_types::notification::NotificationType) -> Self { + match value { + nymvpn_types::notification::NotificationType::ServerFailed => { + crate::proto::NotificationType::ServerFailed + } + nymvpn_types::notification::NotificationType::ClientFailed => { + crate::proto::NotificationType::ClientFailed + } + } + } +} + +impl TryFrom for nymvpn_types::notification::Notification { + type Error = String; + fn try_from(value: crate::proto::Notification) -> Result { + Ok(Self { + id: value.id, + message: value.message, + notification_type: value.notification_type.try_into()?, + timestamp: timestamp_to_datetime_utc(value.timestamp)?, + }) + } +} + +impl From for crate::proto::Notification { + fn from(value: nymvpn_types::notification::Notification) -> Self { + let seconds = value.timestamp.timestamp(); + let nanos = value.timestamp.timestamp_subsec_nanos(); + Self { + id: value.id, + notification_type: value.notification_type.into(), + message: value.message, + timestamp: Some(prost_types::Timestamp { + seconds, + nanos: nanos as i32, + }), + } + } +} + +impl From> for crate::proto::Notifications { + fn from(value: Vec) -> Self { + Self { + notification: value + .into_iter() + .map(crate::proto::Notification::from) + .collect(), + } + } +} + +impl TryFrom for Vec { + type Error = String; + fn try_from(value: crate::proto::Notifications) -> Result { + let mut notifications = vec![]; + for notification in value.notification { + notifications.push(notification.try_into()?) + } + Ok(notifications) + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/src/conversions/vpn_status.rs b/nym-vpn/desktop/nymvpn-controller/src/conversions/vpn_status.rs new file mode 100644 index 00000000000..d49370fa17e --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/conversions/vpn_status.rs @@ -0,0 +1,110 @@ +use crate::{datetime_utc_to_timestamp, timestamp_to_datetime_utc}; + +impl From for crate::proto::VpnStatus { + fn from(value: nymvpn_types::vpn_session::VpnStatus) -> Self { + match value { + nymvpn_types::vpn_session::VpnStatus::Accepted(location) => crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::Accepted( + crate::proto::vpn_status::Accepted { + location: Some(location.into()), + }, + )), + }, + nymvpn_types::vpn_session::VpnStatus::Connecting(location) => crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::Connecting( + crate::proto::vpn_status::Connecting { + location: Some(location.into()), + }, + )), + }, + nymvpn_types::vpn_session::VpnStatus::ServerRunning(location) => { + crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::ServerRunning( + crate::proto::vpn_status::ServerRunning { + location: Some(location.into()), + }, + )), + } + } + nymvpn_types::vpn_session::VpnStatus::ServerReady(location) => crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::ServerReady( + crate::proto::vpn_status::ServerReady { + location: Some(location.into()), + }, + )), + }, + nymvpn_types::vpn_session::VpnStatus::Connected(location, connected_time) => { + crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::Connected( + crate::proto::vpn_status::Connected { + location: Some(location.into()), + timestamp: Some(datetime_utc_to_timestamp(connected_time)), + }, + )), + } + } + nymvpn_types::vpn_session::VpnStatus::Disconnecting(location) => { + crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::Disconnecting( + crate::proto::vpn_status::Disconnecting { + location: Some(location.into()), + }, + )), + } + } + nymvpn_types::vpn_session::VpnStatus::Disconnected => crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::Disconnected( + crate::proto::vpn_status::Disconnected {}, + )), + }, + nymvpn_types::vpn_session::VpnStatus::ServerCreated(location) => { + crate::proto::VpnStatus { + vpn_status: Some(crate::proto::vpn_status::VpnStatus::ServerCreated( + crate::proto::vpn_status::ServerCreated { + location: Some(location.into()), + }, + )), + } + } + } + } +} + +impl From for nymvpn_types::vpn_session::VpnStatus { + fn from(value: crate::proto::VpnStatus) -> Self { + let vpn_status = value.vpn_status.unwrap(); + match vpn_status { + crate::proto::vpn_status::VpnStatus::Accepted(accepted) => { + nymvpn_types::vpn_session::VpnStatus::Accepted(accepted.location.unwrap().into()) + } + crate::proto::vpn_status::VpnStatus::Connecting(connecting) => { + nymvpn_types::vpn_session::VpnStatus::Connecting(connecting.location.unwrap().into()) + } + crate::proto::vpn_status::VpnStatus::ServerRunning(srun) => { + nymvpn_types::vpn_session::VpnStatus::ServerRunning(srun.location.unwrap().into()) + } + crate::proto::vpn_status::VpnStatus::ServerReady(sr) => { + nymvpn_types::vpn_session::VpnStatus::ServerReady(sr.location.unwrap().into()) + } + crate::proto::vpn_status::VpnStatus::Connected(connected) => { + nymvpn_types::vpn_session::VpnStatus::Connected( + connected.location.unwrap().into(), + timestamp_to_datetime_utc(connected.timestamp).unwrap(), + ) + } + crate::proto::vpn_status::VpnStatus::Disconnecting(disconnecting) => { + nymvpn_types::vpn_session::VpnStatus::Disconnecting( + disconnecting.location.unwrap().into(), + ) + } + crate::proto::vpn_status::VpnStatus::Disconnected(_) => { + nymvpn_types::vpn_session::VpnStatus::Disconnected + } + crate::proto::vpn_status::VpnStatus::ServerCreated(server_created) => { + nymvpn_types::vpn_session::VpnStatus::ServerCreated( + server_created.location.unwrap().into(), + ) + } + } + } +} diff --git a/nym-vpn/desktop/nymvpn-controller/src/lib.rs b/nym-vpn/desktop/nymvpn-controller/src/lib.rs new file mode 100644 index 00000000000..bb19f07eab3 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-controller/src/lib.rs @@ -0,0 +1,153 @@ +use std::future::Future; +use std::pin::Pin; +use std::task::Context; +use std::task::Poll; + +use auth::Auth; +use parity_tokio_ipc::Endpoint as IpcEndpoint; +use prost_types::Timestamp; +use thiserror::Error; +use tokio::io::AsyncRead; +use tokio::io::AsyncWrite; +use tokio::io::ReadBuf; +use tonic::transport::server::Connected; +use tonic::transport::Channel; +use tonic::transport::Endpoint as TonicEndpoint; +use tonic::transport::Server; +use tonic::transport::Uri; +use tower::service_fn; + +pub mod proto { + tonic::include_proto!("nymvpn.controller"); +} + +pub mod auth; +pub mod conversions; + +use chrono::{TimeZone, Utc}; +pub use proto::controller_service_server::{ControllerService, ControllerServiceServer}; +use nymvpn_types::DateTimeUtc; + +use crate::auth::ControllerAuthLayer; + +pub type ControllerServiceClient = + proto::controller_service_client::ControllerServiceClient; + +pub type GrpcServerJoinHandle = tokio::task::JoinHandle>; + +#[derive(Debug, Error)] +pub enum ControllerError { + #[error("{0}")] + TonicTransportError(tonic::transport::Error), + #[error("security attributes error {0:#?}")] + SecurityAttributesError(std::io::Error), + #[error("incoming connection error {0:#?}")] + IncomingConnectionError(std::io::Error), +} + +pub async fn new_grpc_client() -> Result { + let ipc_path = nymvpn_config::config().socket_path(); + + // URI is unused + let channel = TonicEndpoint::from_static("http://[::]:50051") + .connect_with_connector(service_fn(move |_: Uri| { + IpcEndpoint::connect(ipc_path.clone()) + })) + .await + .map_err(ControllerError::TonicTransportError)?; + + Ok(ControllerServiceClient::new(channel)) +} + +pub async fn spawn_grpc_server( + service: S, + auth: P, + shutdown: F, +) -> std::result::Result +where + S: proto::controller_service_server::ControllerService, + F: Future + Send + 'static, + P: Auth + 'static, +{ + use futures::stream::TryStreamExt; + use parity_tokio_ipc::SecurityAttributes; + + let socket_path = nymvpn_config::config().socket_path(); + + let mut endpoint = IpcEndpoint::new(socket_path.to_string_lossy().to_string()); + endpoint.set_security_attributes( + SecurityAttributes::allow_everyone_create() + .map_err(ControllerError::SecurityAttributesError)? + .set_mode(0o766) + .map_err(ControllerError::SecurityAttributesError)?, + ); + + let incoming = endpoint + .incoming() + .map_err(ControllerError::IncomingConnectionError)?; + + Ok(tokio::spawn(async move { + Server::builder() + .layer(ControllerAuthLayer::new(auth)) + .add_service(ControllerServiceServer::new(service)) + .serve_with_incoming_shutdown(incoming.map_ok(StreamBox), shutdown) + .await + .map_err(ControllerError::TonicTransportError) + })) +} + +#[derive(Debug)] +struct StreamBox(pub T); + +impl Connected for StreamBox { + type ConnectInfo = Option<()>; + + fn connect_info(&self) -> Self::ConnectInfo { + None + } +} +impl AsyncRead for StreamBox { + fn poll_read( + mut self: Pin<&mut Self>, + cx: &mut Context<'_>, + buf: &mut ReadBuf<'_>, + ) -> Poll> { + Pin::new(&mut self.0).poll_read(cx, buf) + } +} +impl AsyncWrite for StreamBox { + fn poll_write( + mut self: Pin<&mut Self>, + cx: &mut Context<'_>, + buf: &[u8], + ) -> Poll> { + Pin::new(&mut self.0).poll_write(cx, buf) + } + + fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + Pin::new(&mut self.0).poll_flush(cx) + } + + fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + Pin::new(&mut self.0).poll_shutdown(cx) + } +} + +pub fn timestamp_to_datetime_utc(timestamp: Option) -> Result { + let timestamp = timestamp.ok_or(format!("no timestamp"))?; + let date_time_utc = match Utc.timestamp_opt(timestamp.seconds, timestamp.nanos as u32) { + chrono::LocalResult::Single(dtu) => dtu, + chrono::LocalResult::None => Err("invalid utc time none")?, + chrono::LocalResult::Ambiguous(a, _b) => { + //Err(format!("ambiguous utc time {a} {b}"))? + a + } + }; + Ok(date_time_utc) +} + +pub fn datetime_utc_to_timestamp(datetime_utc: DateTimeUtc) -> Timestamp { + let seconds = datetime_utc.timestamp(); + let nanos = std::cmp::max(datetime_utc.timestamp_subsec_nanos() as i32, 0); + prost_types::Timestamp { seconds, nanos } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/Cargo.toml b/nym-vpn/desktop/nymvpn-daemon/Cargo.toml new file mode 100644 index 00000000000..df814acc643 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/Cargo.toml @@ -0,0 +1,57 @@ +[package] +name = "nymvpn-daemon" +version = "0.1.0" +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[dependencies] +clap = "4.2.7" +async-trait = "0.1.68" +futures = "0.3.28" +hyper = "0.14.26" +thiserror = "1.0.40" +tokio = { version = "1.27.0", features = ["rt-multi-thread", "signal", "macros", "sync", "fs"] } +tokio-stream = { version = "0.1.12", features = ["sync"] } +tonic = "0.9.2" +tower = "0.4.13" +tracing = "0.1.37" +tracing-appender = "0.2.2" +tracing-subscriber = { version = "0.3.16", features = ["default", "env-filter", "tracing-log"] } +nymvpn-config = {path = "../nymvpn-config"} +nymvpn-controller = {path = "../nymvpn-controller"} +nymvpn-server = {path = "../nymvpn-server"} +nymvpn-types = {path = "../nymvpn-types"} +nymvpn-entity = {path = "../nymvpn-entity"} +nymvpn-migration = {path = "../nymvpn-migration"} +sea-orm = { version = "0.11.2", features = ["sqlx-sqlite", "runtime-tokio-rustls"] } +chrono = "0.4.24" +talpid-core = {git = "https://github.com/mullvad/mullvadvpn-app.git", rev = "04c6609948a770aed30491c66c4c6d779bc71c92"} +talpid-types = {git = "https://github.com/mullvad/mullvadvpn-app.git", rev = "04c6609948a770aed30491c66c4c6d779bc71c92"} +talpid-platform-metadata = {git = "https://github.com/mullvad/mullvadvpn-app.git", rev = "04c6609948a770aed30491c66c4c6d779bc71c92"} +futures-channel = "0.3.28" +uuid = { version = "1.3.1", features = ["v4", "serde"] } +libc = "0.2" +lazy_static = "1.0" + +[target.'cfg(unix)'.dependencies] +nix = "0.26.2" + +[target.'cfg(windows)'.dependencies] +windows-service = "0.6.0" + +[target.'cfg(windows)'.dependencies.windows-sys] +version = "0.45.0" +features = [ + "Win32_Foundation", + "Win32_Security", + "Win32_Security_Authorization", + "Win32_Security_Authentication_Identity", + "Win32_System_Diagnostics_Debug", + "Win32_System_Kernel", + "Win32_System_Memory", + "Win32_System_Threading", +] diff --git a/nym-vpn/desktop/nymvpn-daemon/nymvpn.conf.toml b/nym-vpn/desktop/nymvpn-daemon/nymvpn.conf.toml new file mode 100644 index 00000000000..c38fcd6ec89 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/nymvpn.conf.toml @@ -0,0 +1,7 @@ +# Development configuration + +socket_path="../data/nymvpn.sock" +allowed_endpoint_ipv4="192.168.0.15" +grpc_api_host_port="grpc://nymvpn.dev:44444" +log_dir="../data/log" +config_dir="../data" diff --git a/nym-vpn/desktop/nymvpn-daemon/src/cleanup.rs b/nym-vpn/desktop/nymvpn-daemon/src/cleanup.rs new file mode 100644 index 00000000000..ff39e0d5908 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/cleanup.rs @@ -0,0 +1,10 @@ +pub async fn remove_old_socket_file() { + if let Err(e) = tokio::fs::remove_file(nymvpn_config::config().socket_path()).await { + if e.kind() != std::io::ErrorKind::NotFound { + tracing::error!( + "Failed to remove old socket file {}", + nymvpn_config::config().socket_path().display() + ); + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/controller.rs b/nym-vpn/desktop/nymvpn-daemon/src/controller.rs new file mode 100644 index 00000000000..81ba74b38dc --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/controller.rs @@ -0,0 +1,297 @@ +use std::sync::Arc; + +use tokio::{sync::oneshot, task::JoinHandle}; +use tokio_stream::wrappers::UnboundedReceiverStream; +use tonic::{Request, Response, Status}; +use nymvpn_controller::{ + proto::{AccountInfo, Locations, Notifications, SignInRequest, VpnStatus}, + spawn_grpc_server, ControllerError, ControllerService, +}; +use nymvpn_migration::DbErr; +use nymvpn_types::notification::Notification; + +use crate::{ + daemon::{DaemonCommand, DaemonCommandSender, DaemonError, EventListener}, + device::handler::DeviceHandler, + shutdown::ShutdownManager, +}; + +pub struct ControllerServer; + +impl ControllerServer { + pub async fn start( + daemon_command_sender: DaemonCommandSender, + shutdown_manager: &ShutdownManager, + device_handler: DeviceHandler, + ) -> Result { + let events_subscribers = + Arc::>>::default(); + + let controller_service = ControllerServiceImpl { + daemon_command_sender, + events_subscribers: events_subscribers.clone(), + }; + + let handle = spawn_grpc_server( + controller_service, + device_handler, + shutdown_manager.shutdown_received_future(), + ) + .await?; + + let controller_server_handle = tokio::spawn(async move { + if let Err(e) = handle.await { + tracing::error!("Controller GRPC server error: {e}") + } + tracing::info!("Controller server shut down") + }); + + Ok(ControllerServerAndEventBroadcaster { + events_subscribers, + controller_server_handle, + }) + } +} + +pub struct ControllerServerAndEventBroadcaster { + pub events_subscribers: Arc>>, + pub controller_server_handle: JoinHandle<()>, +} + +impl ControllerServerAndEventBroadcaster { + async fn notify(&self, event: nymvpn_controller::proto::DaemonEvent) { + let mut subscribers = self.events_subscribers.write().await; + + subscribers.retain(|tx| tx.send(Ok(event.clone())).is_ok()); + } +} + +#[async_trait::async_trait] +impl EventListener for ControllerServerAndEventBroadcaster { + async fn send_vpn_status(&self, status: nymvpn_types::vpn_session::VpnStatus) { + tracing::debug!("notifying new vpn status"); + self.notify(nymvpn_controller::proto::DaemonEvent { + event: Some(nymvpn_controller::proto::daemon_event::Event::VpnStatus( + nymvpn_controller::proto::VpnStatus::from(status), + )), + }) + .await + } + + async fn send_notification(&self, notification: Notification) { + tracing::debug!("sending new notification"); + self.notify(nymvpn_controller::proto::DaemonEvent { + event: Some(nymvpn_controller::proto::daemon_event::Event::Notification( + nymvpn_controller::proto::Notification::from(notification), + )), + }) + .await + } +} + +pub struct ControllerServiceImpl { + daemon_command_sender: DaemonCommandSender, + events_subscribers: Arc>>, +} + +pub type ServiceResult = std::result::Result, Status>; +pub type VpnStatusListenerSender = + tokio::sync::mpsc::UnboundedSender>; +pub type VpnStatusListenerReceiver = + UnboundedReceiverStream>; + +pub type DaemonEventsListenerSender = + tokio::sync::mpsc::UnboundedSender>; + +pub type DaemonEventsListenerReceiver = + UnboundedReceiverStream>; + +#[tonic::async_trait] +impl ControllerService for ControllerServiceImpl { + type WatchEventsStream = DaemonEventsListenerReceiver; + + /// Locations served + async fn get_locations(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::ListLocations(tx))?; + self.wait_for_result(rx) + .await? + .map(|locations| Response::new(locations.into())) + .map_err(map_daemon_error) + } + + async fn recent_locations(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::RecentLocations(tx))?; + self.wait_for_result(rx) + .await? + .map(|locations| Response::new(locations.into())) + .map_err(map_daemon_error) + } + + /// Account + async fn is_authenticated(&self, _req: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::IsAuthenticated(tx))?; + self.wait_for_result(rx) + .await? + .map(Response::new) + .map_err(map_daemon_error) + } + + async fn account_sign_in(&self, req: Request) -> ServiceResult<()> { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::AccountSignIn(tx, req.into_inner().into()))?; + self.wait_for_result(rx) + .await? + .map(Response::new) + .map_err(map_daemon_error) + } + + async fn account_sign_out(&self, _: Request<()>) -> ServiceResult<()> { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::AccountSignOut(tx))?; + self.wait_for_result(rx) + .await? + .map(Response::new) + .map_err(map_daemon_error) + } + + async fn get_account_info(&self, _: Request<()>) -> ServiceResult { + todo!() + } + + /// Control VPN + async fn connect_vpn( + &self, + req: Request, + ) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::Connect(tx, req.into_inner().into()))?; + + self.wait_for_result(rx) + .await? + .map(nymvpn_controller::proto::VpnStatus::from) + .map(Response::new) + .map_err(map_daemon_error) + } + + async fn disconnect_vpn(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::Disconnect(tx))?; + self.wait_for_result(rx) + .await? + .map(nymvpn_controller::proto::VpnStatus::from) + .map(Response::new) + .map_err(map_daemon_error) + } + + async fn get_vpn_status(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::GetVpnStatus(tx))?; + + self.wait_for_result(rx) + .await? + .map(nymvpn_controller::proto::VpnStatus::from) + .map(Response::new) + .map_err(map_daemon_error) + } + + /// Notifications + async fn get_notifications(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::GetNotifications(tx))?; + + self.wait_for_result(rx) + .await? + .map(nymvpn_controller::proto::Notifications::from) + .map(Response::new) + .map_err(map_daemon_error) + } + + async fn ack_notification(&self, id: Request) -> ServiceResult<()> { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::AckNotification(tx, id.into_inner()))?; + + self.wait_for_result(rx) + .await? + .map(Response::new) + .map_err(map_daemon_error) + } + + // Versions and Updates + async fn latest_app_version(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = oneshot::channel(); + self.send_command_to_daemon(DaemonCommand::LatestAppVersion(tx))?; + + self.wait_for_result(rx) + .await? + .map(Response::new) + .map_err(map_daemon_error) + } + + /// Event stream + async fn watch_events(&self, _: Request<()>) -> ServiceResult { + let (tx, rx) = tokio::sync::mpsc::unbounded_channel(); + + let mut subscribers = self.events_subscribers.write().await; + subscribers.push(tx); + Ok(Response::new(UnboundedReceiverStream::new(rx))) + } +} + +impl ControllerServiceImpl { + fn send_command_to_daemon(&self, command: DaemonCommand) -> Result<(), Status> { + self.daemon_command_sender + .send(command) + .map_err(|_| Status::internal("the daemon channel receiver has been dropped")) + } + + async fn wait_for_result(&self, rx: tokio::sync::oneshot::Receiver) -> Result { + rx.await.map_err(|_| Status::internal("sender was dropped")) + } +} + +fn map_db_error(_db_err: DbErr) -> Status { + Status::internal("daemon is unable to manage its database") +} + +pub const SERVER_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER: &str = + "server is unavailable, please try again later"; +pub const VPN_SESSION_SERVICE_UNAVAILABLE: &str = + "daemon is partially up: vpn session service unavailable"; + +fn map_daemon_error(error: DaemonError) -> Status { + tracing::error!("{:?}", error); + match error { + DaemonError::DaemonUnavailable => Status::internal("daemon is unavailable"), + DaemonError::AnotherVpnSessionInProgress(location) => Status::failed_precondition(format!( + "cannot start a new vpn session when another is in progress (to city {})", + location.city + )), + DaemonError::InvalidOpVpnSessionInProgress(message) => Status::failed_precondition(message), + DaemonError::DbErr(db_err) => map_db_error(db_err), + DaemonError::DeviceError(device_error) => match device_error { + crate::device::DeviceError::DeviceServiceUnavailable => { + Status::internal("daemon is partially up: device service unavailable") + } + crate::device::DeviceError::Server(status) => status, + crate::device::DeviceError::Connection(_) => { + Status::unavailable(SERVER_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER) + } + crate::device::DeviceError::DbErr(db_err) => map_db_error(db_err), + crate::device::DeviceError::InitError(_) => { + Status::internal("failed to initialize device") + } + }, + DaemonError::VpnSessionError(vpn_session_error) => match vpn_session_error { + crate::vpn_session::handler::VpnSessionError::VpnSessionServiceDown => { + Status::internal(VPN_SESSION_SERVICE_UNAVAILABLE) + } + crate::vpn_session::handler::VpnSessionError::Connection(_) => { + Status::unavailable(SERVER_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER) + } + crate::vpn_session::handler::VpnSessionError::Server(status) => status, + }, + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/daemon.rs b/nym-vpn/desktop/nymvpn-daemon/src/daemon.rs new file mode 100644 index 00000000000..9423cd8f3e5 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/daemon.rs @@ -0,0 +1,732 @@ +use std::fmt::Display; + +use talpid_core::tunnel_state_machine::{TunnelCommand, TunnelStateMachineHandle}; +use talpid_types::tunnel::TunnelStateTransition; +use tokio::sync::oneshot; +use nymvpn_controller::auth::Auth; +use nymvpn_migration::DbErr; +use nymvpn_types::{ + location::Location, + notification::Notification, + nymvpn_server::{ClientConnected, EndSession, NewSession, UserCredentials, VpnSessionStatus}, + vpn_session::VpnStatus, +}; + +use crate::{ + controller::ControllerServerAndEventBroadcaster, + device::{handler::DeviceHandler, storage::DeviceStorage, DeviceError}, + location_storage::LocationStorage, + shutdown::Shutdown, + state::DaemonState, + vpn_session::{ + handler::{VpnSessionError, VpnSessionHandler}, + storage::{SessionInfo, VpnSessionStorage}, + }, + ResponseTx, +}; + +pub struct Daemon { + // in memory current state of the server + client side state + state: DaemonState, + controller_server_and_event_broadcaster: ControllerServerAndEventBroadcaster, + daemon_command_sender: DaemonCommandSender, + daemon_receiver: DaemonReceiver, + device_handler: DeviceHandler, + vpn_session_storage: VpnSessionStorage, + device_storage: DeviceStorage, + vpn_session_handler: VpnSessionHandler, + tunnel_state_machine_handle: TunnelStateMachineHandle, + location_storage: LocationStorage, + shutdown: Option, +} + +#[derive(Debug, thiserror::Error)] +pub enum DaemonError { + #[error("daemon is offline")] + DaemonUnavailable, + #[error("another vpn session in progress: {0}")] + AnotherVpnSessionInProgress(Location), + #[error("invalid op when vpn session in progress: {0}")] + InvalidOpVpnSessionInProgress(String), + #[error("")] + DbErr(#[from] DbErr), + #[error("device error: {0}")] + DeviceError(#[from] DeviceError), + #[error("vpn session error: {0}")] + VpnSessionError(#[from] VpnSessionError), +} + +#[derive(Debug)] +pub enum DaemonCommand { + IsAuthenticated(ResponseTx), + AccountSignIn(ResponseTx<(), DaemonError>, UserCredentials), + AccountSignOut(ResponseTx<(), DaemonError>), + ListLocations(ResponseTx, DaemonError>), + RecentLocations(ResponseTx, DaemonError>), + Connect(ResponseTx, Location), + Disconnect(ResponseTx), + GetVpnStatus(ResponseTx), + GetNotifications(ResponseTx, DaemonError>), + AckNotification(ResponseTx<(), DaemonError>, String), + LatestAppVersion(ResponseTx), +} + +pub type DaemonReceiver = tokio::sync::mpsc::UnboundedReceiver; +pub type DaemonSender = tokio::sync::mpsc::UnboundedSender; + +pub struct DaemonCommandChannel { + sender: DaemonCommandSender, + receiver: DaemonReceiver, +} + +impl DaemonCommandChannel { + pub fn new() -> Self { + let (tx, rx) = tokio::sync::mpsc::unbounded_channel(); + Self { + sender: DaemonCommandSender(tx), + receiver: rx, + } + } + + pub fn sender(&self) -> DaemonCommandSender { + self.sender.clone() + } + + pub fn destructure(self) -> (DaemonCommandSender, DaemonReceiver) { + (self.sender, self.receiver) + } +} + +#[derive(Clone)] +pub struct DaemonCommandSender(DaemonSender); + +#[derive(Clone)] +pub struct DaemonEventSender(DaemonSender); + +impl DaemonCommandSender { + pub fn send(&self, command: DaemonCommand) -> Result<(), DaemonError> { + self.0 + .send(DaemonEvent::Command(command)) + .map_err(|_| DaemonError::DaemonUnavailable) + } +} + +impl DaemonEventSender { + pub fn send(&self, event: DaemonEvent) -> Result<(), DaemonError> { + self.0 + .send(event) + .map_err(|_| DaemonError::DaemonUnavailable) + } +} + +impl talpid_core::mpsc::Sender for DaemonEventSender +where + DaemonEvent: From, +{ + fn send(&self, event: E) -> Result<(), talpid_core::mpsc::Error> { + self.0 + .send(DaemonEvent::from(event)) + .map_err(|_| talpid_core::mpsc::Error::ChannelClosed) + } +} + +impl From for DaemonEventSender { + fn from(dcs: DaemonCommandSender) -> Self { + Self(dcs.0) + } +} + +/// All possible events that can happen during the lifetime of a Daemon +#[derive(Debug)] +pub enum DaemonEvent { + /// Command for the Daemon + Command(DaemonCommand), + /// Initiated by signals like ctrl-c, SIGINT or SIGTERM + Shutdown, + /// Vpn Session Status received from Server + VpnSessionStatus(VpnSessionStatus), + /// Tunnel has changed state. + TunnelStateTransition(TunnelStateTransition), +} + +impl From for DaemonEvent { + fn from(tst: TunnelStateTransition) -> Self { + DaemonEvent::TunnelStateTransition(tst) + } +} + +impl Display for DaemonEvent { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let event = match self { + DaemonEvent::Command(command) => match command { + DaemonCommand::IsAuthenticated(_) => "IsAuthenticated".into(), + DaemonCommand::AccountSignIn(_, user_creds) => { + format!("AccountSignIn: {}", user_creds.email) + } + DaemonCommand::AccountSignOut(_) => "AccountSignOut".into(), + DaemonCommand::ListLocations(_) => "ListLocations".into(), + DaemonCommand::RecentLocations(_) => "RecentLocations".into(), + DaemonCommand::Connect(_, location) => format!("Connect: {}", location.code), + DaemonCommand::Disconnect(_) => "Disconnect".into(), + DaemonCommand::GetVpnStatus(_) => "GetVpnStatus".into(), + DaemonCommand::GetNotifications(_) => "GetNotifications".into(), + DaemonCommand::AckNotification(_, id) => format!("AckNotification: {id}"), + DaemonCommand::LatestAppVersion(_) => "LatestAppVersion".into(), + }, + DaemonEvent::Shutdown => "Shutdown".into(), + DaemonEvent::VpnSessionStatus(status) => format!("VpnSessionStatus: {status}"), + DaemonEvent::TunnelStateTransition(transition) => match transition { + TunnelStateTransition::Disconnected => "TunnelStateTransition: Disconnected".into(), + TunnelStateTransition::Connecting(endpoint) => { + format!("TunnelStateTransition: {endpoint}") + } + TunnelStateTransition::Connected(endpoint) => { + format!("TunnelStateTransition: {endpoint}") + } + TunnelStateTransition::Disconnecting(action) => { + format!("TunnelStateTransition: {action:?}") + } + TunnelStateTransition::Error(e) => format!("TunnelStateTransition: {e:?}"), + }, + }; + + write!(f, "{event}") + } +} + +#[async_trait::async_trait] +pub trait EventListener { + async fn send_vpn_status(&self, status: VpnStatus); + + async fn send_notification(&self, notification: Notification); + + //todo: add other events +} + +impl Daemon { + pub fn new( + dc: DaemonCommandChannel, + device_handler: DeviceHandler, + vpn_session_storage: VpnSessionStorage, + device_storage: DeviceStorage, + vpn_session_handler: VpnSessionHandler, + controller_server_and_event_broadcaster: ControllerServerAndEventBroadcaster, + tunnel_state_machine_handle: TunnelStateMachineHandle, + location_storage: LocationStorage, + shutdown: Option, + ) -> Self { + let (daemon_command_sender, daemon_receiver) = dc.destructure(); + + Daemon { + state: DaemonState::new(), + daemon_command_sender, + daemon_receiver, + device_handler, + device_storage, + vpn_session_storage, + vpn_session_handler, + controller_server_and_event_broadcaster, + tunnel_state_machine_handle, + location_storage, + shutdown, + } + } + + fn register_shutdown(&mut self) { + let mut shutdown = self.shutdown.take().unwrap(); + let sender = DaemonEventSender::from(self.daemon_command_sender.clone()); + tokio::spawn(async move { + shutdown.recv().await; + if let Err(e) = sender.send(DaemonEvent::Shutdown) { + //todo: Display trait + tracing::error!("failed to send shutdown event to Daemon: {e:#?}"); + } + }); + } + + pub async fn run(mut self) { + self.register_shutdown(); + while let Some(event) = self.daemon_receiver.recv().await { + if let DaemonEvent::Shutdown = event { + break; + } + self.handle_event(event).await; + } + self.handle_shutdown().await; + } + + async fn handle_shutdown(mut self) { + tracing::info!("handling shutdown ..."); + + // if any, disconnect and end existing session + if let Err(err) = self.on_disconnect_inner("daemon shutdown".into()).await { + tracing::error!("when ending session during shutdown: {err}"); + }; + + // wait for tunnel state machine to stop + self.tunnel_state_machine_handle.try_join().await; + + if let Err(err) = self.vpn_session_handler.shutdown().await { + tracing::error!("error when vpn session handler was shutting down: {err}"); + }; + + let ControllerServerAndEventBroadcaster { + events_subscribers, + controller_server_handle, + } = self.controller_server_and_event_broadcaster; + + let mut guard = events_subscribers.write().await; + guard.clear(); + + drop(guard); + drop(events_subscribers); + + let _ = tokio::join!(controller_server_handle); + // device handler last as controller depends on it for auth + if let Err(err) = self.device_handler.shutdown().await { + tracing::error!("error when device handler was shutting down: {err}"); + }; + } + + async fn handle_event(&mut self, event: DaemonEvent) { + tracing::debug!("daemon event: {event}"); + match event { + DaemonEvent::Command(command) => self.handle_command(command).await, + DaemonEvent::VpnSessionStatus(vpn_session_status) => { + self.handle_vpn_session_status(vpn_session_status).await + } + DaemonEvent::TunnelStateTransition(transition) => { + self.handle_tunnel_state_transition(transition).await + } + DaemonEvent::Shutdown => {} + } + } + + async fn handle_tunnel_state_transition(&mut self, transition: TunnelStateTransition) { + tracing::info!("tunnel transition: {transition:?}"); + let processed = self + .vpn_session_storage + .tunnel_state_transition(transition.clone(), self.state.vpn_status()) + .await + .expect("failed to process tunnel state transition"); + + if let Some(reason) = processed.end_session { + tracing::info!("ending session after tunnel transition {reason}"); + if let Err(err) = self.end_session(reason).await { + tracing::error!( + "failed to end session on state transition: {transition:?}: {err:?}" + ); + }; + } + + if let Some(session_info) = processed.client_connected { + tracing::info!("client connected {}", session_info.request_id); + self.client_connected(session_info).await; + } + + if let Some(tunnel_command) = processed.tunnel_command { + tracing::info!("sending tunnel command after tunnel state transition"); + self.send_tunnel_command(tunnel_command); + } + + if let Some(notification) = processed.notification { + tracing::info!("sending notification after tunnel state transition {notification:?}"); + self.add_notification(notification).await; + } + + // update vpn status and send device event + self.set_vpn_status(processed.vpn_status).await; + } + + async fn handle_vpn_session_status(&mut self, vpn_session_status: VpnSessionStatus) { + // Update DB and get next set of actions + let processed = self + .vpn_session_storage + .updated_server_status(vpn_session_status.clone()) + .await + .map_err(|e| { + tracing::error!( + "failed to process updated vpn session status {vpn_session_status}: {e}" + ) + }) + .expect("unrecoverable db error in handle_vpn_session_status"); + + if let Some(notification) = processed.notification { + self.add_notification(notification).await; + } + + if let Some(new_vpn_status) = processed.vpn_status { + // Update in memory status and notify clients of new status + self.set_vpn_status(new_vpn_status.clone()).await; + + // Start next state machine if this is ServerReady + self.update_tunnel_on_new_status(new_vpn_status).await; + } + } + + async fn update_tunnel_on_new_status(&self, new_vpn_status: VpnStatus) { + if let VpnStatus::ServerReady(_) = new_vpn_status { + self.send_tunnel_command(TunnelCommand::Connect); + } + } + + async fn handle_command(&mut self, command: DaemonCommand) { + match command { + DaemonCommand::IsAuthenticated(tx) => self.is_authenticated(tx).await, + DaemonCommand::AccountSignIn(tx, auth_input) => { + self.on_account_sign_in(tx, auth_input).await + } + DaemonCommand::AccountSignOut(tx) => self.on_account_sign_out(tx).await, + DaemonCommand::ListLocations(tx) => self.on_list_locations(tx).await, + DaemonCommand::RecentLocations(tx) => self.on_recent_locations(tx).await, + DaemonCommand::Connect(tx, location) => self.on_connect(tx, location).await, + DaemonCommand::Disconnect(tx) => self.on_disconnect(tx).await, + DaemonCommand::GetVpnStatus(tx) => self.on_get_vpn_status(tx).await, + DaemonCommand::GetNotifications(tx) => self.on_get_notifications(tx).await, + DaemonCommand::AckNotification(tx, id) => self.on_ack_notification(tx, id).await, + DaemonCommand::LatestAppVersion(tx) => self.on_latest_app_version(tx).await, + } + } + + async fn on_latest_app_version(&self, tx: ResponseTx) { + let device_handler = self.device_handler.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + device_handler + .latest_app_version() + .await + .map_err(DaemonError::DeviceError), + "on_latest_app_version", + ); + }); + } + + async fn on_get_notifications(&self, tx: ResponseTx, DaemonError>) { + let notifications = self.state.notifications(); + tokio::spawn(async move { + Self::oneshot_send(tx, Ok(notifications), "on_get_notifications"); + }); + } + + async fn on_ack_notification(&mut self, tx: ResponseTx<(), DaemonError>, id: String) { + self.state.remove_notification(id); + tokio::spawn(async move { + Self::oneshot_send(tx, Ok(()), "on_ack_notification"); + }); + } + + async fn add_notification(&mut self, notification: Notification) { + // save in current state + self.state.add_notification(notification.clone()); + // notify event listeners + self.controller_server_and_event_broadcaster + .send_notification(notification) + .await; + } + + async fn set_vpn_status(&mut self, vpn_status: nymvpn_types::vpn_session::VpnStatus) { + // save current state + self.state.set_vpn_status(vpn_status.clone()); + // and notify event listeners, + { + // todo: make broadcaster clone-able and send event on spawned task + self.controller_server_and_event_broadcaster + .send_vpn_status(vpn_status.into()) + .await; + } + } + + async fn on_connect_inner(&mut self, location: Location) -> Result { + if let Some(location) = self.state.vpn_session_in_progress() { + tracing::warn!("another vpn session in progress: {location}"); + return Err(DaemonError::AnotherVpnSessionInProgress(location)); + } + + let request_id = self + .vpn_session_storage + .new_session(location.clone()) + .await?; + + let device_unique_id = self.device_storage.get_device_unique_id().await?; + + let new_session = NewSession { + request_id, + device_unique_id, + location_code: location.code.clone(), + }; + + match self + .vpn_session_handler + .new_session(new_session.clone()) + .await + { + Ok(accepted) => { + // update local record + self.vpn_session_storage + .update_on_accepted(accepted) + .await?; + // update state + self.state.accepted(location.clone()); + + Ok(VpnStatus::Accepted(location)) + } + Err(err) => { + tracing::error!("cannot connect: {err}"); + // remove local record + self.vpn_session_storage + .delete(new_session.request_id) + .await?; + // add notification about it + let notification = self + .state + .add_notification_for_failed_new_session(request_id, location, err); + self.add_notification(notification).await; + Ok(VpnStatus::Disconnected) + } + } + } + + async fn on_connect( + &mut self, + tx: ResponseTx, + location: nymvpn_types::location::Location, + ) { + tracing::info!("Connection requested to {location}"); + let location_storage = self.location_storage.clone(); + let location_to_add = location.clone(); + tokio::spawn(async move { + if let Err(e) = location_storage.add_recent(location_to_add).await { + tracing::error!("failed to save recent location: {e}"); + } + }); + Self::oneshot_send(tx, self.on_connect_inner(location).await, "on_connect"); + } + + async fn tunnel_command_on_disconnect(&self) { + let current_state = self.state.vpn_status(); + match ¤t_state { + VpnStatus::ServerReady(_) | VpnStatus::Connecting(_) | VpnStatus::Connected(_, _) => { + self.send_tunnel_command(TunnelCommand::Disconnect) + } + VpnStatus::Accepted(_) + | VpnStatus::ServerCreated(_) + | VpnStatus::ServerRunning(_) + | VpnStatus::Disconnecting(_) + | VpnStatus::Disconnected => { + tracing::info!("Not sending tunnel command to disconnect. State: {current_state}"); + } + } + } + + async fn end_session(&mut self, end_reason: String) -> Result<(), DaemonError> { + // Get session info and mark for deletion in DB + let session_info = self.vpn_session_storage.end_session().await?; + + match session_info { + Some(session_info) => { + let device_unique_id = self.device_storage.get_device_unique_id().await?; + + let end_session = EndSession { + request_id: session_info.request_id, + device_unique_id, + vpn_session_uuid: session_info.vpn_session_id, + reason: end_reason, + }; + + // make api call to server to end session, + // ignore errors as reclaimer should eventually cleanup + match self + .vpn_session_handler + .end_session(end_session.clone()) + .await + { + Ok(ended) => { + tracing::info!("vpn session successfully ended on server: {ended}"); + // on success delete record from DB + self.vpn_session_storage + .delete(session_info.request_id) + .await?; + } + Err(err) => { + tracing::error!("couldn't end session on server {end_session}: {err}"); + } + }; + } + None => { + tracing::warn!("No existing vpn session found in DB in end_session"); + } + } + + Ok(()) + } + + async fn client_connected(&self, session_info: SessionInfo) { + let device_storage = self.device_storage.clone(); + let vpn_session_handler = self.vpn_session_handler.clone(); + tokio::spawn(async move { + async fn call_client_connected( + session_info: SessionInfo, + device_storage: DeviceStorage, + vpn_session_handler: VpnSessionHandler, + ) -> Result<(), DaemonError> { + let device_unique_id = device_storage.get_device_unique_id().await?; + + let client_connected = ClientConnected { + request_id: session_info.request_id, + device_unique_id, + vpn_session_uuid: session_info.vpn_session_id, + }; + + let _ = vpn_session_handler + .client_connected(client_connected.clone()) + .await; + Ok(()) + } + + if let Err(e) = + call_client_connected(session_info.clone(), device_storage, vpn_session_handler) + .await + { + tracing::error!( + "couldn't make client connected call on server: {session_info}: {e}" + ); + } + + Ok::<(), DaemonError>(()) + }); + } + + async fn on_disconnect_inner(&mut self, end_reason: String) -> Result { + self.tunnel_command_on_disconnect().await; + self.end_session(end_reason).await?; + let status = self.state.update_state_on_disconnect(); + self.controller_server_and_event_broadcaster + .send_vpn_status(status.clone()) + .await; + Ok(status) + } + + async fn on_disconnect(&mut self, tx: ResponseTx) { + tracing::info!("Disconnect requested"); + Self::oneshot_send( + tx, + self.on_disconnect_inner("client requested".into()).await, + "on_disconnect", + ); + } + + async fn on_get_vpn_status(&self, tx: ResponseTx) { + let vpn_status = self.state.vpn_status(); + tokio::spawn(async move { + Self::oneshot_send(tx, Ok(vpn_status), "on_get_vpn_status_response") + }); + } + + async fn is_authenticated(&self, tx: ResponseTx) { + let device_handler = self.device_handler.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + Ok(device_handler.is_authenticated().await), + "is_authenticated_response", + ) + }); + } + + async fn on_account_sign_in( + &self, + tx: ResponseTx<(), DaemonError>, + user_creds: UserCredentials, + ) { + // if vpn session in progress do not sign in + if let Some(location) = self.state.vpn_session_in_progress() { + tracing::warn!("sign in attempt when vpn session in progress: {location}"); + Self::oneshot_send( + tx, + Err(DaemonError::InvalidOpVpnSessionInProgress(format!( + "cannot sign in when a vpn session is in progress (to city {})", + location.city + ))), + "on_account_sign_in error", + ); + } else { + let device_handler = self.device_handler.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + device_handler + .sign_in(user_creds) + .await + .map_err(DaemonError::DeviceError), + "on_account_login response", + ) + }); + } + } + + async fn on_account_sign_out(&self, tx: ResponseTx<(), DaemonError>) { + // if vpn session in progress do not sign out + if let Some(location) = self.state.vpn_session_in_progress() { + tracing::warn!("sign out attempt when vpn session in progress: {location}"); + Self::oneshot_send( + tx, + Err(DaemonError::InvalidOpVpnSessionInProgress(format!( + "cannot sign out when a vpn session is in progress (to city {})", + location.city + ))), + "on_account_sign_out error", + ); + } else { + let device_handler = self.device_handler.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + device_handler + .sign_out() + .await + .map_err(DaemonError::DeviceError), + "on_account_sign_out response", + ) + }); + } + } + + async fn on_list_locations(&self, tx: ResponseTx, DaemonError>) { + let vpn_session_handler = self.vpn_session_handler.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + vpn_session_handler + .list_locations() + .await + .map_err(DaemonError::VpnSessionError), + "on_list_locations response", + ) + }); + } + + async fn on_recent_locations(&self, tx: ResponseTx, DaemonError>) { + let location_storage = self.location_storage.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + location_storage.recent().await.map_err(DaemonError::DbErr), + "on_recent_locations response", + ) + }); + } + + fn send_tunnel_command(&self, command: TunnelCommand) { + self.tunnel_state_machine_handle + .command_tx() + .unbounded_send(command) + .expect("Tunnel state machine has stopped"); + } + + fn oneshot_send(tx: oneshot::Sender, t: T, msg: &'static str) { + if tx.send(t).is_err() { + tracing::warn!("Unable to send {} to the daemon command sender", msg); + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/db.rs b/nym-vpn/desktop/nymvpn-daemon/src/db.rs new file mode 100644 index 00000000000..7fa4a1fda11 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/db.rs @@ -0,0 +1,37 @@ +use nymvpn_config::config; +use nymvpn_migration::{ + sea_orm::{ConnectOptions, Database, DatabaseConnection}, + Migrator, MigratorTrait, +}; + +#[derive(Debug, Clone)] +pub struct Db { + connection: DatabaseConnection, +} + +impl Db { + pub async fn new() -> Result { + let config = config(); + tokio::fs::create_dir_all(config.db_dir()) + .await + .map_err(|e| format!("Error creating DB directory {e}"))?; + + let mut opts = ConnectOptions::new(config.db_url()); + opts.sqlx_logging(false); + Ok(Self { + connection: Database::connect(opts) + .await + .map_err(|e| format!("Error connecting to database {e}"))?, + }) + } + + pub async fn migrate(&self) -> Result<(), String> { + Migrator::up(&self.connection, None) + .await + .map_err(|e| format!("failed to run db migration {e}")) + } + + pub fn connection(&self) -> DatabaseConnection { + self.connection.clone() + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/device/handler.rs b/nym-vpn/desktop/nymvpn-daemon/src/device/handler.rs new file mode 100644 index 00000000000..5bf85e4cf18 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/device/handler.rs @@ -0,0 +1,244 @@ +use tokio::sync::{mpsc, oneshot}; +use nymvpn_controller::auth::Auth; +use nymvpn_migration::sea_orm::DatabaseConnection; +use nymvpn_server::{ServerApi, ServerApiNoAuth}; +use nymvpn_types::nymvpn_server::{AddDeviceRequest, UserCredentials}; + +use crate::{token_storage::TokenStorage, AckTx, ResponseTx}; + +use super::{storage::DeviceStorage, DeviceError}; + +#[derive(Debug, Clone)] +pub struct DeviceHandler { + tx: mpsc::UnboundedSender, +} + +impl DeviceHandler { + pub async fn start(db: DatabaseConnection) -> Result { + let (sender, receiver) = mpsc::unbounded_channel(); + + let mut device_service = DeviceService::new(db, receiver).await?; + + tokio::spawn(async move { device_service.run().await }); + + Ok(Self { tx: sender }) + } + + pub async fn sign_in(&self, user_creds: UserCredentials) -> Result<(), DeviceError> { + self.send_command(move |tx| DeviceCommand::SignIn(tx, user_creds)) + .await + } + + pub async fn sign_out(&self) -> Result<(), DeviceError> { + self.send_command(move |tx| DeviceCommand::SignOut(tx)) + .await + } + + pub async fn latest_app_version(&self) -> Result { + self.send_command(move |tx| DeviceCommand::LatestAppVersion(tx)) + .await + } + + pub async fn shutdown(&self) -> Result<(), DeviceError> { + let (tx, rx) = oneshot::channel(); + self.tx + .send(DeviceCommand::Shutdown(tx)) + .map_err(|_| DeviceError::DeviceServiceUnavailable)?; + rx.await + .map_err(|_| DeviceError::DeviceServiceUnavailable)?; + Ok(()) + } + + pub async fn send_command( + &self, + make_cmd: impl FnOnce(oneshot::Sender>) -> DeviceCommand, + ) -> Result { + let (tx, rx) = oneshot::channel(); + self.tx + .send(make_cmd(tx)) + .map_err(|_| DeviceError::DeviceServiceUnavailable)?; + rx.await + .map_err(|_| DeviceError::DeviceServiceUnavailable)? + } +} + +#[async_trait::async_trait] +impl Auth for DeviceHandler { + async fn is_authenticated(&self) -> bool { + let response = self + .send_command(|tx| DeviceCommand::IsAuthenticated(tx)) + .await + .map_err(|e| tracing::error!("failed to check if device is authenticated: {e}")) + .ok(); + + response.is_some() && response.unwrap() + } +} + +pub enum DeviceCommand { + SignIn(ResponseTx<(), DeviceError>, UserCredentials), + SignOut(ResponseTx<(), DeviceError>), + BearerToken(ResponseTx, DeviceError>), + IsAuthenticated(ResponseTx), + Shutdown(AckTx), + LatestAppVersion(ResponseTx), +} + +pub struct DeviceService { + token: Option, + rx: mpsc::UnboundedReceiver, + device_storage: DeviceStorage, + token_storage: TokenStorage, +} + +impl DeviceService { + pub async fn new( + db: DatabaseConnection, + rx: mpsc::UnboundedReceiver, + ) -> Result { + let device_storage = DeviceStorage::new(db.clone()); + let token_storage = TokenStorage::new(db); + let token = token_storage.get_token().await?; + Ok(Self { + token, + rx, + device_storage, + token_storage, + }) + } + + pub async fn run(&mut self) { + let mut shutdown_tx = None; + while let Some(msg) = self.rx.recv().await { + if let DeviceCommand::Shutdown(tx) = msg { + shutdown_tx = Some(tx); + break; + } + self.handle_message(msg).await; + } + + tracing::info!("Device service shutting down"); + if shutdown_tx.is_some() { + let _ = shutdown_tx.unwrap().send(()); + } + } + + async fn handle_message(&mut self, msg: DeviceCommand) { + match msg { + DeviceCommand::SignIn(tx, user_creds) => self.handle_sign_in(tx, user_creds).await, + DeviceCommand::SignOut(tx) => self.handle_sign_out(tx).await, + DeviceCommand::BearerToken(tx) => self.handle_bearer_token(tx).await, + DeviceCommand::IsAuthenticated(tx) => self.handle_is_authenticated(tx).await, + DeviceCommand::Shutdown(_) => {} + DeviceCommand::LatestAppVersion(tx) => self.handle_latest_app_version(tx).await, + } + } + + async fn handle_latest_app_version_inner(&mut self) -> Result { + let mut server_api = ServerApi::new(self.token_storage.clone()).await?; + let version = server_api.latest_app_version().await?; + + Ok(version) + } + + async fn handle_latest_app_version(&mut self, tx: ResponseTx) { + Self::oneshot_send( + tx, + self.handle_latest_app_version_inner().await, + "handle_latest_app_version_inner", + ); + } + + async fn handle_sign_in_inner( + &mut self, + user_creds: UserCredentials, + ) -> Result<(), DeviceError> { + let mut nymvpn_service = ServerApiNoAuth::new().await?; + self.device_storage + .init() + .await + .map_err(DeviceError::InitError)?; + let device_details = self.device_storage.get_device().await?.unwrap(); + + let add_device_request = AddDeviceRequest { + user_creds, + device_info: device_details.clone().into(), + }; + + // make API call + let add_device_response = nymvpn_service.add_device(add_device_request).await?; + + // save token + self.token_storage + .save_token(add_device_response.token.clone()) + .await?; + + // update device ip addresses + let device_details = self + .device_storage + .update_ipv4_address( + device_details.unique_id, + add_device_response.device_addresses.ipv4_address, + ) + .await?; + + tracing::info!("Successfully signed in {device_details}"); + + // keep this new token in memory + self.token = Some(add_device_response.token); + + Ok(()) + } + + async fn handle_sign_in( + &mut self, + tx: ResponseTx<(), DeviceError>, + user_creds: UserCredentials, + ) { + Self::oneshot_send( + tx, + self.handle_sign_in_inner(user_creds).await, + "handle_sign_in", + ); + } + + async fn handle_sign_out_inner(&mut self) -> Result<(), DeviceError> { + // make API call to invalidate token + let mut server_api = ServerApi::new(self.token_storage.clone()).await?; + + server_api.sign_out().await?; + + // reinitialize device + self.device_storage.reinitialize("sign out").await?; + // remove from DB and memory + self.token_storage.remove_all().await?; + self.token = None; + + Ok(()) + } + + async fn handle_sign_out(&mut self, tx: ResponseTx<(), DeviceError>) { + Self::oneshot_send(tx, self.handle_sign_out_inner().await, "handle_sign_out"); + } + + async fn handle_bearer_token(&self, tx: ResponseTx, DeviceError>) { + let token = self.token.clone(); + tokio::spawn(async move { + Self::oneshot_send(tx, Ok(token), "handle_bearer_token"); + }); + } + + async fn handle_is_authenticated(&self, tx: ResponseTx) { + let token = self.token.clone(); + tokio::spawn(async move { + // todo: validate token from backend; if invalid purge from DB and memory + Self::oneshot_send(tx, Ok(token.is_some()), "handle_is_authenticated") + }); + } + + fn oneshot_send(tx: oneshot::Sender, t: T, msg: &'static str) { + if tx.send(t).is_err() { + tracing::warn!("Failed to respond from DeviceService {}", msg); + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/device/init.rs b/nym-vpn/desktop/nymvpn-daemon/src/device/init.rs new file mode 100644 index 00000000000..0a189507cce --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/device/init.rs @@ -0,0 +1,9 @@ +use nymvpn_migration::sea_orm::DatabaseConnection; +use nymvpn_types::device::DeviceDetails; + +use super::storage::DeviceStorage; + +pub async fn initialize_device(db: DatabaseConnection) -> Result { + let device_storage = DeviceStorage::new(db); + device_storage.init().await +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/device/mod.rs b/nym-vpn/desktop/nymvpn-daemon/src/device/mod.rs new file mode 100644 index 00000000000..9a334c913dd --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/device/mod.rs @@ -0,0 +1,20 @@ +use nymvpn_migration::DbErr; + +pub mod handler; +pub mod init; +pub mod name; +pub mod storage; + +#[derive(Debug, thiserror::Error)] +pub enum DeviceError { + #[error("device service is unavailable")] + DeviceServiceUnavailable, + #[error("server error: {0}")] + Server(#[from] tonic::Status), + #[error("error connecting to server: {0}")] + Connection(#[from] tonic::transport::Error), + #[error("db error: {0}")] + DbErr(#[from] DbErr), + #[error("failed to initialize device: {0}")] + InitError(String), +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/device/name.rs b/nym-vpn/desktop/nymvpn-daemon/src/device/name.rs new file mode 100644 index 00000000000..44cdf0bb3b0 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/device/name.rs @@ -0,0 +1,54 @@ +use std::process::Command; + +pub fn command_stdout_lossy(cmd: &str, args: &[&str]) -> Option { + Command::new(cmd) + .args(args) + .output() + .map(|output| String::from_utf8_lossy(&output.stdout).trim().to_string()) + .ok() +} + +pub fn logged_in_user() -> Option { + #[cfg(target_os = "linux")] + let output = command_stdout_lossy("last", &["-n", "100"]); + #[cfg(target_os = "macos")] + let output = command_stdout_lossy("last", &["-100"]); + #[cfg(target_os = "windows")] + let output: Option = None; + + let mut found_name = None; + + if let Some(output) = output { + for line in output.lines() { + if line.contains("logged in") { + if let Some(name) = line.split_whitespace().nth(0) { + found_name = Some(name.to_string()); + break; + } + } + } + } + + found_name +} + +pub fn hostname() -> Option { + command_stdout_lossy("hostname", &[]) +} + +pub fn device_name() -> String { + logged_in_user() + .or_else(hostname) + .map(|user| { + if user.is_empty() { + "[unknown]".into() + } else { + user + } + }) + .unwrap_or("[unknown]".into()) +} + +pub fn device_version() -> String { + talpid_platform_metadata::version() +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/device/storage.rs b/nym-vpn/desktop/nymvpn-daemon/src/device/storage.rs new file mode 100644 index 00000000000..9b61cd37fb1 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/device/storage.rs @@ -0,0 +1,132 @@ +use std::net::Ipv4Addr; + +use chrono::Utc; +use nymvpn_migration::{ + sea_orm::{ActiveModelTrait, DatabaseConnection, EntityTrait, QuerySelect, Set}, + DbErr, +}; +use nymvpn_types::{ + device::{DeviceDetails, ANDROID, IOS, LINUX, MACOS, WINDOWS}, + nymvpn_server::DeviceType, +}; +use uuid::Uuid; + +use crate::device::name::{device_name, device_version}; + +#[derive(Clone)] +pub struct DeviceStorage { + db: DatabaseConnection, +} + +fn create_new() -> Result { + let device_type = match std::env::consts::OS { + LINUX => DeviceType::Linux, + MACOS => DeviceType::MacOS, + WINDOWS => DeviceType::Windows, + ANDROID => DeviceType::Android, + IOS => DeviceType::IOS, + os => Err(format!("OS not supported: {os}"))?, + }; + let arch = std::env::consts::ARCH; + tracing::info!("detected device type: {device_type}, arch : {arch}"); + Ok(DeviceDetails { + name: device_name(), + version: device_version(), + arch: arch.into(), + unique_id: uuid::Uuid::new_v4(), + device_type, + wireguard_meta: Default::default(), + created_at: Utc::now(), + }) +} + +impl DeviceStorage { + pub fn new(db: DatabaseConnection) -> DeviceStorage { + Self { db } + } + + pub async fn init(&self) -> Result { + tracing::info!("Initializing device"); + let device = nymvpn_entity::device::Entity::find() + .one(&self.db) + .await + .map_err(|e| format!("unable to get device details: {e}"))?; + + if let Some(device) = device { + tracing::info!("device already initialized"); + let device_details = device.try_into()?; + tracing::info!("found: {device_details}"); + return Ok(device_details); + } + + // No device found create one + tracing::info!("creating new device"); + let device_details = create_new()?; + + // save to DB + let device: nymvpn_entity::device::Model = device_details.clone().into(); + let device: nymvpn_entity::device::ActiveModel = device.into(); + + let _ = device + .insert(&self.db) + .await + .map_err(|e| format!("failed to save device detail {e}"))?; + + tracing::info!("new device saved: {device_details}"); + + Ok(device_details) + } + + pub async fn reinitialize(&self, reason: &str) -> Result<(), DbErr> { + tracing::info!("reinitializing device: {reason}"); + let _ = nymvpn_entity::device::Entity::delete_many() + .exec(&self.db) + .await?; + let _ = self.init().await; + Ok(()) + } + + // Assumes device was initialized successfully + pub async fn get_device_unique_id(&self) -> Result { + let id: (String,) = nymvpn_entity::device::Entity::find() + .select_only() + .column(nymvpn_entity::device::Column::UniqueId) + .into_tuple() + .one(&self.db) + .await? + .unwrap(); + + Ok(Uuid::parse_str(&id.0).unwrap()) + } + + pub async fn get_device(&self) -> Result, DbErr> { + let device = nymvpn_entity::device::Entity::find().one(&self.db).await?; + + if let Some(device) = device { + let device_details = device.try_into().map_err(|e| DbErr::Custom(e))?; + return Ok(Some(device_details)); + } + + Ok(None) + } + + pub async fn update_ipv4_address( + &self, + unique_id: Uuid, + ipv4_address: Ipv4Addr, + ) -> Result { + let device = nymvpn_entity::device::Entity::find_by_id(unique_id.to_string()) + .one(&self.db) + .await? + .ok_or(DbErr::RecordNotFound(format!( + "device with unique id {unique_id} not found" + )))?; + + let mut device: nymvpn_entity::device::ActiveModel = device.into(); + device.ipv4_address = Set(Some(ipv4_address.to_string())); + + let device = device.update(&self.db).await?; + + Ok(device.try_into().map_err(|e| DbErr::Custom(e))?) + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/lib.rs b/nym-vpn/desktop/nymvpn-daemon/src/lib.rs new file mode 100644 index 00000000000..e3735c4b704 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/lib.rs @@ -0,0 +1,217 @@ +use daemon::Daemon; +use shutdown::ShutdownManager; +use talpid_core::tunnel_state_machine; +use talpid_types::net::{AllowedEndpoint, Endpoint}; +use tokio::sync::oneshot; + +pub mod cleanup; +pub mod controller; +pub mod daemon; +pub mod db; +pub mod device; +pub mod location_storage; +pub mod logging; +#[cfg(target_os = "macos")] +pub mod macos; +pub mod runtime; +pub mod shutdown; +pub mod state; +#[cfg(windows)] +pub mod system_service; +pub mod token_storage; +pub mod tunnel; +pub mod unique; +pub mod vpn_session; +#[cfg(any(target_os = "macos", target_os = "linux"))] +use crate::cleanup::remove_old_socket_file; +use tokio_stream::StreamExt; +use nymvpn_config::config; + +pub type ResponseTx = oneshot::Sender>; +pub type AckTx = oneshot::Sender<()>; + +use std::{error::Error, path::PathBuf}; + +use crate::{ + controller::ControllerServer, + daemon::{DaemonCommandChannel, DaemonEventSender}, + db::Db, + device::{handler::DeviceHandler, init::initialize_device, storage::DeviceStorage}, + location_storage::LocationStorage, + token_storage::TokenStorage, + tunnel::ParameterGenerator, + unique::already_running, + vpn_session::{ + handler::VpnSessionHandler, reclaimer::ReclaimerCreator, storage::VpnSessionStorage, + }, +}; + +fn print_error(e: &dyn Error) { + tracing::error!("error: {}", e); + let mut cause = e.source(); + while let Some(e) = cause { + tracing::error!("caused by: {}", e); + cause = e.source(); + } +} + +pub async fn create_daemon(shutdown_manager: &ShutdownManager) -> Result { + if already_running().await { + return Err("nymvpn Daemon is already running".to_owned()); + } + + #[cfg(any(target_os = "macos", target_os = "linux"))] + remove_old_socket_file().await; + + // root user is required otherwise vpn setup will fail + user_check(); + + let db = Db::new().await?; + // Run DB migrations + tracing::info!("Running DB migration"); + db.migrate().await?; + + // Initialize device + let _ = initialize_device(db.connection()).await?; + + let device_handler = DeviceHandler::start(db.connection()) + .await + .map_err(|e| format!("failed to start device handler: {e:#?}"))?; + + #[cfg(target_os = "macos")] + let exclusion_gid = { + macos::bump_filehandle_limit(); + macos::set_exclusion_gid().map_err(|e| format!("failed to set exclusion gid: {e}"))? + }; + + let config = config(); + let daemon_command_channel = DaemonCommandChannel::new(); + let controller_server_and_event_broadcaster = ControllerServer::start( + daemon_command_channel.sender(), + shutdown_manager, + device_handler.clone(), + ) + .await + .map_err(|e| e.to_string())?; + + let token_storage = TokenStorage::new(db.connection()); + let device_storage = DeviceStorage::new(db.connection()); + let location_storage = LocationStorage::new(db.connection()); + let vpn_session_storage = VpnSessionStorage::new(db.connection()); + + // Reclaim old sessions which were not gracefully ended completely + vpn_session_storage + .reclaim() + .await + .map_err(|e| format!("failed to reclaim {e}"))?; + + let vpn_session_handler = + VpnSessionHandler::start(daemon_command_channel.sender().into(), token_storage).await; + + // start reclaimer + ReclaimerCreator::start( + vpn_session_storage.clone(), + device_storage.clone(), + vpn_session_handler.clone(), + shutdown_manager.new_shutdown(), + ) + .await; + + let (offline_state_tx, mut offline_state_rx) = futures_channel::mpsc::unbounded(); + + //todo: make better use of offline_state_rx: + let mut offline_watcher_shutdown = shutdown_manager.new_shutdown(); + tokio::spawn(async move { + while !offline_watcher_shutdown.is_shutdown() { + tokio::select! { + Some(offline) = offline_state_rx.next() => { + tracing::info!("Is offline {offline}"); + }, + _ = offline_watcher_shutdown.recv() => { + tracing::info!("shutting down offline watcher"); + break; + } + } + } + }); + + let tunnel_parameters_generator = ParameterGenerator::new(db); + + #[cfg(windows)] + let exclude_paths = vec![]; + + #[cfg(target_os = "windows")] + let (_volume_update_tx, volume_update_rx) = futures::channel::mpsc::unbounded(); + + let allowed_endpoint = AllowedEndpoint { + #[cfg(windows)] + clients: vec![std::env::current_exe().expect("daemon executable path not available")], + endpoint: Endpoint::new( + config.allowed_endpoint_ipv4().clone(), + 44444, + talpid_types::net::TransportProtocol::Tcp, + ), + }; + + let resource_dir: PathBuf = std::env::current_exe() + .expect("error getting current_exe path") + .parent() + .expect("cannot obtain parent path for current_exe") + .into(); + + #[cfg(windows)] + tracing::info!("Resource dir: {}", resource_dir.display()); + + let tunnel_state_machine_handle = tunnel_state_machine::spawn( + tunnel_state_machine::InitialTunnelState { + allow_lan: true, + block_when_disconnected: false, + dns_servers: Some(vec!["1.1.1.1".parse().unwrap()]), + allowed_endpoint, + reset_firewall: true, + #[cfg(windows)] + exclude_paths, + }, + tunnel_parameters_generator, + Some(config.log_dir().into()), + resource_dir, + DaemonEventSender::from(daemon_command_channel.sender()), + offline_state_tx, + #[cfg(target_os = "windows")] + volume_update_rx, + #[cfg(target_os = "macos")] + exclusion_gid, + #[cfg(target_os = "android")] + None, + #[cfg(target_os = "linux")] + tunnel_state_machine::LinuxNetworkingIdentifiers { + fwmark: nymvpn_types::TUNNEL_FWMARK, + table_id: nymvpn_types::TUNNEL_TABLE_ID, + }, + ) + .await + .map_err(|e| { + print_error(&e); + e.to_string() + })?; + Ok(Daemon::new( + daemon_command_channel, + device_handler, + vpn_session_storage, + device_storage, + vpn_session_handler, + controller_server_and_event_broadcaster, + tunnel_state_machine_handle, + location_storage, + Some(shutdown_manager.new_shutdown()), + )) +} + +fn user_check() { + #[cfg(unix)] + { + if !nix::unistd::getuid().is_root() { + tracing::warn!("Running as non-root user, vpn setup will fail") + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/location_storage.rs b/nym-vpn/desktop/nymvpn-daemon/src/location_storage.rs new file mode 100644 index 00000000000..6b18d0336f4 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/location_storage.rs @@ -0,0 +1,76 @@ +use nymvpn_migration::{ + sea_orm::{ + ActiveModelTrait, ColumnTrait, DatabaseConnection, EntityTrait, QueryFilter, QueryOrder, + QuerySelect, QueryTrait, Set, + }, + DbErr, +}; +use nymvpn_types::location::Location; + +const RECENT_LIMIT: u64 = 2; + +#[derive(Clone)] +pub struct LocationStorage { + db: DatabaseConnection, +} + +impl LocationStorage { + pub fn new(db: DatabaseConnection) -> Self { + Self { db } + } + + pub async fn add_recent(&self, location: Location) -> Result<(), DbErr> { + let _ = nymvpn_entity::recent_locations::Entity::delete_many() + .filter(nymvpn_entity::recent_locations::Column::Code.eq(location.code.clone())) + .exec(&self.db) + .await?; + + // insert new record + let recent_location = nymvpn_entity::recent_locations::ActiveModel { + code: Set(location.code), + city: Set(location.city), + city_code: Set(location.city_code), + country: Set(location.country), + country_code: Set(location.country_code), + state: Set(location.state), + state_code: Set(location.state_code), + ..Default::default() + }; + + recent_location.insert(&self.db).await?; + + // delete older ones + let deleted_result = nymvpn_entity::recent_locations::Entity::delete_many() + .filter( + nymvpn_entity::recent_locations::Column::Id.not_in_subquery( + nymvpn_entity::recent_locations::Entity::find() + .select_only() + .column(nymvpn_entity::recent_locations::Column::Id) + .order_by_desc(nymvpn_entity::recent_locations::Column::Id) + .limit(RECENT_LIMIT) + .into_query(), + ), + ) + .exec(&self.db) + .await?; + + tracing::debug!( + "deleted from recent locations {}", + deleted_result.rows_affected + ); + + Ok(()) + } + + pub async fn recent(&self) -> Result, DbErr> { + Ok(nymvpn_entity::recent_locations::Entity::find() + .distinct() + .order_by_desc(nymvpn_entity::recent_locations::Column::Id) + .group_by(nymvpn_entity::recent_locations::Column::Code) + .all(&self.db) + .await? + .into_iter() + .map(nymvpn_types::location::Location::from) + .collect()) + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/logging.rs b/nym-vpn/desktop/nymvpn-daemon/src/logging.rs new file mode 100644 index 00000000000..207d51f1274 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/logging.rs @@ -0,0 +1,104 @@ +#[cfg(unix)] +use std::os::unix::prelude::PermissionsExt; +use std::{fs::Permissions, io, path::Path}; + +use talpid_core::logging::rotate_log; +use tracing_appender::non_blocking::WorkerGuard; +use tracing_subscriber::{fmt, prelude::*, EnvFilter}; +use nymvpn_config::config; + +const DEBUG: &[&str] = &["talpid_core"]; + +const INFO: &[&str] = &[ + "h2", + "rustls", + "mio", + "netlink_sys", + "want", + "nftnl", + "mnl", + "netlink_proto", + "hyper", + "tower", + "tokio_util", + "tonic", +]; + +const ERROR: &[&str] = &[]; + +const WARN: &[&str] = &[]; + +fn log_level(crates: &[&str], level: &str) -> String { + crates + .iter() + .map(|c| format!("{c}={level}")) + .collect::>() + .join(",") +} + +pub fn init() -> Result> { + if !std::env::var("RUST_LOG").is_ok() { + let info = log_level(INFO, "info"); + let debug = log_level(DEBUG, "debug"); + let warn = log_level(WARN, "warn"); + let error = log_level(ERROR, "error"); + let all = [info, debug, warn, error]; + let all = all.join(","); + std::env::set_var("RUST_LOG", format!("info,{all}")); + } + + let config = config(); + + #[cfg(unix)] + let permissions = Some(PermissionsExt::from_mode(0o755)); + + #[cfg(not(unix))] + let permissions = None; + + create_dir(config.log_dir(), permissions)?; + rotate_log(&config.log_dir().join(config.daemon_log_filename()))?; + + let file_appender = + tracing_appender::rolling::never(config.log_dir(), config.daemon_log_filename()); + let (file_writer, worker_guard) = tracing_appender::non_blocking(file_appender); + + tracing_subscriber::registry() + .with(EnvFilter::from_default_env()) + .with( + fmt::Layer::default() + .with_writer(io::stdout) + .with_writer(io::stderr), + ) + .with( + fmt::Layer::default() + .with_writer(file_writer) + .with_ansi(false), + ) + .try_init()?; + + std::panic::set_hook(Box::new(|panic| { + // If the panic has a source location, record it as structured fields. + if let Some(_location) = panic.location() { + tracing::error!( + message = %panic, + ); + } else { + tracing::error!(message = %panic); + } + })); + + tracing::info!("RUST_LOG: {}", std::env::var("RUST_LOG").unwrap()); + + Ok(worker_guard) +} + +fn create_dir(path: &Path, perm: Option) -> Result<(), Box> { + std::fs::create_dir_all(path)?; + + if perm.is_some() { + let perm = perm.unwrap(); + std::fs::set_permissions(path, perm.clone())? + } + + Ok(()) +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/macos.rs b/nym-vpn/desktop/nymvpn-daemon/src/macos.rs new file mode 100644 index 00000000000..5bf20284b92 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/macos.rs @@ -0,0 +1,75 @@ +// Copyright (C) 2022 Mullvad VPN AB, GPL-3.0 +use std::{ffi::CStr, io}; + +/// name of the group that should be excluded +const EXCLUSION_GROUP: &[u8] = b"nymvpn-exclusion\0"; + +/// Bump filehandle limit +pub fn bump_filehandle_limit() { + let mut limits = libc::rlimit { + rlim_cur: 0, + rlim_max: 0, + }; + // SAFETY: `&mut limits` is a valid pointer parameter for the getrlimit syscall + let status = unsafe { libc::getrlimit(libc::RLIMIT_NOFILE, &mut limits) }; + if status != 0 { + tracing::error!( + "Failed to get file handle limits: {}-{}", + io::Error::from_raw_os_error(status), + status + ); + return; + } + + const INCREASED_FILEHANDLE_LIMIT: u64 = 1024; + // if file handle limit is already big enough, there's no reason to decrease it. + if limits.rlim_cur >= INCREASED_FILEHANDLE_LIMIT { + return; + } + + limits.rlim_cur = INCREASED_FILEHANDLE_LIMIT; + // SAFETY: `&limits` is a valid pointer parameter for the getrlimit syscall + let status = unsafe { libc::setrlimit(libc::RLIMIT_NOFILE, &limits) }; + if status != 0 { + tracing::error!( + "Failed to set file handle limit to {}: {}-{}", + INCREASED_FILEHANDLE_LIMIT, + io::Error::from_raw_os_error(status), + status + ); + } +} + +/// Returns the GID of `nymvpn-exclusion` group if it exists. +pub fn get_exclusion_gid() -> io::Result { + let exclusion_group_name = CStr::from_bytes_with_nul(EXCLUSION_GROUP).unwrap(); + get_group_id(exclusion_group_name) +} + +/// Attempts to set the GID of the current process to `nymvpn-exclusion`. +pub fn set_exclusion_gid() -> io::Result { + let gid = get_exclusion_gid()?; + set_gid(gid)?; + Ok(gid) +} + +/// Returns the GID of the specified group name +fn get_group_id(group_name: &CStr) -> io::Result { + // SAFETY: group_name is a valid CString + let group = unsafe { libc::getgrnam(group_name.as_ptr() as *const _) }; + if group.is_null() { + return Err(io::Error::from(io::ErrorKind::NotFound)); + } + // SAFETY: group is not null + let gid = unsafe { (*group).gr_gid }; + Ok(gid) +} + +/// Sets group ID for the current process +fn set_gid(gid: u32) -> io::Result<()> { + if unsafe { libc::setgid(gid) } == 0 { + Ok(()) + } else { + Err(io::Error::last_os_error()) + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/main.rs b/nym-vpn/desktop/nymvpn-daemon/src/main.rs new file mode 100644 index 00000000000..411edf6e5f1 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/main.rs @@ -0,0 +1,81 @@ +use std::process::ExitCode; + +use clap::Parser; + +use nymvpn_daemon::{create_daemon, logging, runtime::create_runtime, shutdown::ShutdownManager}; + +#[derive(Debug, Parser)] +struct Cli { + #[cfg(windows)] + #[arg(long)] + service: bool, +} + +fn main() -> ExitCode { + #[cfg(windows)] + let cli = Cli::parse(); + let _guard = match logging::init() { + Ok(guard) => guard, + Err(e) => { + eprintln!("{e}"); + return ExitCode::FAILURE; + } + }; + + let runtime = match create_runtime() { + Ok(rt) => rt, + Err(e) => { + eprintln!("{e}"); + return ExitCode::FAILURE; + } + }; + + let exit_code = match runtime.block_on(run_nymvpn( + #[cfg(windows)] + cli.service, + )) { + Ok(_) => ExitCode::SUCCESS, + Err(e) => { + tracing::error!("{e}"); + ExitCode::FAILURE + } + }; + + tracing::debug!("Daemon exiting {exit_code:?}"); + + exit_code +} + +#[cfg(windows)] +async fn run_nymvpn(service: bool) -> Result<(), String> { + use nymvpn_daemon::system_service; + if service { + system_service::run() + } else { + run_nymvpn_inner().await + } +} + +#[cfg(unix)] +async fn run_nymvpn() -> Result<(), String> { + run_nymvpn_inner().await +} + +async fn run_nymvpn_inner() -> Result<(), String> { + let shutdown_manager = ShutdownManager::new(); + + let daemon = create_daemon(&shutdown_manager).await?; + let daemon_handle = tokio::spawn(async move { + daemon.run().await; + }); + + // register signal handler after broadcaster is setup for all + shutdown_manager.register_signal_handler().await; + + if let (Err(err),) = tokio::join!(daemon_handle) { + tracing::error!("daemon: {err}"); + }; + + tracing::info!("Daemon stopped"); + Ok(()) +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/runtime.rs b/nym-vpn/desktop/nymvpn-daemon/src/runtime.rs new file mode 100644 index 00000000000..748e6bf24dc --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/runtime.rs @@ -0,0 +1,8 @@ +// Copyright (C) 2023 Nym Technologies, GPL-3.0 +// Copyright (C) 2022 Mullvad VPN AB, GPL-3.0 +pub fn create_runtime() -> std::io::Result { + tokio::runtime::Builder::new_multi_thread() + .worker_threads(4) + .enable_all() + .build() +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/shutdown.rs b/nym-vpn/desktop/nymvpn-daemon/src/shutdown.rs new file mode 100644 index 00000000000..78d74fa160a --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/shutdown.rs @@ -0,0 +1,122 @@ +// Copyright (c) 2023 Nym Technologies, GPL-3.0 +// +// Based on mini-redis, Copyright (c) 2020 Tokio Contributors, MIT +// Copyright (c) 2020 Tokio Contributors +use std::{future::Future, pin::Pin}; + +use tokio::sync::broadcast; + +#[derive(Debug)] +pub struct Shutdown { + /// `true` if the shutdown signal has been received + shutdown: bool, + + /// The receive half of the channel used to listen for shutdown. + notify: broadcast::Receiver<()>, +} + +impl Shutdown { + /// Create a new `Shutdown` backed by the given `broadcast::Receiver`. + pub fn new(notify: broadcast::Receiver<()>) -> Shutdown { + Shutdown { + shutdown: false, + notify, + } + } + + /// Returns `true` if the shutdown signal has been received. + pub fn is_shutdown(&self) -> bool { + self.shutdown + } + + /// Receive the shutdown notice, waiting if necessary. + pub async fn recv(&mut self) { + // If the shutdown signal has already been received, then return + // immediately. + if self.shutdown { + return; + } + + // Cannot receive a "lag error" as only one value is ever sent. + let _ = self.notify.recv().await; + + // Remember that the signal has been received. + self.shutdown = true; + } +} + +pub struct ShutdownManager { + shutdown_notifier: tokio::sync::broadcast::Sender<()>, +} + +impl ShutdownManager { + pub fn new() -> Self { + let (shutdown_notifier, _) = tokio::sync::broadcast::channel(1); + Self { shutdown_notifier } + } + + pub fn shutdown_received_future(&self) -> Pin>> { + let mut shutdown = self.new_shutdown(); + Box::pin(async move { shutdown.recv().await }) + } + + pub fn new_shutdown(&self) -> Shutdown { + Shutdown::new(self.shutdown_notifier.subscribe()) + } + + // OS signal is broadcasted to rest of the system through broadcaster + pub async fn register_signal_handler(self) { + tracing::info!("registering signal handler"); + tokio::spawn(async move { + let ctrl_c = async { + tokio::signal::ctrl_c() + .await + .expect("failed to install Ctrl+C handler"); + }; + + #[cfg(unix)] + let terminate = async { + tokio::signal::unix::signal(tokio::signal::unix::SignalKind::terminate()) + .expect("failed to install TERM signal handler") + .recv() + .await; + }; + + #[cfg(not(unix))] + let terminate = std::future::pending::<()>(); + + tokio::select! { + _ = ctrl_c => {}, + _ = terminate => {}, + } + + let _ = self.shutdown_notifier.send(()); + tracing::info!("Shutdown signal received. Starting graceful shutdown"); + }); + } + + // OS signal is broadcasted to rest of the system through broadcaster + #[cfg(windows)] + pub async fn register_signal_handler_windows(self, shutdown_rx: std::sync::mpsc::Receiver<()>) { + tracing::info!("registering signal handler"); + tokio::spawn(async move { + let ctrl_c = async { + tokio::signal::ctrl_c() + .await + .expect("failed to install Ctrl+C handler"); + }; + + let terminate = async move { + let _ = shutdown_rx.recv(); + }; + + tokio::select! { + _ = ctrl_c => {}, + _ = terminate => {}, + } + + let _ = self.shutdown_notifier.send(()); + tracing::info!("Shutdown signal received. Starting graceful shutdown"); + }); + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/state.rs b/nym-vpn/desktop/nymvpn-daemon/src/state.rs new file mode 100644 index 00000000000..570cfc1098a --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/state.rs @@ -0,0 +1,114 @@ +use std::collections::HashMap; + +use chrono::Utc; + +use nymvpn_types::{ + location::Location, + notification::{Notification, NotificationType}, + vpn_session::VpnStatus, +}; +use uuid::Uuid; + +use crate::{ + controller::{SERVER_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER, VPN_SESSION_SERVICE_UNAVAILABLE}, + vpn_session::handler::VpnSessionError, +}; + +pub struct DaemonState { + vpn_status: VpnStatus, + notifications: HashMap, +} + +impl DaemonState { + pub fn new() -> Self { + Self { + vpn_status: VpnStatus::Disconnected, + notifications: Default::default(), + } + } + + pub fn set_vpn_status(&mut self, vpn_status: VpnStatus) { + self.vpn_status = vpn_status; + } + + pub fn vpn_status(&self) -> VpnStatus { + self.vpn_status.clone() + } + + pub fn update_state_on_disconnect(&mut self) -> VpnStatus { + let new_status = match &self.vpn_status { + VpnStatus::Accepted(_) + | VpnStatus::ServerCreated(_) + | VpnStatus::ServerRunning(_) + | VpnStatus::Disconnected => VpnStatus::Disconnected, + VpnStatus::ServerReady(location) + | VpnStatus::Connecting(location) + | VpnStatus::Connected(location, _) + | VpnStatus::Disconnecting(location) => VpnStatus::Disconnecting(location.clone()), + }; + + self.set_vpn_status(new_status.clone()); + + new_status + } + + pub fn vpn_session_in_progress(&self) -> Option { + match &self.vpn_status { + VpnStatus::Accepted(location) + | VpnStatus::ServerCreated(location) + | VpnStatus::ServerRunning(location) + | VpnStatus::ServerReady(location) + | VpnStatus::Connecting(location) + | VpnStatus::Connected(location, _) + | VpnStatus::Disconnecting(location) => Some(location.clone()), + VpnStatus::Disconnected => None, + } + } + + pub fn add_notification_for_failed_new_session( + &mut self, + request_id: Uuid, + _location: Location, + error: VpnSessionError, + ) -> Notification { + let timestamp = Utc::now(); + + // user facing message of notification + let message = match error { + VpnSessionError::VpnSessionServiceDown => VPN_SESSION_SERVICE_UNAVAILABLE.to_string(), + VpnSessionError::Connection(_) => SERVER_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER.to_string(), + VpnSessionError::Server(status) => status.message().to_string(), + }; + + let notification = Notification { + id: request_id.to_string(), + message, + notification_type: NotificationType::ServerFailed, + timestamp, + }; + + self.notifications + .insert(request_id.to_string(), notification.clone()); + + notification + } + + pub fn accepted(&mut self, location: Location) { + self.vpn_status = VpnStatus::Accepted(location) + } + + pub fn add_notification(&mut self, notification: Notification) { + self.notifications + .insert(notification.id.clone(), notification); + } + + pub fn remove_notification(&mut self, id: String) { + self.notifications.remove(&id); + } + + pub fn notifications(&self) -> Vec { + let mut res: Vec = self.notifications.values().map(|r| r.clone()).collect(); + res.sort_by(|n1, n2| n2.timestamp.cmp(&n1.timestamp)); + res + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/system_service.rs b/nym-vpn/desktop/nymvpn-daemon/src/system_service.rs new file mode 100644 index 00000000000..fcc6d51695d --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/system_service.rs @@ -0,0 +1,271 @@ +// Copyright (C) 2023 Nym Technologies, GPL-3.0 +// Copyright (C) 2022 Mullvad VPN AB, GPL-3.0 +use crate::{runtime::create_runtime, shutdown::ShutdownManager}; + +use std::{ + ffi::OsString, + sync::{ + atomic::{AtomicUsize, Ordering}, + mpsc, Arc, + }, + thread, + time::Duration, +}; +use talpid_types::ErrorExt; +use windows_service::{ + service::{ + ServiceAccess, ServiceControl, ServiceControlAccept, ServiceExitCode, ServiceState, + ServiceStatus, ServiceType, + }, + service_control_handler::{self, ServiceControlHandlerResult, ServiceStatusHandle}, + service_dispatcher, +}; + +static SERVICE_NAME: &str = "nymvpnDaemonService"; +static SERVICE_TYPE: ServiceType = ServiceType::OWN_PROCESS; + +lazy_static::lazy_static! { + static ref SERVICE_ACCESS: ServiceAccess = ServiceAccess::QUERY_CONFIG + | ServiceAccess::CHANGE_CONFIG + | ServiceAccess::START + | ServiceAccess::DELETE; +} + +pub fn run() -> Result<(), String> { + // Start the service dispatcher. + // This will block current thread until the service stopped and spawn `service_main` on a + // background thread. + service_dispatcher::start(SERVICE_NAME, service_main) + .map_err(|e| e.display_chain_with_msg("Failed to start a service dispatcher")) +} + +windows_service::define_windows_service!(service_main, handle_service_main); + +pub fn handle_service_main(_arguments: Vec) { + tracing::info!("Service started."); + + let (event_tx, event_rx) = mpsc::channel(); + + // Register service event handler + let event_handler = move |control_event| -> ServiceControlHandlerResult { + match control_event { + // Notifies a service to report its current status information to the service + // control manager. Always return NO_ERROR even if not implemented. + ServiceControl::Interrogate => ServiceControlHandlerResult::NoError, + + ServiceControl::Stop + | ServiceControl::Preshutdown + | ServiceControl::PowerEvent(_) + | ServiceControl::SessionChange(_) => { + event_tx.send(control_event).unwrap(); + ServiceControlHandlerResult::NoError + } + + _ => ServiceControlHandlerResult::NotImplemented, + } + }; + let status_handle = match service_control_handler::register(SERVICE_NAME, event_handler) { + Ok(handle) => handle, + Err(error) => { + tracing::error!( + "{}", + error.display_chain_with_msg("Failed to register a service control handler") + ); + return; + } + }; + let mut persistent_service_status = PersistentServiceStatus::new(status_handle); + persistent_service_status + .set_pending_start(Duration::from_secs(1)) + .unwrap(); + + let runtime = create_runtime(); + let runtime = match runtime { + Err(error) => { + tracing::error!("{}", error.display_chain()); + persistent_service_status + .set_stopped(ServiceExitCode::ServiceSpecific(1)) + .unwrap(); + return; + } + Ok(runtime) => runtime, + }; + + let shutdown_manager = ShutdownManager::new(); + + let result = runtime.block_on(crate::create_daemon(&shutdown_manager)); + let result = if let Ok(daemon) = result { + let (sc_shutdown_tx, sc_shutdown_rx) = mpsc::channel(); + // Register monitor that translates `ServiceControl` to Daemon events + start_event_monitor(persistent_service_status.clone(), sc_shutdown_tx, event_rx); + + runtime.block_on(shutdown_manager.register_signal_handler_windows(sc_shutdown_rx)); + persistent_service_status.set_running().unwrap(); + Ok(runtime.block_on(daemon.run())) + } else { + result.map(|_| ()) + }; + + let exit_code = match result { + Ok(()) => { + tracing::info!("Stopping service"); + ServiceExitCode::default() + } + Err(error) => { + tracing::error!("{}", error); + ServiceExitCode::ServiceSpecific(1) + } + }; + + persistent_service_status.set_stopped(exit_code).unwrap(); +} + +/// Start event monitor thread that polls for `ServiceControl` and translates them into calls to +/// Daemon. +fn start_event_monitor( + persistent_service_status: PersistentServiceStatus, + sc_shutdown_tx: mpsc::Sender<()>, + event_rx: mpsc::Receiver, +) -> thread::JoinHandle<()> { + thread::spawn(move || { + let mut shutdown_handle = ServiceShutdownHandle { + persistent_service_status, + sc_shutdown_tx, + }; + + for event in event_rx { + match event { + ServiceControl::Stop | ServiceControl::Preshutdown => { + // If the daemon is closing due to the system shutting down, + // keep blocking traffic after the daemon exits. + shutdown_handle.shutdown(event == ServiceControl::Preshutdown); + } + _ => (), + } + } + }) +} + +#[derive(Clone)] +struct ServiceShutdownHandle { + persistent_service_status: PersistentServiceStatus, + sc_shutdown_tx: mpsc::Sender<()>, +} + +impl ServiceShutdownHandle { + fn shutdown(&mut self, is_system_shutdown: bool) { + tracing::info!("is_system_shutdown: {is_system_shutdown}"); + self.persistent_service_status + .set_pending_stop(Duration::from_secs(10)) + .unwrap(); + + if let Err(e) = self.sc_shutdown_tx.send(()) { + tracing::error!("Failed to send shutdown event to daemon from service: {e}"); + } + } +} + +/// Service status helper with persistent checkpoint counter. +#[derive(Debug, Clone)] +struct PersistentServiceStatus { + status_handle: ServiceStatusHandle, + checkpoint_counter: Arc, +} + +impl PersistentServiceStatus { + fn new(status_handle: ServiceStatusHandle) -> Self { + PersistentServiceStatus { + status_handle, + checkpoint_counter: Arc::new(AtomicUsize::new(1)), + } + } + + /// Tell the system that the service is pending start and provide the time estimate until + /// initialization is complete. + fn set_pending_start(&mut self, wait_hint: Duration) -> windows_service::Result<()> { + self.report_status( + ServiceState::StartPending, + wait_hint, + ServiceExitCode::default(), + ) + } + + /// Tell the system that the service is running. + fn set_running(&mut self) -> windows_service::Result<()> { + self.report_status( + ServiceState::Running, + Duration::default(), + ServiceExitCode::default(), + ) + } + + /// Tell the system that the service is pending stop and provide the time estimate until the + /// service is stopped. + fn set_pending_stop(&mut self, wait_hint: Duration) -> windows_service::Result<()> { + self.report_status( + ServiceState::StopPending, + wait_hint, + ServiceExitCode::default(), + ) + } + + /// Tell the system that the service is stopped and provide the exit code. + fn set_stopped(&mut self, exit_code: ServiceExitCode) -> windows_service::Result<()> { + self.report_status(ServiceState::Stopped, Duration::default(), exit_code) + } + + /// Private helper to report the service status update. + fn report_status( + &mut self, + next_state: ServiceState, + wait_hint: Duration, + exit_code: ServiceExitCode, + ) -> windows_service::Result<()> { + // Automatically bump the checkpoint when updating the pending events to tell the system + // that the service is making a progress in transition from pending to final state. + // `wait_hint` should reflect the estimated time for transition to complete. + let checkpoint = match next_state { + ServiceState::StartPending + | ServiceState::StopPending + | ServiceState::ContinuePending + | ServiceState::PausePending => self.checkpoint_counter.fetch_add(1, Ordering::SeqCst), + _ => 0, + }; + + let service_status = ServiceStatus { + service_type: SERVICE_TYPE, + current_state: next_state, + controls_accepted: accepted_controls_by_state(next_state), + exit_code, + checkpoint: checkpoint as u32, + wait_hint, + process_id: None, + }; + + tracing::debug!( + "Update service status: {:?}, checkpoint: {}, wait_hint: {:?}", + service_status.current_state, + service_status.checkpoint, + service_status.wait_hint + ); + + self.status_handle.set_service_status(service_status) + } +} + +/// Returns the list of accepted service events at each stage of the service lifecycle. +fn accepted_controls_by_state(state: ServiceState) -> ServiceControlAccept { + let always_accepted = ServiceControlAccept::POWER_EVENT | ServiceControlAccept::SESSION_CHANGE; + match state { + ServiceState::StartPending | ServiceState::PausePending | ServiceState::ContinuePending => { + ServiceControlAccept::empty() + } + ServiceState::Running => { + always_accepted | ServiceControlAccept::STOP | ServiceControlAccept::PRESHUTDOWN + } + ServiceState::Paused => { + always_accepted | ServiceControlAccept::STOP | ServiceControlAccept::PRESHUTDOWN + } + ServiceState::StopPending | ServiceState::Stopped => ServiceControlAccept::empty(), + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/token_storage.rs b/nym-vpn/desktop/nymvpn-daemon/src/token_storage.rs new file mode 100644 index 00000000000..7698c0b3d0a --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/token_storage.rs @@ -0,0 +1,68 @@ +use nymvpn_entity::token::Entity as Token; +use nymvpn_migration::{ + sea_orm::{ActiveModelTrait, ColumnTrait, DatabaseConnection, EntityTrait, QueryFilter, Set}, + DbErr, +}; +use nymvpn_server::auth::TokenProvider; + +#[derive(Debug, Clone)] +pub struct TokenStorage { + db: DatabaseConnection, +} + +impl TokenStorage { + pub fn new(db: DatabaseConnection) -> Self { + Self { db } + } + + pub async fn get_token(&self) -> Result, DbErr> { + let token = Token::find().one(&self.db).await?; + + Ok(token.map(|t| t.token)) + } + + pub async fn save_token(&self, token: String) -> Result<(), DbErr> { + let token = nymvpn_entity::token::ActiveModel { + token: Set(token), + ..Default::default() + }; + + let new_token = token.insert(&self.db).await?; + + // delete previous tokens + let deleted = Token::delete_many() + .filter(nymvpn_entity::token::Column::Id.lt(new_token.id)) + .exec(&self.db) + .await?; + + tracing::info!( + "new token saved; deleted old tokens #{}", + deleted.rows_affected + ); + + Ok(()) + } + + pub async fn remove_all(&self) -> Result<(), DbErr> { + let deleted = Token::delete_many().exec(&self.db).await?; + + tracing::info!("deleted tokens #{}", deleted.rows_affected); + + Ok(()) + } +} + +#[async_trait::async_trait] +impl TokenProvider for TokenStorage { + async fn bearer_token(&self) -> Option { + let token = self + .get_token() + .await + .map_err(|e| tracing::error!("failed to get token from db: {e}")); + + match token { + Ok(token) => token, + Err(_) => None, + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/tunnel.rs b/nym-vpn/desktop/nymvpn-daemon/src/tunnel.rs new file mode 100644 index 00000000000..a5140236747 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/tunnel.rs @@ -0,0 +1,125 @@ +use talpid_core::tunnel_state_machine::TunnelParametersGenerator; +use talpid_types::net::{ + all_of_the_internet, + wireguard::{ConnectionConfig, PeerConfig, PublicKey, TunnelConfig, TunnelOptions}, + GenericTunnelOptions, TunnelParameters, +}; +use nymvpn_entity::device::Entity as Device; +use nymvpn_entity::vpn_session::Entity as VpnSession; +use nymvpn_migration::sea_orm::{DatabaseConnection, EntityTrait}; +use nymvpn_types::device::DeviceDetails; + +use crate::db::Db; + +pub struct ParameterGenerator { + db: Db, +} + +impl ParameterGenerator { + pub fn new(db: Db) -> Self { + Self { db } + } +} + +async fn generate_parameter( + db: DatabaseConnection, +) -> Result { + let vpn_session = VpnSession::find() + .one(&db) + .await + .map_err(|e| e.to_string())? + .ok_or("no vpn session found during parameter generation")?; + + let device = Device::find() + .one(&db) + .await + .map_err(|e| e.to_string())? + .ok_or("no device found during parameter generation")?; + + let device_details = DeviceDetails::try_from(device)?; + + Ok(TunnelParameters::Wireguard( + talpid_types::net::wireguard::TunnelParameters { + connection: ConnectionConfig { + tunnel: TunnelConfig { + private_key: device_details.wireguard_meta.private_key, + addresses: vec![std::net::IpAddr::V4( + device_details + .wireguard_meta + .device_addresses + .ok_or("no device addresses found in wireguard metadata")? + .ipv4_address, + )], + }, + peer: PeerConfig { + public_key: PublicKey::from_base64( + &vpn_session + .server_public_key + .ok_or("no server public key found in vpn session model")?, + ) + .map_err(|e| format!("failed to convert public key from base64: {e:?}"))?, + allowed_ips: all_of_the_internet(), + endpoint: vpn_session + .server_ipv4_endpoint + .ok_or("no server ipv4 endpoint found in vpn session model")? + .parse() + .map_err(|e| { + format!( + "failed to parse server ipv4 endpoint in vpn session model: {e:?}" + ) + })?, + psk: None, + }, + exit_peer: None, + ipv4_gateway: vpn_session + .server_private_ipv4 + .ok_or("no server private ipv4 found in vpn session model")? + .parse() + .map_err(|e| { + format!("failed to parse server ipv4 in vpn session model: {e:?}") + })?, + ipv6_gateway: None, + #[cfg(target_os = "linux")] + fwmark: Some(nymvpn_types::TUNNEL_FWMARK), + }, + options: TunnelOptions { + mtu: None, + quantum_resistant: false, + #[cfg(windows)] + use_wireguard_nt: true, + }, + generic_options: GenericTunnelOptions { enable_ipv6: true }, + obfuscation: None, + }, + )) +} + +impl TunnelParametersGenerator for ParameterGenerator { + fn generate( + &mut self, + _retry_attempt: u32, + ) -> std::pin::Pin< + Box< + dyn futures::Future< + Output = Result< + talpid_types::net::TunnelParameters, + talpid_types::tunnel::ParameterGenerationError, + >, + >, + >, + > { + let db = self.db.connection(); + Box::pin(async move { + let parameters = generate_parameter(db).await; + + match parameters { + Ok(parameters) => Ok(parameters), + Err(e) => { + tracing::error!("TunnelParameterGenerator: {e}"); + // return placeholder error + Err(talpid_types::tunnel::ParameterGenerationError::NoMatchingRelay) + } + } + }) + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/unique.rs b/nym-vpn/desktop/nymvpn-daemon/src/unique.rs new file mode 100644 index 00000000000..b920fb53476 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/unique.rs @@ -0,0 +1,12 @@ +pub async fn already_running() -> bool { + match nymvpn_controller::new_grpc_client().await { + Ok(_) => true, + Err(e) => { + tracing::info!( + "cannot connect to GRPC controller({}), assuming none running", + e.to_string() + ); + false + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/handler.rs b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/handler.rs new file mode 100644 index 00000000000..bff6fc98b2a --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/handler.rs @@ -0,0 +1,298 @@ +use std::collections::HashMap; + +use tokio::sync::{mpsc, oneshot}; +use nymvpn_server::{auth::TokenProvider, ServerApi}; +use nymvpn_types::{ + location::Location, + nymvpn_server::{ + Accepted, ClientConnected, EndSession, Ended, NewSession, VpnSessionStatusRequest, + }, +}; +use uuid::Uuid; + +use crate::{daemon::DaemonEventSender, AckTx, ResponseTx}; + +use super::watcher::WatcherFactory; + +pub enum VpnSessionCommand { + NewSession(ResponseTx, NewSession), + EndSession(ResponseTx, EndSession), + ClientConnected(ResponseTx<(), VpnSessionError>, ClientConnected), + ListLocations(ResponseTx, VpnSessionError>), + Shutdown(AckTx), +} + +#[derive(Debug, thiserror::Error)] +pub enum VpnSessionError { + #[error("vpn session service is unavailable")] + VpnSessionServiceDown, + #[error("error connecting to server: {0}")] + Connection(#[from] tonic::transport::Error), + #[error("server error: {0}")] + Server(#[from] tonic::Status), +} + +#[derive(Debug, Clone)] +pub struct VpnSessionHandler { + tx: mpsc::UnboundedSender, +} + +impl VpnSessionHandler { + pub async fn start( + daemon_tx: DaemonEventSender, + token_provider: P, + ) -> Self { + let (tx, rx) = mpsc::unbounded_channel(); + let vpn_session_service = VpnSessionService::new(rx, daemon_tx, token_provider); + + tokio::spawn(async move { vpn_session_service.run().await }); + + Self { tx } + } + + pub async fn shutdown(&self) -> Result<(), VpnSessionError> { + let (tx, rx) = oneshot::channel(); + self.tx + .send(VpnSessionCommand::Shutdown(tx)) + .map_err(|_e| VpnSessionError::VpnSessionServiceDown)?; + rx.await + .map_err(|_e| VpnSessionError::VpnSessionServiceDown)?; + Ok(()) + } + + pub async fn new_session( + &self, + new_session: nymvpn_types::nymvpn_server::NewSession, + ) -> Result { + self.send_command(|tx| VpnSessionCommand::NewSession(tx, new_session)) + .await + } + + pub async fn end_session( + &self, + end_session: nymvpn_types::nymvpn_server::EndSession, + ) -> Result { + self.send_command(|tx| VpnSessionCommand::EndSession(tx, end_session)) + .await + } + + pub async fn client_connected( + &self, + client_connected: ClientConnected, + ) -> Result<(), VpnSessionError> { + self.send_command(|tx| VpnSessionCommand::ClientConnected(tx, client_connected)) + .await + } + + pub async fn list_locations(&self) -> Result, VpnSessionError> { + self.send_command(|tx| VpnSessionCommand::ListLocations(tx)) + .await + } + + pub async fn send_command( + &self, + make_cmd: impl FnOnce(ResponseTx) -> VpnSessionCommand, + ) -> Result { + let (tx, rx) = oneshot::channel(); + self.tx + .send(make_cmd(tx)) + .map_err(|_| VpnSessionError::VpnSessionServiceDown)?; + rx.await + .map_err(|_| VpnSessionError::VpnSessionServiceDown)? + } +} + +pub struct VpnSessionService { + daemon_tx: DaemonEventSender, + receiver: mpsc::UnboundedReceiver, + token_provider: P, + shutdown_tx: Option, + watcher_shutdown_txs: HashMap>, +} + +impl VpnSessionService

{ + pub fn new( + receiver: mpsc::UnboundedReceiver, + daemon_tx: DaemonEventSender, + token_provider: P, + ) -> Self { + Self { + daemon_tx, + receiver, + token_provider, + shutdown_tx: None, + watcher_shutdown_txs: Default::default(), + } + } + + pub async fn run(mut self) { + while let Some(command) = self.receiver.recv().await { + self.handle_command(command).await; + if self.shutdown_tx.is_some() { + break; + } + } + + if self.shutdown_tx.is_some() { + // stop all watchers + let _ = self + .watcher_shutdown_txs + .into_iter() + .map(|(_request_id, tx)| tx.send(())); + + // ack shutdown + if let Err(_) = self.shutdown_tx.unwrap().send(()) { + tracing::error!("failed to ack vpn session service shutdown"); + }; + } + + tracing::info!("vpn session service stopped"); + } + + async fn handle_command(&mut self, command: VpnSessionCommand) { + match command { + VpnSessionCommand::NewSession(tx, new_session) => { + self.on_new_session(tx, new_session).await + } + VpnSessionCommand::EndSession(tx, end_session) => { + self.on_end_session(tx, end_session).await + } + VpnSessionCommand::ClientConnected(tx, client_connected) => { + self.on_client_connected(tx, client_connected).await + } + VpnSessionCommand::Shutdown(ack_tx) => self.shutdown_tx = Some(ack_tx), + VpnSessionCommand::ListLocations(tx) => self.on_list_locations(tx).await, + } + } + + async fn on_new_session_inner( + token_provider: impl TokenProvider + 'static, + new_session: NewSession, + ) -> Result { + let mut nymvpn_service = ServerApi::new(token_provider).await?; + Ok(nymvpn_service.new_session(new_session).await?) + } + + async fn on_new_session( + &mut self, + tx: ResponseTx, + new_session: NewSession, + ) { + let token_provider = self.token_provider.clone(); + let accepted = Self::on_new_session_inner(token_provider, new_session.clone()).await; + + // if accepted start a watcher + if let Ok(accepted) = &accepted { + let vpn_session_status_request = VpnSessionStatusRequest { + request_id: new_session.request_id, + vpn_session_uuid: accepted.vpn_session_uuid, + device_unique_id: new_session.device_unique_id, + }; + self.start_watcher(vpn_session_status_request).await; + } + + Self::oneshot_send(tx, accepted, "on_list_locations"); + } + + async fn on_end_session_inner( + token_provider: impl TokenProvider + 'static, + end_session: EndSession, + ) -> Result { + let mut nymvpn_service = ServerApi::new(token_provider).await?; + Ok(nymvpn_service.end_session(end_session).await?) + } + + async fn start_watcher(&mut self, vpn_session_status_request: VpnSessionStatusRequest) { + let daemon_tx = self.daemon_tx.clone(); + let token_provider = self.token_provider.clone(); + let (shutdown_tx, shutdown_rx) = oneshot::channel(); + self.watcher_shutdown_txs + .insert(vpn_session_status_request.request_id, shutdown_tx); + + tokio::spawn(async move { + WatcherFactory::start( + vpn_session_status_request, + daemon_tx, + shutdown_rx, + token_provider, + ) + .await; + }); + } + + fn stop_watcher(&mut self, request_id: &Uuid) { + let _ = self + .watcher_shutdown_txs + .remove_entry(request_id) + .map(|(_request_id, tx)| tx.send(())); + } + + async fn on_end_session( + &mut self, + tx: ResponseTx, + end_session: EndSession, + ) { + // stop watcher if any + self.stop_watcher(&end_session.request_id); + + let token_provider = self.token_provider.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + Self::on_end_session_inner(token_provider, end_session).await, + "on_end_session", + ) + }); + } + + async fn on_client_connected_inner( + token_provider: impl TokenProvider + 'static, + client_connected: ClientConnected, + ) -> Result<(), VpnSessionError> { + let mut nymvpn_service = ServerApi::new(token_provider).await?; + Ok(nymvpn_service.client_connected(client_connected).await?) + } + + async fn on_client_connected( + &mut self, + tx: ResponseTx<(), VpnSessionError>, + client_connected: ClientConnected, + ) { + // stop watcher if any + self.stop_watcher(&client_connected.request_id); + + let token_provider = self.token_provider.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + Self::on_client_connected_inner(token_provider, client_connected).await, + "on_client_connected", + ) + }); + } + + async fn on_list_locations_inner( + token_provider: impl TokenProvider + 'static, + ) -> Result, VpnSessionError> { + let mut nymvpn_service = ServerApi::new(token_provider).await?; + let locations = nymvpn_service.list_locations().await?; + Ok(locations) + } + + async fn on_list_locations(&self, tx: ResponseTx, VpnSessionError>) { + let token_provider = self.token_provider.clone(); + tokio::spawn(async move { + Self::oneshot_send( + tx, + Self::on_list_locations_inner(token_provider).await, + "on_list_locations", + ) + }); + } + + fn oneshot_send(tx: oneshot::Sender, t: T, msg: &'static str) { + if tx.send(t).is_err() { + tracing::warn!("Failed to respond from VpnSessionService {}", msg); + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/mod.rs b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/mod.rs new file mode 100644 index 00000000000..b0da7ccfbae --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/mod.rs @@ -0,0 +1,4 @@ +pub mod handler; +pub mod reclaimer; +pub mod storage; +pub mod watcher; diff --git a/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/reclaimer.rs b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/reclaimer.rs new file mode 100644 index 00000000000..a6484ad9eaa --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/reclaimer.rs @@ -0,0 +1,107 @@ +use tokio::time::{self, Duration}; +use nymvpn_types::nymvpn_server::EndSession; + +use crate::{device::storage::DeviceStorage, shutdown::Shutdown}; + +use super::{handler::VpnSessionHandler, storage::VpnSessionStorage}; + +pub struct ReclaimerCreator; + +impl ReclaimerCreator { + pub async fn start( + session_storage: VpnSessionStorage, + device_storage: DeviceStorage, + vpn_session_handler: VpnSessionHandler, + shutdown: Shutdown, + ) { + let reclaimer = Reclaimer::new( + session_storage, + device_storage, + vpn_session_handler, + shutdown, + ); + + tokio::spawn(async move { + reclaimer.run().await; + }); + } +} + +pub struct Reclaimer { + session_storage: VpnSessionStorage, + device_storage: DeviceStorage, + vpn_session_handler: VpnSessionHandler, + shutdown: Shutdown, +} + +impl Reclaimer { + pub fn new( + session_storage: VpnSessionStorage, + device_storage: DeviceStorage, + vpn_session_handler: VpnSessionHandler, + shutdown: Shutdown, + ) -> Self { + Self { + session_storage, + device_storage, + vpn_session_handler, + shutdown, + } + } + + async fn reclaim(&mut self) { + // Delay to avoid race when the session was successfully ended just now. + time::sleep(Duration::from_millis(300)).await; + if let Ok(sessions) = self.session_storage.to_reclaim().await { + if let Ok(Some(device_details)) = self.device_storage.get_device().await { + for session in sessions { + let end_session = EndSession { + request_id: session.request_id, + device_unique_id: device_details.unique_id, + vpn_session_uuid: session.vpn_session_id, + reason: "reclaimed".into(), + }; + + match self.vpn_session_handler.end_session(end_session).await { + Ok(_) => { + tracing::info!("Reclaimed: {session}"); + let _ = self.session_storage.delete(session.request_id).await; + } + Err(e) => { + match e { + crate::vpn_session::handler::VpnSessionError::VpnSessionServiceDown + | crate::vpn_session::handler::VpnSessionError::Connection(_) => { + // no-op reclaimer would re-run again + } + crate::vpn_session::handler::VpnSessionError::Server(status) => { + // did the best we can, delete it from local storage + // this could happen when device is signed out in middle of reclaiming + // signing out ends all sessions on server so its good to delete locally. + tracing::info!( + "Did best to reclaim session: {session}; server status: {status}" + ); + let _ = self.session_storage.delete(session.request_id).await; + } + } + } + } + } + } + }; + } + + pub async fn run(mut self) { + let mut duration = Duration::from_secs(1); + while !self.shutdown.is_shutdown() { + tokio::select! { + _ = time::sleep(duration) => { + self.reclaim().await; + duration = Duration::from_secs(60); + } + _ = self.shutdown.recv() => { + tracing::info!("Reclaimer shutting down"); + } + } + } + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/storage.rs b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/storage.rs new file mode 100644 index 00000000000..7c13d393f13 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/storage.rs @@ -0,0 +1,476 @@ +use std::fmt::Display; + +use chrono::Utc; +use talpid_core::tunnel_state_machine::TunnelCommand; +use talpid_types::tunnel::{ErrorState, TunnelStateTransition}; +use nymvpn_migration::{ + sea_orm::{ActiveModelTrait, ColumnTrait, DatabaseConnection, EntityTrait, QueryFilter, Set}, + DbErr, Expr, +}; +use nymvpn_types::{ + location::Location, + notification::{Notification, NotificationType}, + nymvpn_server::{Accepted, VpnSessionStatus}, + vpn_session::VpnStatus, +}; +use uuid::Uuid; + +#[derive(Debug, Clone)] +pub struct VpnSessionStorage { + db: DatabaseConnection, +} + +pub struct VpnSessionStatusProcessed { + pub vpn_status: Option, + pub notification: Option, +} + +pub struct TunnelTransitionProcessed { + pub vpn_status: VpnStatus, + pub tunnel_command: Option, + pub end_session: Option, + pub notification: Option, + pub client_connected: Option, +} + +#[derive(Clone)] +pub struct SessionInfo { + pub request_id: Uuid, + pub vpn_session_id: Uuid, +} + +pub enum StorageServerStatus { + Accepted, + Failed, + ServerCreated, + ServerRunning, + ServerReady, + ClientConnected, + Ended, +} + +impl From for String { + fn from(value: StorageServerStatus) -> Self { + match value { + StorageServerStatus::Accepted => "Accepted", + StorageServerStatus::Failed => "Failed", + StorageServerStatus::ServerCreated => "ServerCreated", + StorageServerStatus::ServerRunning => "ServerRunning", + StorageServerStatus::ServerReady => "ServerReady", + StorageServerStatus::ClientConnected => "ClientConnected", + StorageServerStatus::Ended => "Ended", + } + .to_owned() + } +} + +impl Display for SessionInfo { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "SessionInfo request_id: {}, vpn_session_uuid: {}", + self.request_id, self.vpn_session_id + ) + } +} + +impl VpnSessionStorage { + pub fn new(db: DatabaseConnection) -> Self { + Self { db } + } + + pub async fn new_session(&self, location: Location) -> Result { + let request_id = Uuid::new_v4(); + + let vpn_session = nymvpn_entity::vpn_session::ActiveModel { + request_id: Set(request_id.to_string()), + location_code: Set(location.code), + location_city: Set(location.city), + location_city_code: Set(location.city_code), + location_country: Set(location.country), + location_country_code: Set(location.country_code), + location_state: Set(location.state), + location_state_code: Set(location.state_code), + server_status: Set(None), + session_uuid: Set(None), + server_ipv4_endpoint: Set(None), + server_private_ipv4: Set(None), + server_public_key: Set(None), + requested_at: Set(Utc::now().to_rfc3339()), + mark_for_deletion: Set(false), + }; + + let _vpn_session = vpn_session.insert(&self.db).await?; + + Ok(request_id) + } + + pub async fn end_session(&self) -> Result, DbErr> { + let vpn_session = nymvpn_entity::vpn_session::Entity::find() + .filter(nymvpn_entity::vpn_session::Column::MarkForDeletion.eq(false)) + .one(&self.db) + .await?; + + if let Some(vpn_session) = vpn_session { + // mark for deletion + let marked_result = nymvpn_entity::vpn_session::Entity::update_many() + .filter( + nymvpn_entity::vpn_session::Column::RequestId.eq(vpn_session.request_id.clone()), + ) + .col_expr( + nymvpn_entity::vpn_session::Column::MarkForDeletion, + Expr::value(true), + ) + .exec(&self.db) + .await?; + + tracing::info!( + "marked for deletion: request_id: {} vpn_session_uuid: {:?}. Rows: {}", + &vpn_session.request_id, + &vpn_session.session_uuid, + marked_result.rows_affected + ); + + if let Some(vpn_session_uuid) = vpn_session.session_uuid { + return Ok(Some(SessionInfo { + request_id: Uuid::parse_str(&vpn_session.request_id).unwrap(), + vpn_session_id: Uuid::parse_str(&vpn_session_uuid).unwrap(), + })); + } + } else { + tracing::info!("No session found to mark for deletion"); + } + + Ok(None) + } + + pub async fn reclaim(&self) -> Result<(), DbErr> { + let marked = nymvpn_entity::vpn_session::Entity::update_many() + .col_expr( + nymvpn_entity::vpn_session::Column::MarkForDeletion, + Expr::value(true), + ) + .exec(&self.db) + .await?; + + tracing::info!( + "reclaimer marked for deletion count: {}", + marked.rows_affected + ); + + Ok(()) + } + + pub async fn to_reclaim(&self) -> Result, DbErr> { + nymvpn_entity::vpn_session::Entity::find() + .filter(nymvpn_entity::vpn_session::Column::MarkForDeletion.eq(true)) + .all(&self.db) + .await + .map(|sessions| { + sessions + .into_iter() + .filter(|session| { + session.session_uuid.is_some() + && Uuid::parse_str(&session.session_uuid.as_ref().unwrap()).is_ok() + && Uuid::parse_str(&session.request_id).is_ok() + }) + .map(|session| SessionInfo { + request_id: Uuid::parse_str(&session.request_id).unwrap(), + vpn_session_id: Uuid::parse_str(&session.session_uuid.unwrap()).unwrap(), + }) + .collect() + }) + } + + pub async fn update_on_accepted(&self, accepted: Accepted) -> Result<(), DbErr> { + let _update_result = nymvpn_entity::vpn_session::Entity::update_many() + .col_expr( + nymvpn_entity::vpn_session::Column::ServerStatus, + Expr::value(String::from(StorageServerStatus::Accepted)), + ) + .col_expr( + nymvpn_entity::vpn_session::Column::SessionUuid, + Expr::value(accepted.vpn_session_uuid.to_string()), + ) + .filter( + nymvpn_entity::vpn_session::Column::RequestId.eq(accepted.request_id.to_string()), + ) + .exec(&self.db) + .await?; + Ok(()) + } + + pub async fn delete(&self, request_id: Uuid) -> Result<(), DbErr> { + let delete_result = nymvpn_entity::vpn_session::Entity::delete_many() + .filter(nymvpn_entity::vpn_session::Column::RequestId.eq(request_id.to_string())) + .exec(&self.db) + .await?; + tracing::info!( + "deleted rows for {request_id}: {}", + delete_result.rows_affected + ); + Ok(()) + } + + fn get_session_info(vpn_session_status: &VpnSessionStatus) -> SessionInfo { + match vpn_session_status { + VpnSessionStatus::Accepted(accepted) => SessionInfo { + request_id: accepted.request_id, + vpn_session_id: accepted.vpn_session_uuid, + }, + VpnSessionStatus::Failed(failed) => SessionInfo { + request_id: failed.request_id, + vpn_session_id: failed.vpn_session_uuid, + }, + VpnSessionStatus::ServerCreated(server_created) => SessionInfo { + request_id: server_created.request_id, + vpn_session_id: server_created.vpn_session_uuid, + }, + VpnSessionStatus::ServerRunning(server_running) => SessionInfo { + request_id: server_running.request_id, + vpn_session_id: server_running.vpn_session_uuid, + }, + VpnSessionStatus::ServerReady(server_ready) => SessionInfo { + request_id: server_ready.request_id, + vpn_session_id: server_ready.vpn_session_uuid, + }, + VpnSessionStatus::ClientConnected(client_connected) => SessionInfo { + request_id: client_connected.request_id, + vpn_session_id: client_connected.vpn_session_uuid, + }, + VpnSessionStatus::Ended(ended) => SessionInfo { + request_id: ended.request_id, + vpn_session_id: ended.vpn_session_uuid, + }, + } + } + + // must be idempotent as same server update can arrive multiple times + pub async fn updated_server_status( + &self, + vpn_session_status: VpnSessionStatus, + ) -> Result { + tracing::info!("Received updated status from server: {vpn_session_status}"); + + let session_info = Self::get_session_info(&vpn_session_status); + + let vpn_session = + nymvpn_entity::vpn_session::Entity::find_by_id(session_info.request_id.to_string()) + .filter(nymvpn_entity::vpn_session::Column::MarkForDeletion.eq(false)) + .one(&self.db) + .await?; + + if vpn_session.is_none() { + tracing::info!("vpn session not found locally"); + tracing::info!("dropping status update from server: {vpn_session_status}"); + Ok(VpnSessionStatusProcessed { + vpn_status: None, + notification: None, + }) + } else { + let vpn_session = vpn_session.unwrap(); + let location: Location = vpn_session.clone().into(); + let mut vpn_session: nymvpn_entity::vpn_session::ActiveModel = vpn_session.into(); + + // update server status and other fields in DB + let (vpn_status, notification) = match vpn_session_status { + VpnSessionStatus::Accepted(_) => { + // This is initial state client knows so nothing to do here + vpn_session.server_status = + Set(Some(String::from(StorageServerStatus::Accepted))); + vpn_session.update(&self.db).await?; + + (None, None) + } + VpnSessionStatus::Failed(_) => { + // server could not be provisioned, create client notification, delete record from DB + vpn_session.delete(&self.db).await?; + + ( + Some(VpnStatus::Disconnected), + Some(Notification { + id: format!("failed-{}", session_info.request_id), + message: "Server could not be provisioned, please try again later" + .into(), + notification_type: + nymvpn_types::notification::NotificationType::ServerFailed, + timestamp: Utc::now(), + }), + ) + } + VpnSessionStatus::ServerCreated(_) => { + vpn_session.server_status = + Set(Some(String::from(StorageServerStatus::ServerCreated))); + + vpn_session.update(&self.db).await?; + + (Some(VpnStatus::ServerCreated(location)), None) + } + VpnSessionStatus::ServerRunning(_) => { + vpn_session.server_status = + Set(Some(String::from(StorageServerStatus::ServerRunning))); + vpn_session.update(&self.db).await?; + + (Some(VpnStatus::ServerRunning(location)), None) + } + VpnSessionStatus::ServerReady(server_ready) => { + vpn_session.server_status = + Set(Some(String::from(StorageServerStatus::ServerReady))); + vpn_session.server_ipv4_endpoint = + Set(Some(server_ready.ipv4_endpoint.to_string())); + vpn_session.server_private_ipv4 = + Set(Some(server_ready.private_ipv4.to_string())); + vpn_session.server_public_key = Set(Some(server_ready.public_key)); + + vpn_session.update(&self.db).await?; + + (Some(VpnStatus::ServerReady(location)), None) + } + VpnSessionStatus::ClientConnected(_) => { + vpn_session.server_status = + Set(Some(String::from(StorageServerStatus::ClientConnected))); + + vpn_session.update(&self.db).await?; + (None, None) + } + VpnSessionStatus::Ended(_) => { + vpn_session.delete(&self.db).await?; + (Some(VpnStatus::Disconnected), None) + } + }; + + Ok(VpnSessionStatusProcessed { + vpn_status, + notification, + }) + } + } + + fn message_from_error(&self, error_state: &ErrorState) -> String { + format!("{}", error_state.cause()) + } + + // Process tunnel state transition to derive new state + // and possibly tunnel action in case of client side failures + pub async fn tunnel_state_transition( + &self, + transition: TunnelStateTransition, + current_state: VpnStatus, + ) -> Result { + // When a tunnel transition is received that means all vpn_session on server side + // transitioned to successfully state ServerReady. Process tunnel state knowing that + // if vpn_session is still not marked for delete, its ready. + let vpn_session = nymvpn_entity::vpn_session::Entity::find() + .filter(nymvpn_entity::vpn_session::Column::MarkForDeletion.eq(false)) + .one(&self.db) + .await?; + + let (vpn_status, tunnel_command, end_session, notification, client_connected) = + match vpn_session { + Some(vpn_session) => { + tracing::info!( + "vpn session status {:?} during tunnel transition", + vpn_session.server_status + ); + let location: Location = vpn_session.clone().into(); + match transition { + TunnelStateTransition::Disconnected => { + (VpnStatus::Disconnected, None, None, None, None) + } + TunnelStateTransition::Connecting(_) => { + (VpnStatus::Connecting(location), None, None, None, None) + } + TunnelStateTransition::Connected(_) => { + let mut vpn_session_updated: nymvpn_entity::vpn_session::ActiveModel = + vpn_session.clone().into(); + vpn_session_updated.server_status = + Set(Some(String::from(StorageServerStatus::ClientConnected))); + vpn_session_updated.update(&self.db).await?; + + ( + VpnStatus::Connected(location, Utc::now()), + None, + None, + None, + Some(SessionInfo { + request_id: Uuid::parse_str(&vpn_session.request_id).unwrap(), + vpn_session_id: Uuid::parse_str( + &vpn_session.session_uuid.unwrap(), + ) + .unwrap(), + }), + ) + } + TunnelStateTransition::Disconnecting(_) => { + (VpnStatus::Disconnecting(location), None, None, None, None) + } + TunnelStateTransition::Error(error_state) => { + tracing::error!("tunnel errored: {error_state:?}"); + ( + VpnStatus::Disconnected, + Some(TunnelCommand::Disconnect), + Some(self.message_from_error(&error_state)), + Some(Notification { + id: format!("ce-{}", &vpn_session.request_id), + message: self.message_from_error(&error_state), + notification_type: NotificationType::ClientFailed, + timestamp: Utc::now(), + }), + None, + ) + } + } + } + None => { + tracing::info!("No vpn session found during tunnel transition"); + match transition { + TunnelStateTransition::Disconnected => { + (VpnStatus::Disconnected, None, None, None, None) + } + TunnelStateTransition::Connecting(_) => { + tracing::warn!( + "dropping connecting state transition as no vpn session found" + ); + (VpnStatus::Disconnected, None, None, None, None) + } + TunnelStateTransition::Connected(_) => { + tracing::warn!( + "dropping connected state transition as no vpn session found" + ); + (VpnStatus::Disconnected, None, None, None, None) + } + TunnelStateTransition::Disconnecting(_) => { + if let VpnStatus::Disconnecting(location) = current_state { + (VpnStatus::Disconnecting(location), None, None, None, None) + } else { + panic!("No vpn session found; current state is {current_state} and tunnel transitioned to disconnecting"); + } + } + TunnelStateTransition::Error(error_state) => { + tracing::error!("tunnel errored: {error_state:?}"); + ( + VpnStatus::Disconnected, + Some(TunnelCommand::Disconnect), + Some(self.message_from_error(&error_state)), + Some(Notification { + id: "unknown".into(), + message: self.message_from_error(&error_state), + notification_type: NotificationType::ClientFailed, + timestamp: Utc::now(), + }), + None, + ) + } + } + } + }; + + Ok(TunnelTransitionProcessed { + vpn_status, + tunnel_command, + end_session, + notification, + client_connected, + }) + } +} diff --git a/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/watcher.rs b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/watcher.rs new file mode 100644 index 00000000000..d59d9cf5362 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-daemon/src/vpn_session/watcher.rs @@ -0,0 +1,123 @@ +use tokio::sync::oneshot; +use tokio::time::{interval, Duration}; +use nymvpn_server::auth::TokenProvider; +use nymvpn_server::ServerApi; +use nymvpn_types::nymvpn_server::{VpnSessionStatus, VpnSessionStatusRequest}; + +use crate::daemon::{DaemonEvent, DaemonEventSender}; + +pub struct Watcher { + daemon_tx: DaemonEventSender, + vpn_session_status_request: VpnSessionStatusRequest, + token_provider: P, + last_watch: Option, +} + +impl Watcher

{ + pub fn new( + vpn_session_status_request: VpnSessionStatusRequest, + daemon_tx: DaemonEventSender, + token_provider: P, + ) -> Self { + Watcher { + vpn_session_status_request, + daemon_tx, + token_provider, + last_watch: None, + } + } + + // return true if watch output reached "final" state + async fn watch_ended(&mut self) -> bool { + let token_provider = self.token_provider.clone(); + let vpn_session_status_request = self.vpn_session_status_request.clone(); + + let nymvpn_service = ServerApi::new(token_provider).await; + match nymvpn_service { + Ok(mut nymvpn_service) => { + match nymvpn_service + .get_status(vpn_session_status_request.clone()) + .await + { + Ok(vpn_session_status) => { + let last_vpn_session_status = std::mem::replace( + &mut self.last_watch, + Some(vpn_session_status.clone()), + ); + + if let Some(last_vpn_session_status) = last_vpn_session_status { + if last_vpn_session_status == vpn_session_status { + return false; + } + } + + if let Err(e) = self + .daemon_tx + .send(DaemonEvent::VpnSessionStatus(vpn_session_status.clone())) + { + tracing::error!("Failed to notify daemon from watcher; ending watch for {vpn_session_status_request}: {e}"); + return true; + } + + match vpn_session_status { + nymvpn_types::nymvpn_server::VpnSessionStatus::Failed(_) + | nymvpn_types::nymvpn_server::VpnSessionStatus::ServerReady(_) + | nymvpn_types::nymvpn_server::VpnSessionStatus::ClientConnected(_) + | nymvpn_types::nymvpn_server::VpnSessionStatus::Ended(_) => { + tracing::info!("watcher end state received: {vpn_session_status}"); + return true; + } + nymvpn_types::nymvpn_server::VpnSessionStatus::ServerCreated(_) + | nymvpn_types::nymvpn_server::VpnSessionStatus::ServerRunning(_) + | nymvpn_types::nymvpn_server::VpnSessionStatus::Accepted(_) => {} + }; + } + Err(err) => { + // todo: this could be transient error? so we don't end the watch here + tracing::error!( + "watch received error from server for {vpn_session_status_request}: {}", + err.message() + ) + } + } + } + Err(err) => { + // transient error: don't end the watch here + tracing::error!("failed to connect to nymvpn service from watcher for {vpn_session_status_request}: {err}"); + } + } + false + } + + pub async fn run(mut self, mut shutdown_rx: oneshot::Receiver<()>) { + let mut interval = interval(Duration::from_millis(1000)); + loop { + tokio::select! { + _ = interval.tick() => { + if self.watch_ended().await { + break; + } + } + _ = &mut shutdown_rx => { + tracing::info!("watcher received shutdown"); + break; + } + } + } + tracing::info!("watcher stopped"); + } +} + +pub struct WatcherFactory; + +impl WatcherFactory { + pub async fn start( + vpn_session_status_request: VpnSessionStatusRequest, + daemon_tx: DaemonEventSender, + shutdown_rx: oneshot::Receiver<()>, + token_provider: impl TokenProvider + 'static, + ) { + let watcher = Watcher::new(vpn_session_status_request, daemon_tx, token_provider); + tokio::spawn(async move { watcher.run(shutdown_rx).await }); + } +} diff --git a/nym-vpn/desktop/nymvpn-entity/Cargo.toml b/nym-vpn/desktop/nymvpn-entity/Cargo.toml new file mode 100644 index 00000000000..b8641ccc966 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/Cargo.toml @@ -0,0 +1,29 @@ +[package] +name = "nymvpn-entity" +version = "0.1.0" +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[lib] +name = "nymvpn_entity" +path = "src/lib.rs" + +[dependencies.sea-orm] +version = "0.11.2" +features = [ + # Enable at least one `ASYNC_RUNTIME` and `DATABASE_DRIVER` feature if you want to run migration via CLI. + # View the list of supported features at https://www.sea-ql.org/SeaORM/docs/install-and-config/database-and-async-runtime. + # e.g. + "runtime-tokio-rustls", # `ASYNC_RUNTIME` feature + # "sqlx-postgres", # `DATABASE_DRIVER` feature + "sqlx-sqlite", +] + +[dependencies] +nymvpn-types = {path = "../nymvpn-types"} +uuid = { version = "1.3.1", features = ["v4", "serde"] } +serde_json = "1.0.96" diff --git a/nym-vpn/desktop/nymvpn-entity/src/conversions/device.rs b/nym-vpn/desktop/nymvpn-entity/src/conversions/device.rs new file mode 100644 index 00000000000..2bba7a8d70f --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/conversions/device.rs @@ -0,0 +1,54 @@ +use serde_json::json; +use nymvpn_types::device::DeviceDetails; +use uuid::Uuid; + +use crate::device::Model as Device; + +impl TryFrom for DeviceDetails { + type Error = String; + fn try_from(value: Device) -> Result { + let wireguard_meta: nymvpn_types::wireguard::WireguardMetadata = match value.ipv4_address { + Some(ipv4_address) => serde_json::from_value(json!({ + "private_key": value.private_key, + "device_addresses": { + "ipv4_address": ipv4_address + } + })), + None => serde_json::from_value(json!({ + "private_key": value.private_key, + })), + } + .map_err(|e| format!("failed to read wireguard meta from db: {e}"))?; + + Ok(Self { + name: value.name, + version: value.version, + arch: value.arch, + unique_id: Uuid::parse_str(&value.unique_id).map_err(|e| e.to_string())?, + device_type: value.device_type.as_str().try_into()?, + wireguard_meta, + created_at: value + .created_at + .parse() + .map_err(|e| format!("cannot convert created_at for device: {e}"))?, + }) + } +} + +impl From for Device { + fn from(value: DeviceDetails) -> Self { + Self { + name: value.name, + version: value.version, + arch: value.arch, + unique_id: value.unique_id.to_string(), + device_type: value.device_type.into(), + private_key: value.wireguard_meta.private_key.to_base64(), + ipv4_address: value + .wireguard_meta + .device_addresses + .map(|da| da.ipv4_address.to_string()), + created_at: value.created_at.to_rfc3339(), + } + } +} diff --git a/nym-vpn/desktop/nymvpn-entity/src/conversions/location.rs b/nym-vpn/desktop/nymvpn-entity/src/conversions/location.rs new file mode 100644 index 00000000000..56b920fb805 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/conversions/location.rs @@ -0,0 +1,27 @@ +impl From for nymvpn_types::location::Location { + fn from(value: crate::vpn_session::Model) -> Self { + Self { + code: value.location_code, + country: value.location_country, + country_code: value.location_country_code, + city: value.location_city, + city_code: value.location_city_code, + state: value.location_state, + state_code: value.location_state_code, + } + } +} + +impl From for nymvpn_types::location::Location { + fn from(value: crate::recent_locations::Model) -> Self { + Self { + code: value.code, + country: value.country, + country_code: value.country_code, + city: value.city, + city_code: value.city_code, + state: value.state, + state_code: value.state_code, + } + } +} diff --git a/nym-vpn/desktop/nymvpn-entity/src/conversions/mod.rs b/nym-vpn/desktop/nymvpn-entity/src/conversions/mod.rs new file mode 100644 index 00000000000..c14750ab6dc --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/conversions/mod.rs @@ -0,0 +1,2 @@ +pub mod device; +pub mod location; diff --git a/nym-vpn/desktop/nymvpn-entity/src/device.rs b/nym-vpn/desktop/nymvpn-entity/src/device.rs new file mode 100644 index 00000000000..d3cf599eacf --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/device.rs @@ -0,0 +1,22 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "device")] +pub struct Model { + #[sea_orm(primary_key, auto_increment = false)] + pub unique_id: String, + pub name: String, + pub version: String, + pub arch: String, + pub device_type: String, + pub private_key: String, + pub ipv4_address: Option, + pub created_at: String, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation {} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/nym-vpn/desktop/nymvpn-entity/src/lib.rs b/nym-vpn/desktop/nymvpn-entity/src/lib.rs new file mode 100644 index 00000000000..4aa5cb1d0b8 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/lib.rs @@ -0,0 +1,10 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3 + +pub mod prelude; + +pub mod device; +pub mod recent_locations; +pub mod token; +pub mod vpn_session; + +pub mod conversions; diff --git a/nym-vpn/desktop/nymvpn-entity/src/mod.rs b/nym-vpn/desktop/nymvpn-entity/src/mod.rs new file mode 100644 index 00000000000..0ccc3090d08 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/mod.rs @@ -0,0 +1,5 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.10.3 + +pub mod prelude; + +pub mod vpn_session; diff --git a/nym-vpn/desktop/nymvpn-entity/src/prelude.rs b/nym-vpn/desktop/nymvpn-entity/src/prelude.rs new file mode 100644 index 00000000000..b83c29222c0 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/prelude.rs @@ -0,0 +1,6 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3 + +pub use super::device::Entity as Device; +pub use super::recent_locations::Entity as RecentLocations; +pub use super::token::Entity as Token; +pub use super::vpn_session::Entity as VpnSession; diff --git a/nym-vpn/desktop/nymvpn-entity/src/recent_locations.rs b/nym-vpn/desktop/nymvpn-entity/src/recent_locations.rs new file mode 100644 index 00000000000..4ab6e188512 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/recent_locations.rs @@ -0,0 +1,22 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "recent_locations")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub code: String, + pub city: String, + pub city_code: String, + pub country: String, + pub country_code: String, + pub state: Option, + pub state_code: Option, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation {} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/nym-vpn/desktop/nymvpn-entity/src/token.rs b/nym-vpn/desktop/nymvpn-entity/src/token.rs new file mode 100644 index 00000000000..4a2a750acce --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/token.rs @@ -0,0 +1,16 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "token")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub token: String, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation {} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/nym-vpn/desktop/nymvpn-entity/src/vpn_session.rs b/nym-vpn/desktop/nymvpn-entity/src/vpn_session.rs new file mode 100644 index 00000000000..5329d682c51 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-entity/src/vpn_session.rs @@ -0,0 +1,29 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.11.3 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "vpn_session")] +pub struct Model { + #[sea_orm(primary_key, auto_increment = false)] + pub request_id: String, + pub location_code: String, + pub location_city: String, + pub location_city_code: String, + pub location_country: String, + pub location_country_code: String, + pub location_state: Option, + pub location_state_code: Option, + pub server_status: Option, + pub session_uuid: Option, + pub server_ipv4_endpoint: Option, + pub server_private_ipv4: Option, + pub server_public_key: Option, + pub requested_at: String, + pub mark_for_deletion: bool, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation {} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/nym-vpn/desktop/nymvpn-migration/Cargo.toml b/nym-vpn/desktop/nymvpn-migration/Cargo.toml new file mode 100644 index 00000000000..6243eb66beb --- /dev/null +++ b/nym-vpn/desktop/nymvpn-migration/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "nymvpn-migration" +version = "0.1.0" +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[lib] +name = "nymvpn_migration" +path = "src/lib.rs" + +[dependencies] +async-std = { version = "^1", features = ["attributes", "tokio1"] } + +[dependencies.sea-orm-migration] +version = "0.11.2" +features = [ + # Enable at least one `ASYNC_RUNTIME` and `DATABASE_DRIVER` feature if you want to run migration via CLI. + # View the list of supported features at https://www.sea-ql.org/SeaORM/docs/install-and-config/database-and-async-runtime. + # e.g. + "runtime-tokio-rustls", # `ASYNC_RUNTIME` feature + # "sqlx-postgres", # `DATABASE_DRIVER` feature + "sqlx-sqlite", +] diff --git a/nym-vpn/desktop/nymvpn-migration/README.md b/nym-vpn/desktop/nymvpn-migration/README.md new file mode 100644 index 00000000000..77b4fa67a2d --- /dev/null +++ b/nym-vpn/desktop/nymvpn-migration/README.md @@ -0,0 +1,43 @@ +# Running Migrator CLI + +- Generate a new migration file + ```sh + cargo run -- migrate generate MIGRATION_NAME + ``` +- Apply all pending migrations + ```sh + cargo run + ``` + ```sh + cargo run -- up + ``` +- Apply first 10 pending migrations + ```sh + cargo run -- up -n 10 + ``` +- Rollback last applied migrations + ```sh + cargo run -- down + ``` +- Rollback last 10 applied migrations + ```sh + cargo run -- down -n 10 + ``` +- Drop all tables from the database, then reapply all migrations + ```sh + cargo run -- fresh + ``` +- Rollback all applied migrations, then reapply all migrations + ```sh + cargo run -- refresh + ``` +- Rollback all applied migrations + ```sh + cargo run -- reset + ``` +- Check the status of all migrations + ```sh + cargo run -- status + ``` + +todo: tooling to apply local db migration diff --git a/nym-vpn/desktop/nymvpn-migration/src/lib.rs b/nym-vpn/desktop/nymvpn-migration/src/lib.rs new file mode 100644 index 00000000000..838e47ade73 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-migration/src/lib.rs @@ -0,0 +1,10 @@ +pub use sea_orm_migration::prelude::*; + +pub struct Migrator; + +#[async_trait::async_trait] +impl MigratorTrait for Migrator { + fn migrations() -> Vec> { + vec![] + } +} diff --git a/nym-vpn/desktop/nymvpn-migration/src/main.rs b/nym-vpn/desktop/nymvpn-migration/src/main.rs new file mode 100644 index 00000000000..17f9077a8cf --- /dev/null +++ b/nym-vpn/desktop/nymvpn-migration/src/main.rs @@ -0,0 +1,6 @@ +use sea_orm_migration::prelude::*; + +#[async_std::main] +async fn main() { + cli::run_cli(nymvpn_migration::Migrator).await; +} diff --git a/nym-vpn/desktop/nymvpn-packages/Cargo.toml b/nym-vpn/desktop/nymvpn-packages/Cargo.toml new file mode 100644 index 00000000000..6d69c3f888f --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/Cargo.toml @@ -0,0 +1,143 @@ +[package] +name = "nymvpn-packages" +version = "0.0.2" # actual version +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +description = "A VPN solution by Nym" +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + + +# +# DEBIAN PACKAGING +# +[package.metadata.deb] +name = "nymvpn" +# Maintainer is first author in authors +# maintainer = "" +assets = [ + ["target/release/nymvpn", "usr/bin/", "755"], + ["target/release/nymvpn-ui", "/opt/nymvpn/nymvpn", "755"], + ["target/release/nymvpn-daemon", "/opt/nymvpn/nymvpn-daemon", "755"], + ["linux/nymvpn.desktop", "usr/share/applications/", "644"], + ["nymvpn-oss-licenses.html", "/opt/nymvpn/nymvpn-oss-licenses.html", "644"], + ["../nymvpn-assets/icons/32x32.png", "usr/share/icons/hicolor/32x32/apps/nymvpn.png", "644"], + ["../nymvpn-assets/icons/128x128.png", "usr/share/icons/hicolor/128x128/apps/nymvpn.png", "644"], + ["../nymvpn-assets/icons/128x128@2x.png", "usr/share/icons/hicolor/256x256/apps/nymvpn.png", "644"], + ["../nymvpn-assets/icons/icon.png", "usr/share/icons/hicolor/512x512/apps/nymvpn.png", "644"], +] +depends = "libwebkit2gtk-4.0-37 (>= 2.21.1), libgtk-3-0 (>= 3.21.4), libayatana-appindicator3-1" +maintainer-scripts = "linux/debian/maintainer-scripts/" +systemd-units = { unit-name = "nymvpn-daemon", enable = true, start= true, restart-after-upgrade = false, stop-on-upgrade = true, unit-scripts = "linux/unit-scripts"} + +[package.metadata.deb.variants.staging] +name = "nymvpn-staging" +assets = [ + ["target/release/nymvpn", "usr/bin/", "755"], + ["target/release/nymvpn-ui", "/opt/nymvpn/nymvpn", "755"], + ["target/release/nymvpn-daemon", "/opt/nymvpn/nymvpn-daemon", "755"], + ["linux/nymvpn.desktop", "usr/share/applications/", "644"], + ["nymvpn-oss-licenses.html", "/opt/nymvpn/nymvpn-oss-licenses.html", "644"], + ["../nymvpn-assets/icons/32x32.png", "usr/share/icons/hicolor/32x32/apps/nymvpn.png", "644"], + ["../nymvpn-assets/icons/128x128.png", "usr/share/icons/hicolor/128x128/apps/nymvpn.png", "644"], + ["../nymvpn-assets/icons/128x128@2x.png", "usr/share/icons/hicolor/256x256/apps/nymvpn.png", "644"], + ["../nymvpn-assets/icons/icon.png", "usr/share/icons/hicolor/512x512/apps/nymvpn.png", "644"], + ["linux/staging-config/nymvpn.conf.toml", "etc/nymvpn/", "644"] +] + +# +# RPM PACKAGING +# +[package.metadata.generate-rpm.requires] +"webkit2gtk4.0" = ">= 2.38.5" +"libappindicator-gtk3" = ">= 12.10.1" + +[package.metadata.generate-rpm] +name = "nymvpn" +assets = [ + { source = "target/release/nymvpn", dest = "/usr/bin/nymvpn", mode = "755" }, + { source = "target/release/nymvpn-ui", dest = "/opt/nymvpn/nymvpn", mode = "755" }, + { source = "target/release/nymvpn-daemon", dest = "/opt/nymvpn/nymvpn-daemon", mode = "755" }, + { source = "linux/nymvpn.desktop", dest = "/usr/share/applications/nymvpn.desktop", mode = "644"}, + { source = "nymvpn-oss-licenses.html", dest = "/opt/nymvpn/nymvpn-oss-licenses.html", mode = "644"}, + { source = "linux/unit-scripts/nymvpn-daemon.service", dest = "/usr/lib/systemd/system/nymvpn-daemon.service", mode = "644"}, + { source = "../nymvpn-assets/icons/32x32.png", dest = "/usr/share/icons/hicolor/32x32/apps/nymvpn.png", mode = "644" }, + { source = "../nymvpn-assets/icons/128x128.png", dest = "/usr/share/icons/hicolor/128x128/apps/nymvpn.png", mode = "644" }, + {source = "../nymvpn-assets/icons/128x128@2x.png", dest = "/usr/share/icons/hicolor/256x256/apps/nymvpn.png", mode = "644"}, + {source = "../nymvpn-assets/icons/icon.png", dest = "/usr/share/icons/hicolor/512x512/apps/nymvpn.png", mode = "644"}, +] +auto-req = "no" + +# presinst +pre_install_script = ''' +set -euo pipefail + +# Stop daemon and UI + +if which systemctl &> /dev/null; then + if systemctl status nymvpn-daemon &> /dev/null; then + systemctl stop nymvpn-daemon.service + systemctl disable nymvpn-daemon.service + cp /var/log/nymvpn/nymvpn-daemon.log /var/log/nymvpn/previous-nymvpn-daemon.log \ + || echo "Failed to copy previous daemon log file" + fi +fi + +pkill -x "nymvpn" || true +''' + +# postinst +post_install_script = ''' +set -e +systemctl enable "/usr/lib/systemd/system/nymvpn-daemon.service" +systemctl start nymvpn-daemon.service +''' + +pre_uninstall_script = ''' +set -euo pipefail + +# Stop UI +pkill -x "nymvpn" || true + +is_number_re='^[0-9]+$' +# Check if we're running during an upgrade step on Fedora +# https://fedoraproject.org/wiki/Packaging:Scriptlets#Syntax +if [[ "$1" =~ $is_number_re ]] && [ $1 -gt 0 ]; then + exit 0; +fi + +if [[ "$1" == "upgrade" ]]; then + exit 0; +fi + +systemctl stop nymvpn-daemon.service || true +systemctl disable nymvpn-daemon.service || true +''' + +post_uninstall_script = ''' +set -euo pipefail + +# remove log and configuration files +remove_log_and_configuration() { + # all log files + if [ -d /var/log/nymvpn ]; then + rm -r --interactive=never /var/log/nymvpn/ || \ + echo "Failed to remove nymvpn log files" + fi + + # config files if any + if [ -d /etc/nymvpn ]; then + rm -r --interactive=never /etc/nymvpn/ || \ + echo "Failed to remove nymvpn configuration files" + fi +} + +case "$@" in + # apt purge; yum remove + "0") + remove_log_and_configuration + ;; +esac +''' diff --git a/nym-vpn/desktop/nymvpn-packages/Dockerfile b/nym-vpn/desktop/nymvpn-packages/Dockerfile new file mode 100644 index 00000000000..078e14ae453 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/Dockerfile @@ -0,0 +1,121 @@ +# Copyright (C) 2023 Nym Technologies, GPL-3.0 +# Copyright (C) 2022 Mullvad VPN AB, GPL-3.0 + +# To build the image (executed from the repository root): +# podman build -f building/Dockerfile . -t nymvpn-app-build +# +# To run the image and build the app you need to mount the app's source directory into the +# container. You also probably want to mount in a directory for CARGO_HOME, so each container +# does not need to start from scratch with cloning the crates.io index, download all +# dependencies and building everything. +# +# podman run --rm \ +# -v /path/to/container_cache/target:/root/.cargo/target:Z \ +# -v /path/to/container_cache/registry:/root/.cargo/registry:Z \ +# -v .:/build:Z \ +# nymvpn-app-build cargo make ... +# +# And add -e TARGETS="aarch64-unknown-linux-gnu" to build for ARM64 + +# Debian 10 is the oldest supported distro. It has the oldest glibc that we support +# This checksum points to a 10.13-slim image. +FROM debian@sha256:557ee531b81ce380d012d83b7bb56211572e5d6088d3e21a3caef7d7ed7f718b + +LABEL org.opencontainers.image.source=https://github.com/nymvpn/nymvpn-app +LABEL org.opencontainers.image.description="nymvpn app Linux build container" +LABEL org.opencontainers.image.licenses=GPL-3.0 + +# === Define toolchain versions and paths === + +ENV CARGO_TARGET_DIR=/root/.cargo/target + +ENV GOLANG_VERSION=1.18.5 \ + GOLANG_HASH=9e5de37f9c49942c601b191ac5fba404b868bfc21d446d6960acc12283d6e5f2 + +# === Install/set up the image === + +RUN dpkg --add-architecture arm64 && apt-get update -y && apt-get install -y \ + git \ + curl \ + gcc gcc-aarch64-linux-gnu \ + libdbus-1-dev libdbus-1-dev:arm64 \ + rpm \ + protobuf-compiler \ + # Tauri / TLS / GTK + libgtk-3-dev \ + libssl-dev \ + libsoup2.4-dev \ + libjavascriptcoregtk-4.0-dev \ + libwebkit2gtk-4.0-dev \ + libnftnl-dev \ + zip \ + libmnl-dev \ + libssl-dev:arm64 \ + libgtk-3-dev:arm64 \ + libwebkit2gtk-4.0-dev:arm64 \ + # For cross-compiling/linting towards Windows + gcc-mingw-w64-x86-64 \ + && rm -rf /var/lib/apt/lists/* + +RUN curl -Lo protoc-3.19.1-linux-x86_64.zip \ + https://github.com/protocolbuffers/protobuf/releases/download/v3.19.1/protoc-3.19.1-linux-x86_64.zip && \ + unzip protoc-3.19.1-linux-x86_64.zip -d /tmp && \ + mv /tmp/bin/protoc /usr/bin/protoc && \ + rm protoc-3.19.1-linux-x86_64.zip + +# === Rust === + +# Install latest stable Rust toolchain for both x86_64-unknown-linux-gnu and aarch64-unknown-linux-gnu, +# plus x86_64-pc-windows-gnu for Windows cross-compilation/linting +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ + sh -s -- -y \ + --default-toolchain stable \ + --profile minimal \ + --component clippy \ + --target aarch64-unknown-linux-gnu \ + --target x86_64-pc-windows-gnu + +ENV PATH=/root/.cargo/bin:$PATH +ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="aarch64-linux-gnu-gcc" \ + PKG_CONFIG_SYSROOT_DIR_aarch64_unknown_linux_gnu=/usr/lib/aarch64-linux-gnu + +# === Install cargo tools === +RUN cargo install cargo-make && \ + cargo install cargo-deb && \ + cargo install sd && \ + cargo install ripgrep && \ + cargo install cargo-about && \ + cargo install cargo-generate-rpm && \ + mv /root/.cargo/bin/cargo-make /usr/local/bin && \ + mv /root/.cargo/bin/cargo-deb /usr/local/bin && \ + mv /root/.cargo/bin/cargo-generate-rpm /usr/local/bin && \ + mv /root/.cargo/bin/sd /usr/local/bin && \ + mv /root/.cargo/bin/rg /usr/local/bin && \ + mv /root/.cargo/bin/cargo-about /usr/local/bin && \ + rm -rf /root/.cargo/git && \ + rm -rf /root/.cargo/registry && \ + rm -rf /root/.cargo/target + +# === Volta for npm + node === + +ENV PATH=/root/.volta/bin:$PATH +ENV NODE_VERSION=18.13.0 +ENV NPM_VERSION=8.19.3 + +RUN curl https://get.volta.sh | bash && \ + volta install node@${NODE_VERSION} && \ + volta install npm@${NPM_VERSION} && \ + npm config set update-notifier false + +# === Golang === + +# Install golang +# Checksum from: https://go.dev/dl/ +RUN curl -Lo go.tgz https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz && \ + echo "${GOLANG_HASH} go.tgz" | sha256sum -c - && \ + tar -C /usr/local -xzf go.tgz && \ + rm go.tgz +ENV PATH=/usr/local/go/bin:$PATH + + +WORKDIR /build diff --git a/nym-vpn/desktop/nymvpn-packages/Makefile.toml b/nym-vpn/desktop/nymvpn-packages/Makefile.toml new file mode 100644 index 00000000000..5076ac22eb6 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/Makefile.toml @@ -0,0 +1,15 @@ +[env] +TAG = { script = ["git rev-parse --short HEAD"]} +DIRTY = { script = ['[ "$(git status --porcelain)" = "" ] || echo "-dirty"']} + +[tasks.tag] +workspace = false +script = ''' +echo "${TAG}${DIRTY}" > tag.txt +''' + +[tasks.builder] +workspace = false +command = "docker" +args = ["build", ".", "-t", "ghcr.io/nymvpn/nymvpn-app-builder:${TAG}${DIRTY}"] +dependencies = ["tag"] diff --git a/nym-vpn/desktop/nymvpn-packages/cargo-config.toml b/nym-vpn/desktop/nymvpn-packages/cargo-config.toml new file mode 100644 index 00000000000..f315649edd1 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/cargo-config.toml @@ -0,0 +1,20 @@ +[target.x86_64-unknown-linux-gnu] +rustflags = ["-L", "__REPO_ROOT__/build/lib/x86_64-unknown-linux-gnu"] + +[target.aarch64-unknown-linux-gnu] +rustflags = ["-L", "__REPO_ROOT__/build/lib/aarch64-unknown-linux-gnu"] + +[target.x86_64-apple-darwin] +rustflags = ["-L", "__REPO_ROOT__/build/lib/x86_64-apple-darwin"] + +[target.aarch64-apple-darwin] +rustflags = ["-L", "__REPO_ROOT__/build/lib/aarch64-apple-darwin"] + +[target.x86_64-pc-windows-msvc] +rustflags = [ + "-L", "__REPO_ROOT__/build/lib/x86_64-pc-windows-msvc", + "-L", "__REPO_ROOT__/windows/x86_64-pc-windows-msvc/x64-Release", + "-Ctarget-feature=+crt-static"] + +[target.i686-pc-windows-msvc] +rustflags = ["-Ctarget-feature=+crt-static"] \ No newline at end of file diff --git a/nym-vpn/desktop/nymvpn-packages/code-signing-public-key.asc b/nym-vpn/desktop/nymvpn-packages/code-signing-public-key.asc new file mode 100644 index 00000000000..89428829919 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/code-signing-public-key.asc @@ -0,0 +1,53 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +6dz9rW0= +=N074 +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/nym-vpn/linux/.gitkeep b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/.gitkeep similarity index 100% rename from nym-vpn/linux/.gitkeep rename to nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/.gitkeep diff --git a/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/postrm b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/postrm new file mode 100755 index 00000000000..faec70f4e64 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/postrm @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -euo pipefail + +#DEBHELPER# + +# remove log and configuration files +remove_log_and_configuration() { + # all log files + if [ -d /var/log/nymvpn ]; then + rm -r --interactive=never /var/log/nymvpn/ || \ + echo "Failed to remove nymvpn log files" + fi + + # config files if any + if [ -d /etc/nymvpn ]; then + rm -r --interactive=never /etc/nymvpn/ || \ + echo "Failed to remove nymvpn configuration files" + fi +} + +case "$@" in + # apt purge; yum remove + "purge"|"0") + remove_log_and_configuration + ;; +esac diff --git a/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/preinst b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/preinst new file mode 100755 index 00000000000..5cf7643f387 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/preinst @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# Stop daemon and UI + +if which systemctl &> /dev/null; then + if systemctl status nymvpn-daemon &> /dev/null; then + systemctl stop nymvpn-daemon.service + systemctl disable nymvpn-daemon.service + cp /var/log/nymvpn/nymvpn-daemon.log /var/log/nymvpn/previous-nymvpn-daemon.log \ + || echo "Failed to copy previous daemon log file" + fi +fi + +pkill -x "nymvpn" || true + +#DEBHELPER# diff --git a/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/prerm b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/prerm new file mode 100755 index 00000000000..d5341f01c58 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/linux/debian/maintainer-scripts/prerm @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +#DEBHELPER# + +# Stop UI +pkill -x "nymvpn" || true diff --git a/nym-vpn/desktop/nymvpn-packages/linux/nymvpn.desktop b/nym-vpn/desktop/nymvpn-packages/linux/nymvpn.desktop new file mode 100644 index 00000000000..30d93866171 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/linux/nymvpn.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=nymvpn +Comment=A VPN solution by Nym +Exec=/opt/nymvpn/nymvpn +Terminal=false +Type=Application +Categories=Network;Security; +Icon=nymvpn +SingleMainWindow=true diff --git a/nym-vpn/desktop/nymvpn-packages/linux/unit-scripts/nymvpn-daemon.service b/nym-vpn/desktop/nymvpn-packages/linux/unit-scripts/nymvpn-daemon.service new file mode 100644 index 00000000000..aab5d023517 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/linux/unit-scripts/nymvpn-daemon.service @@ -0,0 +1,14 @@ +[Unit] +Description=nymvpn daemon +Before=network-online.target +StartLimitBurst=6 +StartLimitIntervalSec=24 +After=NetworkManager.service systemd-resolved.service + +[Service] +ExecStart=/opt/nymvpn/nymvpn-daemon +Restart=always +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/nym-vpn/desktop/nymvpn-packages/macos/build.sh b/nym-vpn/desktop/nymvpn-packages/macos/build.sh new file mode 100755 index 00000000000..dd89ef3e40f --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/build.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +set -euo pipefail + +VERSION=${1:-latest} + +mkdir -p ./packages + +declare -a BINARIES=( + "./pkg/root/Applications/nymvpn.app/Contents/Resources/nymvpn" + "./pkg/root/Applications/nymvpn.app/Contents/Resources/nymvpn-daemon" + "./pkg/root/Applications/nymvpn.app/Contents/MacOS/nymvpn-ui" +) + +sd "APP_VERSION" "${VERSION}" ./pkg/root/Applications/nymvpn.app/Contents/Info.plist +sd "APP_VERSION" "${VERSION}" ./pkg/Distribution + + +if [[ ! -z "${APPLICATION_SIGNING_IDENTITY:-}" ]] && [[ ! -z "${APPLE_TEAM_ID:-}" ]]; then + for binary in "${BINARIES[@]}" + do + echo "Signing: ${binary}" + codesign \ + --options runtime \ + --sign "${APPLICATION_SIGNING_IDENTITY}" \ + "${binary}" + done +fi + +pkgbuild \ + --install-location /Applications \ + --identifier app.nymvpn.macos \ + --version "${VERSION}" \ + --scripts "./pkg/scripts" \ + --root "./pkg/root/Applications" \ + ./packages/app.nymvpn.macos.pkg + +productbuild \ + --distribution "./pkg/Distribution" \ + --resources "./pkg/Resources" \ + --package-path ./packages \ + "nymvpn-${VERSION}-unsigned.pkg" + +if [ ! -z "${INSTALLER_SIGNING_IDENTITY:-}" ]; then + echo "Signing pkg" + productsign \ + --sign "${INSTALLER_SIGNING_IDENTITY}" \ + "nymvpn-${VERSION}-unsigned.pkg" "nymvpn-${VERSION}.pkg" +else + mv "nymvpn-${VERSION}-unsigned.pkg" "nymvpn-${VERSION}.pkg" +fi diff --git a/nym-vpn/desktop/nymvpn-packages/macos/pkg/Distribution b/nym-vpn/desktop/nymvpn-packages/macos/pkg/Distribution new file mode 100644 index 00000000000..1d58df3ac23 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/pkg/Distribution @@ -0,0 +1,29 @@ + + + nymvpn + + + + + + + + + + + + + + + + + + + + + + + + #app.nymvpn.macos.pkg + + diff --git a/nym-vpn/desktop/nymvpn-packages/macos/pkg/Resources/welcome.html b/nym-vpn/desktop/nymvpn-packages/macos/pkg/Resources/welcome.html new file mode 100644 index 00000000000..d9fd4ca7c12 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/pkg/Resources/welcome.html @@ -0,0 +1,21 @@ + + + + + + + + + +
+

Thank you for choosing your VPN from nymvpn. You'll now be guided through installation steps.

+
+

Click “Continue” to continue the setup.

+ + + diff --git a/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Info.plist b/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Info.plist new file mode 100644 index 00000000000..04c33d83eb2 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Info.plist @@ -0,0 +1,94 @@ + + + + + BundleIsRelocatable + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + nymvpn + CFBundleExecutable + nymvpn-ui + CFBundleIconFile + icon.icns + CFBundleIdentifier + app.nymvpn.macos + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + nymvpn + CFBundlePackageType + APPL + CFBundleShortVersionString + APP_VERSION + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + APP_VERSION + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + 10.11.0 + LSMultipleInstancesProhibited + + LSUIElement + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + + NSExceptionDomains + + 127.0.0.1 + + NSIncludesSubdomains + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + NSTemporaryExceptionAllowsInsecureHTTPSLoads + + NSTemporaryExceptionMinimumTLSVersion + 1.0 + NSTemporaryExceptionRequiresForwardSecrecy + + + localhost + + NSIncludesSubdomains + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + NSTemporaryExceptionAllowsInsecureHTTPSLoads + + NSTemporaryExceptionMinimumTLSVersion + 1.0 + NSTemporaryExceptionRequiresForwardSecrecy + + + + + NSHighResolutionCapable + + NSHumanReadableCopyright + Copyright © 2023 Nym Technologies. All Rights Reserved. + NSQuitAlwaysKeepsWindows + + NSRequiresAquaSystemAppearance + + NSSupportsAutomaticGraphicsSwitching + + NSUserNotificationAlertStyle + alert + CSResourcesFileMapped + + BundleIsVersionChecked + + BundleOverwriteAction + upgrade + + diff --git a/nym-vpn/macos/.gitkeep b/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/MacOS/.gitkeep similarity index 100% rename from nym-vpn/macos/.gitkeep rename to nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/MacOS/.gitkeep diff --git a/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Resources/uninstall.sh b/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Resources/uninstall.sh new file mode 100755 index 00000000000..b7b1db5b20b --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/pkg/root/Applications/nymvpn.app/Contents/Resources/uninstall.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +set -ueo pipefail + +LOG_DIR="/var/log/nymvpn" +nymvpn_DAEMON_PLIST_PATH="/Library/LaunchDaemons/app.nymvpn.daemon.plist" + +ask_confirmation() { + read -p "Are you sure you want to stop and uninstall nymvpn? (y/n) " + if [[ "$REPLY" =~ [Yy]$ ]]; then + echo "Uninstalling nymvpn ..." + else + echo "Thank you for keeping nymvpn" + exit 0 + fi +} + +stop_daemon_and_ui() { + echo "Stopping and unloading nymvpn-daemon ..." + if [[ -f "${nymvpn_DAEMON_PLIST_PATH}" ]]; then + # Stop Daemon and UI + sudo launchctl unload -w "${nymvpn_DAEMON_PLIST_PATH}" || true + sudo pkill -x "nymvpn-ui" || true + sudo rm "${nymvpn_DAEMON_PLIST_PATH}" || true + fi +} + +uninstall() { + echo "Removing files ..." + sudo rm /usr/local/bin/nymvpn || true + sudo rm -rf /Applications/nymvpn.app || true + sudo pkgutil --forget app.nymvpn.macos || true + sudo rm -rf /var/log/nymvpn || true + sudo rm -rf /etc/nymvpn || true +} + +main() { + ask_confirmation + stop_daemon_and_ui + uninstall + echo "Done." +} + +main "$@" diff --git a/nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/postinstall b/nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/postinstall new file mode 100755 index 00000000000..e6d9a003c66 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/postinstall @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 Nym Technologies, GPL-3.0 +# Copyright (C) 2022 Mullvad VPN AB, GPL-3.0 + +set -euo pipefail + +INSTALL_DIR="/Applications" +LOG_DIR="/var/log/nymvpn" +nymvpn_DAEMON_PLIST_PATH="/Library/LaunchDaemons/app.nymvpn.daemon.plist" + +mkdir -p $LOG_DIR +chmod 755 $LOG_DIR + +exec 2>&1 > "${LOG_DIR}/postinstall.log" + +nymvpn_DAEMON_PLIST=$(cat <<-PLIST + + + + + Label + app.nymvpn.daemon + ProgramArguments + + ${INSTALL_DIR}/nymvpn.app/Contents/Resources/nymvpn-daemon + + UserName + root + RunAtLoad + + KeepAlive + + SoftResourceLimits + + NumberOfFiles + 1024 + + StandardErrorPath + ${LOG_DIR}/stderr.log + + +PLIST +) + +launch_daemon() { + echo "${nymvpn_DAEMON_PLIST}" > "${nymvpn_DAEMON_PLIST_PATH}" + chmod 644 "${nymvpn_DAEMON_PLIST_PATH}" + launchctl load -w "${nymvpn_DAEMON_PLIST_PATH}" +} + +sym_link() { + mkdir -p /usr/local/bin + ln -sf "${INSTALL_DIR}/nymvpn.app/Contents/Resources/nymvpn" /usr/local/bin/nymvpn +} + +main() { + launch_daemon + sym_link +} + +main "$@" diff --git a/nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/preinstall b/nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/preinstall new file mode 100755 index 00000000000..2676891af70 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/macos/pkg/scripts/preinstall @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 Nym Technologies, GPL-3.0 +# Copyright (C) 2022 Mullvad VPN AB, GPL-3.0 + +set -euo pipefail + +INSTALL_DIR="/Applications" +LOG_DIR="/var/log/nymvpn" +nymvpn_DAEMON_PLIST_PATH="/Library/LaunchDaemons/app.nymvpn.daemon.plist" + +mkdir -p $LOG_DIR +chmod 755 $LOG_DIR + +exec 2>&1 > "${LOG_DIR}/preinstall.log" + +stop_daemon_and_ui() { + if [[ -f "${nymvpn_DAEMON_PLIST_PATH}" ]]; then + # Stop Daemon and UI and copy old log file + launchctl unload -w "${nymvpn_DAEMON_PLIST_PATH}" || true + pkill -x "nymvpn-ui" || echo "Failed to stop nymvpn-ui" || true + cp "${LOG_DIR}/nymvpn-daemon.log" "$LOG_DIR/previous-nymvpn-daemon.log" \ + || echo "Failed to copy old nymvpn-daemon log" + + else + echo "No previous installation found" + fi +} + +create_exclusion_group() { + # Create a group for nymvpn-exclusion + nymvpn_EXCLUSION_GROUP="nymvpn-exclusion" + if ! dscl . -list /Groups | grep $nymvpn_EXCLUSION_GROUP; then + dscl . -create /Groups/$nymvpn_EXCLUSION_GROUP \ + || echo "FAILED TO CREATE $nymvpn_EXCLUSION_GROUP GROUP" + fi + if ! dscl . -read /Groups/$nymvpn_EXCLUSION_GROUP | grep PrimaryGroupID; then + nymvpn_EXCLUSION_GID=$(( RANDOM )) + dscl . -append /Groups/$nymvpn_EXCLUSION_GROUP PrimaryGroupID $nymvpn_EXCLUSION_GID \ + && echo "Created nymvpn-exclusion group with gid $nymvpn_EXCLUSION_GID" \ + || echo "FAILED TO CREATE 'nymvpn-exclusion' group" + fi +} + +main() { + create_exclusion_group + stop_daemon_and_ui +} + +main "$@" diff --git a/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-footer.hbs b/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-footer.hbs new file mode 100644 index 00000000000..a0e3cc2aa59 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-footer.hbs @@ -0,0 +1,11 @@ + +This file was also generated with cargo about https://github.com/EmbarkStudios/cargo-about + + +
+ + + + + diff --git a/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-header.hbs b/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-header.hbs new file mode 100644 index 00000000000..b431ed1cf6c --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-header.hbs @@ -0,0 +1,49 @@ + + + + + + + +
+
+

Open Source Libraries Licenses

+

This page lists the licenses of the projects used in nymvpn app.

+
diff --git a/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-rust.hbs b/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-rust.hbs new file mode 100644 index 00000000000..79c90334a52 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-packages/nymvpn-oss-licenses-rust.hbs @@ -0,0 +1,61 @@ + +

All licenses:

+ + +
    +
  • +

    MIT License

    +

    Used by:

    + +
    +                    Copyright (c) 2020 Tokio Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +                
    +
  • +
+ +
+
+
diff --git a/nym-vpn/desktop/nymvpn-packages/src/main.rs b/nym-vpn/desktop/nymvpn-packages/src/main.rs
new file mode 100644
index 00000000000..f328e4d9d04
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-packages/src/main.rs
@@ -0,0 +1 @@
+fn main() {}
diff --git a/nym-vpn/desktop/nymvpn-packages/tag.txt b/nym-vpn/desktop/nymvpn-packages/tag.txt
new file mode 100644
index 00000000000..e426d3a5c6c
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-packages/tag.txt
@@ -0,0 +1 @@
+9992164
diff --git a/nym-vpn/desktop/nymvpn-packages/windows/nymvpn.wsx b/nym-vpn/desktop/nymvpn-packages/windows/nymvpn.wsx
new file mode 100644
index 00000000000..e04e7c806cc
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-packages/windows/nymvpn.wsx
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+  
+    
+
+    
+      = 603)]]>
+    
+    
+      %PROCESSOR_ARCHITECTURE="AMD64" 
+
+    
+
+    
+
+    
+    
+    
+    
+    
+    
+    
+
+    
+    
+
+    
+    
+      
+        
+          
+        
+      
+      
+    
+
+    
+    
+      
+        
+        
+      
+    
+
+    
+
+      
+        
+      
+
+      
+        
+      
+
+      
+        
+      
+
+      
+        
+      
+
+      
+        
+      
+
+      
+        
+      
+
+      
+        
+          
+        
+      
+
+      
+        
+
+        
+        
+
+        
+
+        
+      
+
+
+    
+
+    
+
+    
+    
+      
+      
+    
+
+    
+    
+    
+    
+      NOT WIX_UPGRADE_DETECTED
+      WIX_UPGRADE_DETECTED
+    
+
+    
+    
+    
+    
+      
+    
+  
+
diff --git a/nym-vpn/desktop/nymvpn-packages/windows/sign.sh b/nym-vpn/desktop/nymvpn-packages/windows/sign.sh
new file mode 100644
index 00000000000..1f092f62f50
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-packages/windows/sign.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 Nym Technologies, GPL-3.0
+# Based on: Copyright (C) 2022 Mullvad VPN AB, GPL-3.0
+
+# Sign all binaries passed as arguments to this function
+function sign_win {
+    local NUM_RETRIES=3
+
+    for binary in "$@"; do
+        # Try multiple times in case the timestamp server cannot
+        # be contacted.
+        for i in $(seq 0 ${NUM_RETRIES}); do
+            echo "Signing $binary..."
+            if signtool sign \
+                -tr http://timestamp.sectigo.com -td sha256 \
+                -fd sha256 -d "nymvpn app" \
+                -du "https://github.com/nymvpn/nymvpn-app#readme" \
+                "$binary"
+            then
+                break
+            fi
+
+            if [ "$i" -eq "${NUM_RETRIES}" ]; then
+                return 1
+            fi
+
+            sleep 1
+        done
+    done
+    return 0
+}
+
+if [[ "$SIGN" == "true" && "$(uname -s)" == "MINGW"* ]]; then
+    sign_win "$@"
+fi
diff --git a/nym-vpn/desktop/nymvpn-server/Cargo.toml b/nym-vpn/desktop/nymvpn-server/Cargo.toml
new file mode 100644
index 00000000000..58aa6616306
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-server/Cargo.toml
@@ -0,0 +1,33 @@
+[package]
+name = "nymvpn-server"
+version = "0.1.0"
+edition = "2021"
+publish = false
+license = "GPL-3.0"
+authors = ["Nym Technologies"]
+homepage = "https://nymtech.net"
+repository = "https://github.com/nymtech/nym"
+
+[dependencies]
+futures = "0.3.28"
+hyper = "0.14.26"
+prost = "0.11.9"
+serde = { version = "1.0.160", features = ["derive"] }
+thiserror = "1.0.40"
+# todo: handle certs: remove dependency on tls-roots
+tonic = { version = "0.9.2", features = ["tls", "tls-roots"] }
+tower = "0.4.13"
+nymvpn-config = { path = "../nymvpn-config" }
+nymvpn-types = {path = "../nymvpn-types"}
+talpid-types = {git = "https://github.com/mullvad/mullvadvpn-app.git", rev = "04c6609948a770aed30491c66c4c6d779bc71c92"}
+uuid = { version = "1.3.1", features = ["serde", "v4"] }
+# todo: use rustls? instead of OS TLS
+reqwest = { version = "0.11.16", features = ["json"] }
+ipnetwork = "0.20.0"
+backoff = { version = "0.4.0", features = ["tokio"] }
+
+[build-dependencies]
+tonic-build = "0.9.2"
+
+[dev-dependencies]
+tokio = "1.27.0"
diff --git a/nym-vpn/desktop/nymvpn-server/build.rs b/nym-vpn/desktop/nymvpn-server/build.rs
new file mode 100644
index 00000000000..29a5c81373f
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-server/build.rs
@@ -0,0 +1,7 @@
+fn main() -> Result<(), Box> {
+    tonic_build::configure()
+        .build_server(false)
+        .compile(&["proto/nymvpn-server.proto"], &["proto"])?;
+    println!("cargo:rerun-if-changed=proto");
+    Ok(())
+}
diff --git a/nym-vpn/desktop/nymvpn-server/proto/nymvpn-server.proto b/nym-vpn/desktop/nymvpn-server/proto/nymvpn-server.proto
new file mode 100644
index 00000000000..f52fc507261
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-server/proto/nymvpn-server.proto
@@ -0,0 +1,153 @@
+syntax = "proto3";
+
+package nymvpn;
+
+import "google/protobuf/empty.proto";
+import "google/protobuf/wrappers.proto";
+
+/// Locations
+
+message ListLocationsResponse {
+    repeated Location locations = 1;
+}
+
+message Location {
+    string code = 1;
+    string country = 2;
+    string country_code = 3;
+    string city = 4;
+    string city_code = 5;
+    optional string state = 6;
+    optional string state_code = 7;
+}
+
+/// VPN Sessions
+
+message NewSession {
+    string request_id = 1;
+    string device_unique_id = 2;
+    string location_code = 3;
+}
+
+message Accepted {
+    string request_id = 1;
+    string vpn_session_uuid = 2;
+}
+
+
+message ServerCreated {
+    string request_id = 1;
+    string vpn_session_uuid = 2;
+}
+
+message Failed {
+    string request_id = 1;
+    string vpn_session_uuid = 2;
+}
+
+message EndSession {
+    string request_id = 1;
+    string device_unique_id = 2;
+    string vpn_session_uuid = 3;
+    string reason = 4;
+}
+
+message ServerRunning {
+    string request_id = 1;
+    string vpn_session_uuid = 2;
+}
+
+message ServerReady {
+    string request_id = 1;
+    string vpn_session_uuid = 2;
+    string public_key = 3;
+    string ipv4_endpoint = 4;
+    string private_ipv4 = 5;
+}
+
+message ClientConnected {
+    string request_id = 1;
+    string device_unique_id = 2;
+    string vpn_session_uuid = 3;
+}
+
+message VpnSessionStatusRequest {
+    string request_id = 1;
+    string device_unique_id = 2;
+    string vpn_session_uuid = 3;
+}
+
+message VpnSessionStatus {
+    oneof state {
+        Accepted accepted = 1;
+        Failed failed = 2;
+        ServerCreated server_created = 3;
+        ServerRunning server_running = 4;
+        ServerReady server_ready = 5;
+        ClientConnected client_connected = 6;
+        Ended ended = 7;
+    }
+}
+
+message Ended {
+    string request_id = 1;
+    string vpn_session_uuid = 2;
+    string reason = 3;
+}
+
+/// Device Management
+message UserCredentials {
+    string email = 1;
+    string password = 2;
+}
+
+// numeric value is important for conversions to internal types
+enum DeviceType {
+    Linux = 0;
+    MacOS = 1;
+    Windows = 2;
+    Android = 3;
+    IOS = 4;
+}
+
+message DeviceInfo {
+    string name = 1;
+    string version = 2;
+    string arch = 3;
+    string public_key = 4;
+    string unique_id = 5;
+    DeviceType device_type = 6;
+}
+
+message AddDeviceRequest {
+    UserCredentials user_creds = 1;
+    DeviceInfo device_info = 2;
+}
+
+message DeviceAddresses {
+    uint32 ipv4_address = 1;
+}
+
+message AddDeviceResponse {
+    string token = 1;
+    DeviceAddresses device_addresses = 2;
+}
+
+/// nymvpn Service
+service nymvpnService {
+    // Vpn Session
+    rpc NewVpnSession(NewSession) returns (Accepted);
+    rpc EndVpnSession(EndSession) returns (Ended);
+    rpc Connected(ClientConnected) returns (google.protobuf.Empty);
+    rpc GetStatus(VpnSessionStatusRequest) returns (VpnSessionStatus);
+
+    // Locations
+    rpc ListLocations (google.protobuf.Empty) returns (ListLocationsResponse);
+
+    // Device Management
+    rpc AddDevice(AddDeviceRequest) returns (AddDeviceResponse);
+    rpc SignOut(google.protobuf.Empty) returns (google.protobuf.Empty);
+
+    // Releases and Versions
+    rpc LatestAppVersion(google.protobuf.Empty) returns (google.protobuf.StringValue);
+}
diff --git a/nym-vpn/desktop/nymvpn-server/src/auth.rs b/nym-vpn/desktop/nymvpn-server/src/auth.rs
new file mode 100644
index 00000000000..a2c6f266a28
--- /dev/null
+++ b/nym-vpn/desktop/nymvpn-server/src/auth.rs
@@ -0,0 +1,57 @@
+use std::task::{Context, Poll};
+
+use hyper::{http::HeaderValue, Body};
+use tonic::{body::BoxBody, transport::Channel};
+use tower::Service;
+
+#[tonic::async_trait]
+pub trait TokenProvider: Clone + Send + Sync {
+    async fn bearer_token(&self) -> Option;
+}
+
+#[derive(Debug, Clone)]
+pub struct AuthLayer {
+    token_provider: P,
+    inner: Channel,
+}
+
+impl AuthLayer

{ + pub fn new(token_provider: P, inner: Channel) -> Self { + AuthLayer { + token_provider, + inner, + } + } +} + +impl

Service> for AuthLayer

+where + P: TokenProvider + 'static, +{ + type Response = hyper::Response; + type Error = Box; + type Future = futures::future::BoxFuture<'static, Result>; + + fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll> { + self.inner.poll_ready(cx).map_err(Into::into) + } + + fn call(&mut self, mut req: hyper::Request) -> Self::Future { + // This is necessary because tonic internally uses `tower::buffer::Buffer`. + // See https://github.com/tower-rs/tower/issues/547#issuecomment-767629149 + // for details on why this is necessary + let clone = self.inner.clone(); + let mut inner = std::mem::replace(&mut self.inner, clone); + + let token_provider = self.token_provider.clone(); + Box::pin(async move { + if let Some(bearer_token) = token_provider.bearer_token().await { + req.headers_mut().insert( + "authorization", + HeaderValue::from_str(&format!("Bearer {bearer_token}")).unwrap(), + ); + } + Ok(inner.call(req).await?) + }) + } +} diff --git a/nym-vpn/desktop/nymvpn-server/src/conversions/device.rs b/nym-vpn/desktop/nymvpn-server/src/conversions/device.rs new file mode 100644 index 00000000000..7015d5b16a5 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-server/src/conversions/device.rs @@ -0,0 +1,47 @@ +impl From for crate::proto::UserCredentials { + fn from(value: nymvpn_types::nymvpn_server::UserCredentials) -> Self { + Self { + email: value.email, + password: value.password, + } + } +} + +impl From for crate::proto::DeviceInfo { + fn from(value: nymvpn_types::nymvpn_server::DeviceInfo) -> Self { + Self { + name: value.name, + version: value.version, + arch: value.arch, + public_key: value.public_key, + unique_id: value.unique_id.to_string(), + device_type: value.device_type.into(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::DeviceAddresses { + fn from(value: crate::proto::DeviceAddresses) -> Self { + Self { + ipv4_address: value.ipv4_address.into(), + } + } +} + +impl From for crate::proto::AddDeviceRequest { + fn from(value: nymvpn_types::nymvpn_server::AddDeviceRequest) -> Self { + Self { + user_creds: Some(value.user_creds.into()), + device_info: Some(value.device_info.into()), + } + } +} + +impl From for nymvpn_types::nymvpn_server::AddDeviceResponse { + fn from(value: crate::proto::AddDeviceResponse) -> Self { + Self { + token: value.token, + device_addresses: value.device_addresses.unwrap().into(), + } + } +} diff --git a/nym-vpn/desktop/nymvpn-server/src/conversions/location.rs b/nym-vpn/desktop/nymvpn-server/src/conversions/location.rs new file mode 100644 index 00000000000..ada814acea3 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-server/src/conversions/location.rs @@ -0,0 +1,23 @@ +impl From for nymvpn_types::location::Location { + fn from(value: crate::proto::Location) -> Self { + Self { + code: value.code, + country: value.country, + country_code: value.country_code, + city: value.city, + city_code: value.city_code, + state: value.state, + state_code: value.state_code, + } + } +} + +impl From for Vec { + fn from(value: crate::proto::ListLocationsResponse) -> Self { + value + .locations + .into_iter() + .map(nymvpn_types::location::Location::from) + .collect() + } +} diff --git a/nym-vpn/desktop/nymvpn-server/src/conversions/mod.rs b/nym-vpn/desktop/nymvpn-server/src/conversions/mod.rs new file mode 100644 index 00000000000..1c624f58940 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-server/src/conversions/mod.rs @@ -0,0 +1,3 @@ +pub mod device; +pub mod location; +pub mod vpn_session; diff --git a/nym-vpn/desktop/nymvpn-server/src/conversions/vpn_session.rs b/nym-vpn/desktop/nymvpn-server/src/conversions/vpn_session.rs new file mode 100644 index 00000000000..33cd84ac0c4 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-server/src/conversions/vpn_session.rs @@ -0,0 +1,144 @@ +use std::{net::Ipv4Addr, str::FromStr}; + +use uuid::Uuid; + +impl From for nymvpn_types::nymvpn_server::Accepted { + fn from(value: crate::proto::Accepted) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::Ended { + fn from(value: crate::proto::Ended) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + reason: value.reason, + } + } +} + +impl From for nymvpn_types::nymvpn_server::ServerRunning { + fn from(value: crate::proto::ServerRunning) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::ServerReady { + fn from(value: crate::proto::ServerReady) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + public_key: value.public_key, + ipv4_endpoint: value.ipv4_endpoint.parse().unwrap(), + private_ipv4: Ipv4Addr::from_str(&value.private_ipv4).unwrap(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::ServerCreated { + fn from(value: crate::proto::ServerCreated) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::Failed { + fn from(value: crate::proto::Failed) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::ClientConnected { + fn from(value: crate::proto::ClientConnected) -> Self { + Self { + request_id: Uuid::parse_str(&value.request_id).unwrap(), + device_unique_id: Uuid::parse_str(&value.device_unique_id).unwrap(), + vpn_session_uuid: Uuid::parse_str(&value.vpn_session_uuid).unwrap(), + } + } +} + +impl From for nymvpn_types::nymvpn_server::VpnSessionStatus { + fn from(value: crate::proto::VpnSessionStatus) -> Self { + match value.state.unwrap() { + crate::proto::vpn_session_status::State::Accepted(accepted) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::Accepted(accepted.into()) + } + crate::proto::vpn_session_status::State::Failed(failed) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::Failed(failed.into()) + } + crate::proto::vpn_session_status::State::ServerCreated(server_created) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::ServerCreated(server_created.into()) + } + crate::proto::vpn_session_status::State::ServerRunning(server_running) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::ServerRunning(server_running.into()) + } + crate::proto::vpn_session_status::State::ServerReady(server_ready) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::ServerReady(server_ready.into()) + } + crate::proto::vpn_session_status::State::ClientConnected(client_connected) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::ClientConnected( + client_connected.into(), + ) + } + crate::proto::vpn_session_status::State::Ended(ended) => { + nymvpn_types::nymvpn_server::VpnSessionStatus::Ended(ended.into()) + } + } + } +} + +impl From for crate::proto::NewSession { + fn from(value: nymvpn_types::nymvpn_server::NewSession) -> Self { + Self { + request_id: value.request_id.to_string(), + device_unique_id: value.device_unique_id.to_string(), + location_code: value.location_code, + } + } +} + +impl From for crate::proto::EndSession { + fn from(value: nymvpn_types::nymvpn_server::EndSession) -> Self { + Self { + request_id: value.request_id.to_string(), + device_unique_id: value.device_unique_id.to_string(), + vpn_session_uuid: value.vpn_session_uuid.to_string(), + reason: value.reason, + } + } +} + +impl From for crate::proto::ClientConnected { + fn from(value: nymvpn_types::nymvpn_server::ClientConnected) -> Self { + Self { + request_id: value.request_id.to_string(), + device_unique_id: value.device_unique_id.to_string(), + vpn_session_uuid: value.vpn_session_uuid.to_string(), + } + } +} + +impl From + for crate::proto::VpnSessionStatusRequest +{ + fn from(value: nymvpn_types::nymvpn_server::VpnSessionStatusRequest) -> Self { + Self { + request_id: value.request_id.to_string(), + device_unique_id: value.device_unique_id.to_string(), + vpn_session_uuid: value.vpn_session_uuid.to_string(), + } + } +} diff --git a/nym-vpn/desktop/nymvpn-server/src/lib.rs b/nym-vpn/desktop/nymvpn-server/src/lib.rs new file mode 100644 index 00000000000..a6d504ba297 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-server/src/lib.rs @@ -0,0 +1,194 @@ +use std::time::Duration; + +use auth::{AuthLayer, TokenProvider}; +use tonic::transport::{Channel, ClientTlsConfig, Uri}; +use tower::ServiceBuilder; +use nymvpn_types::{ + location::Location, + nymvpn_server::{ + Accepted, AddDeviceRequest, AddDeviceResponse, ClientConnected, EndSession, Ended, + NewSession, VpnSessionStatus, VpnSessionStatusRequest, + }, +}; + +pub mod proto { + tonic::include_proto!("nymvpn"); +} + +pub mod auth; +pub mod conversions; + +pub const REQUEST_TIMEOUT_SECS: Duration = Duration::from_secs(60); + +pub type nymvpnServiceClient

= proto::nymvpn_service_client::nymvpnServiceClient>; +pub type nymvpnServiceNoAuthClient = + proto::nymvpn_service_client::nymvpnServiceClient; + +async fn create_channel() -> Result { + let tls = ClientTlsConfig::new(); + + let api_host_port = nymvpn_config::config().grpc_api_host_port(); + //todo: use Uri type in config to avoid parsing panic? + let uri: Uri = api_host_port.parse().expect("Failed to parse server uri"); + + let channel = Channel::builder(uri) + .tls_config(tls)? + .keep_alive_while_idle(true) + .http2_keep_alive_interval(Duration::from_secs(15)) + .tcp_keepalive(Some(Duration::from_secs(15))) + .timeout(REQUEST_TIMEOUT_SECS) + .connect() + .await?; + + Ok(channel) +} + +async fn channel_with_auth( + token_provider: P, +) -> Result, tonic::transport::Error> { + let channel = create_channel().await?; + + let channel = ServiceBuilder::new() + .layer_fn(|inner| AuthLayer::new(token_provider.clone(), inner)) + .service(channel); + + Ok(channel) +} + +fn backoff() -> backoff::ExponentialBackoff { + backoff::ExponentialBackoffBuilder::new() + .with_max_elapsed_time(Some(Duration::from_secs(5))) + .build() +} + +pub async fn new_nymvpn_service_client( + token_provider: P, +) -> Result, tonic::transport::Error> { + let channel = backoff::future::retry(backoff(), || async { + let channel = channel_with_auth(token_provider.clone()).await?; + Ok(channel) + }) + .await + .map_err(|e| e.into())?; + + Ok(proto::nymvpn_service_client::nymvpnServiceClient::new( + channel, + )) +} + +pub async fn new_nymvpn_service_no_auth_client( +) -> Result { + let channel = backoff::future::retry(backoff(), || async { + let channel = create_channel().await?; + Ok(channel) + }) + .await + .map_err(|e| e.into())?; + + Ok(proto::nymvpn_service_client::nymvpnServiceClient::new( + channel, + )) +} + +pub struct ServerApi { + client: nymvpnServiceClient

, +} + +impl ServerApi

{ + pub async fn new(token_provider: P) -> Result { + Ok(Self { + client: new_nymvpn_service_client(token_provider).await?, + }) + } + + pub async fn list_locations(&mut self) -> Result, tonic::Status> { + self.client + .list_locations(()) + .await + .map(|response| response.into_inner().into()) + } + + pub async fn new_session( + &mut self, + new_session: NewSession, + ) -> Result { + let mut request = tonic::Request::new(new_session.into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client + .new_vpn_session(request) + .await + .map(|response| response.into_inner().into()) + } + + pub async fn end_session(&mut self, end_session: EndSession) -> Result { + let mut request = tonic::Request::new(end_session.into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client + .end_vpn_session(request) + .await + .map(|response| response.into_inner().into()) + } + + pub async fn client_connected( + &mut self, + client_connected: ClientConnected, + ) -> Result<(), tonic::Status> { + let mut request = tonic::Request::new(client_connected.into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client + .connected(request) + .await + .map(|response| response.into_inner()) + } + + pub async fn get_status( + &mut self, + vpn_session_status_request: VpnSessionStatusRequest, + ) -> Result { + let mut request = tonic::Request::new(vpn_session_status_request.into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client + .get_status(request) + .await + .map(|response| response.into_inner().into()) + } + + pub async fn sign_out(&mut self) -> Result<(), tonic::Status> { + let mut request = tonic::Request::new(().into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client.sign_out(request).await.map(|_| ()) + } + + pub async fn latest_app_version(&mut self) -> Result { + let mut request = tonic::Request::new(().into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client + .latest_app_version(request) + .await + .map(|response| response.into_inner()) + } +} + +pub struct ServerApiNoAuth { + client: nymvpnServiceNoAuthClient, +} + +impl ServerApiNoAuth { + pub async fn new() -> Result { + Ok(Self { + client: new_nymvpn_service_no_auth_client().await?, + }) + } + + pub async fn add_device( + &mut self, + add_device_request: AddDeviceRequest, + ) -> Result { + let mut request = tonic::Request::new(add_device_request.into()); + request.set_timeout(REQUEST_TIMEOUT_SECS); + self.client + .add_device(request) + .await + .map(|response| response.into_inner().into()) + } +} diff --git a/nym-vpn/desktop/nymvpn-types/Cargo.toml b/nym-vpn/desktop/nymvpn-types/Cargo.toml new file mode 100644 index 00000000000..19c8508fb93 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "nymvpn-types" +version = "0.1.0" +edition = "2021" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[dependencies] +tokio = "1.27.0" +nymvpn-config = {path="../nymvpn-config"} +talpid-types = {git = "https://github.com/mullvad/mullvadvpn-app.git", rev = "04c6609948a770aed30491c66c4c6d779bc71c92"} +serde = { version = "1.0.160", features = ["derive"] } +ipnetwork = "0.20.0" +chrono = { version = "0.4.24", features = ["serde"] } +uuid = { version = "1.3.1", features = ["serde", "v4"] } +thiserror = "1.0.40" +serde_yaml = "0.9.21" +ts-rs = { git = "https://github.com/Aleph-Alpha/ts-rs", features = ["serde-compat", "chrono-impl", "uuid-impl", "format"] } + diff --git a/nym-vpn/desktop/nymvpn-types/src/device.rs b/nym-vpn/desktop/nymvpn-types/src/device.rs new file mode 100644 index 00000000000..e0be270d128 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/device.rs @@ -0,0 +1,84 @@ +use std::fmt::Display; + +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use uuid::Uuid; + +use crate::{ + nymvpn_server::{DeviceInfo, DeviceType}, + wireguard::WireguardMetadata, +}; + +pub const LINUX: &str = "linux"; +pub const MACOS: &str = "macos"; +pub const WINDOWS: &str = "windows"; +pub const ANDROID: &str = "android"; +pub const IOS: &str = "ios"; + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct DeviceDetails { + pub name: String, + pub version: String, + pub arch: String, + pub unique_id: Uuid, + pub device_type: DeviceType, + pub wireguard_meta: WireguardMetadata, + pub created_at: DateTime, +} + +impl TryFrom<&str> for DeviceType { + type Error = String; + fn try_from(value: &str) -> Result { + Ok(match value.to_lowercase().as_str() { + LINUX => DeviceType::Linux, + MACOS => DeviceType::MacOS, + WINDOWS => DeviceType::Windows, + ANDROID => DeviceType::Android, + IOS => DeviceType::IOS, + val => Err(format!("invalid device type: {val}"))?, + }) + } +} + +impl From for String { + fn from(value: DeviceType) -> Self { + match value { + DeviceType::Linux => LINUX, + DeviceType::MacOS => MACOS, + DeviceType::Windows => WINDOWS, + DeviceType::IOS => IOS, + DeviceType::Android => ANDROID, + } + .into() + } +} + +impl Display for DeviceType { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + // WARN: do not use .to_string(): stack overflow from recursion + write!(f, "{}", String::from(self.clone())) + } +} + +impl Display for DeviceDetails { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "DeviceDetails(name: {}, version: {}, arch: {}, unique_id: {}, device_type: {}, wireguard_meta: {}, created_at: {})", + self.name, self.version, self.arch, self.unique_id, self.device_type, self.wireguard_meta, self.created_at + ) + } +} + +impl From for DeviceInfo { + fn from(value: DeviceDetails) -> Self { + Self { + name: value.name, + version: value.version, + arch: value.arch, + public_key: value.wireguard_meta.public_key().to_base64(), + unique_id: value.unique_id, + device_type: value.device_type, + } + } +} diff --git a/nym-vpn/desktop/nymvpn-types/src/lib.rs b/nym-vpn/desktop/nymvpn-types/src/lib.rs new file mode 100644 index 00000000000..73f29ddc417 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/lib.rs @@ -0,0 +1,14 @@ +pub mod device; +pub mod location; +pub mod notification; +//pub mod nymvpn_server; +pub mod vpn_session; +pub mod wireguard; +pub mod nymvpn_server; + +pub type DateTimeUtc = chrono::DateTime; + +#[cfg(target_os = "linux")] +pub const TUNNEL_TABLE_ID: u32 = 0x686c6565; +#[cfg(target_os = "linux")] +pub const TUNNEL_FWMARK: u32 = 0x686c6565; diff --git a/nym-vpn/desktop/nymvpn-types/src/location.rs b/nym-vpn/desktop/nymvpn-types/src/location.rs new file mode 100644 index 00000000000..d30f619d0b8 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/location.rs @@ -0,0 +1,31 @@ +use std::fmt::Display; + +use serde::{Deserialize, Serialize}; +use ts_rs::TS; + +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts(export)] +pub struct Location { + pub code: String, + pub country: String, + pub country_code: String, + pub city: String, + pub city_code: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub state: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub state_code: Option, +} + +impl Display for Location { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.state { + Some(state) => { + write!(f, "{}, {}, {}", self.city, state, self.country) + } + None => { + write!(f, "{}, {}", self.city, self.country) + } + } + } +} diff --git a/nym-vpn/desktop/nymvpn-types/src/notification.rs b/nym-vpn/desktop/nymvpn-types/src/notification.rs new file mode 100644 index 00000000000..4e48cd91f3c --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/notification.rs @@ -0,0 +1,40 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use ts_rs::TS; + +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts(export)] +pub enum NotificationType { + ServerFailed, + ClientFailed, +} + +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts(export)] +pub struct Notification { + pub id: String, + pub message: String, + pub notification_type: NotificationType, + pub timestamp: DateTime, +} + +// for protobuf +impl TryFrom for NotificationType { + type Error = String; + fn try_from(value: i32) -> Result { + Ok(match value { + 0 => NotificationType::ServerFailed, + 1 => NotificationType::ClientFailed, + val => Err(format!("invalid notification type value: {val}"))?, + }) + } +} + +impl From for i32 { + fn from(value: NotificationType) -> Self { + match value { + NotificationType::ServerFailed => 0, + NotificationType::ClientFailed => 1, + } + } +} diff --git a/nym-vpn/desktop/nymvpn-types/src/nymvpn_server.rs b/nym-vpn/desktop/nymvpn-types/src/nymvpn_server.rs new file mode 100644 index 00000000000..c6409a6de5b --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/nymvpn_server.rs @@ -0,0 +1,276 @@ +use std::{ + fmt::Display, + net::{Ipv4Addr, SocketAddr}, +}; + +use serde::{Deserialize, Serialize}; +use uuid::Uuid; + +/// Types for GRPC +#[derive(Debug, Clone)] +pub struct NewSession { + pub request_id: Uuid, + pub device_unique_id: Uuid, + pub location_code: String, +} + +#[derive(Debug, Clone)] +pub struct EndSession { + pub request_id: Uuid, + pub device_unique_id: Uuid, + pub vpn_session_uuid: Uuid, + pub reason: String, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct ClientConnected { + pub request_id: Uuid, + pub device_unique_id: Uuid, + pub vpn_session_uuid: Uuid, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct Accepted { + pub request_id: Uuid, + pub vpn_session_uuid: Uuid, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct ServerCreated { + pub request_id: Uuid, + pub vpn_session_uuid: Uuid, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct Failed { + pub request_id: Uuid, + pub vpn_session_uuid: Uuid, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct ServerRunning { + pub request_id: Uuid, + pub vpn_session_uuid: Uuid, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct ServerReady { + pub request_id: Uuid, + pub vpn_session_uuid: Uuid, + pub public_key: String, + pub ipv4_endpoint: SocketAddr, + pub private_ipv4: Ipv4Addr, +} + +#[derive(Debug, Clone, PartialEq)] +pub struct Ended { + pub request_id: Uuid, + pub vpn_session_uuid: Uuid, + pub reason: String, +} + +#[derive(Debug, Clone)] +pub struct VpnSessionStatusRequest { + pub request_id: Uuid, + pub device_unique_id: Uuid, + pub vpn_session_uuid: Uuid, +} + +#[derive(Debug, Clone, PartialEq)] +pub enum VpnSessionStatus { + Accepted(Accepted), + Failed(Failed), + ServerCreated(ServerCreated), + ServerRunning(ServerRunning), + ServerReady(ServerReady), + ClientConnected(ClientConnected), + Ended(Ended), +} + +#[derive(Clone, Debug)] +pub struct UserCredentials { + pub email: String, + pub password: String, +} + +#[derive(Clone, Debug, Serialize, Deserialize)] +pub enum DeviceType { + Linux, + MacOS, + Windows, + IOS, + Android, +} + +#[derive(Debug)] +pub struct DeviceInfo { + pub name: String, + pub version: String, + pub arch: String, + pub public_key: String, + pub unique_id: uuid::Uuid, + pub device_type: DeviceType, +} + +#[derive(Debug)] +pub struct AddDeviceRequest { + pub user_creds: UserCredentials, + pub device_info: DeviceInfo, +} + +#[derive(Debug)] +pub struct AddDeviceResponse { + pub token: String, + pub device_addresses: DeviceAddresses, +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct DeviceAddresses { + pub ipv4_address: Ipv4Addr, +} + +impl Display for DeviceAddresses { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "DeviceAddresses(ipv4_address = {})", self.ipv4_address) + } +} + +// for protobuf +impl TryFrom for DeviceType { + type Error = String; + fn try_from(value: i32) -> Result { + Ok(match value { + 0 => DeviceType::Linux, + 1 => DeviceType::MacOS, + 2 => DeviceType::Windows, + 3 => DeviceType::Android, + 4 => DeviceType::IOS, + _ => Err("invalid device type")?, + }) + } +} + +impl From for i32 { + fn from(value: DeviceType) -> Self { + match value { + DeviceType::Linux => 0, + DeviceType::MacOS => 1, + DeviceType::Windows => 2, + DeviceType::Android => 3, + DeviceType::IOS => 4, + } + } +} + +impl Display for VpnSessionStatus { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "VpnSessionStatus: {}", + match self { + VpnSessionStatus::Accepted(accepted) => format!("{accepted}"), + VpnSessionStatus::Failed(failed) => format!("{failed}"), + VpnSessionStatus::ServerCreated(server_created) => format!("{server_created}"), + VpnSessionStatus::ServerRunning(server_running) => format!("{server_running}"), + VpnSessionStatus::ServerReady(server_ready) => format!("{server_ready}"), + VpnSessionStatus::ClientConnected(client_connected) => + format!("{client_connected}"), + VpnSessionStatus::Ended(ended) => format!("{ended}"), + } + ) + } +} + +impl Display for VpnSessionStatusRequest { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "VpnSessionStatusRequest request_id: {}, device_unique_id: {}, vpn_session_uuid: {}", + self.request_id, self.device_unique_id, self.vpn_session_uuid + ) + } +} + +impl Display for Accepted { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Accepted request_id: {}, vpn_session_uuid: {}", + self.request_id, self.vpn_session_uuid + ) + } +} + +impl Display for Failed { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Failed request_id: {} vpn_session_uuid: {}", + self.request_id, self.vpn_session_uuid + ) + } +} + +impl Display for ServerCreated { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ServerCreated request_id: {}, vpn_session_uuid: {}", + self.request_id, self.vpn_session_uuid + ) + } +} + +impl Display for ServerRunning { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ServerRunning request_id: {}, vpn_session_uuid: {}", + self.request_id, self.vpn_session_uuid + ) + } +} + +impl Display for ServerReady { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ServerReady request_id: {}, vpn_session_uuid: {}, ipv4_endpoint: {}, private_ipv4: {}, public_key: {}", + self.request_id, + self.vpn_session_uuid, + self.ipv4_endpoint, + self.private_ipv4, + self.public_key + ) + } +} + +impl Display for Ended { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Ended request_id: {}, vpn_session_uuid: {}, reason: {}", + self.request_id, self.vpn_session_uuid, self.reason + ) + } +} + +impl Display for ClientConnected { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ClientConnected request_id: {}, device_unique_id: {}, vpn_session_uuid: {}", + self.request_id, self.device_unique_id, self.vpn_session_uuid + ) + } +} + +impl Display for EndSession { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "EndSession: request_id: {}, vpn_session_uuid: {}, device_unique_id: {}, reason: {} ", + self.request_id, self.vpn_session_uuid, self.device_unique_id, self.reason + ) + } +} diff --git a/nym-vpn/desktop/nymvpn-types/src/vpn_session.rs b/nym-vpn/desktop/nymvpn-types/src/vpn_session.rs new file mode 100644 index 00000000000..fd4c79a24b9 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/vpn_session.rs @@ -0,0 +1,42 @@ +use std::fmt::Display; + +use serde::{Deserialize, Serialize}; +use ts_rs::TS; + +use crate::{location::Location, DateTimeUtc}; + +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts(export)] +#[serde(tag = "type", content = "payload")] +pub enum VpnStatus { + Accepted(Location), + ServerCreated(Location), + ServerRunning(Location), + ServerReady(Location), + Connecting(Location), + Connected(Location, DateTimeUtc), + Disconnecting(Location), + Disconnected, +} + +impl Display for VpnStatus { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Status: {}", + match self { + VpnStatus::Accepted(location) => format!("Accepted, City: {}", location.city), + VpnStatus::Connected(location, _) => format!("Connected, City: {}", location.city), + VpnStatus::Connecting(location) => format!("Connecting, City: {}", location.city), + VpnStatus::Disconnected => format!("Disconnected"), + VpnStatus::Disconnecting(location) => + format!("Disconnecting, City: {}", location.city), + VpnStatus::ServerCreated(location) => + format!("ServerCreated, City: {}", location.city), + VpnStatus::ServerRunning(location) => + format!("ServerRunning, City: {}", location.city), + VpnStatus::ServerReady(location) => format!("ServerReady, City: {}", location.city), + } + ) + } +} diff --git a/nym-vpn/desktop/nymvpn-types/src/wireguard.rs b/nym-vpn/desktop/nymvpn-types/src/wireguard.rs new file mode 100644 index 00000000000..6ad09dfcb60 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-types/src/wireguard.rs @@ -0,0 +1,47 @@ +use std::fmt::Display; + +use serde::{Deserialize, Serialize}; +use talpid_types::net::wireguard; + +use crate::nymvpn_server::DeviceAddresses; + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct WireguardMetadata { + pub private_key: wireguard::PrivateKey, + + pub device_addresses: Option, +} + +impl WireguardMetadata { + pub fn public_key(&self) -> wireguard::PublicKey { + self.private_key.public_key() + } +} + +impl Default for WireguardMetadata { + fn default() -> Self { + WireguardMetadata { + private_key: wireguard::PrivateKey::new_from_random(), + device_addresses: None, + } + } +} + +impl Display for WireguardMetadata { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + if self.device_addresses.is_some() { + write!( + f, + "WireguardMetadata(public_key:{}, device_addresses:{})", + self.private_key.public_key(), + self.device_addresses.as_ref().unwrap(), + ) + } else { + write!( + f, + "WireguardMetadata(public_key:{}, device_addresses:None)", + self.private_key.public_key(), + ) + } + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/.env.production b/nym-vpn/desktop/nymvpn-ui/.env.production new file mode 100644 index 00000000000..c2a0459b706 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/.env.production @@ -0,0 +1 @@ +nymvpn_URL="https://nymtech.net" diff --git a/nym-vpn/ui/.gitignore b/nym-vpn/desktop/nymvpn-ui/.gitignore similarity index 100% rename from nym-vpn/ui/.gitignore rename to nym-vpn/desktop/nymvpn-ui/.gitignore diff --git a/nym-vpn/desktop/nymvpn-ui/.nvmrc b/nym-vpn/desktop/nymvpn-ui/.nvmrc new file mode 100644 index 00000000000..b460d6f2dea --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/.nvmrc @@ -0,0 +1 @@ +18.12.1 diff --git a/nym-vpn/ui/.vscode/extensions.json b/nym-vpn/desktop/nymvpn-ui/.vscode/extensions.json similarity index 100% rename from nym-vpn/ui/.vscode/extensions.json rename to nym-vpn/desktop/nymvpn-ui/.vscode/extensions.json diff --git a/nym-vpn/desktop/nymvpn-ui/README.md b/nym-vpn/desktop/nymvpn-ui/README.md new file mode 100644 index 00000000000..06c5eb64873 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/README.md @@ -0,0 +1,12 @@ +# nymvpn UI + +## Getting Started + +```bash +cargo install create-tauri-app +cargo install tauri-cli + +cd nymvpn-ui +npm install +npm run tauri dev +``` diff --git a/nym-vpn/ui/index.html b/nym-vpn/desktop/nymvpn-ui/index.html similarity index 58% rename from nym-vpn/ui/index.html rename to nym-vpn/desktop/nymvpn-ui/index.html index 44720263297..d9e0c407c8c 100644 --- a/nym-vpn/ui/index.html +++ b/nym-vpn/desktop/nymvpn-ui/index.html @@ -1,14 +1,13 @@ - + - - Tauri + React + TS + nymvpn -

+
diff --git a/nym-vpn/desktop/nymvpn-ui/package-lock.json b/nym-vpn/desktop/nymvpn-ui/package-lock.json new file mode 100644 index 00000000000..7294a6ab2f6 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/package-lock.json @@ -0,0 +1,4636 @@ +{ + "name": "nymvpn-ui", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "nymvpn-ui", + "version": "0.0.0", + "dependencies": { + "@tauri-apps/api": "^1.2.0", + "daisyui": "^2.51.5", + "luxon": "^3.3.0", + "react": "^18.2.0", + "react-country-flag": "^3.1.0", + "react-dom": "^18.2.0", + "react-hot-toast": "^2.4.0", + "react-icons": "^4.8.0", + "react-router-dom": "^6.10.0", + "tauri-plugin-log-api": "github:tauri-apps/tauri-plugin-log", + "vite-plugin-svgr": "^2.4.0" + }, + "devDependencies": { + "@tauri-apps/cli": "^1.2.3", + "@types/luxon": "^3.2.0", + "@types/node": "^18.15.11", + "@types/react": "^18.0.32", + "@types/react-dom": "^18.0.11", + "@vitejs/plugin-react": "^3.1.0", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.21", + "tailwindcss": "^3.3.1", + "typescript": "^4.9.5", + "vite": "^4.2.3" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dependencies": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "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" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "dependencies": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", + "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", + "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", + "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", + "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", + "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", + "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", + "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", + "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", + "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", + "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", + "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", + "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", + "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", + "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", + "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", + "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", + "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", + "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", + "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", + "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", + "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", + "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@remix-run/router": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz", + "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-7.0.0.tgz", + "integrity": "sha512-iiZaIvb3H/c7d3TH2HBeK91uI2rMhZNwnsIrvd7ZwGLkFw6mmunOCoVnjdYua662MqGFxlN9xTq4fv9hgR4VXQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-7.0.0.tgz", + "integrity": "sha512-sQQmyo+qegBx8DfFc04PFmIO1FP1MHI1/QEpzcIcclo5OAISsOJPW76ZIs0bDyO/DBSJEa/tDa1W26pVtt0FRw==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@tauri-apps/api": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz", + "integrity": "sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==", + "engines": { + "node": ">= 14.6.0", + "npm": ">= 6.6.0", + "yarn": ">= 1.19.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.2.3.tgz", + "integrity": "sha512-erxtXuPhMEGJPBtnhPILD4AjuT81GZsraqpFvXAmEJZ2p8P6t7MVBifCL8LznRknznM3jn90D3M8RNBP3wcXTw==", + "dev": true, + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "1.2.3", + "@tauri-apps/cli-darwin-x64": "1.2.3", + "@tauri-apps/cli-linux-arm-gnueabihf": "1.2.3", + "@tauri-apps/cli-linux-arm64-gnu": "1.2.3", + "@tauri-apps/cli-linux-arm64-musl": "1.2.3", + "@tauri-apps/cli-linux-x64-gnu": "1.2.3", + "@tauri-apps/cli-linux-x64-musl": "1.2.3", + "@tauri-apps/cli-win32-ia32-msvc": "1.2.3", + "@tauri-apps/cli-win32-x64-msvc": "1.2.3" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.2.3.tgz", + "integrity": "sha512-phJN3fN8FtZZwqXg08bcxfq1+X1JSDglLvRxOxB7VWPq+O5SuB8uLyssjJsu+PIhyZZnIhTGdjhzLSFhSXfLsw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.2.3.tgz", + "integrity": "sha512-jFZ/y6z8z6v4yliIbXKBXA7BJgtZVMsITmEXSuD6s5+eCOpDhQxbRkr6CA+FFfr+/r96rWSDSgDenDQuSvPAKw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.2.3.tgz", + "integrity": "sha512-C7h5vqAwXzY0kRGSU00Fj8PudiDWFCiQqqUNI1N+fhCILrzWZB9TPBwdx33ZfXKt/U4+emdIoo/N34v3TiAOmQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.2.3.tgz", + "integrity": "sha512-buf1c8sdkuUzVDkGPQpyUdAIIdn5r0UgXU6+H5fGPq/Xzt5K69JzXaeo6fHsZEZghbV0hOK+taKV4J0m30UUMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.2.3.tgz", + "integrity": "sha512-x88wPS9W5xAyk392vc4uNHcKBBvCp0wf4H9JFMF9OBwB7vfd59LbQCFcPSu8f0BI7bPrOsyHqspWHuFL8ojQEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.2.3.tgz", + "integrity": "sha512-ZMz1jxEVe0B4/7NJnlPHmwmSIuwiD6ViXKs8F+OWWz2Y4jn5TGxWKFg7DLx5OwQTRvEIZxxT7lXHi5CuTNAxKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.2.3.tgz", + "integrity": "sha512-B/az59EjJhdbZDzawEVox0LQu2ZHCZlk8rJf85AMIktIUoAZPFbwyiUv7/zjzA/sY6Nb58OSJgaPL2/IBy7E0A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.2.3.tgz", + "integrity": "sha512-ypdO1OdC5ugNJAKO2m3sb1nsd+0TSvMS9Tr5qN/ZSMvtSduaNwrcZ3D7G/iOIanrqu/Nl8t3LYlgPZGBKlw7Ng==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.2.3.tgz", + "integrity": "sha512-CsbHQ+XhnV/2csOBBDVfH16cdK00gNyNYUW68isedmqcn8j+s0e9cQ1xXIqi+Hue3awp8g3ImYN5KPepf3UExw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/luxon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.2.0.tgz", + "integrity": "sha512-lGmaGFoaXHuOLXFvuju2bfvZRqxAqkHPx9Y9IQdQABrinJJshJwfNCKV+u7rR3kJbiqfTF/NhOkcxxAFrObyaA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", + "devOptional": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.0.32", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.32.tgz", + "integrity": "sha512-gYGXdtPQ9Cj0w2Fwqg5/ak6BcK3Z15YgjSqtyDizWUfx7mQ8drs0NBUzRRsAdoFVTO8kJ8L2TL8Skm7OFPnLUw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", + "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.12", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.1.0-beta.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001473", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz", + "integrity": "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/daisyui": { + "version": "2.51.5", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.51.5.tgz", + "integrity": "sha512-L05dRw0tasmz2Ha+10LhftEGLq4kaA8vRR/T0wDaXfHwqcgsf81jfXDJ6NlZ63Z7Rl1k3rj7UHs0l0p7CM3aYA==", + "dependencies": { + "color": "^4.2", + "css-selector-tokenizer": "^0.8.0", + "postcss-js": "^4.0.0", + "tailwindcss": "^3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/daisyui" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.1.6" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.348", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz", + "integrity": "sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ==" + }, + "node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/esbuild": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", + "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.15", + "@esbuild/android-arm64": "0.17.15", + "@esbuild/android-x64": "0.17.15", + "@esbuild/darwin-arm64": "0.17.15", + "@esbuild/darwin-x64": "0.17.15", + "@esbuild/freebsd-arm64": "0.17.15", + "@esbuild/freebsd-x64": "0.17.15", + "@esbuild/linux-arm": "0.17.15", + "@esbuild/linux-arm64": "0.17.15", + "@esbuild/linux-ia32": "0.17.15", + "@esbuild/linux-loong64": "0.17.15", + "@esbuild/linux-mips64el": "0.17.15", + "@esbuild/linux-ppc64": "0.17.15", + "@esbuild/linux-riscv64": "0.17.15", + "@esbuild/linux-s390x": "0.17.15", + "@esbuild/linux-x64": "0.17.15", + "@esbuild/netbsd-x64": "0.17.15", + "@esbuild/openbsd-x64": "0.17.15", + "@esbuild/sunos-x64": "0.17.15", + "@esbuild/win32-arm64": "0.17.15", + "@esbuild/win32-ia32": "0.17.15", + "@esbuild/win32-x64": "0.17.15" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/goober": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz", + "integrity": "sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", + "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-country-flag": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-country-flag/-/react-country-flag-3.1.0.tgz", + "integrity": "sha512-JWQFw1efdv9sTC+TGQvTKXQg1NKbDU2mBiAiRWcKM9F1sK+/zjhP2yGmm8YDddWyZdXVkR8Md47rPMJmo4YO5g==", + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-hot-toast": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz", + "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==", + "dependencies": { + "goober": "^2.1.10" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-icons": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz", + "integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz", + "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==", + "dependencies": { + "@remix-run/router": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz", + "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==", + "dependencies": { + "@remix-run/router": "1.5.0", + "react-router": "6.10.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "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" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", + "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sucrase": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz", + "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==", + "dependencies": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/tailwindcss": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz", + "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==", + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.17.2", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1", + "sucrase": "^3.29.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/tauri-plugin-log-api": { + "version": "0.0.0", + "resolved": "git+ssh://git@github.com/tauri-apps/tauri-plugin-log.git#05a9bfd9edb9b5f4ab95412bb607691708b65a25", + "license": "MIT or APACHE-2.0", + "dependencies": { + "@tauri-apps/api": "^1.2.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/vite": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.3.tgz", + "integrity": "sha512-kLU+m2q0Y434Y1kCy3TchefAdtFso0ILi0dLyFV8Us3InXTU11H/B5ZTqCKIQHzSKNxVG/yEx813EA9f1imQ9A==", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.18.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-svgr": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz", + "integrity": "sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@svgr/core": "^6.5.1" + }, + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==" + }, + "@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "requires": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "requires": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@esbuild/android-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", + "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", + "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", + "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", + "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", + "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", + "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", + "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", + "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", + "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", + "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", + "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", + "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", + "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", + "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", + "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", + "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", + "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", + "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", + "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", + "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", + "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", + "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", + "optional": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@remix-run/router": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz", + "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==" + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-7.0.0.tgz", + "integrity": "sha512-iiZaIvb3H/c7d3TH2HBeK91uI2rMhZNwnsIrvd7ZwGLkFw6mmunOCoVnjdYua662MqGFxlN9xTq4fv9hgR4VXQ==", + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-7.0.0.tgz", + "integrity": "sha512-sQQmyo+qegBx8DfFc04PFmIO1FP1MHI1/QEpzcIcclo5OAISsOJPW76ZIs0bDyO/DBSJEa/tDa1W26pVtt0FRw==", + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "requires": {} + }, + "@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + } + }, + "@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "requires": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + } + }, + "@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + } + }, + "@tauri-apps/api": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz", + "integrity": "sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==" + }, + "@tauri-apps/cli": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.2.3.tgz", + "integrity": "sha512-erxtXuPhMEGJPBtnhPILD4AjuT81GZsraqpFvXAmEJZ2p8P6t7MVBifCL8LznRknznM3jn90D3M8RNBP3wcXTw==", + "dev": true, + "requires": { + "@tauri-apps/cli-darwin-arm64": "1.2.3", + "@tauri-apps/cli-darwin-x64": "1.2.3", + "@tauri-apps/cli-linux-arm-gnueabihf": "1.2.3", + "@tauri-apps/cli-linux-arm64-gnu": "1.2.3", + "@tauri-apps/cli-linux-arm64-musl": "1.2.3", + "@tauri-apps/cli-linux-x64-gnu": "1.2.3", + "@tauri-apps/cli-linux-x64-musl": "1.2.3", + "@tauri-apps/cli-win32-ia32-msvc": "1.2.3", + "@tauri-apps/cli-win32-x64-msvc": "1.2.3" + } + }, + "@tauri-apps/cli-darwin-arm64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.2.3.tgz", + "integrity": "sha512-phJN3fN8FtZZwqXg08bcxfq1+X1JSDglLvRxOxB7VWPq+O5SuB8uLyssjJsu+PIhyZZnIhTGdjhzLSFhSXfLsw==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-darwin-x64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.2.3.tgz", + "integrity": "sha512-jFZ/y6z8z6v4yliIbXKBXA7BJgtZVMsITmEXSuD6s5+eCOpDhQxbRkr6CA+FFfr+/r96rWSDSgDenDQuSvPAKw==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.2.3.tgz", + "integrity": "sha512-C7h5vqAwXzY0kRGSU00Fj8PudiDWFCiQqqUNI1N+fhCILrzWZB9TPBwdx33ZfXKt/U4+emdIoo/N34v3TiAOmQ==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-arm64-gnu": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.2.3.tgz", + "integrity": "sha512-buf1c8sdkuUzVDkGPQpyUdAIIdn5r0UgXU6+H5fGPq/Xzt5K69JzXaeo6fHsZEZghbV0hOK+taKV4J0m30UUMQ==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-arm64-musl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.2.3.tgz", + "integrity": "sha512-x88wPS9W5xAyk392vc4uNHcKBBvCp0wf4H9JFMF9OBwB7vfd59LbQCFcPSu8f0BI7bPrOsyHqspWHuFL8ojQEA==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-x64-gnu": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.2.3.tgz", + "integrity": "sha512-ZMz1jxEVe0B4/7NJnlPHmwmSIuwiD6ViXKs8F+OWWz2Y4jn5TGxWKFg7DLx5OwQTRvEIZxxT7lXHi5CuTNAxKg==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-x64-musl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.2.3.tgz", + "integrity": "sha512-B/az59EjJhdbZDzawEVox0LQu2ZHCZlk8rJf85AMIktIUoAZPFbwyiUv7/zjzA/sY6Nb58OSJgaPL2/IBy7E0A==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-win32-ia32-msvc": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.2.3.tgz", + "integrity": "sha512-ypdO1OdC5ugNJAKO2m3sb1nsd+0TSvMS9Tr5qN/ZSMvtSduaNwrcZ3D7G/iOIanrqu/Nl8t3LYlgPZGBKlw7Ng==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-win32-x64-msvc": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.2.3.tgz", + "integrity": "sha512-CsbHQ+XhnV/2csOBBDVfH16cdK00gNyNYUW68isedmqcn8j+s0e9cQ1xXIqi+Hue3awp8g3ImYN5KPepf3UExw==", + "dev": true, + "optional": true + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "@types/luxon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.2.0.tgz", + "integrity": "sha512-lGmaGFoaXHuOLXFvuju2bfvZRqxAqkHPx9Y9IQdQABrinJJshJwfNCKV+u7rR3kJbiqfTF/NhOkcxxAFrObyaA==", + "dev": true + }, + "@types/node": { + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", + "devOptional": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.0.32", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.32.tgz", + "integrity": "sha512-gYGXdtPQ9Cj0w2Fwqg5/ak6BcK3Z15YgjSqtyDizWUfx7mQ8drs0NBUzRRsAdoFVTO8kJ8L2TL8Skm7OFPnLUw==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "@vitejs/plugin-react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", + "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", + "dev": true, + "requires": { + "@babel/core": "^7.20.12", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "requires": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-lite": { + "version": "1.0.30001473", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz", + "integrity": "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@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" + } + }, + "css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "daisyui": { + "version": "2.51.5", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.51.5.tgz", + "integrity": "sha512-L05dRw0tasmz2Ha+10LhftEGLq4kaA8vRR/T0wDaXfHwqcgsf81jfXDJ6NlZ63Z7Rl1k3rj7UHs0l0p7CM3aYA==", + "requires": { + "color": "^4.2", + "css-selector-tokenizer": "^0.8.0", + "postcss-js": "^4.0.0", + "tailwindcss": "^3" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "electron-to-chromium": { + "version": "1.4.348", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz", + "integrity": "sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ==" + }, + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + } + } + }, + "esbuild": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", + "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", + "requires": { + "@esbuild/android-arm": "0.17.15", + "@esbuild/android-arm64": "0.17.15", + "@esbuild/android-x64": "0.17.15", + "@esbuild/darwin-arm64": "0.17.15", + "@esbuild/darwin-x64": "0.17.15", + "@esbuild/freebsd-arm64": "0.17.15", + "@esbuild/freebsd-x64": "0.17.15", + "@esbuild/linux-arm": "0.17.15", + "@esbuild/linux-arm64": "0.17.15", + "@esbuild/linux-ia32": "0.17.15", + "@esbuild/linux-loong64": "0.17.15", + "@esbuild/linux-mips64el": "0.17.15", + "@esbuild/linux-ppc64": "0.17.15", + "@esbuild/linux-riscv64": "0.17.15", + "@esbuild/linux-s390x": "0.17.15", + "@esbuild/linux-x64": "0.17.15", + "@esbuild/netbsd-x64": "0.17.15", + "@esbuild/openbsd-x64": "0.17.15", + "@esbuild/sunos-x64": "0.17.15", + "@esbuild/win32-arm64": "0.17.15", + "@esbuild/win32-ia32": "0.17.15", + "@esbuild/win32-x64": "0.17.15" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "goober": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz", + "integrity": "sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==", + "requires": {} + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "luxon": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", + "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==" + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@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-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-country-flag": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-country-flag/-/react-country-flag-3.1.0.tgz", + "integrity": "sha512-JWQFw1efdv9sTC+TGQvTKXQg1NKbDU2mBiAiRWcKM9F1sK+/zjhP2yGmm8YDddWyZdXVkR8Md47rPMJmo4YO5g==", + "requires": {} + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-hot-toast": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz", + "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==", + "requires": { + "goober": "^2.1.10" + } + }, + "react-icons": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz", + "integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==", + "requires": {} + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "react-router": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz", + "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==", + "requires": { + "@remix-run/router": "1.5.0" + } + }, + "react-router-dom": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz", + "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==", + "requires": { + "@remix-run/router": "1.5.0", + "react-router": "6.10.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rollup": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", + "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + } + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "sucrase": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz", + "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==", + "requires": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "tailwindcss": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz", + "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==", + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.17.2", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1", + "sucrase": "^3.29.0" + }, + "dependencies": { + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "tauri-plugin-log-api": { + "version": "git+ssh://git@github.com/tauri-apps/tauri-plugin-log.git#05a9bfd9edb9b5f4ab95412bb607691708b65a25", + "from": "tauri-plugin-log-api@github:tauri-apps/tauri-plugin-log", + "requires": { + "@tauri-apps/api": "^1.2.0" + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "vite": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.3.tgz", + "integrity": "sha512-kLU+m2q0Y434Y1kCy3TchefAdtFso0ILi0dLyFV8Us3InXTU11H/B5ZTqCKIQHzSKNxVG/yEx813EA9f1imQ9A==", + "requires": { + "esbuild": "^0.17.5", + "fsevents": "~2.3.2", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.18.0" + } + }, + "vite-plugin-svgr": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz", + "integrity": "sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==", + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@svgr/core": "^6.5.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + } + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/package.json b/nym-vpn/desktop/nymvpn-ui/package.json new file mode 100644 index 00000000000..6d5807ff03f --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/package.json @@ -0,0 +1,38 @@ +{ + "name": "nymvpn-ui", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/api": "^1.2.0", + "daisyui": "^2.51.5", + "luxon": "^3.3.0", + "react": "^18.2.0", + "react-country-flag": "^3.1.0", + "react-dom": "^18.2.0", + "react-hot-toast": "^2.4.0", + "react-icons": "^4.8.0", + "react-router-dom": "^6.10.0", + "tauri-plugin-log-api": "github:tauri-apps/tauri-plugin-log", + "vite-plugin-svgr": "^2.4.0" + }, + "devDependencies": { + "@tauri-apps/cli": "^1.2.3", + "@types/luxon": "^3.2.0", + "@types/node": "^18.15.11", + "@types/react": "^18.0.32", + "@types/react-dom": "^18.0.11", + "@vitejs/plugin-react": "^3.1.0", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.21", + "tailwindcss": "^3.3.1", + "typescript": "^4.9.5", + "vite": "^4.2.3" + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/postcss.config.cjs b/nym-vpn/desktop/nymvpn-ui/postcss.config.cjs new file mode 100644 index 00000000000..33ad091d26d --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/nym-vpn/ui/src/assets/.gitkeep b/nym-vpn/desktop/nymvpn-ui/public/.gitkeep similarity index 100% rename from nym-vpn/ui/src/assets/.gitkeep rename to nym-vpn/desktop/nymvpn-ui/public/.gitkeep diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/.gitignore b/nym-vpn/desktop/nymvpn-ui/src-tauri/.gitignore new file mode 100644 index 00000000000..f4dfb82b2cf --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/.gitignore @@ -0,0 +1,4 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/Cargo.toml b/nym-vpn/desktop/nymvpn-ui/src-tauri/Cargo.toml new file mode 100644 index 00000000000..cabf57bd395 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "nymvpn-ui" +version = "0.1.0" +description = "nymvpn app" +edition = "2021" +rust-version = "1.57" +publish = false +license = "GPL-3.0" +authors = ["Nym Technologies"] +homepage = "https://nymtech.net" +repository = "https://github.com/nymtech/nym" + +[build-dependencies] +tauri-build = { version = "1.2", features = [] } + +[dependencies] +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } +tauri = { version = "1.3.0", features = ["clipboard-all", "fs-all", "notification-all", "os-all", "shell-open", "window-all"] } +nymvpn-controller = {path = "../../nymvpn-controller"} +nymvpn-types = {path = "../../nymvpn-types"} +nymvpn-config = {path = "../../nymvpn-config"} +tokio-stream = "0.1.12" +tauri-plugin-log = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" } +tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" } +log = "^0.4" +tokio = { version = "1.27.0", features = ["time"] } +futures = "0.3.28" +thiserror = "1.0.40" +tonic = "0.9.2" +semver = "1.0.17" + +[features] +# by default Tauri runs in production mode +# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL +default = ["custom-protocol"] +# this feature is used used for production builds where `devPath` points to the filesystem +# DO NOT remove this +custom-protocol = ["tauri/custom-protocol"] diff --git a/nym-vpn/ui/src-tauri/build.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/build.rs similarity index 100% rename from nym-vpn/ui/src-tauri/build.rs rename to nym-vpn/desktop/nymvpn-ui/src-tauri/build.rs diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/nymvpn.conf.toml b/nym-vpn/desktop/nymvpn-ui/src-tauri/nymvpn.conf.toml new file mode 100644 index 00000000000..fa48cc0ffe4 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/nymvpn.conf.toml @@ -0,0 +1,6 @@ +socket_path="../../data/nymvpn.sock" +grpc_api_host_port="grpc://nymvpn.dev:44444" +rest_api_host_port="https://nymvpn.dev:4444" +log_dir="../../data/log" +config_dir="../../data" +license_file_path="../../nymvpn-oss-licenses.html" \ No newline at end of file diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/auth.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/auth.rs new file mode 100644 index 00000000000..e90832d7bd1 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/auth.rs @@ -0,0 +1,69 @@ +use tauri::AppHandle; +use nymvpn_controller::proto::SignInRequest; + +use crate::{error::Error, state::AppState}; + +#[tauri::command] +pub async fn sign_in( + email: String, + password: String, + app_handle: AppHandle, + state: tauri::State<'_, AppState>, +) -> Result<(), Error> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + let req = SignInRequest { email, password }; + + let _ = client.account_sign_in(req).await?; + + { + //start event forwarder + let mut guard = state.lock().await; + guard.start_event_forwarder(app_handle).await; + } + + Ok(()) +} + +#[tauri::command] +pub async fn sign_out(state: tauri::State<'_, AppState>) -> Result<(), Error> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + let _ = client.account_sign_out(()).await?; + + { + // stop event forwarder + let mut guard = state.lock().await; + guard.stop_event_forwarder().await; + } + + Ok(()) +} + +#[tauri::command] +pub async fn is_signed_in( + app_handle: AppHandle, + state: tauri::State<'_, AppState>, +) -> Result { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + let is_authenticated = client.is_authenticated(()).await.map(|r| r.into_inner())?; + + { + // start event forwarder if needed + let mut guard = state.lock().await; + if is_authenticated { + guard.start_event_forwarder(app_handle).await; + } else { + guard.stop_event_forwarder().await; + } + } + + Ok(is_authenticated) +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/desktop_notification.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/desktop_notification.rs new file mode 100644 index 00000000000..7db2fed284d --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/desktop_notification.rs @@ -0,0 +1,19 @@ +use tauri::api::notification::Notification; +use nymvpn_config::config; + +#[tauri::command] +pub async fn send_desktop_notification( + app_handle: tauri::AppHandle, + title: String, + body: String, +) -> Result<(), String> { + Notification::new(&app_handle.config().tauri.bundle.identifier) + .title(title) + .body(body.as_str()) + .icon(config().icon_path()) + .show() + .map_err(|e| { + log::error!("failed to send desktop notification: {body}: {e}"); + format!("failed to send desktop notification") + }) +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/file_ops.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/file_ops.rs new file mode 100644 index 00000000000..e30023b6650 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/file_ops.rs @@ -0,0 +1,37 @@ +use std::path::PathBuf; + +use tauri::{ + api::{path::desktop_dir, shell}, + AppHandle, Manager, +}; +use nymvpn_config::config; + +use crate::error::Error; + +pub fn copy_to_desktop_and_open(app_handle: &AppHandle, src: PathBuf) { + if let Some(dir) = desktop_dir() { + let filename = src.file_name().unwrap(); + let new_path = dir.join(filename); + if std::fs::copy(&src, &new_path).is_ok() { + let _ = shell::open(&app_handle.shell_scope(), new_path.to_str().unwrap(), None); + } else { + let _ = shell::open(&app_handle.shell_scope(), src.to_str().unwrap(), None); + } + } else { + let _ = shell::open(&app_handle.shell_scope(), src.to_str().unwrap(), None); + } +} + +#[tauri::command] +pub async fn open_license(app_handle: AppHandle) -> Result<(), Error> { + let config = config(); + copy_to_desktop_and_open(&app_handle, config.license_file_path()); + Ok(()) +} + +#[tauri::command] +pub async fn open_log_file(app_handle: AppHandle) -> Result<(), Error> { + let config = config(); + copy_to_desktop_and_open(&app_handle, config.daemon_log_file_full_path()); + Ok(()) +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/location.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/location.rs new file mode 100644 index 00000000000..8b96d181a89 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/location.rs @@ -0,0 +1,27 @@ +use nymvpn_types::location::Location; + +use crate::{error::Error, state::AppState}; + +#[tauri::command] +pub async fn locations(state: tauri::State<'_, AppState>) -> Result, Error> { + let mut guard = state.lock().await; + + if guard.locations.is_empty() { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + // cache locations + guard.locations = client.get_locations(()).await?.into_inner().into(); + } + + Ok(guard.locations.clone()) +} + +#[tauri::command] +pub async fn recent_locations() -> Result, Error> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + Ok(client.recent_locations(()).await?.into_inner().into()) +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/mod.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/mod.rs new file mode 100644 index 00000000000..d9247c30565 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/mod.rs @@ -0,0 +1,7 @@ +pub(crate) mod auth; +pub(crate) mod desktop_notification; +pub(crate) mod file_ops; +pub(crate) mod location; +pub(crate) mod notification; +pub(crate) mod version; +pub(crate) mod vpn_session; diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/notification.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/notification.rs new file mode 100644 index 00000000000..e42d37235df --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/notification.rs @@ -0,0 +1,26 @@ +use nymvpn_types::notification::Notification; + +use crate::error::Error; + +#[tauri::command] +pub async fn notifications() -> Result, Error> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + Ok(client + .get_notifications(()) + .await? + .into_inner() + .try_into() + .unwrap()) +} + +#[tauri::command] +pub async fn ack_notification(id: String) -> Result<(), Error> { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + Ok(client.ack_notification(id).await?.into_inner()) +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/version.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/version.rs new file mode 100644 index 00000000000..493c7d236ea --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/version.rs @@ -0,0 +1,28 @@ +use log::info; +use semver::Version; +use nymvpn_config::config; + +#[tauri::command] +pub async fn current_app_version() -> String { + config().version().into() +} + +#[tauri::command] +pub async fn update_available() -> bool { + //todo: cache available version + let current_version = config().version(); + if let Ok(mut client) = nymvpn_controller::new_grpc_client().await { + if let Ok(latest_version) = client.latest_app_version(()).await { + let latest_version = latest_version.into_inner(); + info!("current {current_version}, latest {latest_version}"); + if let (Ok(current_version), Ok(latest_version)) = ( + Version::parse(current_version), + Version::parse(&latest_version), + ) { + return latest_version > current_version; + } + } + }; + + false +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/vpn_session.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/vpn_session.rs new file mode 100644 index 00000000000..ece670544e7 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/commands/vpn_session.rs @@ -0,0 +1,34 @@ +use nymvpn_types::{location::Location, vpn_session::VpnStatus}; + +use crate::error::Error; + +#[tauri::command] +pub async fn connect(location: Location) -> Result { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + Ok(client + .connect_vpn(nymvpn_controller::proto::Location::from(location)) + .await? + .into_inner() + .into()) +} + +#[tauri::command] +pub async fn disconnect() -> Result { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + Ok(client.disconnect_vpn(()).await?.into_inner().into()) +} + +#[tauri::command] +pub async fn get_vpn_status() -> Result { + let mut client = nymvpn_controller::new_grpc_client() + .await + .map_err(|_| Error::DaemonIsOffline)?; + + Ok(client.get_vpn_status(()).await?.into_inner().into()) +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/error.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/error.rs new file mode 100644 index 00000000000..a38558bf8ae --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/error.rs @@ -0,0 +1,19 @@ +use serde::Serialize; + +#[derive(Debug, thiserror::Error, Serialize)] +#[serde(tag = "type")] +pub enum Error { + #[error("daemon is offline")] + DaemonIsOffline, + #[error("Grpc code: {code}, message: {message}")] + Grpc { code: u8, message: String }, +} + +impl From for Error { + fn from(value: tonic::Status) -> Self { + Error::Grpc { + code: value.code() as u8, + message: value.message().to_owned(), + } + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/event_forwarder.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/event_forwarder.rs new file mode 100644 index 00000000000..17e1b4457ee --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/event_forwarder.rs @@ -0,0 +1,89 @@ +use std::time::Duration; + +use futures::future::abortable; +use tauri::{AppHandle, Manager}; +use tokio::sync::oneshot; +use tokio_stream::StreamExt; +use nymvpn_types::notification::Notification; + +#[derive(Debug)] +pub struct EventForwarderHandler { + _shutdown_tx: oneshot::Sender<()>, +} + +impl EventForwarderHandler { + pub async fn start(app_handle: AppHandle) -> Self { + let (_shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); + let event_forwarder = EventForwarder::new(app_handle, shutdown_rx); + tauri::async_runtime::spawn(async move { + event_forwarder.run().await; + }); + Self { _shutdown_tx } + } +} + +struct EventForwarder { + app_handle: AppHandle, + shutdown_rx: oneshot::Receiver<()>, +} + +impl EventForwarder { + fn new(app_handle: AppHandle, shutdown_rx: oneshot::Receiver<()>) -> Self { + Self { + app_handle, + shutdown_rx, + } + } + + async fn event_watch_loop(app_handle: AppHandle) { + loop { + match nymvpn_controller::new_grpc_client().await { + Ok(mut client) => { + log::info!("listening to daemon events ..."); + match client.watch_events(()).await { + Ok(stream) => { + let mut stream = stream.into_inner(); + while let Some(event) = stream.next().await { + if let Ok(event) = event { + if let Some(event) = event.event { + match event { + nymvpn_controller::proto::daemon_event::Event::VpnStatus(vpn_status) => { + let vpn_status: nymvpn_types::vpn_session::VpnStatus = vpn_status.into(); + let _ = app_handle.emit_all("vpn_status", vpn_status); + }, + nymvpn_controller::proto::daemon_event::Event::Notification(notification) => { + if let Ok(notification) = Notification::try_from(notification) { + let _ = app_handle.emit_all("notification", notification); + } + }, + } + } + } + } + } + Err(status) => { + log::error!("cannot receive events: {}", status.message()); + tokio::time::sleep(Duration::from_secs(5)).await; + } + }; + } + Err(err) => { + log::error!("daemon is offline: {err}"); + tokio::time::sleep(Duration::from_secs(5)).await; + } + } + } + } + + async fn run(self) { + let (event_watch_future, abort_handle) = abortable(Self::event_watch_loop(self.app_handle)); + + tauri::async_runtime::spawn(event_watch_future); + + let _ = self.shutdown_rx.await; + + abort_handle.abort(); + + log::info!("event forwarder shut down"); + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/main.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/main.rs new file mode 100644 index 00000000000..0058a2ac19b --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/main.rs @@ -0,0 +1,82 @@ +#![cfg_attr( + all(not(debug_assertions), target_os = "windows"), + windows_subsystem = "windows" +)] + +mod state; +mod commands; +mod error; +mod event_forwarder; + +use commands::auth::{is_signed_in, sign_in, sign_out}; +use commands::desktop_notification::send_desktop_notification; +use commands::file_ops::{open_license, open_log_file}; +use commands::location::{locations, recent_locations}; +use commands::notification::{ack_notification, notifications}; +use commands::version::{current_app_version, update_available}; +use commands::vpn_session::{connect, disconnect, get_vpn_status}; +use log::LevelFilter; +use state::AppState; +use tauri_plugin_log::LogTarget; +use nymvpn_config::config; + +fn main() { + let _config = config(); + + #[cfg(target_os = "linux")] + let builder = tauri::Builder::default(); + #[cfg(target_os = "macos")] + let mut builder = tauri::Builder::default(); + #[cfg(target_os = "windows")] + let builder = tauri::Builder::default(); + + #[cfg(target_os = "macos")] + { + use tauri::Menu; + use tauri::MenuItem; + use tauri::Submenu; + let menu = Menu::new().add_submenu(Submenu::new( + "nymvpn", + Menu::new() + .add_native_item(MenuItem::Copy) + .add_native_item(MenuItem::Paste) + .add_native_item(MenuItem::SelectAll) + .add_native_item(MenuItem::Cut) + .add_native_item(MenuItem::Separator) + .add_native_item(MenuItem::CloseWindow), + )); + builder = builder.menu(menu); + } + + builder + .manage(AppState::default()) + .invoke_handler(tauri::generate_handler![ + is_signed_in, + sign_in, + sign_out, + locations, + recent_locations, + connect, + disconnect, + get_vpn_status, + notifications, + ack_notification, + current_app_version, + update_available, + send_desktop_notification, + open_license, + open_log_file, + ]) + .plugin( + tauri_plugin_log::Builder::default() + .level_for("h2", LevelFilter::Info) + .level_for("tower", LevelFilter::Info) + .level(LevelFilter::Debug) + .targets([LogTarget::LogDir, LogTarget::Stdout, LogTarget::Webview]) + .build(), + ) + .plugin(tauri_plugin_single_instance::init(|_, _, _| {})) + .setup(|_app| Ok(())) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/src/state.rs b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/state.rs new file mode 100644 index 00000000000..f57127c95fd --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/src/state.rs @@ -0,0 +1,31 @@ +use std::sync::Arc; + +use tauri::AppHandle; +use nymvpn_types::location::Location; + +use crate::event_forwarder::EventForwarderHandler; + +pub type AppState = Arc>; + +#[derive(Debug, Default)] +pub struct UiState { + pub event_fwd_handler: Option, + pub locations: Vec, +} + +impl UiState { + pub async fn start_event_forwarder(&mut self, app_handle: AppHandle) { + if self.event_fwd_handler.is_none() { + log::info!("starting event forwarder"); + let event_fwd_handler = EventForwarderHandler::start(app_handle).await; + self.event_fwd_handler = Some(event_fwd_handler); + } + } + + pub async fn stop_event_forwarder(&mut self) { + if let Some(event_fwd_handler) = self.event_fwd_handler.take() { + log::info!("stopping event forwarder"); + drop(event_fwd_handler); + } + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/src-tauri/tauri.conf.json b/nym-vpn/desktop/nymvpn-ui/src-tauri/tauri.conf.json new file mode 100644 index 00000000000..6272975c723 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src-tauri/tauri.conf.json @@ -0,0 +1,86 @@ +{ + "build": { + "beforeDevCommand": "npm run dev", + "beforeBuildCommand": "npm run build", + "devPath": "http://localhost:1420", + "distDir": "../dist" + }, + "package": { + "productName": "nymvpn", + "version": "0.0.0" + }, + "tauri": { + "allowlist": { + "fs": { + "all": true + }, + "clipboard": { + "all": true + }, + "window": { + "all": true + }, + "shell": { + "all": false, + "execute": false, + "open": ".+", + "scope": [], + "sidecar": false + }, + "notification": { + "all": true + }, + "os": { + "all": true + } + }, + "bundle": { + "active": true, + "category": "DeveloperTool", + "copyright": "", + "deb": { + "depends": [] + }, + "externalBin": [], + "icon": [ + "../../nymvpn-assets/icons/32x32.png", + "../../nymvpn-assets/icons/128x128.png", + "../../nymvpn-assets/icons/128x128@2x.png", + "../../nymvpn-assets/icons/icon.icns", + "../../nymvpn-assets/icons/icon.ico" + ], + "identifier": "app.nymvpn.client", + "longDescription": "", + "macOS": { + "entitlements": null, + "exceptionDomain": "", + "frameworks": [], + "providerShortName": null, + "signingIdentity": null + }, + "resources": [], + "shortDescription": "", + "targets": "all", + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": "" + } + }, + "security": { + "csp": null + }, + "updater": { + "active": false + }, + "windows": [ + { + "fullscreen": false, + "height": 600, + "resizable": false, + "title": "nymvpn", + "width": 360 + } + ] + } +} diff --git a/nym-vpn/desktop/nymvpn-ui/src/App.tsx b/nym-vpn/desktop/nymvpn-ui/src/App.tsx new file mode 100644 index 00000000000..61b43291ecc --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src/App.tsx @@ -0,0 +1,7 @@ +function App() { + return ( +
Hello :)
+ ); +} + +export default App; diff --git a/nym-vpn/win/.gitkeep b/nym-vpn/desktop/nymvpn-ui/src/assets/.gitkeep similarity index 100% rename from nym-vpn/win/.gitkeep rename to nym-vpn/desktop/nymvpn-ui/src/assets/.gitkeep diff --git a/nym-vpn/desktop/nymvpn-ui/src/assets/license.html b/nym-vpn/desktop/nymvpn-ui/src/assets/license.html new file mode 100644 index 00000000000..8a6979ab2dd --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src/assets/license.html @@ -0,0 +1,18301 @@ + + + + + + + +
+
+

Open Source Libraries Licenses

+

This page lists the licenses of the projects used in nymvpn-app.

+
+ +

Overview of licenses:

+ + +

All license text:

+
    +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2021 Jacob Pratt
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2022 Jacob Pratt et al.
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright (c) Microsoft Corporation.
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2019 Standard Cognition
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2020 Tomasz "Soveu" Marx
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2021 Joshua Maros
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2017 Juniper Networks, Inc.
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2018 Thomas Schaller
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright {yyyy} {name of copyright owner}
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright {yyyy} {name of copyright owner}
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   Copyright 2020 Yoshua Wuyts
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                     Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   Copyright 2019 Yoshua Wuyts
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                   Apache License
    +                         Version 2.0, January 2004
    +                      http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +  "License" shall mean the terms and conditions for use, reproduction,
    +  and distribution as defined by Sections 1 through 9 of this document.
    +
    +  "Licensor" shall mean the copyright owner or entity authorized by
    +  the copyright owner that is granting the License.
    +
    +  "Legal Entity" shall mean the union of the acting entity and all
    +  other entities that control, are controlled by, or are under common
    +  control with that entity. For the purposes of this definition,
    +  "control" means (i) the power, direct or indirect, to cause the
    +  direction or management of such entity, whether by contract or
    +  otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +  outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +  "You" (or "Your") shall mean an individual or Legal Entity
    +  exercising permissions granted by this License.
    +
    +  "Source" form shall mean the preferred form for making modifications,
    +  including but not limited to software source code, documentation
    +  source, and configuration files.
    +
    +  "Object" form shall mean any form resulting from mechanical
    +  transformation or translation of a Source form, including but
    +  not limited to compiled object code, generated documentation,
    +  and conversions to other media types.
    +
    +  "Work" shall mean the work of authorship, whether in Source or
    +  Object form, made available under the License, as indicated by a
    +  copyright notice that is included in or attached to the work
    +  (an example is provided in the Appendix below).
    +
    +  "Derivative Works" shall mean any work, whether in Source or Object
    +  form, that is based on (or derived from) the Work and for which the
    +  editorial revisions, annotations, elaborations, or other modifications
    +  represent, as a whole, an original work of authorship. For the purposes
    +  of this License, Derivative Works shall not include works that remain
    +  separable from, or merely link (or bind by name) to the interfaces of,
    +  the Work and Derivative Works thereof.
    +
    +  "Contribution" shall mean any work of authorship, including
    +  the original version of the Work and any modifications or additions
    +  to that Work or Derivative Works thereof, that is intentionally
    +  submitted to Licensor for inclusion in the Work by the copyright owner
    +  or by an individual or Legal Entity authorized to submit on behalf of
    +  the copyright owner. For the purposes of this definition, "submitted"
    +  means any form of electronic, verbal, or written communication sent
    +  to the Licensor or its representatives, including but not limited to
    +  communication on electronic mailing lists, source code control systems,
    +  and issue tracking systems that are managed by, or on behalf of, the
    +  Licensor for the purpose of discussing and improving the Work, but
    +  excluding communication that is conspicuously marked or otherwise
    +  designated in writing by the copyright owner as "Not a Contribution."
    +
    +  "Contributor" shall mean Licensor and any individual or Legal Entity
    +  on behalf of whom a Contribution has been received by Licensor and
    +  subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +  this License, each Contributor hereby grants to You a perpetual,
    +  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +  copyright license to reproduce, prepare Derivative Works of,
    +  publicly display, publicly perform, sublicense, and distribute the
    +  Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +  this License, each Contributor hereby grants to You a perpetual,
    +  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +  (except as stated in this section) patent license to make, have made,
    +  use, offer to sell, sell, import, and otherwise transfer the Work,
    +  where such license applies only to those patent claims licensable
    +  by such Contributor that are necessarily infringed by their
    +  Contribution(s) alone or by combination of their Contribution(s)
    +  with the Work to which such Contribution(s) was submitted. If You
    +  institute patent litigation against any entity (including a
    +  cross-claim or counterclaim in a lawsuit) alleging that the Work
    +  or a Contribution incorporated within the Work constitutes direct
    +  or contributory patent infringement, then any patent licenses
    +  granted to You under this License for that Work shall terminate
    +  as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +  Work or Derivative Works thereof in any medium, with or without
    +  modifications, and in Source or Object form, provided that You
    +  meet the following conditions:
    +
    +  (a) You must give any other recipients of the Work or
    +      Derivative Works a copy of this License; and
    +
    +  (b) You must cause any modified files to carry prominent notices
    +      stating that You changed the files; and
    +
    +  (c) You must retain, in the Source form of any Derivative Works
    +      that You distribute, all copyright, patent, trademark, and
    +      attribution notices from the Source form of the Work,
    +      excluding those notices that do not pertain to any part of
    +      the Derivative Works; and
    +
    +  (d) If the Work includes a "NOTICE" text file as part of its
    +      distribution, then any Derivative Works that You distribute must
    +      include a readable copy of the attribution notices contained
    +      within such NOTICE file, excluding those notices that do not
    +      pertain to any part of the Derivative Works, in at least one
    +      of the following places: within a NOTICE text file distributed
    +      as part of the Derivative Works; within the Source form or
    +      documentation, if provided along with the Derivative Works; or,
    +      within a display generated by the Derivative Works, if and
    +      wherever such third-party notices normally appear. The contents
    +      of the NOTICE file are for informational purposes only and
    +      do not modify the License. You may add Your own attribution
    +      notices within Derivative Works that You distribute, alongside
    +      or as an addendum to the NOTICE text from the Work, provided
    +      that such additional attribution notices cannot be construed
    +      as modifying the License.
    +
    +  You may add Your own copyright statement to Your modifications and
    +  may provide additional or different license terms and conditions
    +  for use, reproduction, or distribution of Your modifications, or
    +  for any such Derivative Works as a whole, provided Your use,
    +  reproduction, and distribution of the Work otherwise complies with
    +  the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +  any Contribution intentionally submitted for inclusion in the Work
    +  by You to the Licensor shall be under the terms and conditions of
    +  this License, without any additional terms or conditions.
    +  Notwithstanding the above, nothing herein shall supersede or modify
    +  the terms of any separate license agreement you may have executed
    +  with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +  names, trademarks, service marks, or product names of the Licensor,
    +  except as required for reasonable and customary use in describing the
    +  origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +  agreed to in writing, Licensor provides the Work (and each
    +  Contributor provides its Contributions) on an "AS IS" BASIS,
    +  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +  implied, including, without limitation, any warranties or conditions
    +  of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +  PARTICULAR PURPOSE. You are solely responsible for determining the
    +  appropriateness of using or redistributing the Work and assume any
    +  risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +  whether in tort (including negligence), contract, or otherwise,
    +  unless required by applicable law (such as deliberate and grossly
    +  negligent acts) or agreed to in writing, shall any Contributor be
    +  liable to You for damages, including any direct, indirect, special,
    +  incidental, or consequential damages of any character arising as a
    +  result of this License or out of the use or inability to use the
    +  Work (including but not limited to damages for loss of goodwill,
    +  work stoppage, computer failure or malfunction, or any and all
    +  other commercial damages or losses), even if such Contributor
    +  has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +  the Work or Derivative Works thereof, You may choose to offer,
    +  and charge a fee for, acceptance of support, warranty, indemnity,
    +  or other liability obligations and/or rights consistent with this
    +  License. However, in accepting such obligations, You may act only
    +  on Your own behalf and on Your sole responsibility, not on behalf
    +  of any other Contributor, and only if You agree to indemnify,
    +  defend, and hold each Contributor harmless for any liability
    +  incurred by, or claims asserted against, such Contributor by reason
    +  of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +  To apply the Apache License to your work, attach the following
    +  boilerplate notice, with the fields enclosed by brackets "[]"
    +  replaced with your own identifying information. (Don't include
    +  the brackets!)  The text should be enclosed in the appropriate
    +  comment syntax for the file format. We also recommend that a
    +  file or class name and description of purpose be included on the
    +  same "printed page" as the copyright notice for easier
    +  identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +   http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright (c) 2016 Alex Crichton
    +Copyright (c) 2017 The Tokio Authors
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright (c) 2019 Matthias Einwag
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2014 Paho Lurie-Gregg
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2016 Sean McArthur
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2017 The BigDecimal-rs Contributors
    +
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2017 The Rust Project Developers
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2017 http-rs authors
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2017 quininer kel
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2018 Amagicom AB
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2018 The pin-utils authors
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2018-2022 RustCrypto Developers
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2019 The CryptoCorrosion Contributors
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +   http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2019-2020 CreepySkeleton <creepy-skeleton@yandex.ru>
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2020 Andrew Straw
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +   http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +   http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +   http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     https://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     https://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     https://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	https://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     https://www.apache.org/licenses/LICENSE-2.0
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	https://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright 2019-2020 CreepySkeleton <creepy-skeleton@yandex.ru>
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
       Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    # Contributing
    +
    +## License
    +
    +Licensed under either of
    +
    + * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
    + * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
    +
    +at your option.
    +
    +### Contribution
    +
    +Unless you explicitly state otherwise, any contribution intentionally submitted
    +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
    +additional terms or conditions.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    # Licensing
    +
    +Lexical is dual licensed under the Apache 2.0 license as well as the MIT
    +license. See the LICENCE-MIT and the LICENCE-APACHE files for the licenses.
    +
    +Other licensing terms may apply, as described in depth below for various features and functionality. All assume use of `lexical` or `lexical-core`.
    +
    +## `write-floats, not(compact)`
    +
    +`lexical-write-float/src/algorithm.rs` is a direct port of the reference C++ implementation of Dragonbox, found [here](https://github.com/jk-jeon/dragonbox/).
    +This code (used if the `write-floats` feature is enabled and the `compact` feature is disabled) is subject to a [Boost Software License](https://github.com/jk-jeon/dragonbox/blob/71993f55067a89f4b4e27591605e21521f5c61be/LICENSE-Boost) and a modified [Apache2 license](https://github.com/jk-jeon/dragonbox/blob/71993f55067a89f4b4e27591605e21521f5c61be/LICENSE-Apache2-LLVM), shown in the [Boost Software License](#boost-software-license) and [Apache2 With LLVM Exceptions](#apache2-with-llvm-exceptions) sections below.
    +
    +## `write-floats, compact`
    +
    +`lexical-write-float/src/compact.rs` is a direct port of a C++ implementation of the Grisu algorithm, found [here](https://github.com/night-shift/fpconv/).
    +This code (used if both the `write-floats` and `compact` features are enabled) is subject to a [MIT License](https://github.com/night-shift/fpconv/blob/dfeb7e938fb85fb5eca130b84f856705ced75012/license), shown in the [fpconv License](#fpconv-license) section below.
    +
    +## `write-floats, radix`
    +
    +`lexical-write-float/src/radix.rs` is adapted from the V8 implementation found [here](). This code (used if both the `parse-floats` and `radix` features are enabled) is subject to a [3-clause BSD license](https://github.com/v8/v8/blob/f80bfeaf0792652bfbc1f174d5a7b8ab8bc0cbbd/LICENSE.v8), shown in the [V8 License](#v8-license) section below.
    +
    +## `parse-floats, compact`
    +
    +`lexical-parse-float/src/bellerophon.rs` is loosely based off the Golang implementation,
    +found [here](https://github.com/golang/go/blob/b10849fbb97a2244c086991b4623ae9f32c212d0/src/strconv/extfloat.go). This code (used if both the `parse-floats` and `compact` features are enabled) is subject to a [3-clause BSD license](https://github.com/golang/go/blob/b10849fbb97a2244c086991b4623ae9f32c212d0/LICENSE), shown in the [Go License](#go-license) section below.
    +
    +# License Terms
    +
    +This contains complete copies of the licensing terms for the feature-dependent code described above.
    +
    +## Go License
    +
    +Copyright (c) 2009 The Go Authors. All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    +* Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +## Boost Software License
    +
    +Boost Software License - Version 1.0 - August 17th, 2003
    +
    +Permission is hereby granted, free of charge, to any person or organization
    +obtaining a copy of the software and accompanying documentation covered by
    +this license (the "Software") to use, reproduce, display, distribute,
    +execute, and transmit the Software, and to prepare derivative works of the
    +Software, and to permit third-parties to whom the Software is furnished to
    +do so, all subject to the following:
    +
    +The copyright notices in the Software and this entire statement, including
    +the above license grant, this restriction and the following disclaimer,
    +must be included in all copies of the Software, in whole or in part, and
    +all derivative works of the Software, unless such copies or derivative
    +works are solely in the form of machine-executable object code generated by
    +a source language processor.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
    +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
    +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
    +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +## Apache2 With LLVM Exceptions
    +
    +_Version 2.0, January 2004_
    +_&lt;<http://www.apache.org/licenses/>&gt;_
    +
    +### Terms and Conditions for use, reproduction, and distribution
    +
    +#### 1. Definitions
    +
    +“License” shall mean the terms and conditions for use, reproduction, and
    +distribution as defined by Sections 1 through 9 of this document.
    +
    +“Licensor” shall mean the copyright owner or entity authorized by the copyright
    +owner that is granting the License.
    +
    +“Legal Entity” shall mean the union of the acting entity and all other entities
    +that control, are controlled by, or are under common control with that entity.
    +For the purposes of this definition, “control” means **(i)** the power, direct or
    +indirect, to cause the direction or management of such entity, whether by
    +contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
    +outstanding shares, or **(iii)** beneficial ownership of such entity.
    +
    +“You” (or “Your”) shall mean an individual or Legal Entity exercising
    +permissions granted by this License.
    +
    +“Source” form shall mean the preferred form for making modifications, including
    +but not limited to software source code, documentation source, and configuration
    +files.
    +
    +“Object” form shall mean any form resulting from mechanical transformation or
    +translation of a Source form, including but not limited to compiled object code,
    +generated documentation, and conversions to other media types.
    +
    +“Work” shall mean the work of authorship, whether in Source or Object form, made
    +available under the License, as indicated by a copyright notice that is included
    +in or attached to the work (an example is provided in the Appendix below).
    +
    +“Derivative Works” shall mean any work, whether in Source or Object form, that
    +is based on (or derived from) the Work and for which the editorial revisions,
    +annotations, elaborations, or other modifications represent, as a whole, an
    +original work of authorship. For the purposes of this License, Derivative Works
    +shall not include works that remain separable from, or merely link (or bind by
    +name) to the interfaces of, the Work and Derivative Works thereof.
    +
    +“Contribution” shall mean any work of authorship, including the original version
    +of the Work and any modifications or additions to that Work or Derivative Works
    +thereof, that is intentionally submitted to Licensor for inclusion in the Work
    +by the copyright owner or by an individual or Legal Entity authorized to submit
    +on behalf of the copyright owner. For the purposes of this definition,
    +“submitted” means any form of electronic, verbal, or written communication sent
    +to the Licensor or its representatives, including but not limited to
    +communication on electronic mailing lists, source code control systems, and
    +issue tracking systems that are managed by, or on behalf of, the Licensor for
    +the purpose of discussing and improving the Work, but excluding communication
    +that is conspicuously marked or otherwise designated in writing by the copyright
    +owner as “Not a Contribution.”
    +
    +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
    +of whom a Contribution has been received by Licensor and subsequently
    +incorporated within the Work.
    +
    +#### 2. Grant of Copyright License
    +
    +Subject to the terms and conditions of this License, each Contributor hereby
    +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
    +irrevocable copyright license to reproduce, prepare Derivative Works of,
    +publicly display, publicly perform, sublicense, and distribute the Work and such
    +Derivative Works in Source or Object form.
    +
    +#### 3. Grant of Patent License
    +
    +Subject to the terms and conditions of this License, each Contributor hereby
    +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
    +irrevocable (except as stated in this section) patent license to make, have
    +made, use, offer to sell, sell, import, and otherwise transfer the Work, where
    +such license applies only to those patent claims licensable by such Contributor
    +that are necessarily infringed by their Contribution(s) alone or by combination
    +of their Contribution(s) with the Work to which such Contribution(s) was
    +submitted. If You institute patent litigation against any entity (including a
    +cross-claim or counterclaim in a lawsuit) alleging that the Work or a
    +Contribution incorporated within the Work constitutes direct or contributory
    +patent infringement, then any patent licenses granted to You under this License
    +for that Work shall terminate as of the date such litigation is filed.
    +
    +#### 4. Redistribution
    +
    +You may reproduce and distribute copies of the Work or Derivative Works thereof
    +in any medium, with or without modifications, and in Source or Object form,
    +provided that You meet the following conditions:
    +
    +* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
    +this License; and
    +* **(b)** You must cause any modified files to carry prominent notices stating that You
    +changed the files; and
    +* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
    +all copyright, patent, trademark, and attribution notices from the Source form
    +of the Work, excluding those notices that do not pertain to any part of the
    +Derivative Works; and
    +* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
    +Derivative Works that You distribute must include a readable copy of the
    +attribution notices contained within such NOTICE file, excluding those notices
    +that do not pertain to any part of the Derivative Works, in at least one of the
    +following places: within a NOTICE text file distributed as part of the
    +Derivative Works; within the Source form or documentation, if provided along
    +with the Derivative Works; or, within a display generated by the Derivative
    +Works, if and wherever such third-party notices normally appear. The contents of
    +the NOTICE file are for informational purposes only and do not modify the
    +License. You may add Your own attribution notices within Derivative Works that
    +You distribute, alongside or as an addendum to the NOTICE text from the Work,
    +provided that such additional attribution notices cannot be construed as
    +modifying the License.
    +
    +You may add Your own copyright statement to Your modifications and may provide
    +additional or different license terms and conditions for use, reproduction, or
    +distribution of Your modifications, or for any such Derivative Works as a whole,
    +provided Your use, reproduction, and distribution of the Work otherwise complies
    +with the conditions stated in this License.
    +
    +#### 5. Submission of Contributions
    +
    +Unless You explicitly state otherwise, any Contribution intentionally submitted
    +for inclusion in the Work by You to the Licensor shall be under the terms and
    +conditions of this License, without any additional terms or conditions.
    +Notwithstanding the above, nothing herein shall supersede or modify the terms of
    +any separate license agreement you may have executed with Licensor regarding
    +such Contributions.
    +
    +#### 6. Trademarks
    +
    +This License does not grant permission to use the trade names, trademarks,
    +service marks, or product names of the Licensor, except as required for
    +reasonable and customary use in describing the origin of the Work and
    +reproducing the content of the NOTICE file.
    +
    +#### 7. Disclaimer of Warranty
    +
    +Unless required by applicable law or agreed to in writing, Licensor provides the
    +Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
    +including, without limitation, any warranties or conditions of TITLE,
    +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
    +solely responsible for determining the appropriateness of using or
    +redistributing the Work and assume any risks associated with Your exercise of
    +permissions under this License.
    +
    +#### 8. Limitation of Liability
    +
    +In no event and under no legal theory, whether in tort (including negligence),
    +contract, or otherwise, unless required by applicable law (such as deliberate
    +and grossly negligent acts) or agreed to in writing, shall any Contributor be
    +liable to You for damages, including any direct, indirect, special, incidental,
    +or consequential damages of any character arising as a result of this License or
    +out of the use or inability to use the Work (including but not limited to
    +damages for loss of goodwill, work stoppage, computer failure or malfunction, or
    +any and all other commercial damages or losses), even if such Contributor has
    +been advised of the possibility of such damages.
    +
    +#### 9. Accepting Warranty or Additional Liability
    +
    +While redistributing the Work or Derivative Works thereof, You may choose to
    +offer, and charge a fee for, acceptance of support, warranty, indemnity, or
    +other liability obligations and/or rights consistent with this License. However,
    +in accepting such obligations, You may act only on Your own behalf and on Your
    +sole responsibility, not on behalf of any other Contributor, and only if You
    +agree to indemnify, defend, and hold each Contributor harmless for any liability
    +incurred by, or claims asserted against, such Contributor by reason of your
    +accepting any such warranty or additional liability.
    +
    +_END OF TERMS AND CONDITIONS_
    +
    +### APPENDIX: How to apply the Apache License to your work
    +
    +To apply the Apache License to your work, attach the following boilerplate
    +notice, with the fields enclosed by brackets `[]` replaced with your own
    +identifying information. (Don't include the brackets!) The text should be
    +enclosed in the appropriate comment syntax for the file format. We also
    +recommend that a file or class name and description of purpose be included on
    +the same “printed page” as the copyright notice for easier identification within
    +third-party archives.
    +
    +    Copyright [yyyy] [name of copyright owner]
    +
    +    Licensed under the Apache License, Version 2.0 (the "License");
    +    you may not use this file except in compliance with the License.
    +    You may obtain a copy of the License at
    +
    +      http://www.apache.org/licenses/LICENSE-2.0
    +
    +    Unless required by applicable law or agreed to in writing, software
    +    distributed under the License is distributed on an "AS IS" BASIS,
    +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +    See the License for the specific language governing permissions and
    +    limitations under the License.
    +
    +### LLVM Exceptions to the Apache 2.0 License
    +
    +As an exception, if, as a result of your compiling your source code, portions
    +of this Software are embedded into an Object form of such source code, you
    +may redistribute such embedded portions in such Object form without complying
    +with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
    +
    +In addition, if you combine or link compiled forms of this Software with
    +software that is licensed under the GPLv2 ("Combined Software") and if a
    +court of competent jurisdiction determines that the patent provision (Section
    +3), the indemnity provision (Section 9) or other Section of the License
    +conflicts with the conditions of the GPLv2, you may retroactively and
    +prospectively choose to deem waived or otherwise exclude such Section(s) of
    +the License, but only in their entirety and only with respect to the Combined
    +Software.
    +
    +## V8 License
    +
    +Copyright 2014, the V8 project authors. All rights reserved.
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    +* Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +## fpconv License
    +
    +The MIT License
    +
    +Copyright (c) 2013 Andreas Samoljuk
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    // Licensed under the Apache License, Version 2.0
    +// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
    +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
    +// All files in the project carrying such notice may not be copied, modified, or distributed
    +// except according to those terms.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +
    +Version 2.0, January 2004
    +
    +http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
    +
    +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
    +
    +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
    +
    +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
    +
    +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
    +
    +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
    +
    +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
    +
    +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
    +
    +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
    +
    +You must give any other recipients of the Work or Derivative Works a copy of this License; and
    +You must cause any modified files to carry prominent notices stating that You changed the files; and
    +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
    +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. 
    +
    +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
    +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +
    +Copyright [2017] [Maik Klein]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright 2014-2018 David Henningsson <diwic@ubuntu.com> and other contributors
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright {yyyy} {name of copyright owner}
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "{}"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright {yyyy} {name of copyright owner}
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +Version 2.0, January 2004
    +http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +"License" shall mean the terms and conditions for use, reproduction,
    +and distribution as defined by Sections 1 through 9 of this document.
    +
    +"Licensor" shall mean the copyright owner or entity authorized by
    +the copyright owner that is granting the License.
    +
    +"Legal Entity" shall mean the union of the acting entity and all
    +other entities that control, are controlled by, or are under common
    +control with that entity. For the purposes of this definition,
    +"control" means (i) the power, direct or indirect, to cause the
    +direction or management of such entity, whether by contract or
    +otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +"You" (or "Your") shall mean an individual or Legal Entity
    +exercising permissions granted by this License.
    +
    +"Source" form shall mean the preferred form for making modifications,
    +including but not limited to software source code, documentation
    +source, and configuration files.
    +
    +"Object" form shall mean any form resulting from mechanical
    +transformation or translation of a Source form, including but
    +not limited to compiled object code, generated documentation,
    +and conversions to other media types.
    +
    +"Work" shall mean the work of authorship, whether in Source or
    +Object form, made available under the License, as indicated by a
    +copyright notice that is included in or attached to the work
    +(an example is provided in the Appendix below).
    +
    +"Derivative Works" shall mean any work, whether in Source or Object
    +form, that is based on (or derived from) the Work and for which the
    +editorial revisions, annotations, elaborations, or other modifications
    +represent, as a whole, an original work of authorship. For the purposes
    +of this License, Derivative Works shall not include works that remain
    +separable from, or merely link (or bind by name) to the interfaces of,
    +the Work and Derivative Works thereof.
    +
    +"Contribution" shall mean any work of authorship, including
    +the original version of the Work and any modifications or additions
    +to that Work or Derivative Works thereof, that is intentionally
    +submitted to Licensor for inclusion in the Work by the copyright owner
    +or by an individual or Legal Entity authorized to submit on behalf of
    +the copyright owner. For the purposes of this definition, "submitted"
    +means any form of electronic, verbal, or written communication sent
    +to the Licensor or its representatives, including but not limited to
    +communication on electronic mailing lists, source code control systems,
    +and issue tracking systems that are managed by, or on behalf of, the
    +Licensor for the purpose of discussing and improving the Work, but
    +excluding communication that is conspicuously marked or otherwise
    +designated in writing by the copyright owner as "Not a Contribution."
    +
    +"Contributor" shall mean Licensor and any individual or Legal Entity
    +on behalf of whom a Contribution has been received by Licensor and
    +subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +this License, each Contributor hereby grants to You a perpetual,
    +worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +copyright license to reproduce, prepare Derivative Works of,
    +publicly display, publicly perform, sublicense, and distribute the
    +Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +this License, each Contributor hereby grants to You a perpetual,
    +worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +(except as stated in this section) patent license to make, have made,
    +use, offer to sell, sell, import, and otherwise transfer the Work,
    +where such license applies only to those patent claims licensable
    +by such Contributor that are necessarily infringed by their
    +Contribution(s) alone or by combination of their Contribution(s)
    +with the Work to which such Contribution(s) was submitted. If You
    +institute patent litigation against any entity (including a
    +cross-claim or counterclaim in a lawsuit) alleging that the Work
    +or a Contribution incorporated within the Work constitutes direct
    +or contributory patent infringement, then any patent licenses
    +granted to You under this License for that Work shall terminate
    +as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +Work or Derivative Works thereof in any medium, with or without
    +modifications, and in Source or Object form, provided that You
    +meet the following conditions:
    +
    +(a) You must give any other recipients of the Work or
    +Derivative Works a copy of this License; and
    +
    +(b) You must cause any modified files to carry prominent notices
    +stating that You changed the files; and
    +
    +(c) You must retain, in the Source form of any Derivative Works
    +that You distribute, all copyright, patent, trademark, and
    +attribution notices from the Source form of the Work,
    +excluding those notices that do not pertain to any part of
    +the Derivative Works; and
    +
    +(d) If the Work includes a "NOTICE" text file as part of its
    +distribution, then any Derivative Works that You distribute must
    +include a readable copy of the attribution notices contained
    +within such NOTICE file, excluding those notices that do not
    +pertain to any part of the Derivative Works, in at least one
    +of the following places: within a NOTICE text file distributed
    +as part of the Derivative Works; within the Source form or
    +documentation, if provided along with the Derivative Works; or,
    +within a display generated by the Derivative Works, if and
    +wherever such third-party notices normally appear. The contents
    +of the NOTICE file are for informational purposes only and
    +do not modify the License. You may add Your own attribution
    +notices within Derivative Works that You distribute, alongside
    +or as an addendum to the NOTICE text from the Work, provided
    +that such additional attribution notices cannot be construed
    +as modifying the License.
    +
    +You may add Your own copyright statement to Your modifications and
    +may provide additional or different license terms and conditions
    +for use, reproduction, or distribution of Your modifications, or
    +for any such Derivative Works as a whole, provided Your use,
    +reproduction, and distribution of the Work otherwise complies with
    +the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +any Contribution intentionally submitted for inclusion in the Work
    +by You to the Licensor shall be under the terms and conditions of
    +this License, without any additional terms or conditions.
    +Notwithstanding the above, nothing herein shall supersede or modify
    +the terms of any separate license agreement you may have executed
    +with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +names, trademarks, service marks, or product names of the Licensor,
    +except as required for reasonable and customary use in describing the
    +origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +agreed to in writing, Licensor provides the Work (and each
    +Contributor provides its Contributions) on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +implied, including, without limitation, any warranties or conditions
    +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +PARTICULAR PURPOSE. You are solely responsible for determining the
    +appropriateness of using or redistributing the Work and assume any
    +risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +whether in tort (including negligence), contract, or otherwise,
    +unless required by applicable law (such as deliberate and grossly
    +negligent acts) or agreed to in writing, shall any Contributor be
    +liable to You for damages, including any direct, indirect, special,
    +incidental, or consequential damages of any character arising as a
    +result of this License or out of the use or inability to use the
    +Work (including but not limited to damages for loss of goodwill,
    +work stoppage, computer failure or malfunction, or any and all
    +other commercial damages or losses), even if such Contributor
    +has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +the Work or Derivative Works thereof, You may choose to offer,
    +and charge a fee for, acceptance of support, warranty, indemnity,
    +or other liability obligations and/or rights consistent with this
    +License. However, in accepting such obligations, You may act only
    +on Your own behalf and on Your sole responsibility, not on behalf
    +of any other Contributor, and only if You agree to indemnify,
    +defend, and hold each Contributor harmless for any liability
    +incurred by, or claims asserted against, such Contributor by reason
    +of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +To apply the Apache License to your work, attach the following
    +boilerplate notice, with the fields enclosed by brackets "[]"
    +replaced with your own identifying information. (Don't include
    +the brackets!)  The text should be enclosed in the appropriate
    +comment syntax for the file format. We also recommend that a
    +file or class name and description of purpose be included on the
    +same "printed page" as the copyright notice for easier
    +identification within third-party archives.
    +
    +Copyright 2020 LaunchBadge, LLC
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +Version 2.0, January 2004
    +http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +"License" shall mean the terms and conditions for use, reproduction,
    +and distribution as defined by Sections 1 through 9 of this document.
    +
    +"Licensor" shall mean the copyright owner or entity authorized by
    +the copyright owner that is granting the License.
    +
    +"Legal Entity" shall mean the union of the acting entity and all
    +other entities that control, are controlled by, or are under common
    +control with that entity. For the purposes of this definition,
    +"control" means (i) the power, direct or indirect, to cause the
    +direction or management of such entity, whether by contract or
    +otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +"You" (or "Your") shall mean an individual or Legal Entity
    +exercising permissions granted by this License.
    +
    +"Source" form shall mean the preferred form for making modifications,
    +including but not limited to software source code, documentation
    +source, and configuration files.
    +
    +"Object" form shall mean any form resulting from mechanical
    +transformation or translation of a Source form, including but
    +not limited to compiled object code, generated documentation,
    +and conversions to other media types.
    +
    +"Work" shall mean the work of authorship, whether in Source or
    +Object form, made available under the License, as indicated by a
    +copyright notice that is included in or attached to the work
    +(an example is provided in the Appendix below).
    +
    +"Derivative Works" shall mean any work, whether in Source or Object
    +form, that is based on (or derived from) the Work and for which the
    +editorial revisions, annotations, elaborations, or other modifications
    +represent, as a whole, an original work of authorship. For the purposes
    +of this License, Derivative Works shall not include works that remain
    +separable from, or merely link (or bind by name) to the interfaces of,
    +the Work and Derivative Works thereof.
    +
    +"Contribution" shall mean any work of authorship, including
    +the original version of the Work and any modifications or additions
    +to that Work or Derivative Works thereof, that is intentionally
    +submitted to Licensor for inclusion in the Work by the copyright owner
    +or by an individual or Legal Entity authorized to submit on behalf of
    +the copyright owner. For the purposes of this definition, "submitted"
    +means any form of electronic, verbal, or written communication sent
    +to the Licensor or its representatives, including but not limited to
    +communication on electronic mailing lists, source code control systems,
    +and issue tracking systems that are managed by, or on behalf of, the
    +Licensor for the purpose of discussing and improving the Work, but
    +excluding communication that is conspicuously marked or otherwise
    +designated in writing by the copyright owner as "Not a Contribution."
    +
    +"Contributor" shall mean Licensor and any individual or Legal Entity
    +on behalf of whom a Contribution has been received by Licensor and
    +subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +this License, each Contributor hereby grants to You a perpetual,
    +worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +copyright license to reproduce, prepare Derivative Works of,
    +publicly display, publicly perform, sublicense, and distribute the
    +Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +this License, each Contributor hereby grants to You a perpetual,
    +worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +(except as stated in this section) patent license to make, have made,
    +use, offer to sell, sell, import, and otherwise transfer the Work,
    +where such license applies only to those patent claims licensable
    +by such Contributor that are necessarily infringed by their
    +Contribution(s) alone or by combination of their Contribution(s)
    +with the Work to which such Contribution(s) was submitted. If You
    +institute patent litigation against any entity (including a
    +cross-claim or counterclaim in a lawsuit) alleging that the Work
    +or a Contribution incorporated within the Work constitutes direct
    +or contributory patent infringement, then any patent licenses
    +granted to You under this License for that Work shall terminate
    +as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +Work or Derivative Works thereof in any medium, with or without
    +modifications, and in Source or Object form, provided that You
    +meet the following conditions:
    +
    +(a) You must give any other recipients of the Work or
    +Derivative Works a copy of this License; and
    +
    +(b) You must cause any modified files to carry prominent notices
    +stating that You changed the files; and
    +
    +(c) You must retain, in the Source form of any Derivative Works
    +that You distribute, all copyright, patent, trademark, and
    +attribution notices from the Source form of the Work,
    +excluding those notices that do not pertain to any part of
    +the Derivative Works; and
    +
    +(d) If the Work includes a "NOTICE" text file as part of its
    +distribution, then any Derivative Works that You distribute must
    +include a readable copy of the attribution notices contained
    +within such NOTICE file, excluding those notices that do not
    +pertain to any part of the Derivative Works, in at least one
    +of the following places: within a NOTICE text file distributed
    +as part of the Derivative Works; within the Source form or
    +documentation, if provided along with the Derivative Works; or,
    +within a display generated by the Derivative Works, if and
    +wherever such third-party notices normally appear. The contents
    +of the NOTICE file are for informational purposes only and
    +do not modify the License. You may add Your own attribution
    +notices within Derivative Works that You distribute, alongside
    +or as an addendum to the NOTICE text from the Work, provided
    +that such additional attribution notices cannot be construed
    +as modifying the License.
    +
    +You may add Your own copyright statement to Your modifications and
    +may provide additional or different license terms and conditions
    +for use, reproduction, or distribution of Your modifications, or
    +for any such Derivative Works as a whole, provided Your use,
    +reproduction, and distribution of the Work otherwise complies with
    +the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +any Contribution intentionally submitted for inclusion in the Work
    +by You to the Licensor shall be under the terms and conditions of
    +this License, without any additional terms or conditions.
    +Notwithstanding the above, nothing herein shall supersede or modify
    +the terms of any separate license agreement you may have executed
    +with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +names, trademarks, service marks, or product names of the Licensor,
    +except as required for reasonable and customary use in describing the
    +origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +agreed to in writing, Licensor provides the Work (and each
    +Contributor provides its Contributions) on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +implied, including, without limitation, any warranties or conditions
    +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +PARTICULAR PURPOSE. You are solely responsible for determining the
    +appropriateness of using or redistributing the Work and assume any
    +risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +whether in tort (including negligence), contract, or otherwise,
    +unless required by applicable law (such as deliberate and grossly
    +negligent acts) or agreed to in writing, shall any Contributor be
    +liable to You for damages, including any direct, indirect, special,
    +incidental, or consequential damages of any character arising as a
    +result of this License or out of the use or inability to use the
    +Work (including but not limited to damages for loss of goodwill,
    +work stoppage, computer failure or malfunction, or any and all
    +other commercial damages or losses), even if such Contributor
    +has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +the Work or Derivative Works thereof, You may choose to offer,
    +and charge a fee for, acceptance of support, warranty, indemnity,
    +or other liability obligations and/or rights consistent with this
    +License. However, in accepting such obligations, You may act only
    +on Your own behalf and on Your sole responsibility, not on behalf
    +of any other Contributor, and only if You agree to indemnify,
    +defend, and hold each Contributor harmless for any liability
    +incurred by, or claims asserted against, such Contributor by reason
    +of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +To apply the Apache License to your work, attach the following
    +boilerplate notice, with the fields enclosed by brackets "[]"
    +replaced with your own identifying information. (Don't include
    +the brackets!)  The text should be enclosed in the appropriate
    +comment syntax for the file format. We also recommend that a
    +file or class name and description of purpose be included on the
    +same "printed page" as the copyright notice for easier
    +identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +Version 2.0, January 2004
    +http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
    +
    +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
    +
    +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
    +
    +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
    +
    +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
    +
    +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
    +
    +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
    +
    +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
    +
    +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
    +
    +     (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
    +
    +     (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
    +
    +     (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
    +
    +     (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
    +
    +     You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!)  The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Apache License
    +Version 2.0, January 2004
    +http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +    1. Definitions.
    +
    +        "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
    +
    +        "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
    +
    +        "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +        "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
    +
    +        "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
    +
    +        "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
    +
    +        "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
    +
    +        "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
    +
    +        "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
    +
    +        "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
    +    2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
    +    3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
    +    4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
    +        (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
    +        (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
    +        (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
    +        (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
    +
    +        You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
    +    5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
    +    6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
    +    7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
    +    8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
    +    9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Copyright 2011-2017 Google Inc.
    +          2013 Jack Lloyd
    +          2013-2014 Steven Fackler
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Licensed under the Apache License, Version 2.0
    +<LICENSE-APACHE or
    +http://www.apache.org/licenses/LICENSE-2.0> or the MIT
    +license <LICENSE-MIT or http://opensource.org/licenses/MIT>,
    +at your option. All files in the project carrying such
    +notice may not be copied, modified, or distributed except
    +according to those terms.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
    +http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
    +<LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
    +option. All files in the project carrying such notice may not be
    +copied, modified, or distributed except according to those terms.
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    MIT OR Apache-2.0
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    MIT OR Apache-2.0
    +
    +
  • +
  • +

    Apache License 2.0

    +

    Used by:

    + +
    Rust-chrono is dual-licensed under The MIT License [1] and
    +Apache 2.0 License [2]. Copyright (c) 2014--2017, Kang Seonghoon and
    +contributors.
    +
    +Nota Bene: This is same as the Rust Project's own license.
    +
    +
    +[1]: <http://opensource.org/licenses/MIT>, which is reproduced below:
    +
    +~~~~
    +The MIT License (MIT)
    +
    +Copyright (c) 2014, Kang Seonghoon.
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +~~~~
    +
    +
    +[2]: <http://www.apache.org/licenses/LICENSE-2.0>, which is reproduced below:
    +
    +~~~~
    +                              Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    +APPENDIX: How to apply the Apache License to your work.
    +
    +   To apply the Apache License to your work, attach the following
    +   boilerplate notice, with the fields enclosed by brackets "[]"
    +   replaced with your own identifying information. (Don't include
    +   the brackets!)  The text should be enclosed in the appropriate
    +   comment syntax for the file format. We also recommend that a
    +   file or class name and description of purpose be included on the
    +   same "printed page" as the copyright notice for easier
    +   identification within third-party archives.
    +
    +Copyright [yyyy] [name of copyright owner]
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +	http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +~~~~
    +
    +
    +
  • +
  • +

    BSD 2-Clause "Simplified" License

    +

    Used by:

    + +
    Copyright (c) <year> <owner> 
    +
    +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 2-Clause "Simplified" License

    +

    Used by:

    + +
    Copyright 2019 The Fuchsia Authors.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +   * Redistributions of source code must retain the above copyright
    +notice, this list of conditions and the following disclaimer.
    +   * Redistributions in binary form must reproduce the above
    +copyright notice, this list of conditions and the following disclaimer
    +in the documentation and/or other materials provided with the
    +distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    // Copyright 2015 The Chromium Authors. All rights reserved.
    +//
    +// Redistribution and use in source and binary forms, with or without
    +// modification, are permitted provided that the following conditions are
    +// met:
    +//
    +//    * Redistributions of source code must retain the above copyright
    +// notice, this list of conditions and the following disclaimer.
    +//    * Redistributions in binary form must reproduce the above
    +// copyright notice, this list of conditions and the following disclaimer
    +// in the documentation and/or other materials provided with the
    +// distribution.
    +//    * Neither the name of Google Inc. nor the names of its
    +// contributors may be used to endorse or promote products derived from
    +// this software without specific prior written permission.
    +//
    +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright (c) 2016 Dropbox, Inc.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    +
    +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +1. Redistributions of source code must retain the above copyright
    +notice, this list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright
    +notice, this list of conditions and the following disclaimer in the
    +documentation and/or other materials provided with the distribution.
    +
    +3. Neither the name of the copyright holder nor the names of its
    +contributors may be used to endorse or promote products derived from
    +this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
    +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright (c) 2016-2021 isis agora lovecruft. All rights reserved.
    +Copyright (c) 2016-2021 Henry de Valence. All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +1. Redistributions of source code must retain the above copyright
    +notice, this list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright
    +notice, this list of conditions and the following disclaimer in the
    +documentation and/or other materials provided with the distribution.
    +
    +3. Neither the name of the copyright holder nor the names of its
    +contributors may be used to endorse or promote products derived from
    +this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
    +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    +
    +========================================================================
    +
    +Portions of curve25519-dalek were originally derived from Adam Langley's
    +Go ed25519 implementation, found at <https://github.com/agl/ed25519/>,
    +under the following licence:
    +
    +========================================================================
    +
    +Copyright (c) 2012 The Go Authors. All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +   * Redistributions of source code must retain the above copyright
    +notice, this list of conditions and the following disclaimer.
    +   * Redistributions in binary form must reproduce the above
    +copyright notice, this list of conditions and the following disclaimer
    +in the documentation and/or other materials provided with the
    +distribution.
    +   * Neither the name of Google Inc. nor the names of its
    +contributors may be used to endorse or promote products derived from
    +this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
    +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright (c) 2017-2021 isis agora lovecruft. All rights reserved.
    +Copyright (c) 2019-2021 DebugSteven. All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +1. Redistributions of source code must retain the above copyright
    +notice, this list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright
    +notice, this list of conditions and the following disclaimer in the
    +documentation and/or other materials provided with the distribution.
    +
    +3. Neither the name of the copyright holder nor the names of its
    +contributors may be used to endorse or promote products derived from
    +this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
    +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
    +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright (c) 2019, Sébastien Crozet
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +   list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +   this list of conditions and the following disclaimer in the documentation
    +   and/or other materials provided with the distribution.
    +
    +3. Neither the name of the author nor the names of its contributors may be used
    +   to endorse or promote products derived from this software without specific
    +   prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright (c) <year> <owner>. 
    +
    +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    +
    +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    BSD 3-Clause "New" or "Revised" License

    +

    Used by:

    + +
    Copyright © WHATWG (Apple, Google, Mozilla, Microsoft).
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +   list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +   this list of conditions and the following disclaimer in the documentation
    +   and/or other materials provided with the distribution.
    +
    +3. Neither the name of the copyright holder nor the names of its
    +   contributors may be used to endorse or promote products derived from
    +   this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
  • +
  • +

    GNU General Public License v3.0 only

    +

    Used by:

    + +
    GNU GENERAL PUBLIC LICENSE
    +Version 3, 29 June 2007
    +
    +Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
    +
    +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.
    +
    +     <one line to give the program's name and a brief idea of what it does.>
    +     Copyright (C) <year>  <name of author>
    +
    +     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 <http://www.gnu.org/licenses/>.
    +
    +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:
    +
    +     <program>  Copyright (C) <year>  <name of author>
    +     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 <http://www.gnu.org/licenses/>.
    +
    +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 <http://www.gnu.org/philosophy/why-not-lgpl.html>.
    +
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
       Copyright 2015-2016 Brian Smith.
    +
    +   Permission to use, copy, modify, and/or distribute this software for any
    +   purpose with or without fee is hereby granted, provided that the above
    +   copyright notice and this permission notice appear in all copies.
    +
    +   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
    +   WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    +   MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
    +   SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
    +   OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
    +   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
    /* Copyright (c) 2015, Google Inc.
    + *
    + * Permission to use, copy, modify, and/or distribute this software for any
    + * purpose with or without fee is hereby granted, provided that the above
    + * copyright notice and this permission notice appear in all copies.
    + *
    + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
    + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
    + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
    + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
    +
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
    // Copyright 2015-2016 Brian Smith.
    +//
    +// Permission to use, copy, modify, and/or distribute this software for any
    +// purpose with or without fee is hereby granted, provided that the above
    +// copyright notice and this permission notice appear in all copies.
    +//
    +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
    +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
    +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
    Copyright (c) Hanno Braun and contributors
    +
    +Permission to use, copy, modify, and/or distribute this software for any purpose
    +with or without fee is hereby granted, provided that the above copyright notice
    +and this permission notice appear in all copies.
    +
    +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
    +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
    +THIS SOFTWARE.
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
    Copyright (c) Hanno Braun and contributors
    +
    +Permission to use, copy, modify, and/or distribute this software for any purpose
    +with or without fee is hereby granted, provided that the above copyright notice
    +and this permission notice appear in all copies.
    +
    +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
    +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
    +THIS SOFTWARE.
    +
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
    Copyright 2018 Callum Oakley
    +
    +Permission to use, copy, modify, and/or distribute this software for any
    +purpose with or without fee is hereby granted, provided that the above
    +copyright notice and this permission notice appear in all copies.
    +
    +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    +PERFORMANCE OF THIS SOFTWARE.
    +
    +
  • +
  • +

    ISC License

    +

    Used by:

    + +
    ISC License:
    +
    +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
    +Copyright (c) 1995-2003 by Internet Software Consortium
    +
    +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
    +
    +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
        MIT License
    +
    +    Copyright (c) Microsoft Corporation. All rights reserved.
    +
    +    Permission is hereby granted, free of charge, to any person obtaining a copy
    +    of this software and associated documentation files (the "Software"), to deal
    +    in the Software without restriction, including without limitation the rights
    +    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +    copies of the Software, and to permit persons to whom the Software is
    +    furnished to do so, subject to the following conditions:
    +
    +    The above copyright notice and this permission notice shall be included in all
    +    copies or substantial portions of the Software.
    +
    +    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +    SOFTWARE
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    # The MIT License (MIT)
    +
    +Copyright (c) 2014 Santiago Lapresta and contributors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (C) 2022 Bernhard Berg, Lukas Prokop, Daniel Kales
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014 Alex Crichton
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014 Carl Lerche and other MIO contributors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014-2016 Simon Sapin
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014-2017 David Ross
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014-2019 Geoffroy Couprie
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014-2021 Sean McArthur
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2014-2021 The rusqlite developers
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015 Edward Barnard
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015 Igor Shaula
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015 Jonathan Reem
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015 Project Nayuki
    +Copyright (c) 2017 Artyom Pavlov
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015 fangyuanziti
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015 steffengy
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2015-2016 the fiat-crypto authors (see
    +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2016 Boucher, Antoni <bouanto@zoho.com>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software is furnished to do so,
    +subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2016 Boucher, Antoni <bouanto@zoho.com>
    +Copyright (c) 2017-2021, The Gtk-rs Project Developers.
    +Copyright (c) 2021, Tauri Programme within The Commons Conservancy
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software is furnished to do so,
    +subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2016 Project Nayuki
    +Copyright (c) 2017 Artyom Pavlov
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2017 Gilad Naaman
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2017 h2 authors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2018 Carl Lerche
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2018 Sean McArthur
    +Copyright (c) 2016 Alex Crichton
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2018-2019 Sean McArthur
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Axum Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Carl Lerche
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Carl Lerche
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +Copyright (c) 2018 David Tolnay
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Eliza Weisman
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Eliza Weisman
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Hyper Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Tokio Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2019 Tower Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2020 Lucio Franco
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2023 Tokio Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright (c) 2023 Tokio Contributors
    +
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +The MIT License (MIT)
    +
    +Copyright (c) 2019 Yoshua Wuyts
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright 2016 Nika Layzell
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright 2018 MaidSafe.net limited.
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Copyright 2021 Axum Contributors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2016 Luka Zakrajšek
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2016 Martin Geisler
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2016 Paul Mason
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2016 fengcen
    +Copyright (c) 2019 svartalf
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2017 
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2017 Emilio Cobos Álvarez
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2017 Matthew D. Steele
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2017 Ted Driggs
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2017 Yilin Chen
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2018 Matthew D. Steele
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2018 The typed-arena developers
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2018 magiclen.org (Ron Li)
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2019 Bojan
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2019 Peter Glotfelty
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2020 magiclen.org (Ron Li)
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2020 寧靜
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2022 Bartłomiej Maryńczak
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2022 Ibraheem Ahmed
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) <year> <copyright holders>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) Steven Sheldon
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) [2021] [Marvin Countryman]
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2018-2022 the Deno authors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    MIT License
    +
    +Copyright (c) 2019 Daniel Augusto Rizzi Salvadori
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2013-2017, The Gtk-rs Project Developers.
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2013-2021, The Gtk-rs Project Developers.
    +Copyright (c) 2021, Tauri Programme within The Commons Conservancy.
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2014 Benjamin Sago
    +Copyright (c) 2021-2022 The Nushell Project Developers
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2014 Mathijs van de Nes
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2014 Mathijs van de Nes
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2014 PistonDevelopers
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 Andrew Gallant
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 Carl Lerche + nix-rust Authors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 Danny Guo
    +Copyright (c) 2016 Titus Wormer <tituswormer@gmail.com>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 Danny Guo
    +Copyright (c) 2016 Titus Wormer <tituswormer@gmail.com>
    +Copyright (c) 2018 Akash Kurdekar
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 Michael Sproul
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015-2020 Julien Cretin
    +Copyright (c) 2017-2020 Google Inc.
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2016 Jelte Fennema
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2016 PistonDevelopers
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2017 Andrew Gallant
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2017 Armin Ronacher <armin.ronacher@active-4.com>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2017 Stanislav Tkach
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2017 Y. T. CHUNG <zonyitoo@gmail.com>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software is furnished to do so,
    +subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2019 Jinzhou Zhang
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2019-2022 David Sherret
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2020 James Dyson <avitex@wfxlabs.com>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +=====================
    +
    +Copyright © `2015` `Sebastian Thiel`
    +
    +Permission is hereby granted, free of charge, to any person
    +obtaining a copy of this software and associated documentation
    +files (the “Software”), to deal in the Software without
    +restriction, including without limitation the rights to use,
    +copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the
    +Software is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    +OTHER DEALINGS IN THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 Bartłomiej Kamiński
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2016 Johann Tuffe
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    The MIT License (MIT)
    +
    +Copyright (c) 2021 David Sherret
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    Third Party Notices
    +
    +***
    +
    +rust
    +Copyright 2016 The Rust Project Developers
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    +***
    +
    +mio
    +Copyright (c) 2014 Carl Lerche and other MIO contributors
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    +***
    +
    +miow
    +Copyright (c) 2014 Alex Crichton
    +Permission is hereby granted, free of charge, to any
    +person obtaining a copy of this software and associated
    +documentation files (the "Software"), to deal in the
    +Software without restriction, including without
    +limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software
    +is furnished to do so, subject to the following
    +conditions:
    +The above copyright notice and this permission notice
    +shall be included in all copies or substantial portions
    +of the Software.
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
    +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
    +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
  • +
  • +

    MIT License

    +

    Used by:

    + +
    This project is dual-licensed under the Unlicense and MIT licenses.
    +
    +You may use this code under the terms of either license.
    +
    +
  • +
  • +

    Mozilla Public License 2.0

    +

    Used by:

    + +
    Mozilla Public License Version 2.0
    +==================================
    +
    +1. Definitions
    +--------------
    +
    +1.1. "Contributor"
    +    means each individual or legal entity that creates, contributes to
    +    the creation of, or owns Covered Software.
    +
    +1.2. "Contributor Version"
    +    means the combination of the Contributions of others (if any) used
    +    by a Contributor and that particular Contributor's Contribution.
    +
    +1.3. "Contribution"
    +    means Covered Software of a particular Contributor.
    +
    +1.4. "Covered Software"
    +    means Source Code Form to which the initial Contributor has attached
    +    the notice in Exhibit A, the Executable Form of such Source Code
    +    Form, and Modifications of such Source Code Form, in each case
    +    including portions thereof.
    +
    +1.5. "Incompatible With Secondary Licenses"
    +    means
    +
    +    (a) that the initial Contributor has attached the notice described
    +        in Exhibit B to the Covered Software; or
    +
    +    (b) that the Covered Software was made available under the terms of
    +        version 1.1 or earlier of the License, but not also under the
    +        terms of a Secondary License.
    +
    +1.6. "Executable Form"
    +    means any form of the work other than Source Code Form.
    +
    +1.7. "Larger Work"
    +    means a work that combines Covered Software with other material, in
    +    a separate file or files, that is not Covered Software.
    +
    +1.8. "License"
    +    means this document.
    +
    +1.9. "Licensable"
    +    means having the right to grant, to the maximum extent possible,
    +    whether at the time of the initial grant or subsequently, any and
    +    all of the rights conveyed by this License.
    +
    +1.10. "Modifications"
    +    means any of the following:
    +
    +    (a) any file in Source Code Form that results from an addition to,
    +        deletion from, or modification of the contents of Covered
    +        Software; or
    +
    +    (b) any new file in Source Code Form that contains any Covered
    +        Software.
    +
    +1.11. "Patent Claims" of a Contributor
    +    means any patent claim(s), including without limitation, method,
    +    process, and apparatus claims, in any patent Licensable by such
    +    Contributor that would be infringed, but for the grant of the
    +    License, by the making, using, selling, offering for sale, having
    +    made, import, or transfer of either its Contributions or its
    +    Contributor Version.
    +
    +1.12. "Secondary License"
    +    means either the GNU General Public License, Version 2.0, the GNU
    +    Lesser General Public License, Version 2.1, the GNU Affero General
    +    Public License, Version 3.0, or any later versions of those
    +    licenses.
    +
    +1.13. "Source Code Form"
    +    means the form of the work preferred for making modifications.
    +
    +1.14. "You" (or "Your")
    +    means an individual or a legal entity exercising rights under this
    +    License. For legal entities, "You" includes any entity that
    +    controls, is controlled by, or is under common control with You. For
    +    purposes of this definition, "control" means (a) the power, direct
    +    or indirect, to cause the direction or management of such entity,
    +    whether by contract or otherwise, or (b) ownership of more than
    +    fifty percent (50%) of the outstanding shares or beneficial
    +    ownership of such entity.
    +
    +2. License Grants and Conditions
    +--------------------------------
    +
    +2.1. Grants
    +
    +Each Contributor hereby grants You a world-wide, royalty-free,
    +non-exclusive license:
    +
    +(a) under intellectual property rights (other than patent or trademark)
    +    Licensable by such Contributor to use, reproduce, make available,
    +    modify, display, perform, distribute, and otherwise exploit its
    +    Contributions, either on an unmodified basis, with Modifications, or
    +    as part of a Larger Work; and
    +
    +(b) under Patent Claims of such Contributor to make, use, sell, offer
    +    for sale, have made, import, and otherwise transfer either its
    +    Contributions or its Contributor Version.
    +
    +2.2. Effective Date
    +
    +The licenses granted in Section 2.1 with respect to any Contribution
    +become effective for each Contribution on the date the Contributor first
    +distributes such Contribution.
    +
    +2.3. Limitations on Grant Scope
    +
    +The licenses granted in this Section 2 are the only rights granted under
    +this License. No additional rights or licenses will be implied from the
    +distribution or licensing of Covered Software under this License.
    +Notwithstanding Section 2.1(b) above, no patent license is granted by a
    +Contributor:
    +
    +(a) for any code that a Contributor has removed from Covered Software;
    +    or
    +
    +(b) for infringements caused by: (i) Your and any other third party's
    +    modifications of Covered Software, or (ii) the combination of its
    +    Contributions with other software (except as part of its Contributor
    +    Version); or
    +
    +(c) under Patent Claims infringed by Covered Software in the absence of
    +    its Contributions.
    +
    +This License does not grant any rights in the trademarks, service marks,
    +or logos of any Contributor (except as may be necessary to comply with
    +the notice requirements in Section 3.4).
    +
    +2.4. Subsequent Licenses
    +
    +No Contributor makes additional grants as a result of Your choice to
    +distribute the Covered Software under a subsequent version of this
    +License (see Section 10.2) or under the terms of a Secondary License (if
    +permitted under the terms of Section 3.3).
    +
    +2.5. Representation
    +
    +Each Contributor represents that the Contributor believes its
    +Contributions are its original creation(s) or it has sufficient rights
    +to grant the rights to its Contributions conveyed by this License.
    +
    +2.6. Fair Use
    +
    +This License is not intended to limit any rights You have under
    +applicable copyright doctrines of fair use, fair dealing, or other
    +equivalents.
    +
    +2.7. Conditions
    +
    +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
    +in Section 2.1.
    +
    +3. Responsibilities
    +-------------------
    +
    +3.1. Distribution of Source Form
    +
    +All distribution of Covered Software in Source Code Form, including any
    +Modifications that You create or to which You contribute, must be under
    +the terms of this License. You must inform recipients that the Source
    +Code Form of the Covered Software is governed by the terms of this
    +License, and how they can obtain a copy of this License. You may not
    +attempt to alter or restrict the recipients' rights in the Source Code
    +Form.
    +
    +3.2. Distribution of Executable Form
    +
    +If You distribute Covered Software in Executable Form then:
    +
    +(a) such Covered Software must also be made available in Source Code
    +    Form, as described in Section 3.1, and You must inform recipients of
    +    the Executable Form how they can obtain a copy of such Source Code
    +    Form by reasonable means in a timely manner, at a charge no more
    +    than the cost of distribution to the recipient; and
    +
    +(b) You may distribute such Executable Form under the terms of this
    +    License, or sublicense it under different terms, provided that the
    +    license for the Executable Form does not attempt to limit or alter
    +    the recipients' rights in the Source Code Form under this License.
    +
    +3.3. Distribution of a Larger Work
    +
    +You may create and distribute a Larger Work under terms of Your choice,
    +provided that You also comply with the requirements of this License for
    +the Covered Software. If the Larger Work is a combination of Covered
    +Software with a work governed by one or more Secondary Licenses, and the
    +Covered Software is not Incompatible With Secondary Licenses, this
    +License permits You to additionally distribute such Covered Software
    +under the terms of such Secondary License(s), so that the recipient of
    +the Larger Work may, at their option, further distribute the Covered
    +Software under the terms of either this License or such Secondary
    +License(s).
    +
    +3.4. Notices
    +
    +You may not remove or alter the substance of any license notices
    +(including copyright notices, patent notices, disclaimers of warranty,
    +or limitations of liability) contained within the Source Code Form of
    +the Covered Software, except that You may alter any license notices to
    +the extent required to remedy known factual inaccuracies.
    +
    +3.5. Application of Additional Terms
    +
    +You may choose to offer, and to charge a fee for, warranty, support,
    +indemnity or liability obligations to one or more recipients of Covered
    +Software. However, You may do so only on Your own behalf, and not on
    +behalf of any Contributor. You must make it absolutely clear that any
    +such warranty, support, indemnity, or liability obligation is offered by
    +You alone, and You hereby agree to indemnify every Contributor for any
    +liability incurred by such Contributor as a result of warranty, support,
    +indemnity or liability terms You offer. You may include additional
    +disclaimers of warranty and limitations of liability specific to any
    +jurisdiction.
    +
    +4. Inability to Comply Due to Statute or Regulation
    +---------------------------------------------------
    +
    +If it is impossible for You to comply with any of the terms of this
    +License with respect to some or all of the Covered Software due to
    +statute, judicial order, or regulation then You must: (a) comply with
    +the terms of this License to the maximum extent possible; and (b)
    +describe the limitations and the code they affect. Such description must
    +be placed in a text file included with all distributions of the Covered
    +Software under this License. Except to the extent prohibited by statute
    +or regulation, such description must be sufficiently detailed for a
    +recipient of ordinary skill to be able to understand it.
    +
    +5. Termination
    +--------------
    +
    +5.1. The rights granted under this License will terminate automatically
    +if You fail to comply with any of its terms. However, if You become
    +compliant, then the rights granted under this License from a particular
    +Contributor are reinstated (a) provisionally, unless and until such
    +Contributor explicitly and finally terminates Your grants, and (b) on an
    +ongoing basis, if such Contributor fails to notify You of the
    +non-compliance by some reasonable means prior to 60 days after You have
    +come back into compliance. Moreover, Your grants from a particular
    +Contributor are reinstated on an ongoing basis if such Contributor
    +notifies You of the non-compliance by some reasonable means, this is the
    +first time You have received notice of non-compliance with this License
    +from such Contributor, and You become compliant prior to 30 days after
    +Your receipt of the notice.
    +
    +5.2. If You initiate litigation against any entity by asserting a patent
    +infringement claim (excluding declaratory judgment actions,
    +counter-claims, and cross-claims) alleging that a Contributor Version
    +directly or indirectly infringes any patent, then the rights granted to
    +You by any and all Contributors for the Covered Software under Section
    +2.1 of this License shall terminate.
    +
    +5.3. In the event of termination under Sections 5.1 or 5.2 above, all
    +end user license agreements (excluding distributors and resellers) which
    +have been validly granted by You or Your distributors under this License
    +prior to termination shall survive termination.
    +
    +************************************************************************
    +*                                                                      *
    +*  6. Disclaimer of Warranty                                           *
    +*  -------------------------                                           *
    +*                                                                      *
    +*  Covered Software is provided under this License on an "as is"       *
    +*  basis, without warranty of any kind, either expressed, implied, or  *
    +*  statutory, including, without limitation, warranties that the       *
    +*  Covered Software is free of defects, merchantable, fit for a        *
    +*  particular purpose or non-infringing. The entire risk as to the     *
    +*  quality and performance of the Covered Software is with You.        *
    +*  Should any Covered Software prove defective in any respect, You     *
    +*  (not any Contributor) assume the cost of any necessary servicing,   *
    +*  repair, or correction. This disclaimer of warranty constitutes an   *
    +*  essential part of this License. No use of any Covered Software is   *
    +*  authorized under this License except under this disclaimer.         *
    +*                                                                      *
    +************************************************************************
    +
    +************************************************************************
    +*                                                                      *
    +*  7. Limitation of Liability                                          *
    +*  --------------------------                                          *
    +*                                                                      *
    +*  Under no circumstances and under no legal theory, whether tort      *
    +*  (including negligence), contract, or otherwise, shall any           *
    +*  Contributor, or anyone who distributes Covered Software as          *
    +*  permitted above, be liable to You for any direct, indirect,         *
    +*  special, incidental, or consequential damages of any character      *
    +*  including, without limitation, damages for lost profits, loss of    *
    +*  goodwill, work stoppage, computer failure or malfunction, or any    *
    +*  and all other commercial damages or losses, even if such party      *
    +*  shall have been informed of the possibility of such damages. This   *
    +*  limitation of liability shall not apply to liability for death or   *
    +*  personal injury resulting from such party's negligence to the       *
    +*  extent applicable law prohibits such limitation. Some               *
    +*  jurisdictions do not allow the exclusion or limitation of           *
    +*  incidental or consequential damages, so this exclusion and          *
    +*  limitation may not apply to You.                                    *
    +*                                                                      *
    +************************************************************************
    +
    +8. Litigation
    +-------------
    +
    +Any litigation relating to this License may be brought only in the
    +courts of a jurisdiction where the defendant maintains its principal
    +place of business and such litigation shall be governed by laws of that
    +jurisdiction, without reference to its conflict-of-law provisions.
    +Nothing in this Section shall prevent a party's ability to bring
    +cross-claims or counter-claims.
    +
    +9. Miscellaneous
    +----------------
    +
    +This License represents the complete agreement concerning the subject
    +matter hereof. If any provision of this License is held to be
    +unenforceable, such provision shall be reformed only to the extent
    +necessary to make it enforceable. Any law or regulation which provides
    +that the language of a contract shall be construed against the drafter
    +shall not be used to construe this License against a Contributor.
    +
    +10. Versions of the License
    +---------------------------
    +
    +10.1. New Versions
    +
    +Mozilla Foundation is the license steward. Except as provided in Section
    +10.3, no one other than the license steward has the right to modify or
    +publish new versions of this License. Each version will be given a
    +distinguishing version number.
    +
    +10.2. Effect of New Versions
    +
    +You may distribute the Covered Software under the terms of the version
    +of the License under which You originally received the Covered Software,
    +or under the terms of any subsequent version published by the license
    +steward.
    +
    +10.3. Modified Versions
    +
    +If you create software not governed by this License, and you want to
    +create a new license for such software, you may create and use a
    +modified version of this License if you rename the license and remove
    +any references to the name of the license steward (except to note that
    +such modified license differs from this License).
    +
    +10.4. Distributing Source Code Form that is Incompatible With Secondary
    +Licenses
    +
    +If You choose to distribute Source Code Form that is Incompatible With
    +Secondary Licenses under the terms of this version of the License, the
    +notice described in Exhibit B of this License must be attached.
    +
    +Exhibit A - Source Code Form License Notice
    +-------------------------------------------
    +
    +  This Source Code Form is subject to the terms of the Mozilla Public
    +  License, v. 2.0. If a copy of the MPL was not distributed with this
    +  file, You can obtain one at http://mozilla.org/MPL/2.0/.
    +
    +If it is not possible or desirable to put the notice in a particular
    +file, then You may include the notice in a location (such as a LICENSE
    +file in a relevant directory) where a recipient would be likely to look
    +for such a notice.
    +
    +You may add additional accurate notices of copyright ownership.
    +
    +Exhibit B - "Incompatible With Secondary Licenses" Notice
    +---------------------------------------------------------
    +
    +  This Source Code Form is "Incompatible With Secondary Licenses", as
    +  defined by the Mozilla Public License, v. 2.0.
    +
    +
  • +
  • +

    Mozilla Public License 2.0

    +

    Used by:

    + +
    Mozilla Public License Version 2.0
    +==================================
    +
    +1. Definitions
    +--------------
    +
    +1.1. "Contributor"
    +    means each individual or legal entity that creates, contributes to
    +    the creation of, or owns Covered Software.
    +
    +1.2. "Contributor Version"
    +    means the combination of the Contributions of others (if any) used
    +    by a Contributor and that particular Contributor's Contribution.
    +
    +1.3. "Contribution"
    +    means Covered Software of a particular Contributor.
    +
    +1.4. "Covered Software"
    +    means Source Code Form to which the initial Contributor has attached
    +    the notice in Exhibit A, the Executable Form of such Source Code
    +    Form, and Modifications of such Source Code Form, in each case
    +    including portions thereof.
    +
    +1.5. "Incompatible With Secondary Licenses"
    +    means
    +
    +    (a) that the initial Contributor has attached the notice described
    +        in Exhibit B to the Covered Software; or
    +
    +    (b) that the Covered Software was made available under the terms of
    +        version 1.1 or earlier of the License, but not also under the
    +        terms of a Secondary License.
    +
    +1.6. "Executable Form"
    +    means any form of the work other than Source Code Form.
    +
    +1.7. "Larger Work"
    +    means a work that combines Covered Software with other material, in 
    +    a separate file or files, that is not Covered Software.
    +
    +1.8. "License"
    +    means this document.
    +
    +1.9. "Licensable"
    +    means having the right to grant, to the maximum extent possible,
    +    whether at the time of the initial grant or subsequently, any and
    +    all of the rights conveyed by this License.
    +
    +1.10. "Modifications"
    +    means any of the following:
    +
    +    (a) any file in Source Code Form that results from an addition to,
    +        deletion from, or modification of the contents of Covered
    +        Software; or
    +
    +    (b) any new file in Source Code Form that contains any Covered
    +        Software.
    +
    +1.11. "Patent Claims" of a Contributor
    +    means any patent claim(s), including without limitation, method,
    +    process, and apparatus claims, in any patent Licensable by such
    +    Contributor that would be infringed, but for the grant of the
    +    License, by the making, using, selling, offering for sale, having
    +    made, import, or transfer of either its Contributions or its
    +    Contributor Version.
    +
    +1.12. "Secondary License"
    +    means either the GNU General Public License, Version 2.0, the GNU
    +    Lesser General Public License, Version 2.1, the GNU Affero General
    +    Public License, Version 3.0, or any later versions of those
    +    licenses.
    +
    +1.13. "Source Code Form"
    +    means the form of the work preferred for making modifications.
    +
    +1.14. "You" (or "Your")
    +    means an individual or a legal entity exercising rights under this
    +    License. For legal entities, "You" includes any entity that
    +    controls, is controlled by, or is under common control with You. For
    +    purposes of this definition, "control" means (a) the power, direct
    +    or indirect, to cause the direction or management of such entity,
    +    whether by contract or otherwise, or (b) ownership of more than
    +    fifty percent (50%) of the outstanding shares or beneficial
    +    ownership of such entity.
    +
    +2. License Grants and Conditions
    +--------------------------------
    +
    +2.1. Grants
    +
    +Each Contributor hereby grants You a world-wide, royalty-free,
    +non-exclusive license:
    +
    +(a) under intellectual property rights (other than patent or trademark)
    +    Licensable by such Contributor to use, reproduce, make available,
    +    modify, display, perform, distribute, and otherwise exploit its
    +    Contributions, either on an unmodified basis, with Modifications, or
    +    as part of a Larger Work; and
    +
    +(b) under Patent Claims of such Contributor to make, use, sell, offer
    +    for sale, have made, import, and otherwise transfer either its
    +    Contributions or its Contributor Version.
    +
    +2.2. Effective Date
    +
    +The licenses granted in Section 2.1 with respect to any Contribution
    +become effective for each Contribution on the date the Contributor first
    +distributes such Contribution.
    +
    +2.3. Limitations on Grant Scope
    +
    +The licenses granted in this Section 2 are the only rights granted under
    +this License. No additional rights or licenses will be implied from the
    +distribution or licensing of Covered Software under this License.
    +Notwithstanding Section 2.1(b) above, no patent license is granted by a
    +Contributor:
    +
    +(a) for any code that a Contributor has removed from Covered Software;
    +    or
    +
    +(b) for infringements caused by: (i) Your and any other third party's
    +    modifications of Covered Software, or (ii) the combination of its
    +    Contributions with other software (except as part of its Contributor
    +    Version); or
    +
    +(c) under Patent Claims infringed by Covered Software in the absence of
    +    its Contributions.
    +
    +This License does not grant any rights in the trademarks, service marks,
    +or logos of any Contributor (except as may be necessary to comply with
    +the notice requirements in Section 3.4).
    +
    +2.4. Subsequent Licenses
    +
    +No Contributor makes additional grants as a result of Your choice to
    +distribute the Covered Software under a subsequent version of this
    +License (see Section 10.2) or under the terms of a Secondary License (if
    +permitted under the terms of Section 3.3).
    +
    +2.5. Representation
    +
    +Each Contributor represents that the Contributor believes its
    +Contributions are its original creation(s) or it has sufficient rights
    +to grant the rights to its Contributions conveyed by this License.
    +
    +2.6. Fair Use
    +
    +This License is not intended to limit any rights You have under
    +applicable copyright doctrines of fair use, fair dealing, or other
    +equivalents.
    +
    +2.7. Conditions
    +
    +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
    +in Section 2.1.
    +
    +3. Responsibilities
    +-------------------
    +
    +3.1. Distribution of Source Form
    +
    +All distribution of Covered Software in Source Code Form, including any
    +Modifications that You create or to which You contribute, must be under
    +the terms of this License. You must inform recipients that the Source
    +Code Form of the Covered Software is governed by the terms of this
    +License, and how they can obtain a copy of this License. You may not
    +attempt to alter or restrict the recipients' rights in the Source Code
    +Form.
    +
    +3.2. Distribution of Executable Form
    +
    +If You distribute Covered Software in Executable Form then:
    +
    +(a) such Covered Software must also be made available in Source Code
    +    Form, as described in Section 3.1, and You must inform recipients of
    +    the Executable Form how they can obtain a copy of such Source Code
    +    Form by reasonable means in a timely manner, at a charge no more
    +    than the cost of distribution to the recipient; and
    +
    +(b) You may distribute such Executable Form under the terms of this
    +    License, or sublicense it under different terms, provided that the
    +    license for the Executable Form does not attempt to limit or alter
    +    the recipients' rights in the Source Code Form under this License.
    +
    +3.3. Distribution of a Larger Work
    +
    +You may create and distribute a Larger Work under terms of Your choice,
    +provided that You also comply with the requirements of this License for
    +the Covered Software. If the Larger Work is a combination of Covered
    +Software with a work governed by one or more Secondary Licenses, and the
    +Covered Software is not Incompatible With Secondary Licenses, this
    +License permits You to additionally distribute such Covered Software
    +under the terms of such Secondary License(s), so that the recipient of
    +the Larger Work may, at their option, further distribute the Covered
    +Software under the terms of either this License or such Secondary
    +License(s).
    +
    +3.4. Notices
    +
    +You may not remove or alter the substance of any license notices
    +(including copyright notices, patent notices, disclaimers of warranty,
    +or limitations of liability) contained within the Source Code Form of
    +the Covered Software, except that You may alter any license notices to
    +the extent required to remedy known factual inaccuracies.
    +
    +3.5. Application of Additional Terms
    +
    +You may choose to offer, and to charge a fee for, warranty, support,
    +indemnity or liability obligations to one or more recipients of Covered
    +Software. However, You may do so only on Your own behalf, and not on
    +behalf of any Contributor. You must make it absolutely clear that any
    +such warranty, support, indemnity, or liability obligation is offered by
    +You alone, and You hereby agree to indemnify every Contributor for any
    +liability incurred by such Contributor as a result of warranty, support,
    +indemnity or liability terms You offer. You may include additional
    +disclaimers of warranty and limitations of liability specific to any
    +jurisdiction.
    +
    +4. Inability to Comply Due to Statute or Regulation
    +---------------------------------------------------
    +
    +If it is impossible for You to comply with any of the terms of this
    +License with respect to some or all of the Covered Software due to
    +statute, judicial order, or regulation then You must: (a) comply with
    +the terms of this License to the maximum extent possible; and (b)
    +describe the limitations and the code they affect. Such description must
    +be placed in a text file included with all distributions of the Covered
    +Software under this License. Except to the extent prohibited by statute
    +or regulation, such description must be sufficiently detailed for a
    +recipient of ordinary skill to be able to understand it.
    +
    +5. Termination
    +--------------
    +
    +5.1. The rights granted under this License will terminate automatically
    +if You fail to comply with any of its terms. However, if You become
    +compliant, then the rights granted under this License from a particular
    +Contributor are reinstated (a) provisionally, unless and until such
    +Contributor explicitly and finally terminates Your grants, and (b) on an
    +ongoing basis, if such Contributor fails to notify You of the
    +non-compliance by some reasonable means prior to 60 days after You have
    +come back into compliance. Moreover, Your grants from a particular
    +Contributor are reinstated on an ongoing basis if such Contributor
    +notifies You of the non-compliance by some reasonable means, this is the
    +first time You have received notice of non-compliance with this License
    +from such Contributor, and You become compliant prior to 30 days after
    +Your receipt of the notice.
    +
    +5.2. If You initiate litigation against any entity by asserting a patent
    +infringement claim (excluding declaratory judgment actions,
    +counter-claims, and cross-claims) alleging that a Contributor Version
    +directly or indirectly infringes any patent, then the rights granted to
    +You by any and all Contributors for the Covered Software under Section
    +2.1 of this License shall terminate.
    +
    +5.3. In the event of termination under Sections 5.1 or 5.2 above, all
    +end user license agreements (excluding distributors and resellers) which
    +have been validly granted by You or Your distributors under this License
    +prior to termination shall survive termination.
    +
    +************************************************************************
    +*                                                                      *
    +*  6. Disclaimer of Warranty                                           *
    +*  -------------------------                                           *
    +*                                                                      *
    +*  Covered Software is provided under this License on an "as is"       *
    +*  basis, without warranty of any kind, either expressed, implied, or  *
    +*  statutory, including, without limitation, warranties that the       *
    +*  Covered Software is free of defects, merchantable, fit for a        *
    +*  particular purpose or non-infringing. The entire risk as to the     *
    +*  quality and performance of the Covered Software is with You.        *
    +*  Should any Covered Software prove defective in any respect, You     *
    +*  (not any Contributor) assume the cost of any necessary servicing,   *
    +*  repair, or correction. This disclaimer of warranty constitutes an   *
    +*  essential part of this License. No use of any Covered Software is   *
    +*  authorized under this License except under this disclaimer.         *
    +*                                                                      *
    +************************************************************************
    +
    +************************************************************************
    +*                                                                      *
    +*  7. Limitation of Liability                                          *
    +*  --------------------------                                          *
    +*                                                                      *
    +*  Under no circumstances and under no legal theory, whether tort      *
    +*  (including negligence), contract, or otherwise, shall any           *
    +*  Contributor, or anyone who distributes Covered Software as          *
    +*  permitted above, be liable to You for any direct, indirect,         *
    +*  special, incidental, or consequential damages of any character      *
    +*  including, without limitation, damages for lost profits, loss of    *
    +*  goodwill, work stoppage, computer failure or malfunction, or any    *
    +*  and all other commercial damages or losses, even if such party      *
    +*  shall have been informed of the possibility of such damages. This   *
    +*  limitation of liability shall not apply to liability for death or   *
    +*  personal injury resulting from such party's negligence to the       *
    +*  extent applicable law prohibits such limitation. Some               *
    +*  jurisdictions do not allow the exclusion or limitation of           *
    +*  incidental or consequential damages, so this exclusion and          *
    +*  limitation may not apply to You.                                    *
    +*                                                                      *
    +************************************************************************
    +
    +8. Litigation
    +-------------
    +
    +Any litigation relating to this License may be brought only in the
    +courts of a jurisdiction where the defendant maintains its principal
    +place of business and such litigation shall be governed by laws of that
    +jurisdiction, without reference to its conflict-of-law provisions.
    +Nothing in this Section shall prevent a party's ability to bring
    +cross-claims or counter-claims.
    +
    +9. Miscellaneous
    +----------------
    +
    +This License represents the complete agreement concerning the subject
    +matter hereof. If any provision of this License is held to be
    +unenforceable, such provision shall be reformed only to the extent
    +necessary to make it enforceable. Any law or regulation which provides
    +that the language of a contract shall be construed against the drafter
    +shall not be used to construe this License against a Contributor.
    +
    +10. Versions of the License
    +---------------------------
    +
    +10.1. New Versions
    +
    +Mozilla Foundation is the license steward. Except as provided in Section
    +10.3, no one other than the license steward has the right to modify or
    +publish new versions of this License. Each version will be given a
    +distinguishing version number.
    +
    +10.2. Effect of New Versions
    +
    +You may distribute the Covered Software under the terms of the version
    +of the License under which You originally received the Covered Software,
    +or under the terms of any subsequent version published by the license
    +steward.
    +
    +10.3. Modified Versions
    +
    +If you create software not governed by this License, and you want to
    +create a new license for such software, you may create and use a
    +modified version of this License if you rename the license and remove
    +any references to the name of the license steward (except to note that
    +such modified license differs from this License).
    +
    +10.4. Distributing Source Code Form that is Incompatible With Secondary
    +Licenses
    +
    +If You choose to distribute Source Code Form that is Incompatible With
    +Secondary Licenses under the terms of this version of the License, the
    +notice described in Exhibit B of this License must be attached.
    +
    +Exhibit A - Source Code Form License Notice
    +-------------------------------------------
    +
    +  This Source Code Form is subject to the terms of the Mozilla Public
    +  License, v. 2.0. If a copy of the MPL was not distributed with this
    +  file, You can obtain one at http://mozilla.org/MPL/2.0/.
    +
    +If it is not possible or desirable to put the notice in a particular
    +file, then You may include the notice in a location (such as a LICENSE
    +file in a relevant directory) where a recipient would be likely to look
    +for such a notice.
    +
    +You may add additional accurate notices of copyright ownership.
    +
    +Exhibit B - "Incompatible With Secondary Licenses" Notice
    +---------------------------------------------------------
    +
    +  This Source Code Form is "Incompatible With Secondary Licenses", as
    +  defined by the Mozilla Public License, v. 2.0.
    +
    +
  • +
  • +

    Mozilla Public License 2.0

    +

    Used by:

    + +
    Mozilla Public License Version 2.0
    +==================================
    +
    +1. Definitions
    +--------------
    +
    +1.1. "Contributor"
    +    means each individual or legal entity that creates, contributes to
    +    the creation of, or owns Covered Software.
    +
    +1.2. "Contributor Version"
    +    means the combination of the Contributions of others (if any) used
    +    by a Contributor and that particular Contributor's Contribution.
    +
    +1.3. "Contribution"
    +    means Covered Software of a particular Contributor.
    +
    +1.4. "Covered Software"
    +    means Source Code Form to which the initial Contributor has attached
    +    the notice in Exhibit A, the Executable Form of such Source Code
    +    Form, and Modifications of such Source Code Form, in each case
    +    including portions thereof.
    +
    +1.5. "Incompatible With Secondary Licenses"
    +    means
    +
    +    (a) that the initial Contributor has attached the notice described
    +        in Exhibit B to the Covered Software; or
    +
    +    (b) that the Covered Software was made available under the terms of
    +        version 1.1 or earlier of the License, but not also under the
    +        terms of a Secondary License.
    +
    +1.6. "Executable Form"
    +    means any form of the work other than Source Code Form.
    +
    +1.7. "Larger Work"
    +    means a work that combines Covered Software with other material, in 
    +    a separate file or files, that is not Covered Software.
    +
    +1.8. "License"
    +    means this document.
    +
    +1.9. "Licensable"
    +    means having the right to grant, to the maximum extent possible,
    +    whether at the time of the initial grant or subsequently, any and
    +    all of the rights conveyed by this License.
    +
    +1.10. "Modifications"
    +    means any of the following:
    +
    +    (a) any file in Source Code Form that results from an addition to,
    +        deletion from, or modification of the contents of Covered
    +        Software; or
    +
    +    (b) any new file in Source Code Form that contains any Covered
    +        Software.
    +
    +1.11. "Patent Claims" of a Contributor
    +    means any patent claim(s), including without limitation, method,
    +    process, and apparatus claims, in any patent Licensable by such
    +    Contributor that would be infringed, but for the grant of the
    +    License, by the making, using, selling, offering for sale, having
    +    made, import, or transfer of either its Contributions or its
    +    Contributor Version.
    +
    +1.12. "Secondary License"
    +    means either the GNU General Public License, Version 2.0, the GNU
    +    Lesser General Public License, Version 2.1, the GNU Affero General
    +    Public License, Version 3.0, or any later versions of those
    +    licenses.
    +
    +1.13. "Source Code Form"
    +    means the form of the work preferred for making modifications.
    +
    +1.14. "You" (or "Your")
    +    means an individual or a legal entity exercising rights under this
    +    License. For legal entities, "You" includes any entity that
    +    controls, is controlled by, or is under common control with You. For
    +    purposes of this definition, "control" means (a) the power, direct
    +    or indirect, to cause the direction or management of such entity,
    +    whether by contract or otherwise, or (b) ownership of more than
    +    fifty percent (50%) of the outstanding shares or beneficial
    +    ownership of such entity.
    +
    +2. License Grants and Conditions
    +--------------------------------
    +
    +2.1. Grants
    +
    +Each Contributor hereby grants You a world-wide, royalty-free,
    +non-exclusive license:
    +
    +(a) under intellectual property rights (other than patent or trademark)
    +    Licensable by such Contributor to use, reproduce, make available,
    +    modify, display, perform, distribute, and otherwise exploit its
    +    Contributions, either on an unmodified basis, with Modifications, or
    +    as part of a Larger Work; and
    +
    +(b) under Patent Claims of such Contributor to make, use, sell, offer
    +    for sale, have made, import, and otherwise transfer either its
    +    Contributions or its Contributor Version.
    +
    +2.2. Effective Date
    +
    +The licenses granted in Section 2.1 with respect to any Contribution
    +become effective for each Contribution on the date the Contributor first
    +distributes such Contribution.
    +
    +2.3. Limitations on Grant Scope
    +
    +The licenses granted in this Section 2 are the only rights granted under
    +this License. No additional rights or licenses will be implied from the
    +distribution or licensing of Covered Software under this License.
    +Notwithstanding Section 2.1(b) above, no patent license is granted by a
    +Contributor:
    +
    +(a) for any code that a Contributor has removed from Covered Software;
    +    or
    +
    +(b) for infringements caused by: (i) Your and any other third party's
    +    modifications of Covered Software, or (ii) the combination of its
    +    Contributions with other software (except as part of its Contributor
    +    Version); or
    +
    +(c) under Patent Claims infringed by Covered Software in the absence of
    +    its Contributions.
    +
    +This License does not grant any rights in the trademarks, service marks,
    +or logos of any Contributor (except as may be necessary to comply with
    +the notice requirements in Section 3.4).
    +
    +2.4. Subsequent Licenses
    +
    +No Contributor makes additional grants as a result of Your choice to
    +distribute the Covered Software under a subsequent version of this
    +License (see Section 10.2) or under the terms of a Secondary License (if
    +permitted under the terms of Section 3.3).
    +
    +2.5. Representation
    +
    +Each Contributor represents that the Contributor believes its
    +Contributions are its original creation(s) or it has sufficient rights
    +to grant the rights to its Contributions conveyed by this License.
    +
    +2.6. Fair Use
    +
    +This License is not intended to limit any rights You have under
    +applicable copyright doctrines of fair use, fair dealing, or other
    +equivalents.
    +
    +2.7. Conditions
    +
    +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
    +in Section 2.1.
    +
    +3. Responsibilities
    +-------------------
    +
    +3.1. Distribution of Source Form
    +
    +All distribution of Covered Software in Source Code Form, including any
    +Modifications that You create or to which You contribute, must be under
    +the terms of this License. You must inform recipients that the Source
    +Code Form of the Covered Software is governed by the terms of this
    +License, and how they can obtain a copy of this License. You may not
    +attempt to alter or restrict the recipients' rights in the Source Code
    +Form.
    +
    +3.2. Distribution of Executable Form
    +
    +If You distribute Covered Software in Executable Form then:
    +
    +(a) such Covered Software must also be made available in Source Code
    +    Form, as described in Section 3.1, and You must inform recipients of
    +    the Executable Form how they can obtain a copy of such Source Code
    +    Form by reasonable means in a timely manner, at a charge no more
    +    than the cost of distribution to the recipient; and
    +
    +(b) You may distribute such Executable Form under the terms of this
    +    License, or sublicense it under different terms, provided that the
    +    license for the Executable Form does not attempt to limit or alter
    +    the recipients' rights in the Source Code Form under this License.
    +
    +3.3. Distribution of a Larger Work
    +
    +You may create and distribute a Larger Work under terms of Your choice,
    +provided that You also comply with the requirements of this License for
    +the Covered Software. If the Larger Work is a combination of Covered
    +Software with a work governed by one or more Secondary Licenses, and the
    +Covered Software is not Incompatible With Secondary Licenses, this
    +License permits You to additionally distribute such Covered Software
    +under the terms of such Secondary License(s), so that the recipient of
    +the Larger Work may, at their option, further distribute the Covered
    +Software under the terms of either this License or such Secondary
    +License(s).
    +
    +3.4. Notices
    +
    +You may not remove or alter the substance of any license notices
    +(including copyright notices, patent notices, disclaimers of warranty,
    +or limitations of liability) contained within the Source Code Form of
    +the Covered Software, except that You may alter any license notices to
    +the extent required to remedy known factual inaccuracies.
    +
    +3.5. Application of Additional Terms
    +
    +You may choose to offer, and to charge a fee for, warranty, support,
    +indemnity or liability obligations to one or more recipients of Covered
    +Software. However, You may do so only on Your own behalf, and not on
    +behalf of any Contributor. You must make it absolutely clear that any
    +such warranty, support, indemnity, or liability obligation is offered by
    +You alone, and You hereby agree to indemnify every Contributor for any
    +liability incurred by such Contributor as a result of warranty, support,
    +indemnity or liability terms You offer. You may include additional
    +disclaimers of warranty and limitations of liability specific to any
    +jurisdiction.
    +
    +4. Inability to Comply Due to Statute or Regulation
    +---------------------------------------------------
    +
    +If it is impossible for You to comply with any of the terms of this
    +License with respect to some or all of the Covered Software due to
    +statute, judicial order, or regulation then You must: (a) comply with
    +the terms of this License to the maximum extent possible; and (b)
    +describe the limitations and the code they affect. Such description must
    +be placed in a text file included with all distributions of the Covered
    +Software under this License. Except to the extent prohibited by statute
    +or regulation, such description must be sufficiently detailed for a
    +recipient of ordinary skill to be able to understand it.
    +
    +5. Termination
    +--------------
    +
    +5.1. The rights granted under this License will terminate automatically
    +if You fail to comply with any of its terms. However, if You become
    +compliant, then the rights granted under this License from a particular
    +Contributor are reinstated (a) provisionally, unless and until such
    +Contributor explicitly and finally terminates Your grants, and (b) on an
    +ongoing basis, if such Contributor fails to notify You of the
    +non-compliance by some reasonable means prior to 60 days after You have
    +come back into compliance. Moreover, Your grants from a particular
    +Contributor are reinstated on an ongoing basis if such Contributor
    +notifies You of the non-compliance by some reasonable means, this is the
    +first time You have received notice of non-compliance with this License
    +from such Contributor, and You become compliant prior to 30 days after
    +Your receipt of the notice.
    +
    +5.2. If You initiate litigation against any entity by asserting a patent
    +infringement claim (excluding declaratory judgment actions,
    +counter-claims, and cross-claims) alleging that a Contributor Version
    +directly or indirectly infringes any patent, then the rights granted to
    +You by any and all Contributors for the Covered Software under Section
    +2.1 of this License shall terminate.
    +
    +5.3. In the event of termination under Sections 5.1 or 5.2 above, all
    +end user license agreements (excluding distributors and resellers) which
    +have been validly granted by You or Your distributors under this License
    +prior to termination shall survive termination.
    +
    +************************************************************************
    +*                                                                      *
    +*  6. Disclaimer of Warranty                                           *
    +*  -------------------------                                           *
    +*                                                                      *
    +*  Covered Software is provided under this License on an "as is"       *
    +*  basis, without warranty of any kind, either expressed, implied, or  *
    +*  statutory, including, without limitation, warranties that the       *
    +*  Covered Software is free of defects, merchantable, fit for a        *
    +*  particular purpose or non-infringing. The entire risk as to the     *
    +*  quality and performance of the Covered Software is with You.        *
    +*  Should any Covered Software prove defective in any respect, You     *
    +*  (not any Contributor) assume the cost of any necessary servicing,   *
    +*  repair, or correction. This disclaimer of warranty constitutes an   *
    +*  essential part of this License. No use of any Covered Software is   *
    +*  authorized under this License except under this disclaimer.         *
    +*                                                                      *
    +************************************************************************
    +
    +************************************************************************
    +*                                                                      *
    +*  7. Limitation of Liability                                          *
    +*  --------------------------                                          *
    +*                                                                      *
    +*  Under no circumstances and under no legal theory, whether tort      *
    +*  (including negligence), contract, or otherwise, shall any           *
    +*  Contributor, or anyone who distributes Covered Software as          *
    +*  permitted above, be liable to You for any direct, indirect,         *
    +*  special, incidental, or consequential damages of any character      *
    +*  including, without limitation, damages for lost profits, loss of    *
    +*  goodwill, work stoppage, computer failure or malfunction, or any    *
    +*  and all other commercial damages or losses, even if such party      *
    +*  shall have been informed of the possibility of such damages. This   *
    +*  limitation of liability shall not apply to liability for death or   *
    +*  personal injury resulting from such party's negligence to the       *
    +*  extent applicable law prohibits such limitation. Some               *
    +*  jurisdictions do not allow the exclusion or limitation of           *
    +*  incidental or consequential damages, so this exclusion and          *
    +*  limitation may not apply to You.                                    *
    +*                                                                      *
    +************************************************************************
    +
    +8. Litigation
    +-------------
    +
    +Any litigation relating to this License may be brought only in the
    +courts of a jurisdiction where the defendant maintains its principal
    +place of business and such litigation shall be governed by laws of that
    +jurisdiction, without reference to its conflict-of-law provisions.
    +Nothing in this Section shall prevent a party's ability to bring
    +cross-claims or counter-claims.
    +
    +9. Miscellaneous
    +----------------
    +
    +This License represents the complete agreement concerning the subject
    +matter hereof. If any provision of this License is held to be
    +unenforceable, such provision shall be reformed only to the extent
    +necessary to make it enforceable. Any law or regulation which provides
    +that the language of a contract shall be construed against the drafter
    +shall not be used to construe this License against a Contributor.
    +
    +10. Versions of the License
    +---------------------------
    +
    +10.1. New Versions
    +
    +Mozilla Foundation is the license steward. Except as provided in Section
    +10.3, no one other than the license steward has the right to modify or
    +publish new versions of this License. Each version will be given a
    +distinguishing version number.
    +
    +10.2. Effect of New Versions
    +
    +You may distribute the Covered Software under the terms of the version
    +of the License under which You originally received the Covered Software,
    +or under the terms of any subsequent version published by the license
    +steward.
    +
    +10.3. Modified Versions
    +
    +If you create software not governed by this License, and you want to
    +create a new license for such software, you may create and use a
    +modified version of this License if you rename the license and remove
    +any references to the name of the license steward (except to note that
    +such modified license differs from this License).
    +
    +10.4. Distributing Source Code Form that is Incompatible With Secondary
    +Licenses
    +
    +If You choose to distribute Source Code Form that is Incompatible With
    +Secondary Licenses under the terms of this version of the License, the
    +notice described in Exhibit B of this License must be attached.
    +
    +Exhibit A - Source Code Form License Notice
    +-------------------------------------------
    +
    +  This Source Code Form is subject to the terms of the Mozilla Public
    +  License, v. 2.0. If a copy of the MPL was not distributed with this
    +  file, You can obtain one at https://mozilla.org/MPL/2.0/.
    +
    +If it is not possible or desirable to put the notice in a particular
    +file, then You may include the notice in a location (such as a LICENSE
    +file in a relevant directory) where a recipient would be likely to look
    +for such a notice.
    +
    +You may add additional accurate notices of copyright ownership.
    +
    +Exhibit B - "Incompatible With Secondary Licenses" Notice
    +---------------------------------------------------------
    +
    +  This Source Code Form is "Incompatible With Secondary Licenses", as
    +  defined by the Mozilla Public License, v. 2.0.
    +
    +
  • +
  • +

    Mozilla Public License 2.0

    +

    Used by:

    + +
    This packge contains a modified version of ca-bundle.crt:
    +
    +ca-bundle.crt -- Bundle of CA Root Certificates
    +
    +Certificate data from Mozilla as of: Thu Nov  3 19:04:19 2011#
    +This is a bundle of X.509 certificates of public Certificate Authorities
    +(CA). These were automatically extracted from Mozilla's root certificates
    +file (certdata.txt).  This file can be found in the mozilla source tree:
    +http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1#
    +It contains the certificates in PEM format and therefore
    +can be directly used with curl / libcurl / php_curl, or with
    +an Apache+mod_ssl webserver for SSL client authentication.
    +Just configure this file as the SSLCACertificateFile.#
    +
    +***** BEGIN LICENSE BLOCK *****
    +This Source Code Form is subject to the terms of the Mozilla Public License,
    +v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain
    +one at http://mozilla.org/MPL/2.0/.
    +
    +***** END LICENSE BLOCK *****
    +@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $
    +
    +
  • +
  • +

    NOASSERTION

    +

    Used by:

    + +
    
    +            
  • +
  • +

    OpenSSL License

    +

    Used by:

    + +
    /* ====================================================================
    + * Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + *
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer. 
    + *
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in
    + *    the documentation and/or other materials provided with the
    + *    distribution.
    + *
    + * 3. All advertising materials mentioning features or use of this
    + *    software must display the following acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    + *
    + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    + *    endorse or promote products derived from this software without
    + *    prior written permission. For written permission, please contact
    + *    openssl-core@openssl.org.
    + *
    + * 5. Products derived from this software may not be called "OpenSSL"
    + *    nor may "OpenSSL" appear in their names without prior written
    + *    permission of the OpenSSL Project.
    + *
    + * 6. Redistributions of any form whatsoever must retain the following
    + *    acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    + * OF THE POSSIBILITY OF SUCH DAMAGE.
    + * ====================================================================
    + *
    + * This product includes cryptographic software written by Eric Young
    + * (eay@cryptsoft.com).  This product includes software written by Tim
    + * Hudson (tjh@cryptsoft.com).
    + *
    + */
    +
  • +
  • +

    Unicode License Agreement - Data Files and Software (2016)

    +

    Used by:

    + +
    UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
    +
    +Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/.
    +
    +Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/.
    +
    +Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/.
    +
    +NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
    +
    +COPYRIGHT AND PERMISSION NOTICE
    +
    +Copyright © 1991-2016 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either
    +
    +     (a) this copyright and permission notice appear with all copies of the Data Files or Software, or
    +     (b) this copyright and permission notice appear in associated Documentation.
    +
    +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
    +
    +Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
    +
    +
  • +
  • +

    Do What The F*ck You Want To Public License

    +

    Used by:

    + +
    DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    +Version 2, December 2004
    +
    +Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
    +
    +Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
    +
    +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. You just DO WHAT THE FUCK YOU WANT TO.
    +
    +
  • +
+
+ + + + diff --git a/nym-vpn/desktop/nymvpn-ui/src/assets/nymvpn.svg b/nym-vpn/desktop/nymvpn-ui/src/assets/nymvpn.svg new file mode 100644 index 00000000000..2061b9ff3f1 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src/assets/nymvpn.svg @@ -0,0 +1,659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nym-vpn/ui/src/styles.css b/nym-vpn/desktop/nymvpn-ui/src/index.css similarity index 100% rename from nym-vpn/ui/src/styles.css rename to nym-vpn/desktop/nymvpn-ui/src/index.css diff --git a/nym-vpn/desktop/nymvpn-ui/src/main.tsx b/nym-vpn/desktop/nymvpn-ui/src/main.tsx new file mode 100644 index 00000000000..02055fd7593 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/src/main.tsx @@ -0,0 +1,10 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App"; +import "./index.css"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + +); diff --git a/nym-vpn/ui/src/vite-env.d.ts b/nym-vpn/desktop/nymvpn-ui/src/vite-env.d.ts similarity index 100% rename from nym-vpn/ui/src/vite-env.d.ts rename to nym-vpn/desktop/nymvpn-ui/src/vite-env.d.ts diff --git a/nym-vpn/desktop/nymvpn-ui/svg.d.ts b/nym-vpn/desktop/nymvpn-ui/svg.d.ts new file mode 100644 index 00000000000..dd3eff0ee75 --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/svg.d.ts @@ -0,0 +1,6 @@ +declare module '*.svg' { + import React = require('react'); + export const ReactComponent: React.FC>; + const src: string; + export default src; +} diff --git a/nym-vpn/desktop/nymvpn-ui/tailwind.config.cjs b/nym-vpn/desktop/nymvpn-ui/tailwind.config.cjs new file mode 100644 index 00000000000..c1bfd6ab84a --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/tailwind.config.cjs @@ -0,0 +1,11 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + plugins: [require("daisyui")], +} diff --git a/nym-vpn/desktop/nymvpn-ui/tsconfig.json b/nym-vpn/desktop/nymvpn-ui/tsconfig.json new file mode 100644 index 00000000000..c4d5442673c --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src", "svg.d.ts"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/nym-vpn/ui/tsconfig.node.json b/nym-vpn/desktop/nymvpn-ui/tsconfig.node.json similarity index 71% rename from nym-vpn/ui/tsconfig.node.json rename to nym-vpn/desktop/nymvpn-ui/tsconfig.node.json index 42872c59f5b..9d31e2aed93 100644 --- a/nym-vpn/ui/tsconfig.node.json +++ b/nym-vpn/desktop/nymvpn-ui/tsconfig.node.json @@ -1,9 +1,8 @@ { "compilerOptions": { "composite": true, - "skipLibCheck": true, "module": "ESNext", - "moduleResolution": "bundler", + "moduleResolution": "Node", "allowSyntheticDefaultImports": true }, "include": ["vite.config.ts"] diff --git a/nym-vpn/desktop/nymvpn-ui/vite.config.ts b/nym-vpn/desktop/nymvpn-ui/vite.config.ts new file mode 100644 index 00000000000..ce7544cff6f --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/vite.config.ts @@ -0,0 +1,29 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import svgr from "vite-plugin-svgr"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react(), svgr()], + + // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` + // prevent vite from obscuring rust errors + clearScreen: false, + // tauri expects a fixed port, fail if that port is not available + server: { + port: 1420, + strictPort: true, + host: true, + }, + // to make use of `TAURI_DEBUG` and other env variables + // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand + envPrefix: ["VITE_", "TAURI_", "nymvpn_"], + build: { + // Tauri supports es2021 + target: ["es2021", "chrome100", "safari13"], + // don't minify for debug builds + minify: !process.env.TAURI_DEBUG ? "esbuild" : false, + // produce sourcemaps for debug builds + sourcemap: !!process.env.TAURI_DEBUG, + }, +}); diff --git a/nym-vpn/desktop/nymvpn-ui/yarn.lock b/nym-vpn/desktop/nymvpn-ui/yarn.lock new file mode 100644 index 00000000000..32eff74241e --- /dev/null +++ b/nym-vpn/desktop/nymvpn-ui/yarn.lock @@ -0,0 +1,1439 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz" + integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.19.6", "@babel/core@^7.20.12": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz" + integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-compilation-targets" "^7.21.4" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.4" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.4" + "@babel/types" "^7.21.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz" + integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== + dependencies: + "@babel/types" "^7.21.4" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz" + integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== + dependencies: + "@babel/compat-data" "^7.21.4" + "@babel/helper-validator-option" "^7.21.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz" + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== + dependencies: + "@babel/types" "^7.21.4" + +"@babel/helper-module-transforms@^7.21.2": + version "7.21.2" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" + +"@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + +"@babel/helpers@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz" + integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.20.7", "@babel/parser@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz" + integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== + +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz" + integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz" + integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== + dependencies: + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.4" + "@babel/types" "^7.21.4" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz" + integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@esbuild/darwin-arm64@0.17.15": + version "0.17.15" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz" + integrity sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA== + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + 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.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@remix-run/router@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz" + integrity sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg== + +"@rollup/pluginutils@^5.0.2": + version "5.0.2" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== + +"@svgr/babel-plugin-remove-jsx-attribute@*": + version "7.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-7.0.0.tgz" + integrity sha512-iiZaIvb3H/c7d3TH2HBeK91uI2rMhZNwnsIrvd7ZwGLkFw6mmunOCoVnjdYua662MqGFxlN9xTq4fv9hgR4VXQ== + +"@svgr/babel-plugin-remove-jsx-empty-expression@*": + version "7.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-7.0.0.tgz" + integrity sha512-sQQmyo+qegBx8DfFc04PFmIO1FP1MHI1/QEpzcIcclo5OAISsOJPW76ZIs0bDyO/DBSJEa/tDa1W26pVtt0FRw== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== + +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + +"@svgr/babel-plugin-transform-svg-component@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + +"@svgr/babel-preset@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" + +"@svgr/core@^6.0.0", "@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" + +"@svgr/hast-util-to-babel-ast@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== + dependencies: + "@babel/types" "^7.20.0" + entities "^4.4.0" + +"@svgr/plugin-jsx@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" + svg-parser "^2.0.4" + +"@tauri-apps/api@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz" + integrity sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw== + +"@tauri-apps/cli-darwin-arm64@1.2.3": + version "1.2.3" + resolved "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.2.3.tgz" + integrity sha512-phJN3fN8FtZZwqXg08bcxfq1+X1JSDglLvRxOxB7VWPq+O5SuB8uLyssjJsu+PIhyZZnIhTGdjhzLSFhSXfLsw== + +"@tauri-apps/cli@^1.2.3": + version "1.2.3" + resolved "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.2.3.tgz" + integrity sha512-erxtXuPhMEGJPBtnhPILD4AjuT81GZsraqpFvXAmEJZ2p8P6t7MVBifCL8LznRknznM3jn90D3M8RNBP3wcXTw== + optionalDependencies: + "@tauri-apps/cli-darwin-arm64" "1.2.3" + "@tauri-apps/cli-darwin-x64" "1.2.3" + "@tauri-apps/cli-linux-arm-gnueabihf" "1.2.3" + "@tauri-apps/cli-linux-arm64-gnu" "1.2.3" + "@tauri-apps/cli-linux-arm64-musl" "1.2.3" + "@tauri-apps/cli-linux-x64-gnu" "1.2.3" + "@tauri-apps/cli-linux-x64-musl" "1.2.3" + "@tauri-apps/cli-win32-ia32-msvc" "1.2.3" + "@tauri-apps/cli-win32-x64-msvc" "1.2.3" + +"@types/estree@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/luxon@^3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@types/luxon/-/luxon-3.2.0.tgz" + integrity sha512-lGmaGFoaXHuOLXFvuju2bfvZRqxAqkHPx9Y9IQdQABrinJJshJwfNCKV+u7rR3kJbiqfTF/NhOkcxxAFrObyaA== + +"@types/node@^18.15.11", "@types/node@>= 14": + version "18.15.11" + resolved "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz" + integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-dom@^18.0.11": + version "18.0.11" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz" + integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.0.32": + version "18.0.32" + resolved "https://registry.npmjs.org/@types/react/-/react-18.0.32.tgz" + integrity sha512-gYGXdtPQ9Cj0w2Fwqg5/ak6BcK3Z15YgjSqtyDizWUfx7mQ8drs0NBUzRRsAdoFVTO8kJ8L2TL8Skm7OFPnLUw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + +"@vitejs/plugin-react@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz" + integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== + dependencies: + "@babel/core" "^7.20.12" + "@babel/plugin-transform-react-jsx-self" "^7.18.6" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.27.0" + react-refresh "^0.14.0" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +autoprefixer@^10.0.2, autoprefixer@^10.4.14: + version "10.4.14" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== + dependencies: + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.3, browserslist@^4.21.5, "browserslist@>= 4.21.0": + version "4.21.5" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: + version "1.0.30001473" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz" + integrity sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + 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" + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + 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" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + 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.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@^1.0.0, color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2: + version "4.2.3" + resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + 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" + +css-selector-tokenizer@^0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz" + integrity sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg== + dependencies: + cssesc "^3.0.0" + fastparse "^1.1.2" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.0.10, csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +daisyui@^2.51.5: + version "2.51.5" + resolved "https://registry.npmjs.org/daisyui/-/daisyui-2.51.5.tgz" + integrity sha512-L05dRw0tasmz2Ha+10LhftEGLq4kaA8vRR/T0wDaXfHwqcgsf81jfXDJ6NlZ63Z7Rl1k3rj7UHs0l0p7CM3aYA== + dependencies: + color "^4.2" + css-selector-tokenizer "^0.8.0" + postcss-js "^4.0.0" + tailwindcss "^3" + +debug@^4.1.0: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +electron-to-chromium@^1.4.284: + version "1.4.348" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz" + integrity sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ== + +entities@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +esbuild@^0.17.5: + version "0.17.15" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz" + integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw== + optionalDependencies: + "@esbuild/android-arm" "0.17.15" + "@esbuild/android-arm64" "0.17.15" + "@esbuild/android-x64" "0.17.15" + "@esbuild/darwin-arm64" "0.17.15" + "@esbuild/darwin-x64" "0.17.15" + "@esbuild/freebsd-arm64" "0.17.15" + "@esbuild/freebsd-x64" "0.17.15" + "@esbuild/linux-arm" "0.17.15" + "@esbuild/linux-arm64" "0.17.15" + "@esbuild/linux-ia32" "0.17.15" + "@esbuild/linux-loong64" "0.17.15" + "@esbuild/linux-mips64el" "0.17.15" + "@esbuild/linux-ppc64" "0.17.15" + "@esbuild/linux-riscv64" "0.17.15" + "@esbuild/linux-s390x" "0.17.15" + "@esbuild/linux-x64" "0.17.15" + "@esbuild/netbsd-x64" "0.17.15" + "@esbuild/openbsd-x64" "0.17.15" + "@esbuild/sunos-x64" "0.17.15" + "@esbuild/win32-arm64" "0.17.15" + "@esbuild/win32-ia32" "0.17.15" + "@esbuild/win32-x64" "0.17.15" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fast-glob@^3.2.12: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastparse@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +goober@^2.1.10: + version "2.1.12" + resolved "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz" + integrity sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +jiti@^1.17.2: + version "1.18.2" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz" + integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +lilconfig@^2.0.5, lilconfig@^2.0.6: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loose-envify@^1.1.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +luxon@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz" + integrity sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg== + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.4: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + 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.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + 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-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +postcss-import@^14.1.0: + version "14.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^3.1.4: + version "3.1.4" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-nested@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz" + integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11: + version "6.0.11" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.0.0, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.1.6, postcss@^8.2.14, postcss@^8.4.21, postcss@>=8.0.9: + version "8.4.21" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" + 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" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +react-country-flag@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/react-country-flag/-/react-country-flag-3.1.0.tgz" + integrity sha512-JWQFw1efdv9sTC+TGQvTKXQg1NKbDU2mBiAiRWcKM9F1sK+/zjhP2yGmm8YDddWyZdXVkR8Md47rPMJmo4YO5g== + +react-dom@^18.2.0, react-dom@>=16, react-dom@>=16.8: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-hot-toast@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz" + integrity sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA== + dependencies: + goober "^2.1.10" + +react-icons@^4.8.0: + version "4.8.0" + resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz" + integrity sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react-router-dom@^6.10.0: + version "6.10.0" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz" + integrity sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg== + dependencies: + "@remix-run/router" "1.5.0" + react-router "6.10.0" + +react-router@6.10.0: + version "6.10.0" + resolved "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz" + integrity sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ== + dependencies: + "@remix-run/router" "1.5.0" + +react@*, react@^18.2.0, react@>=16, react@>=16.8: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.1.7, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + 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" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^1.20.0||^2.0.0||^3.0.0, rollup@^3.18.0: + version "3.20.2" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz" + integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +sucrase@^3.29.0: + version "3.31.0" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz" + integrity sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ== + dependencies: + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +tailwindcss@^3, tailwindcss@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz" + integrity sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g== + dependencies: + arg "^5.0.2" + chokidar "^3.5.3" + color-name "^1.1.4" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.12" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.17.2" + lilconfig "^2.0.6" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.0.9" + postcss-import "^14.1.0" + postcss-js "^4.0.0" + postcss-load-config "^3.1.4" + postcss-nested "6.0.0" + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.1" + sucrase "^3.29.0" + +"tauri-plugin-log-api@github:tauri-apps/tauri-plugin-log": + version "0.0.0" + resolved "git+ssh://git@github.com/tauri-apps/tauri-plugin-log.git#05a9bfd9edb9b5f4ab95412bb607691708b65a25" + dependencies: + "@tauri-apps/api" "^1.2.0" + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite-plugin-svgr@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz" + integrity sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@svgr/core" "^6.5.1" + +"vite@^2.6.0 || 3 || 4", vite@^4.1.0-beta.0, vite@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/vite/-/vite-4.2.3.tgz" + integrity sha512-kLU+m2q0Y434Y1kCy3TchefAdtFso0ILi0dLyFV8Us3InXTU11H/B5ZTqCKIQHzSKNxVG/yEx813EA9f1imQ9A== + dependencies: + esbuild "^0.17.5" + postcss "^8.4.21" + resolve "^1.22.1" + rollup "^3.18.0" + optionalDependencies: + fsevents "~2.3.2" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== diff --git a/nym-vpn/desktop/nymvpn.conf.toml b/nym-vpn/desktop/nymvpn.conf.toml new file mode 100644 index 00000000000..c38fcd6ec89 --- /dev/null +++ b/nym-vpn/desktop/nymvpn.conf.toml @@ -0,0 +1,7 @@ +# Development configuration + +socket_path="../data/nymvpn.sock" +allowed_endpoint_ipv4="192.168.0.15" +grpc_api_host_port="grpc://nymvpn.dev:44444" +log_dir="../data/log" +config_dir="../data" diff --git a/nym-vpn/ui/.eslintignore b/nym-vpn/ui/.eslintignore deleted file mode 100644 index a2a9c20b8db..00000000000 --- a/nym-vpn/ui/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -*.config.js -*.config.ts diff --git a/nym-vpn/ui/.eslintrc.cjs b/nym-vpn/ui/.eslintrc.cjs deleted file mode 100644 index 5c7c3e4c953..00000000000 --- a/nym-vpn/ui/.eslintrc.cjs +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react/recommended', - 'plugin:react/jsx-runtime', - 'plugin:react-hooks/recommended', - 'prettier', - ], - parser: '@typescript-eslint/parser', - parserOptions: { - project: './tsconfig.json', - }, - plugins: ['@typescript-eslint'], - root: true, - settings: { - react: { - version: 'detect', - }, - }, -}; diff --git a/nym-vpn/ui/.prettierignore b/nym-vpn/ui/.prettierignore deleted file mode 100644 index 8cb9ac2499f..00000000000 --- a/nym-vpn/ui/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -src-tauri/target -src-tauri/src diff --git a/nym-vpn/ui/README.md b/nym-vpn/ui/README.md deleted file mode 100644 index be8227cb1c6..00000000000 --- a/nym-vpn/ui/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# NymVPN UI app for desktop clients - -This is the application UI layer for the next NymVPN clients. - -## Install - -#### Prerequisites - -- Rust -- Nodejs, latest LTS version recommended -- yarn 1.x - -Some system libraries are required depending on the host platform. -Follow the instructions for your specific OS [here](https://tauri.app/v1/guides/getting-started/prerequisites) - -To install run: - -``` -yarn -``` - -## Dev - -``` -yarn dev:app -``` - -or - -``` -cd src-tauri -cargo tauri dev -``` - -#### Logging - -Rust logging (standard output) is controlled by the `RUST_LOG` -env variable - -Example: - -``` -cd src-tauri -RUST_LOG=trace cargo tauri dev -``` - -## Dev in the browser - -For convenience and better development experience, we can run the -app directly in the browser - -``` -yarn dev:browser -``` - -Then press `o` to open the app in the browser. - -#### Tauri commands mock - -Browser mode requires all tauri [commands](https://tauri.app/v1/guides/features/command) (IPC calls) to be mocked. -When creating new tauri command, be sure to add the corresponding -mock definition into `nym-vpn/ui/src/dev/tauri-cmd-mocks/` and -update `nym-vpn/ui/src/dev/setup.ts` accordingly. - -## Type bindings - -[ts-rs](https://github.com/Aleph-Alpha/ts-rs) can be used to generate -TS type definitions from Rust types - -To generate bindings, first -[annotate](https://github.com/Aleph-Alpha/ts-rs/blob/main/example/src/lib.rs) -Rust types, then run - -``` -cd src-tauri -cargo test -``` - -Generated TS types will be located in `src-tauri/bindings/` - -## Build - -To build as a **shared library** - -``` -yarn build && cd src-tauri && cargo build --release --lib --features custom-protocol - -#alias -yarn build:app -``` - -You can build for a different platform using [Cross](https://github.com/cross-rs/cross). -For example, to build for Windows on Linux: - -``` -cross build --target x86_64-pc-windows-gnu --release --lib --features custom-protocol -``` diff --git a/nym-vpn/ui/package.json b/nym-vpn/ui/package.json deleted file mode 100644 index 4be6c83b4e7..00000000000 --- a/nym-vpn/ui/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "nym-vpn-ui", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "dev:app": "RUST_LOG=nymvpn_ui=trace tauri dev", - "dev:browser": "vite --mode dev-browser", - "build": "tsc && vite build", - "build:app": "yarn build && cd src-tauri && cargo build --release --lib --features custom-protocol", - "preview": "vite preview", - "lint": "eslint --ext .ts,.tsx src/", - "lint:fix": "eslint --ext .js,.ts --fix src/", - "fmt": "prettier --write --ignore-unknown \"**/*\"", - "fmt:check": "prettier --check --ignore-unknown \"**/*\"", - "typecheck": "tsc --noEmit", - "tauri": "tauri" - }, - "dependencies": { - "@mui/base": "^5.0.0-beta.20", - "@mui/material": "^5.14.14", - "@tauri-apps/api": "^1.5.0", - "clsx": "^2.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@tauri-apps/cli": "^1.5.0", - "@types/react": "^18.2.31", - "@types/react-dom": "^18.2.14", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "@vitejs/plugin-react-swc": "^3.3.2", - "autoprefixer": "^10.4.16", - "eslint": "^8.52.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "postcss": "^8.4.31", - "postcss-import": "^15.1.0", - "prettier": "^3.0.3", - "tailwindcss": "^3.3.3", - "typescript": "^5.0.2", - "vite": "^4.4.5" - } -} diff --git a/nym-vpn/ui/postcss.config.js b/nym-vpn/ui/postcss.config.js deleted file mode 100644 index feab3515aa5..00000000000 --- a/nym-vpn/ui/postcss.config.js +++ /dev/null @@ -1,8 +0,0 @@ -export default { - plugins: { - 'postcss-import': {}, - 'tailwindcss/nesting': {}, - tailwindcss: {}, - autoprefixer: {}, - }, -}; diff --git a/nym-vpn/ui/prettier.config.js b/nym-vpn/ui/prettier.config.js deleted file mode 100644 index 44bcd83526f..00000000000 --- a/nym-vpn/ui/prettier.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("prettier").Config} */ - -const config = { - tabWidth: 2, - semi: true, - singleQuote: true, -}; - -export default config; diff --git a/nym-vpn/ui/public/vite.svg b/nym-vpn/ui/public/vite.svg deleted file mode 100644 index e7b8dfb1b2a..00000000000 --- a/nym-vpn/ui/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nym-vpn/ui/src-tauri/.gitignore b/nym-vpn/ui/src-tauri/.gitignore deleted file mode 100644 index a324855cc52..00000000000 --- a/nym-vpn/ui/src-tauri/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/target/ -/bindings/ - diff --git a/nym-vpn/ui/src-tauri/Cargo.lock b/nym-vpn/ui/src-tauri/Cargo.lock deleted file mode 100644 index 58d65c13371..00000000000 --- a/nym-vpn/ui/src-tauri/Cargo.lock +++ /dev/null @@ -1,3734 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aho-corasick" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" -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-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[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.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" - -[[package]] -name = "atk" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" -dependencies = [ - "atk-sys", - "bitflags 1.3.2", - "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.2", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" - -[[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.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "brotli" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da74e2b81409b1b743f8f0c62cc6254afefb8b8e50bbfe3735550f7aeefa3448" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bstr" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - -[[package]] -name = "bytemuck" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" - -[[package]] -name = "cairo-rs" -version = "0.15.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" -dependencies = [ - "bitflags 1.3.2", - "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.2", -] - -[[package]] -name = "cargo_toml" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" -dependencies = [ - "serde", - "toml 0.7.8", -] - -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" -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.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets", -] - -[[package]] -name = "cocoa" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-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 = "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 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4" -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 = "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-utils" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" -dependencies = [ - "quote", - "syn 2.0.38", -] - -[[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 = "darling" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.38", -] - -[[package]] -name = "darling_macro" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.38", -] - -[[package]] -name = "deranged" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" -dependencies = [ - "powerfmt", - "serde", -] - -[[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", - "syn 1.0.109", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[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-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 = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - -[[package]] -name = "dtoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" - -[[package]] -name = "dtoa-short" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" -dependencies = [ - "dtoa", -] - -[[package]] -name = "dunce" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" - -[[package]] -name = "embed-resource" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f54cc3e827ee1c3812239a9a41dede7b4d7d5d5464faa32d71bd7cba28ce2cb2" -dependencies = [ - "cc", - "rustc_version", - "toml 0.8.5", - "vswhom", - "winreg", -] - -[[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.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "fastrand" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" -dependencies = [ - "memoffset", - "rustc_version", -] - -[[package]] -name = "filetime" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.3.5", - "windows-sys 0.48.0", -] - -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -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.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" -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-channel" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -dependencies = [ - "futures-core", -] - -[[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-macro" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", -] - -[[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-core", - "futures-macro", - "futures-task", - "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 1.3.2", - "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 1.3.2", - "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.2", -] - -[[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.2", -] - -[[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.2", -] - -[[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.2", - "x11", -] - -[[package]] -name = "generator" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" -dependencies = [ - "cc", - "libc", - "log", - "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.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "gimli" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" - -[[package]] -name = "gio" -version = "0.15.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" -dependencies = [ - "bitflags 1.3.2", - "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.2", - "winapi", -] - -[[package]] -name = "glib" -version = "0.15.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" -dependencies = [ - "bitflags 1.3.2", - "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.2", -] - -[[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.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" -dependencies = [ - "aho-corasick", - "bstr", - "fnv", - "log", - "regex", -] - -[[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.2", -] - -[[package]] -name = "gtk" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" -dependencies = [ - "atk", - "bitflags 1.3.2", - "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.2", -] - -[[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 = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" - -[[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.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" - -[[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", - "mac", - "markup5ever 0.10.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "html5ever" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" -dependencies = [ - "log", - "mac", - "markup5ever 0.11.0", - "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.9", -] - -[[package]] -name = "http-range" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" - -[[package]] -name = "iana-time-zone" -version = "0.1.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" -dependencies = [ - "globset", - "lazy_static", - "log", - "memchr", - "regex", - "same-file", - "thread_local", - "walkdir", - "winapi-util", -] - -[[package]] -name = "image" -version = "0.24.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" -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 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" -dependencies = [ - "equivalent", - "hashbrown 0.14.2", - "serde", -] - -[[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 = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" - -[[package]] -name = "javascriptcore-rs" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" -dependencies = [ - "bitflags 1.3.2", - "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", - "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.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "json-patch" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6" -dependencies = [ - "serde", - "serde_json", - "thiserror", - "treediff", -] - -[[package]] -name = "kuchiki" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" -dependencies = [ - "cssparser", - "html5ever 0.25.2", - "matches", - "selectors", -] - -[[package]] -name = "kuchikiki" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" -dependencies = [ - "cssparser", - "html5ever 0.26.0", - "indexmap 1.9.3", - "matches", - "selectors", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" - -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[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 = "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", - "phf 0.8.0", - "phf_codegen 0.8.0", - "string_cache", - "string_cache_codegen", - "tendril", -] - -[[package]] -name = "markup5ever" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" -dependencies = [ - "log", - "phf 0.10.1", - "phf_codegen 0.10.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 0.1.10", -] - -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "memchr" -version = "2.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - -[[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 = "ndk" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" -dependencies = [ - "bitflags 1.3.2", - "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 = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[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-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.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "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 = "nymvpn-ui" -version = "0.0.0" -dependencies = [ - "anyhow", - "dotenvy", - "once_cell", - "serde", - "serde_json", - "tauri", - "tauri-build", - "thiserror", - "tokio", - "toml 0.8.5", - "tracing", - "tracing-subscriber", - "ts-rs", -] - -[[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_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 = "object" -version = "0.32.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" - -[[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 = "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 1.3.2", - "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.2", -] - -[[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.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.4.1", - "smallvec", - "windows-targets", -] - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "percent-encoding" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" - -[[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_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.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", -] - -[[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_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 = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[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.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa" -dependencies = [ - "base64 0.21.5", - "indexmap 1.9.3", - "line-wrap", - "quick-xml", - "serde", - "time", -] - -[[package]] -name = "png" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[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 0.19.15", -] - -[[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.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quick-xml" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" -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.10", -] - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_users" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" -dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.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-automata" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.2", -] - -[[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.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" -dependencies = [ - "bitflags 2.4.1", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustversion" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" - -[[package]] -name = "ryu" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" - -[[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 = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "selectors" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" -dependencies = [ - "bitflags 1.3.2", - "cssparser", - "derive_more", - "fxhash", - "log", - "matches", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc", - "smallvec", - "thin-slice", -] - -[[package]] -name = "semver" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" -dependencies = [ - "serde", -] - -[[package]] -name = "serde" -version = "1.0.189" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.189" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", -] - -[[package]] -name = "serde_json" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" -dependencies = [ - "itoa 1.0.9", - "ryu", - "serde", -] - -[[package]] -name = "serde_repr" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", -] - -[[package]] -name = "serde_spanned" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_with" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" -dependencies = [ - "base64 0.21.5", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.0.2", - "serde", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.38", -] - -[[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 = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" - -[[package]] -name = "soup2" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" -dependencies = [ - "bitflags 1.3.2", - "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 1.3.2", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps 5.0.0", -] - -[[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 = "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.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94af52f9402f94aac4948a2518b43359be8d9ce6cd9efc1c4de3b2f7b7e897d6" -dependencies = [ - "cfg-expr 0.15.5", - "heck 0.4.1", - "pkg-config", - "toml 0.8.5", - "version-compare 0.1.1", -] - -[[package]] -name = "tao" -version = "0.16.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b768eb5cf657b045d03304b1f60ecb54eac8b520f393c4f4240a94111a1caa17" -dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "cc", - "cocoa", - "core-foundation", - "core-graphics", - "crossbeam-channel", - "dispatch", - "gdk", - "gdk-pixbuf", - "gdk-sys", - "gdkwayland-sys", - "gdkx11-sys", - "gio", - "glib", - "glib-sys", - "gtk", - "image", - "instant", - "jni", - "lazy_static", - "libc", - "log", - "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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "tar" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "target-lexicon" -version = "0.12.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" - -[[package]] -name = "tauri" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bfe673cf125ef364d6f56b15e8ce7537d9ca7e4dae1cf6fbbdeed2e024db3d9" -dependencies = [ - "anyhow", - "cocoa", - "dirs-next", - "embed_plist", - "encoding_rs", - "flate2", - "futures-util", - "glib", - "glob", - "gtk", - "heck 0.4.1", - "http", - "ignore", - "objc", - "once_cell", - "open", - "percent-encoding", - "rand 0.8.5", - "raw-window-handle", - "regex", - "semver", - "serde", - "serde_json", - "serde_repr", - "serialize-to-javascript", - "state", - "tar", - "tauri-macros", - "tauri-runtime", - "tauri-runtime-wry", - "tauri-utils", - "tempfile", - "thiserror", - "tokio", - "url", - "uuid", - "webkit2gtk", - "webview2-com", - "windows 0.39.0", -] - -[[package]] -name = "tauri-build" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defbfc551bd38ab997e5f8e458f87396d2559d05ce32095076ad6c30f7fc5f9c" -dependencies = [ - "anyhow", - "cargo_toml", - "dirs-next", - "heck 0.4.1", - "json-patch", - "semver", - "serde", - "serde_json", - "tauri-utils", - "tauri-winres", - "walkdir", -] - -[[package]] -name = "tauri-codegen" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b3475e55acec0b4a50fb96435f19631fb58cbcd31923e1a213de5c382536bbb" -dependencies = [ - "base64 0.21.5", - "brotli", - "ico", - "json-patch", - "plist", - "png", - "proc-macro2", - "quote", - "regex", - "semver", - "serde", - "serde_json", - "sha2", - "tauri-utils", - "thiserror", - "time", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-macros" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613740228de92d9196b795ac455091d3a5fbdac2654abb8bb07d010b62ab43af" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "tauri-codegen", - "tauri-utils", -] - -[[package]] -name = "tauri-runtime" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07f8e9e53e00e9f41212c115749e87d5cd2a9eebccafca77a19722eeecd56d43" -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.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8141d72b6b65f2008911e9ef5b98a68d1e3413b7a1464e8f85eb3673bb19a895" -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.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d55e185904a84a419308d523c2c6891d5e2dbcee740c4997eb42e75a7b0f46" -dependencies = [ - "brotli", - "ctor", - "dunce", - "glob", - "heck 0.4.1", - "html5ever 0.26.0", - "infer", - "json-patch", - "kuchikiki", - "log", - "memchr", - "phf 0.10.1", - "proc-macro2", - "quote", - "semver", - "serde", - "serde_json", - "serde_with", - "thiserror", - "url", - "walkdir", - "windows 0.39.0", -] - -[[package]] -name = "tauri-winres" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" -dependencies = [ - "embed-resource", - "toml 0.7.8", -] - -[[package]] -name = "tempfile" -version = "3.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" -dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.48.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 = "termcolor" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" -dependencies = [ - "winapi-util", -] - -[[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.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", -] - -[[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.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" -dependencies = [ - "deranged", - "itoa 1.0.9", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" -dependencies = [ - "time-core", -] - -[[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.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" -dependencies = [ - "backtrace", - "bytes", - "num_cpus", - "pin-project-lite", -] - -[[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.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3efaf127c78d5339cc547cce4e4d973bd5e4f56e949a06d091c082ebeef2f800" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.20.5", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.0.2", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.20.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "782bf6c2ddf761c1e7855405e8975472acf76f7f36d0d4328bd3b7a2fae12a85" -dependencies = [ - "indexmap 2.0.2", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -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", - "log", - "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", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "treediff" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303" -dependencies = [ - "serde_json", -] - -[[package]] -name = "ts-rs" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ff1f8c90369bc172200013ac17ae86e7b5def580687df4e6127883454ff2b0" -dependencies = [ - "chrono", - "thiserror", - "ts-rs-macros", -] - -[[package]] -name = "ts-rs-macros" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f41cc0aeb7a4a55730188e147d3795a7349b501f8334697fd37629b896cdc2" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.38", - "termcolor", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[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 = "url" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" -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 = "uuid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" -dependencies = [ - "getrandom 0.2.10", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[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 = "vswhom" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" -dependencies = [ - "libc", - "vswhom-sys", -] - -[[package]] -name = "vswhom-sys" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "walkdir" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" -dependencies = [ - "same-file", - "winapi-util", -] - -[[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.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.38", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" - -[[package]] -name = "webkit2gtk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" -dependencies = [ - "bitflags 1.3.2", - "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 1.3.2", - "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.2", -] - -[[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", - "serde", - "serde_json", - "thiserror", - "windows 0.39.0", - "windows-bindgen", - "windows-metadata", -] - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -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 = "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", -] - -[[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-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets", -] - -[[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.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "winnow" -version = "0.5.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wry" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ef04bdad49eba2e01f06e53688c8413bd6a87b0bc14b72284465cf96e3578e" -dependencies = [ - "base64 0.13.1", - "block", - "cocoa", - "core-graphics", - "crossbeam-channel", - "dunce", - "gdk", - "gio", - "glib", - "gtk", - "html5ever 0.25.2", - "http", - "kuchiki", - "libc", - "log", - "objc", - "objc_id", - "once_cell", - "serde", - "serde_json", - "sha2", - "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 = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" -dependencies = [ - "libc", -] diff --git a/nym-vpn/ui/src-tauri/Cargo.toml b/nym-vpn/ui/src-tauri/Cargo.toml deleted file mode 100644 index b7eab97c9f1..00000000000 --- a/nym-vpn/ui/src-tauri/Cargo.toml +++ /dev/null @@ -1,33 +0,0 @@ -[package] -name = "nymvpn-ui" -version = "0.0.0" -description = "Application UI for Nym VPN desktop clients" -authors = ["you"] -license = "" -repository = "" -edition = "2021" - -[lib] -crate-type = ["cdylib"] - -[build-dependencies] -tauri-build = { version = "1.5", features = [] } - -[dependencies] -tauri = { version = "1.5.2", features = ["shell-open"] } -tokio = { version = "1.33", features = ["rt", "sync", "time", "fs"] } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -tracing = "0.1" -tracing-subscriber = { version = "0.3.1", features = ["tracing-log", "env-filter"] } -anyhow = "1.0" -dotenvy = "0.15.7" -thiserror = "1.0" -ts-rs = { version = "7.0.0", features = ["chrono-impl"] } -once_cell = "1.18.0" -toml = "0.8.5" - -[features] -# this feature is used for production builds or when `devPath` points to the filesystem -# DO NOT REMOVE!! -custom-protocol = ["tauri/custom-protocol"] diff --git a/nym-vpn/ui/src-tauri/Cross.toml b/nym-vpn/ui/src-tauri/Cross.toml deleted file mode 100644 index 27d16cba1f1..00000000000 --- a/nym-vpn/ui/src-tauri/Cross.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build.env] -volumes = ["VOL1_ARG=../dist"] diff --git a/nym-vpn/ui/src-tauri/icons/128x128.png b/nym-vpn/ui/src-tauri/icons/128x128.png deleted file mode 100644 index 6be5e50e9b9ae84d9e2ee433f32ef446495eaf3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3512 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 diff --git a/nym-vpn/ui/src-tauri/icons/128x128@2x.png b/nym-vpn/ui/src-tauri/icons/128x128@2x.png deleted file mode 100644 index e81becee571e96f76aa5667f9324c05e5e7a4479..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7012 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 Sh@|Ye~|0>}wMPLT8jm@Y!H33Sz}5aFI6 zM9Lzqz|;A*0sGs=2A1uU!1nk2dGF7knQwr99SAFen)x(eCO;F8y2C~0FD1YxRTPcy zPWVxkUYmeuz}Tv?7&Fe-!UE{)ZW)Mb;H)^#eHDv$`dkZGguJz@^MA!ZNGAUqt{|0H zpZ7Ch9S`q5!>R%}>}62!+(T^evyO+ImSo2wpu)su4^3nw5(%)KD%gbSev^*HZZ&3( z#&c@Z0gH|}Ck)w6fh0&NBJ62ib%R}(3@$VFl*_#l2W$wQ-~4RmZZAt5O*^2Q5}Xr8Hy@c`#pM?kc?hFWxRXr*mUfUCXf4ka5DD~ zat6d85COB05l#(P9*cQZ3EC8fVdS~?&vN#rce(aF9@xp80O2{{FBvU+{X>Hoh;xI` z{$e^Nw1y*VbO8wv`8|-m?NwNaKGTGaF{P^JLB^DbOYWIbn%eT`*!^C1H36=O8Z-M> zkD~88ry`eSo`tEBN4>w7OWZwUzlh{WM1m8R6zepqGcGMaV7vWY9b?K4b6~|HVG)ec wi>I@ws#sZo7or4_*4M>7;p5{nr2pZ?Uu4>Krr0kU)&Kwi07*qoM6N<$f)&@lf&c&j diff --git a/nym-vpn/ui/src-tauri/icons/Square107x107Logo.png b/nym-vpn/ui/src-tauri/icons/Square107x107Logo.png deleted file mode 100644 index 0ca4f27198838968bd60ed7d371bfa23496b7fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2863 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 Y2S8W#vM)6=T>t<807*qoM6N<$f*y@n<^TWy diff --git a/nym-vpn/ui/src-tauri/icons/Square284x284Logo.png b/nym-vpn/ui/src-tauri/icons/Square284x284Logo.png deleted file mode 100644 index c021d2ba76619c08969ab688db3b27f29257aa6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7737 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 diff --git a/nym-vpn/ui/src-tauri/icons/Square30x30Logo.png b/nym-vpn/ui/src-tauri/icons/Square30x30Logo.png deleted file mode 100644 index 621970023096ed9f494ba18ace15421a45cd65fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 903 zcmV;219<$2P)2 z+CUKPMqaqGiH;zb!R4$B-WXS^YzQr=@UH>k4?*L)&R=zYjBrZenKdc9|JlS$SO*RJ zKt8FSTDAdk1g_WPAO!p^V!AuL;Lm;uQyV;zKq)J3i(;q*;k+pD%f3eltU`PYdy9(k0&%` zuWAPcV6|-y?|?7O1W!KSK}pbk8#~!|FA@(VJkt^V@0lio{afoAeo*f&$W2s6${5!1eKvAGD2$GZwSB98L2ZVS- zKn8ENRkZ*sb!@QugOrQNK3(sy1v%J#m|rpB+h|Nkqa3FRT>74xSs{#&saU2Lf!_Iq zKmuKAESh`gs!fneGWn+nf}l?7jE$HW!Af&vE5=G!QU)U2v&HLIBGXKk4nQx{hsHjL zLPMAo5=*uInFbq7(aa`Y2VX5wCmaeqvECOFv)a>0t>ZaEb*cJccER=BB?KFZhV$c^ znL*l8x*UYZv4WK|j?~Jt6~~F%{pk~z5A*>^M`?r5m9@RJ_x|uEtX(6Vk@Y()MVto* z93wr)%3m%|#OZ~srm>zF(JvDuTq*@;d&^>_BJm5hOU`3FjG70L#Vzv9I?`<7$T@

jU?lMi@tgxr7CqX_r3uw^y4tVU3Pm0sw;|1WSUO%?=bG`*Kmz6u4{#ti;T7AWIBAEh!(Y zz>O01&#X?Ds@L)Sb{CkG#Yz4$3o d@96)?#cz^xWoA}>B$xmI002ovPDHLkV1l3&k#zt7 diff --git a/nym-vpn/ui/src-tauri/icons/Square310x310Logo.png b/nym-vpn/ui/src-tauri/icons/Square310x310Logo.png deleted file mode 100644 index f9bc04839491e66c07b16ab03743c0c53b4109cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8591 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 JPDHLkV1lm|RXG3v diff --git a/nym-vpn/ui/src-tauri/icons/Square71x71Logo.png b/nym-vpn/ui/src-tauri/icons/Square71x71Logo.png deleted file mode 100644 index 63440d7984936a9caa89275928d8dce97e4d033b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2011 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∓t$dRJGIadE?vc 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 Kx8Vjl{{H|h@<;Lj diff --git a/nym-vpn/ui/src-tauri/icons/icon.ico b/nym-vpn/ui/src-tauri/icons/icon.ico deleted file mode 100644 index b3636e4b22ba65db9061cd60a77b02c92022dfd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86642 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 AKmY&$ diff --git a/nym-vpn/ui/src-tauri/icons/icon.png b/nym-vpn/ui/src-tauri/icons/icon.png deleted file mode 100644 index e1cd2619e0b5ec089cbba5ec7b03ddf2b1dfceb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14183 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

5l#v3A#xI3*z~1~fvo9Q(N^(==!|_FZ z*duZ=+M1~)8E|otX8KNZlr?qels#x_1Xq@9IIw~@9uAREJVH)Xw^}UclF6327}E42 zT)E&?U%TK?(+K7%R!`H5oX0i)4Qn5??Iw3p5J~6_u+aWehY{DSn}3V2p$bgjnAu?o)v@iC254fXeMv50$9YrpU`N?u@QIWs)T?SP|fa}(|9 zqAX+!7`cx=4)cCBg5h~pu(?@9`)aCr#oyz$ld=#RFxYCNZCZls@4v2~*e-t6PEVvV z&bbK3b3wt(Coc!ufAbXXC<**#HQ%J9k`New6iG<5RjtO4XVO?dCvwxD{kJ#tfQr(X zg^NTwF-FwAeS_{V4bfel8l`~NbfrTR2s!G>WduFWxH(t~aK4q=6rEE^$+Uox>gJO2 z{L<;6Q6nHa5#ZEM>H58not!)z(6*_=^~8}jWf*IG$AUKVWOZ4?)GfF z+BM#*wKKmLFD7E~W3U!$IVm$k_k1f&Kz6WV8@55P?r~bcg-Za-!rvW?ns&)KOGT2~ zlkAyqhQj=P$Eg3w#K~}zH@J5bo-BfHjInKSz$@?+Z)NPD4pHj^_Qxmi`UqoTy=`sV zLVxrXGuBr=QRm|}wg75yetQQK4fY3#P_~J}zEfPnb2C4Wo!E(d*(cA;b?7$g2in<( zPn)ghX}nzJPmb6(3Dpeg_GW~Hc}Lt=lgsSZz z!5QXyz7KaR;D`3Ee}d`af{H>WWZ|Io1QI3~4Ll_`g1(cRnhLK73Ro)7zPCd={1W2x zRp%Xlvv4>!<2@}$hz|!V{T}_eHx2xkLl^hQoZTCnsjCl|W_@5Fx2(+j0ogy&Y+;L- z<)G$*CiN7hOm^s!{U>1F7U=iNk{+u~dAC!eDz%=|glFW0jEZU1&o(G_c#wTxUjnG} z#cg3>jEpUi#Mlq@t?Msg_#geK^Lx@DyHWf7=AS5vVyM7YOjvUVCfcpVR<(+5!H?9- zySI6s>o3m&*zr||=wcPGyBkQV`EWJl@bH8qobjOp+sXL*)=&yX)8aAbf~tGv?a2SN zu^Ddo-z?DWk9h9Yz#5p^NU#x~wYSd?H@w@!2Gb4G)6-utEMV~~M85Br5ff(v5O1|T z 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, -) -> Result { - debug!("get_connection_state"); - let app_state = state.lock().await; - Ok(app_state.state) -} - -#[tauri::command] -pub async fn connect(state: State<'_, SharedAppState>) -> Result { - debug!("connect"); - let mut app_state = state.lock().await; - let ConnectionState::Disconnected = app_state.state else { - return Err(CommandError::CallerError(format!( - "cannot connect from state {:?}", - app_state.state - ))); - }; - - // TODO fake some delay to establish connection - let app_state_cloned = state.inner().clone(); - let task = tokio::spawn(async move { - sleep(Duration::from_secs(2)).await; - trace!("connected"); - app_state_cloned.lock().await.state = ConnectionState::Connected; - }); - - let _ = task.await; - - app_state.state = ConnectionState::Connecting; - Ok(app_state.state) -} - -#[instrument] -#[tauri::command] -pub async fn disconnect(state: State<'_, SharedAppState>) -> Result { - debug!("disconnect"); - let mut app_state = state.lock().await; - let ConnectionState::Connected = app_state.state else { - return Err(CommandError::CallerError(format!( - "cannot disconnect from state {:?}", - app_state.state - ))); - }; - - app_state.state = ConnectionState::Disconnecting; - Ok(app_state.state) -} diff --git a/nym-vpn/ui/src-tauri/src/commands/mod.rs b/nym-vpn/ui/src-tauri/src/commands/mod.rs deleted file mode 100644 index c28bd8ce475..00000000000 --- a/nym-vpn/ui/src-tauri/src/commands/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -use tracing::{debug, instrument}; - -pub mod connection; -pub mod settings; - -#[instrument] -#[tauri::command] -pub fn greet(name: &str) -> String { - debug!("greet"); - format!("Hello, {}! You've been greeted from Rust!", name) -} diff --git a/nym-vpn/ui/src-tauri/src/commands/settings.rs b/nym-vpn/ui/src-tauri/src/commands/settings.rs deleted file mode 100644 index ee9701ea9e6..00000000000 --- a/nym-vpn/ui/src-tauri/src/commands/settings.rs +++ /dev/null @@ -1,32 +0,0 @@ -use tauri::State; -use tracing::{debug, instrument}; - -use crate::{error::CommandError, fs::data::AppData, states::SharedAppData}; - -#[instrument] -#[tauri::command] -pub async fn save_user_settings(state: State<'_, SharedAppData>) -> Result<(), CommandError> { - debug!("save_user_settings"); - let app_data = state.lock().await; - app_data - .write() - .map_err(|e| CommandError::InternalError(e.to_string()))?; - - Ok(()) -} - -#[instrument] -#[tauri::command] -pub async fn set_user_settings( - state: State<'_, SharedAppData>, - settings: AppData, -) -> Result<(), CommandError> { - debug!("set_user_settings"); - let mut app_data = state.lock().await; - app_data.data = settings; - app_data - .write() - .map_err(|e| CommandError::InternalError(e.to_string()))?; - - Ok(()) -} diff --git a/nym-vpn/ui/src-tauri/src/error.rs b/nym-vpn/ui/src-tauri/src/error.rs deleted file mode 100644 index 34f57b66b2f..00000000000 --- a/nym-vpn/ui/src-tauri/src/error.rs +++ /dev/null @@ -1,12 +0,0 @@ -use serde::{Deserialize, Serialize}; -use thiserror::Error; - -#[derive(Error, Debug, Serialize, Deserialize)] -pub enum CommandError { - #[error("internal error: `{0}`")] - InternalError(String), - #[error("caller error: `{0}`")] - CallerError(String), - #[error("unknown error")] - Unknown, -} diff --git a/nym-vpn/ui/src-tauri/src/fs/cache.rs b/nym-vpn/ui/src-tauri/src/fs/cache.rs deleted file mode 100644 index 64bc676b0fc..00000000000 --- a/nym-vpn/ui/src-tauri/src/fs/cache.rs +++ /dev/null @@ -1,6 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Default, Serialize, Deserialize, Debug, Clone)] -pub struct AppCache { - // TODO -} diff --git a/nym-vpn/ui/src-tauri/src/fs/config.rs b/nym-vpn/ui/src-tauri/src/fs/config.rs deleted file mode 100644 index 3755d701a83..00000000000 --- a/nym-vpn/ui/src-tauri/src/fs/config.rs +++ /dev/null @@ -1,6 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Default, Serialize, Deserialize, Debug, Clone)] -pub struct AppConfig { - // TODO -} diff --git a/nym-vpn/ui/src-tauri/src/fs/data.rs b/nym-vpn/ui/src-tauri/src/fs/data.rs deleted file mode 100644 index cbc177b281b..00000000000 --- a/nym-vpn/ui/src-tauri/src/fs/data.rs +++ /dev/null @@ -1,13 +0,0 @@ -use serde::{Deserialize, Serialize}; - -use crate::states::app::{NodeConfig, PrivacyMode}; - -#[derive(Default, Serialize, Deserialize, Debug, Clone)] -pub struct AppData { - pub monitoring: Option, - pub autoconnect: Option, - pub killswitch: Option, - pub privacy_mode: Option, - pub entry_node: Option, - pub exit_node: Option, -} diff --git a/nym-vpn/ui/src-tauri/src/fs/log.rs b/nym-vpn/ui/src-tauri/src/fs/log.rs deleted file mode 100644 index 7401d4e6534..00000000000 --- a/nym-vpn/ui/src-tauri/src/fs/log.rs +++ /dev/null @@ -1,6 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Default, Serialize, Deserialize, Debug, Clone)] -pub struct AppLog { - // TODO -} diff --git a/nym-vpn/ui/src-tauri/src/fs/mod.rs b/nym-vpn/ui/src-tauri/src/fs/mod.rs deleted file mode 100644 index 429f48cc994..00000000000 --- a/nym-vpn/ui/src-tauri/src/fs/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod config; -pub mod data; -pub mod log; -pub mod storage; diff --git a/nym-vpn/ui/src-tauri/src/fs/storage.rs b/nym-vpn/ui/src-tauri/src/fs/storage.rs deleted file mode 100644 index 70a2e6287be..00000000000 --- a/nym-vpn/ui/src-tauri/src/fs/storage.rs +++ /dev/null @@ -1,84 +0,0 @@ -use anyhow::{anyhow, Context, Result}; -use serde::{de::DeserializeOwned, Serialize}; -use std::{fmt, fs, path::PathBuf, str}; -use tauri::api::path::data_dir; -use tracing::{debug, error, instrument}; - -#[derive(Debug, Clone)] -pub struct AppStorage -where - T: Serialize + DeserializeOwned + Default + fmt::Debug, -{ - pub data: T, - pub dir_path: PathBuf, - pub filename: String, - pub full_path: PathBuf, -} - -fn create_directory_path(path: &PathBuf) -> Result<()> { - let mut data_dir = data_dir().ok_or(anyhow!( - "Failed to retrieve data directory {:?}", - path.display() - ))?; - data_dir.push(path); - - fs::create_dir_all(&data_dir).context(format!( - "Failed to create data directory {}", - data_dir.display() - )) -} - -impl AppStorage -where - T: Serialize + DeserializeOwned + Default + fmt::Debug, -{ - pub fn new(dir_path: PathBuf, filename: &str, data: Option) -> Self { - let mut full_path = dir_path.clone(); - full_path.push(filename); - - Self { - data: data.unwrap_or_default(), - dir_path, - filename: filename.to_owned(), - full_path, - } - } - - #[instrument] - pub fn read(&self) -> Result { - // create the full directory path if it is missing - create_directory_path(&self.dir_path)?; - - debug!("reading stored data from {}", self.full_path.display()); - let content = fs::read(&self.full_path).context(format!( - "Failed to read data from {}", - self.full_path.display() - ))?; - - toml::from_str::(str::from_utf8(&content)?).map_err(|e| { - error!("{e}"); - anyhow!("{e}") - }) - } - - #[instrument] - pub fn write(&self) -> Result<()> { - // create the full directory path if it is missing - create_directory_path(&self.dir_path)?; - - debug!("writing data to {}", self.full_path.display()); - let toml = toml::to_string(&self.data)?; - fs::write(&self.full_path, toml)?; - Ok(()) - } - - #[instrument] - pub fn clear(&self) -> Result<()> { - // create the full directory path if it is missing - create_directory_path(&self.dir_path)?; - - debug!("clearing data {}", self.full_path.display()); - fs::write(&self.full_path, vec![])?; - Ok(()) - } -} diff --git a/nym-vpn/ui/src-tauri/src/lib.rs b/nym-vpn/ui/src-tauri/src/lib.rs deleted file mode 100644 index 940f438b547..00000000000 --- a/nym-vpn/ui/src-tauri/src/lib.rs +++ /dev/null @@ -1,16 +0,0 @@ -// Prevents additional console window on Windows in release, DO NOT REMOVE!! -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] - -// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command -#[tauri::command] -fn greet(name: &str) -> String { - format!("Hello, {}! You've been greeted from Rust!", name) -} - -#[no_mangle] -pub extern "C" fn run_tauri() { - tauri::Builder::default() - .invoke_handler(tauri::generate_handler![greet]) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); -} diff --git a/nym-vpn/ui/src-tauri/src/main.rs b/nym-vpn/ui/src-tauri/src/main.rs deleted file mode 100644 index b690e8e804a..00000000000 --- a/nym-vpn/ui/src-tauri/src/main.rs +++ /dev/null @@ -1,64 +0,0 @@ -// Prevents additional console window on Windows in release, DO NOT REMOVE!! -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] - -use std::sync::Arc; - -use anyhow::anyhow; -use anyhow::Result; -use tauri::api::path::{config_dir, data_dir}; -use tokio::sync::Mutex; -use tracing::info; - -mod commands; -mod error; -mod fs; -mod states; - -use commands::*; -use states::app::AppState; - -use crate::fs::config::AppConfig; -use crate::fs::data::AppData; -use crate::fs::storage::AppStorage; - -const APP_DIR: &str = "nymvpn"; -const APP_DATA_FILE: &str = "app-data.toml"; -const APP_CONFIG_FILE: &str = "config.toml"; - -fn main() -> Result<()> { - dotenvy::dotenv()?; - - // uses RUST_LOG value for logging level - // eg. RUST_LOG=tauri=debug,nymvpn_ui=trace - tracing_subscriber::fmt::init(); - - let mut app_data_path = data_dir().ok_or(anyhow!("Failed to retrieve data directory"))?; - app_data_path.push(APP_DIR); - let app_data_store = AppStorage::::new(app_data_path, APP_DATA_FILE, None); - - let mut app_config_path = config_dir().ok_or(anyhow!("Failed to retrieve config directory"))?; - app_config_path.push(APP_DIR); - let app_config_store = AppStorage::::new(app_config_path, APP_CONFIG_FILE, None); - - info!("Starting tauri app"); - - tauri::Builder::default() - .manage(Arc::new(Mutex::new(AppState::default()))) - .manage(Arc::new(Mutex::new(app_data_store))) - .manage(Arc::new(Mutex::new(app_config_store))) - .setup(|_app| { - info!("app setup"); - Ok(()) - }) - .invoke_handler(tauri::generate_handler![ - greet, - connection::get_connection_state, - connection::connect, - connection::disconnect, - settings::save_user_settings, - settings::set_user_settings, - ]) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); - Ok(()) -} diff --git a/nym-vpn/ui/src-tauri/src/states/app.rs b/nym-vpn/ui/src-tauri/src/states/app.rs deleted file mode 100644 index 6354409d92d..00000000000 --- a/nym-vpn/ui/src-tauri/src/states/app.rs +++ /dev/null @@ -1,44 +0,0 @@ -use serde::{Deserialize, Serialize}; -use ts_rs::TS; - -#[derive(Debug, Serialize, Deserialize, Clone)] -pub struct NodeConfig { - pub id: String, - pub country: String, -} - -#[derive(Default, Debug, Clone, Copy, Serialize, Deserialize, TS)] -#[ts(export)] -pub enum ConnectionState { - Connected, - #[default] - Disconnected, - Connecting, - Disconnecting, - Error, -} - -#[derive(Default, Debug, Serialize, Deserialize, TS, Clone)] -#[ts(export)] -pub enum PrivacyMode { - High, - Medium, - #[default] - Low, -} - -#[derive(Debug, Serialize, Deserialize, TS)] -#[ts(export)] -pub struct TunnelConfig { - pub id: String, - pub name: String, -} - -#[derive(Debug, Default)] -pub struct AppState { - pub state: ConnectionState, - pub privacy_mode: PrivacyMode, - pub entry_node: Option, - pub exit_node: Option, - pub tunnel: Option, -} diff --git a/nym-vpn/ui/src-tauri/src/states/mod.rs b/nym-vpn/ui/src-tauri/src/states/mod.rs deleted file mode 100644 index b02b90be7bd..00000000000 --- a/nym-vpn/ui/src-tauri/src/states/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -use std::sync::Arc; - -use tokio::sync::Mutex; - -use crate::fs::{config::AppConfig, data::AppData, storage::AppStorage}; - -pub mod app; - -pub type SharedAppState = Arc>; -pub type SharedAppData = Arc>>; -pub type SharedAppConfig = Arc>>; diff --git a/nym-vpn/ui/src-tauri/tauri.conf.json b/nym-vpn/ui/src-tauri/tauri.conf.json deleted file mode 100644 index 059b30d70d8..00000000000 --- a/nym-vpn/ui/src-tauri/tauri.conf.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "build": { - "beforeDevCommand": "yarn dev", - "beforeBuildCommand": "yarn build", - "devPath": "http://localhost:1420", - "distDir": "../dist", - "withGlobalTauri": false - }, - "package": { - "productName": "nymvpn-ui", - "version": "0.0.0" - }, - "tauri": { - "updater": { - "active": true, - "endpoints": [ - "https://releases.myapp.com/{{target}}/{{arch}}/{{current_version}}" - ], - "dialog": true, - "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDUxMjFCMDhFOTczQzE5MjUKUldRbEdUeVhqckFoVVljRDZNZkRQZzIyYTBSZUVmSk1SVUlaTC9OeTk0NDFYUVl1blhWV2VTQi8K" - }, - "allowlist": { - "all": false, - "shell": { - "all": false, - "open": true - } - }, - "bundle": { - "active": true, - "targets": "all", - "identifier": "net.nymtech.vpn", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ] - }, - "security": { - "csp": null - }, - "windows": [ - { - "fullscreen": false, - "resizable": true, - "title": "NymVPN", - "width": 200, - "height": 200 - } - ] - } -} diff --git a/nym-vpn/ui/src/App.tsx b/nym-vpn/ui/src/App.tsx deleted file mode 100644 index 27a4fd31267..00000000000 --- a/nym-vpn/ui/src/App.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React, { useState } from 'react'; -import { invoke } from '@tauri-apps/api/tauri'; -import { Button as BaseButton, ButtonProps } from '@mui/base/Button'; -import clsx from 'clsx'; - -// eslint-disable-next-line react/display-name -const Button = React.forwardRef( - (props, ref) => { - const { className, ...other } = props; - return ( - - ); - }, -); - -function App() { - const [greetMsg, setGreetMsg] = useState(''); - const [name, setName] = useState(''); - - async function greet() { - // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command - setGreetMsg(await invoke('greet', { name })); - } - - return ( -

- ); -} - -export default App; diff --git a/nym-vpn/ui/src/dev/setup.ts b/nym-vpn/ui/src/dev/setup.ts deleted file mode 100644 index 261a6aede9e..00000000000 --- a/nym-vpn/ui/src/dev/setup.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { mockIPC, mockWindows } from '@tauri-apps/api/mocks'; -import { greet } from './tauri-cmd-mocks'; - -mockWindows('main'); - -mockIPC(async (cmd, args) => { - console.log(`IPC call mocked "${cmd}"`); - if (cmd === 'greet') { - return greet(args.name as string); - } -}); diff --git a/nym-vpn/ui/src/dev/tauri-cmd-mocks/greet.ts b/nym-vpn/ui/src/dev/tauri-cmd-mocks/greet.ts deleted file mode 100644 index 30f2b2f5aca..00000000000 --- a/nym-vpn/ui/src/dev/tauri-cmd-mocks/greet.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default function greet(name: string): string { - return `Hello, ${name}!`; -} diff --git a/nym-vpn/ui/src/dev/tauri-cmd-mocks/index.ts b/nym-vpn/ui/src/dev/tauri-cmd-mocks/index.ts deleted file mode 100644 index 72f4e4c640d..00000000000 --- a/nym-vpn/ui/src/dev/tauri-cmd-mocks/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as greet } from './greet'; diff --git a/nym-vpn/ui/src/main.tsx b/nym-vpn/ui/src/main.tsx deleted file mode 100644 index 4d42a8e37b4..00000000000 --- a/nym-vpn/ui/src/main.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import App from './App'; -import './styles.css'; - -if (import.meta.env.MODE === 'dev-browser') { - console.log('Running in dev-browser mode. Mocking tauri window and IPCs'); - import('./dev/setup'); -} - -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( - - - , -); diff --git a/nym-vpn/ui/tailwind.config.js b/nym-vpn/ui/tailwind.config.js deleted file mode 100644 index a1f67d7f614..00000000000 --- a/nym-vpn/ui/tailwind.config.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -export default { - content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], - theme: { - extend: {}, - }, - plugins: [], - // Toggling dark mode manually - darkMode: 'class', -}; diff --git a/nym-vpn/ui/tsconfig.json b/nym-vpn/ui/tsconfig.json deleted file mode 100644 index a7fc6fbf23d..00000000000 --- a/nym-vpn/ui/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/nym-vpn/ui/vite.config.ts b/nym-vpn/ui/vite.config.ts deleted file mode 100644 index 8d90eb50cb4..00000000000 --- a/nym-vpn/ui/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react-swc'; - -// https://vitejs.dev/config/ -export default defineConfig(async () => ({ - plugins: [react()], - - // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` - // - // 1. prevent vite from obscuring rust errors - clearScreen: false, - // 2. tauri expects a fixed port, fail if that port is not available - server: { - port: 1420, - strictPort: true, - }, - // 3. to make use of `TAURI_DEBUG` and other env variables - // https://tauri.app/v1/api/config#buildconfig.beforedevcommand - envPrefix: ['VITE_', 'TAURI_'], -})); diff --git a/nym-vpn/ui/yarn.lock b/nym-vpn/ui/yarn.lock deleted file mode 100644 index e243243e307..00000000000 --- a/nym-vpn/ui/yarn.lock +++ /dev/null @@ -1,2666 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@babel/runtime@^7.23.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" - integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== - dependencies: - regenerator-runtime "^0.14.0" - -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.9.1" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz" - integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== - -"@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.52.0": - version "8.52.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz" - integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA== - -"@floating-ui/core@^1.4.2": - version "1.5.0" - resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz" - integrity sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg== - dependencies: - "@floating-ui/utils" "^0.1.3" - -"@floating-ui/dom@^1.5.1": - version "1.5.3" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz" - integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA== - dependencies: - "@floating-ui/core" "^1.4.2" - "@floating-ui/utils" "^0.1.3" - -"@floating-ui/react-dom@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz" - integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ== - dependencies: - "@floating-ui/dom" "^1.5.1" - -"@floating-ui/utils@^0.1.3": - version "0.1.6" - resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz" - integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A== - -"@humanwhocodes/config-array@^0.11.13": - version "0.11.13" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz" - integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== - dependencies: - "@humanwhocodes/object-schema" "^2.0.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz" - integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.20" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@mui/base@5.0.0-beta.20", "@mui/base@^5.0.0-beta.20": - version "5.0.0-beta.20" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.20.tgz" - integrity sha512-CS2pUuqxST7ch9VNDCklRYDbJ3rru20Tx7na92QvVVKfu3RL4z/QLuVIc8jYGsdCnauMaeUSlFNLAJNb0yXe6w== - dependencies: - "@babel/runtime" "^7.23.1" - "@floating-ui/react-dom" "^2.0.2" - "@mui/types" "^7.2.6" - "@mui/utils" "^5.14.13" - "@popperjs/core" "^2.11.8" - clsx "^2.0.0" - prop-types "^15.8.1" - -"@mui/core-downloads-tracker@^5.14.14": - version "5.14.14" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.14.tgz#a54894e9b4dc908ab2d59eac543219d9018448e6" - integrity sha512-Rw/xKiTOUgXD8hdKqj60aC6QcGprMipG7ne2giK6Mz7b4PlhL/xog9xLeclY3BxsRLkZQ05egFnIEY1CSibTbw== - -"@mui/material@^5.14.14": - version "5.14.14" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.14.tgz#e47f3992b609002cd57a71f70e829dc2d286028c" - integrity sha512-cAmCwAHFQXxb44kWbVFkhKATN8tACgMsFwrXo8ro6WzYW73U/qsR5AcCiJIhCyYYg+gcftfkmNcpRaV3JjhHCg== - dependencies: - "@babel/runtime" "^7.23.1" - "@mui/base" "5.0.0-beta.20" - "@mui/core-downloads-tracker" "^5.14.14" - "@mui/system" "^5.14.14" - "@mui/types" "^7.2.6" - "@mui/utils" "^5.14.13" - "@types/react-transition-group" "^4.4.7" - clsx "^2.0.0" - csstype "^3.1.2" - prop-types "^15.8.1" - react-is "^18.2.0" - react-transition-group "^4.4.5" - -"@mui/private-theming@^5.14.14": - version "5.14.14" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.14.tgz#035dde1eb30c896c69a12b7dee1dce3a323c66e9" - integrity sha512-n77au3CQj9uu16hak2Y+rvbGSBaJKxziG/gEbOLVGrAuqZ+ycVSkorCfN6Y/4XgYOpG/xvmuiY3JwhAEOzY3iA== - dependencies: - "@babel/runtime" "^7.23.1" - "@mui/utils" "^5.14.13" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.14.13": - version "5.14.14" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.14.14.tgz#b0ededf531fff1ef110f7b263c2d3d95a0b8ec9a" - integrity sha512-sF3DS2PVG+cFWvkVHQQaGFpL1h6gSwOW3L91pdxPLQDHDZ5mZ/X0SlXU5XA+WjypoysG4urdAQC7CH/BRvUiqg== - dependencies: - "@babel/runtime" "^7.23.1" - "@emotion/cache" "^11.11.0" - csstype "^3.1.2" - prop-types "^15.8.1" - -"@mui/system@^5.14.14": - version "5.14.14" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.14.tgz#f33327e74230523169107ace960e8bb51cbdbab7" - integrity sha512-y4InFmCgGGWXnz+iK4jRTWVikY0HgYnABjz4wgiUgEa2W1H8M4ow+27BegExUWPkj4TWthQ2qG9FOGSMtI+PKA== - dependencies: - "@babel/runtime" "^7.23.1" - "@mui/private-theming" "^5.14.14" - "@mui/styled-engine" "^5.14.13" - "@mui/types" "^7.2.6" - "@mui/utils" "^5.14.13" - clsx "^2.0.0" - csstype "^3.1.2" - prop-types "^15.8.1" - -"@mui/types@^7.2.6": - version "7.2.6" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.6.tgz" - integrity sha512-7sjLQrUmBwufm/M7jw/quNiPK/oor2+pGUQP2CULRcFCArYTq78oJ3D5esTaL0UMkXKJvDqXn6Ike69yAOBQng== - -"@mui/utils@^5.14.13": - version "5.14.14" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.14.14.tgz" - integrity sha512-3AKp8uksje5sRfVrtgG9Q/2TBsHWVBUtA0NaXliZqGcXo8J+A+Agp0qUW2rJ+ivgPWTCCubz9FZVT2IQZ3bGsw== - dependencies: - "@babel/runtime" "^7.23.1" - "@types/prop-types" "^15.7.7" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@swc/core-darwin-arm64@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.94.tgz#2fe8e513433cd5d5c987952e38ca06e6226de0f3" - integrity sha512-KNuE6opIy/wAXiGUWLhGWhCG3wA/AdjG6eYkv6dstrAURLaQMAoD8vDfVm8pxS8FA8Kx+0Z4QiDNPqk5aKIsqg== - -"@swc/core-darwin-x64@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.94.tgz#6b626013657e18eaf1e795370eac70e86dc7d300" - integrity sha512-HypemhyehQrLqXwfJv5ronD4BMAXdgMCP4Ei7rt3B6Ftmt9axwGvdwGiXxsYR9h1ncyxoVxN+coGxbNIhKhahw== - -"@swc/core-linux-arm-gnueabihf@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.94.tgz#300483c9e9a3a4084d8264f59daee19102e1084b" - integrity sha512-KzKN54c7Y6X1db+bBVSXG4+bXmAPvXtDWk+TgwNJH4yYliOrnP/RKkHA5QZ9VFSnqJF06/sAO4kYBiL/aVQDBQ== - -"@swc/core-linux-arm64-gnu@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.94.tgz#ac099db32d60e161c11bf01a9496ea0ada347247" - integrity sha512-iAcR8Ho0Uck/SLSrgYfXkpcGOXuN5waMZO7GlL/52QODr7GJtOfZ0H1MCZLbIFkPJp/iXoJpYgym4d/qSd477Q== - -"@swc/core-linux-arm64-musl@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.94.tgz#e555791abf27d74831dc3581327662f65e2b62f2" - integrity sha512-VCHL1Mb9ENHx+sAeubSSg481MUeP9/PYzPPy9tfswunj/w35M+vEWflwK2dzQL9kUTFD3zcFTpAgsKnj6aX24w== - -"@swc/core-linux-x64-gnu@1.3.94": - version "1.3.94" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.94.tgz" - integrity sha512-gjq7U6clhJi0Oel2a4gwR4MbSu+THQ2hmBNVCOSA3JjPZWZTkJXaJDpnh/r7PJxKBwUDlo0VPlwiwjepAQR2Rw== - -"@swc/core-linux-x64-musl@1.3.94": - version "1.3.94" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.94.tgz" - integrity sha512-rSylruWyeol2ujZDHmwiovupMR5ukMXivlA7DDxmQ1dFUV9HuiPknQrU5rEbI3V2V3V5RkpbEKjnADen7AeMPQ== - -"@swc/core-win32-arm64-msvc@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.94.tgz#1ddab334f90ba40fb2b7768476fb64f4e8f1d759" - integrity sha512-OenDUr5MQkz506ebVQq6ezoZ3GZ26nchgf5mPnwab4gx2TEiyR9zn7MdX5LWskTmOK3+FszPbGK0B5oLK6Y5yw== - -"@swc/core-win32-ia32-msvc@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.94.tgz#e254b4ab6514cf0ebd89781c7bf348484d006b8b" - integrity sha512-mi6NcmtJKnaiHAxLtVz+WzunscsEwPdA0j15DuiYVx06Xo+MdRLJj4eVBgVLwGD1AI3IqKs4MVVx2cD7n0h5mg== - -"@swc/core-win32-x64-msvc@1.3.94": - version "1.3.94" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.94.tgz#dc193537ccd87f40552e099038f543e0756f74de" - integrity sha512-Ba0ZLcGMnqPWWF9Xa+rWhhnkpvE7XoQegMP/VCF2JIHb2ieGBC8jChO6nKRFKZjib/3wghGzxakyDQx3LDhDug== - -"@swc/core@^1.3.85": - version "1.3.94" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.3.94.tgz" - integrity sha512-jTHn8UJOGgERKZLy8euEixVAzC/w/rUSuMlM3e7hxgap/TC595hSkuQwtkpL238dsuEPveD44GMy2A5UBtSvjg== - dependencies: - "@swc/counter" "^0.1.1" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.3.94" - "@swc/core-darwin-x64" "1.3.94" - "@swc/core-linux-arm-gnueabihf" "1.3.94" - "@swc/core-linux-arm64-gnu" "1.3.94" - "@swc/core-linux-arm64-musl" "1.3.94" - "@swc/core-linux-x64-gnu" "1.3.94" - "@swc/core-linux-x64-musl" "1.3.94" - "@swc/core-win32-arm64-msvc" "1.3.94" - "@swc/core-win32-ia32-msvc" "1.3.94" - "@swc/core-win32-x64-msvc" "1.3.94" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== - -"@tauri-apps/api@^1.5.0": - version "1.5.1" - resolved "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.1.tgz" - integrity sha512-6unsZDOdlXTmauU3NhWhn+Cx0rODV+rvNvTdvolE5Kls5ybA6cqndQENDt1+FS0tF7ozCP66jwWoH6a5h90BrA== - -"@tauri-apps/cli-darwin-arm64@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.5.5.tgz#394fbc2920bc84524c8adb0021b1f788495a643f" - integrity sha512-CmKc/PjlI1+oD88VtR1Nr0pmrf/cUU1XFRazU+FB9ChWO3ZPp4MeA+eSemiln0F1XJR9fMJw/QS58IPH4GydLw== - -"@tauri-apps/cli-darwin-x64@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.5.5.tgz#76f91cdb629d3f2996fe41a9401080baaabd956c" - integrity sha512-d7l/4FB5uWGkMHM08UI6+qk45PAeBYMSC19l0Sz47WrRHQDMIX4V591ydnUg8AffWK/I3r1DJtQmd6C89g7JwQ== - -"@tauri-apps/cli-linux-arm-gnueabihf@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.5.5.tgz#94cad5de0ce908271768aae931ed455352516b44" - integrity sha512-avFw/BvW01qhXPbzfVPy/KU/FYJ/SUoCe9DP8oA/eSh49VzE9JvlH62iqjtGtA8XzxfTJRezXdCQbrq7OkQHKQ== - -"@tauri-apps/cli-linux-arm64-gnu@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.5.5.tgz#9601a48572080796f30621a3723a2bbab5109e29" - integrity sha512-j7yvbZ/IG+W5QtEqK9nSz33lJtaZEFvNnFs0Bxz8r2TjF80m8SdlfxL38R/OVl7xM7ctJWRyM6ws9mBWT0uHNA== - -"@tauri-apps/cli-linux-arm64-musl@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.5.tgz#c99c3612ffe65f4cc603baa821f7d8dcc1afd226" - integrity sha512-neLu3FEYE2IixnqtX10+jsvkJx26kxmh5ekktzjolu5HqV73nquCj7VK/V5uyRMyMQeGEPyhbT09A36DUl+zDA== - -"@tauri-apps/cli-linux-x64-gnu@1.5.5": - version "1.5.5" - resolved "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.5.5.tgz" - integrity sha512-zZlfklupFaV6RxPze9kQytp1N/K4q/QuYUsgQ5GB/7/OX4EWTUkOpNCeVEocmHag4+9UCQkb1HxdTkXiEVcXEQ== - -"@tauri-apps/cli-linux-x64-musl@1.5.5": - version "1.5.5" - resolved "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.5.tgz" - integrity sha512-2VByWblZnSgLZJyhRxggy528ahcYFH8jboZZ2BUaYT/P5WeJ1lOoQwQj9ssEUrGauGPNS3PmmfBCF7u5oaMRJA== - -"@tauri-apps/cli-win32-arm64-msvc@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.5.5.tgz#44b6fcf0966a3bb9fc163d19ace83e98ee03cdce" - integrity sha512-4UZFHMIJaqgPGT+PHfDDp63OgJsXwLd+0u8x1+2hFMT25dEYj+KzKOVwktYgN6UT9F7rEyzNTTZe7ZZpAkGT5Q== - -"@tauri-apps/cli-win32-ia32-msvc@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.5.5.tgz#04c7c7eba376a82e2f13c6e3c640cf34c988502c" - integrity sha512-t4XbmMyDtX7kW+wQrlWO4tZus+w77w+Hz5/NBQsjRNnO3lbuYMYaF4IZpt0tZG6lQ0uyvH+o2v5dbZhUTpVT0Q== - -"@tauri-apps/cli-win32-x64-msvc@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.5.5.tgz#cc4f5336e958e5d754a551e5c5df5e32680b89ec" - integrity sha512-7OiUfBmYjQ9LGTvl0Zs567JQIQuxpTCDraca3cpJFV/6TsRLEZAvXo3sgqEFOJopImrCWTpUT4FyzsGC76KlIg== - -"@tauri-apps/cli@^1.5.0": - version "1.5.5" - resolved "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.5.5.tgz" - integrity sha512-AUFqiA5vbriMd6xWDLWwxzW2FtEhSmL0KcMktkQQGzM+QKFnFbQsubvvd95YDAIX2Q4L1eygGv7ebNX0QVA7sg== - optionalDependencies: - "@tauri-apps/cli-darwin-arm64" "1.5.5" - "@tauri-apps/cli-darwin-x64" "1.5.5" - "@tauri-apps/cli-linux-arm-gnueabihf" "1.5.5" - "@tauri-apps/cli-linux-arm64-gnu" "1.5.5" - "@tauri-apps/cli-linux-arm64-musl" "1.5.5" - "@tauri-apps/cli-linux-x64-gnu" "1.5.5" - "@tauri-apps/cli-linux-x64-musl" "1.5.5" - "@tauri-apps/cli-win32-arm64-msvc" "1.5.5" - "@tauri-apps/cli-win32-ia32-msvc" "1.5.5" - "@tauri-apps/cli-win32-x64-msvc" "1.5.5" - -"@types/json-schema@^7.0.12": - version "7.0.14" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" - integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== - -"@types/prop-types@*", "@types/prop-types@^15.7.7": - version "15.7.9" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" - integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== - -"@types/react-dom@^18.2.14": - version "18.2.14" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.14.tgz#c01ba40e5bb57fc1dc41569bb3ccdb19eab1c539" - integrity sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.7": - version "4.4.8" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.8.tgz#46f87d80512959cac793ecc610a93d80ef241ccf" - integrity sha512-QmQ22q+Pb+HQSn04NL3HtrqHwYMf4h3QKArOy5F8U5nEVMaihBs3SR10WiOM1iwPz5jIo8x/u11al+iEGZZrvg== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.2.31": - version "18.2.31" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.31.tgz" - integrity sha512-c2UnPv548q+5DFh03y8lEDeMfDwBn9G3dRwfkrxQMo/dOtRHUUO57k6pHvBIfH/VF4Nh+98mZ5aaSe+2echD5g== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.5" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz" - integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== - -"@types/semver@^7.5.0": - version "7.5.4" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz" - integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ== - -"@typescript-eslint/eslint-plugin@^6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz" - integrity sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.8.0" - "@typescript-eslint/type-utils" "6.8.0" - "@typescript-eslint/utils" "6.8.0" - "@typescript-eslint/visitor-keys" "6.8.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz" - integrity sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg== - dependencies: - "@typescript-eslint/scope-manager" "6.8.0" - "@typescript-eslint/types" "6.8.0" - "@typescript-eslint/typescript-estree" "6.8.0" - "@typescript-eslint/visitor-keys" "6.8.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz" - integrity sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g== - dependencies: - "@typescript-eslint/types" "6.8.0" - "@typescript-eslint/visitor-keys" "6.8.0" - -"@typescript-eslint/type-utils@6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz" - integrity sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g== - dependencies: - "@typescript-eslint/typescript-estree" "6.8.0" - "@typescript-eslint/utils" "6.8.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz" - integrity sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ== - -"@typescript-eslint/typescript-estree@6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz" - integrity sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg== - dependencies: - "@typescript-eslint/types" "6.8.0" - "@typescript-eslint/visitor-keys" "6.8.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz" - integrity sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.8.0" - "@typescript-eslint/types" "6.8.0" - "@typescript-eslint/typescript-estree" "6.8.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.8.0": - version "6.8.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz" - integrity sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg== - dependencies: - "@typescript-eslint/types" "6.8.0" - eslint-visitor-keys "^3.4.1" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vitejs/plugin-react-swc@^3.3.2": - version "3.4.0" - resolved "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.4.0.tgz" - integrity sha512-m7UaA4Uvz82N/0EOVpZL4XsFIakRqrFKeSNxa1FBLSXGvWrWRBwmZb4qxk+ZIVAZcW3c3dn5YosomDgx62XWcQ== - dependencies: - "@swc/core" "^1.3.85" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.9.0: - version "8.10.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.6: - version "3.1.7" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" - -autoprefixer@^10.4.16: - version "10.4.16" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz" - integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== - dependencies: - browserslist "^4.21.10" - caniuse-lite "^1.0.30001538" - fraction.js "^4.3.6" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.10: - version "4.22.1" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== - dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" - update-browserslist-db "^1.0.13" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: - version "1.0.30001553" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001553.tgz" - integrity sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A== - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - 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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" - integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csstype@^3.0.2, csstype@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -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.535: - version "1.4.563" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz" - integrity sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw== - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-iterator-helpers@^1.0.12: - version "1.0.15" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== - dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== - optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz" - integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== - -eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.33.2: - version "7.33.2" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.1" - string.prototype.matchall "^4.0.8" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.52.0: - version "8.52.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz" - integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.52.0" - "@humanwhocodes/config-array" "^0.11.13" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.1.1" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz" - integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -fraction.js@^4.3.6: - version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.1, function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@7.1.6: - version "7.1.6" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^13.19.0: - version "13.23.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz" - integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -ignore@^5.2.0, ignore@^5.2.4: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== - dependencies: - call-bind "^1.0.2" - -is-generator-function@^1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-map@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jiti@^1.18.2: - version "1.20.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz" - integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== - -"js-tokens@^3.0.0 || ^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -"jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.3.5" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lilconfig@^2.0.5, lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -object-assign@^4.0.1, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== - dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.values@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-load-config@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz" - integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== - dependencies: - lilconfig "^2.0.5" - yaml "^2.1.1" - -postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== - dependencies: - postcss-selector-parser "^6.0.11" - -postcss-selector-parser@^6.0.11: - version "6.0.13" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.23, postcss@^8.4.27, postcss@^8.4.31: - version "8.4.31" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz" - integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -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@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" - -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.1.7, resolve@^1.22.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.5" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== - optionalDependencies: - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -set-function-name@^2.0.0, set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - -sucrase@^3.32.0: - version "3.34.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz" - integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "7.1.6" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - 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.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tailwindcss@^3.3.3: - version "3.3.3" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz" - integrity sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.2.12" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.18.2" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typescript@^5.0.2: - version "5.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -vite@^4.4.5: - version "4.5.0" - resolved "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz" - integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" - optionalDependencies: - fsevents "~2.3.2" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== - dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" - -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.9: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^2.1.1: - version "2.3.3" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz" - integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==