From f06710fadfdeb92c8aaae1647ed44f113027c7e3 Mon Sep 17 00:00:00 2001 From: cov_id111 <9264226-cov_id111@users.noreply.gitlab.com> Date: Sun, 2 Jul 2023 00:38:45 +0300 Subject: [PATCH 001/287] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D0=BD=D0=B0=D0=B4=20cpo?= =?UTF-8?q?rt-v2.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + CHANGELOG.md | 54 - Cargo.lock | 2033 ++++++++++++++++++++++++++++ Cargo.toml | 13 + Makefile | 34 - README.md | 271 +--- TODO.md | 3 - cport_cli/Cargo.toml | 15 + cport_cli/src/bin/cport.rs | 3 + docs/README.md | 25 - docs/info.md | 35 - docs/install.md | 63 - docs/pic/cport1.png | Bin 51145 -> 0 bytes docs/pic/cport2.png | Bin 76644 -> 0 bytes docs/remove.md | 48 - docs/update_ports.md | 36 - docs/upgrade.md | 36 - libcport/Cargo.toml | 16 + libcport/README.md | 13 + libcport/examples/new_port_inst.rs | 9 + libcport/src/consts.rs | 9 + libcport/src/install.rs | 139 ++ libcport/src/lib.rs | 30 + libcport/src/port.rs | 299 ++++ libcport/src/utils.rs | 5 + mkport/Cargo.toml | 17 + mkport/README.md | 32 + mkport/assests/main_win.png | Bin 0 -> 55506 bytes mkport/mkport.conf | 5 + mkport/src/build.rs | 74 + mkport/src/commands.rs | 166 +++ mkport/src/conf.rs | 33 + mkport/src/consts.rs | 1 + mkport/src/lib.rs | 7 + mkport/src/main.rs | 47 + mkport/src/tmp_port.rs | 222 +++ mkport/src/tui.rs | 2 + mkport/src/tui/enter.rs | 96 ++ pic/cport.png | Bin 69716 -> 0 bytes pic/cport1.png | Bin 18142 -> 0 bytes pic/cport_check.gif | Bin 1534336 -> 0 bytes pic/cport_info.gif | Bin 464787 -> 0 bytes pic/cport_list.gif | Bin 2204670 -> 0 bytes requirements.txt | 2 - setup.py | 13 - src/cport.py | 292 ---- src/cport_cli/__init__.py | 1 - src/cport_cli/args_parser.py | 449 ------ src/cport_cli/bs.py | 282 ---- src/cport_cli/info.py | 540 -------- src/cport_cli/install.py | 111 -- src/cport_cli/remove.py | 93 -- src/cport_cli/shared.py | 18 - src/cport_cli/shared.sh | 114 -- src/cport_cli/update.py | 158 --- src/cport_cli/upgrade.py | 98 -- src/libcport/__init__.py | 1 - src/libcport/constants.py | 91 -- src/libcport/core.py | 520 ------- src/libcport/datatypes.py | 56 - src/libcport/dependencies.py | 157 --- src/libcport/download.py | 97 -- src/libcport/exceptions.py | 79 -- src/libcport/info.py | 119 -- src/libcport/install.py | 134 -- src/libcport/remove.py | 80 -- src/libcport/update.py | 175 --- src/libcport/upgrade.py | 111 -- 68 files changed, 3317 insertions(+), 4367 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml delete mode 100644 Makefile delete mode 100644 TODO.md create mode 100644 cport_cli/Cargo.toml create mode 100644 cport_cli/src/bin/cport.rs delete mode 100644 docs/README.md delete mode 100644 docs/info.md delete mode 100644 docs/install.md delete mode 100644 docs/pic/cport1.png delete mode 100644 docs/pic/cport2.png delete mode 100644 docs/remove.md delete mode 100644 docs/update_ports.md delete mode 100644 docs/upgrade.md create mode 100644 libcport/Cargo.toml create mode 100644 libcport/README.md create mode 100644 libcport/examples/new_port_inst.rs create mode 100644 libcport/src/consts.rs create mode 100644 libcport/src/install.rs create mode 100644 libcport/src/lib.rs create mode 100644 libcport/src/port.rs create mode 100644 libcport/src/utils.rs create mode 100644 mkport/Cargo.toml create mode 100644 mkport/README.md create mode 100644 mkport/assests/main_win.png create mode 100644 mkport/mkport.conf create mode 100644 mkport/src/build.rs create mode 100644 mkport/src/commands.rs create mode 100644 mkport/src/conf.rs create mode 100644 mkport/src/consts.rs create mode 100644 mkport/src/lib.rs create mode 100644 mkport/src/main.rs create mode 100644 mkport/src/tmp_port.rs create mode 100644 mkport/src/tui.rs create mode 100644 mkport/src/tui/enter.rs delete mode 100644 pic/cport.png delete mode 100644 pic/cport1.png delete mode 100644 pic/cport_check.gif delete mode 100644 pic/cport_info.gif delete mode 100644 pic/cport_list.gif delete mode 100644 requirements.txt delete mode 100644 setup.py delete mode 100755 src/cport.py delete mode 100644 src/cport_cli/__init__.py delete mode 100644 src/cport_cli/args_parser.py delete mode 100644 src/cport_cli/bs.py delete mode 100644 src/cport_cli/info.py delete mode 100644 src/cport_cli/install.py delete mode 100644 src/cport_cli/remove.py delete mode 100644 src/cport_cli/shared.py delete mode 100644 src/cport_cli/shared.sh delete mode 100644 src/cport_cli/update.py delete mode 100644 src/cport_cli/upgrade.py delete mode 100644 src/libcport/__init__.py delete mode 100644 src/libcport/constants.py delete mode 100644 src/libcport/core.py delete mode 100644 src/libcport/datatypes.py delete mode 100644 src/libcport/dependencies.py delete mode 100644 src/libcport/download.py delete mode 100644 src/libcport/exceptions.py delete mode 100644 src/libcport/info.py delete mode 100644 src/libcport/install.py delete mode 100644 src/libcport/remove.py delete mode 100644 src/libcport/update.py delete mode 100644 src/libcport/upgrade.py diff --git a/.gitignore b/.gitignore index 8ab9a21..72a56c8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ src/src # Параметры VSCodium .vscode + +/target diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5df688d..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,54 +0,0 @@ -# Change Log - -## cport v1.0current - -- 02.10.2022 cov_id111 - - Изменение логики `cport_cli.install.Install.install()` - теперь, если порт найден в БД или ФС, установка не завершается с ошибкой, а порт переустанавливается; - - Перенос `cport_cli.update.main()` в `cport_cli.args_parser.update()`; - - Добавление обработки ситуации, когда в параметрах `port.toml` порта указаны некорректные сведения; - - Добавление функции для очистки кеша; - - Добавление обработки ситуации, при которой отсутствует `files.list` порта - метод `cport_cli.install.Install.install()`; - - Работа над debug-сообщениями cport; - - Фиксы условий `shared.sh`; - - Добавление метода `libcport.core.get_files_in_cache()` для получения количества файлов в кеше. - -- 01.10.2022 cov_id111 - - Добавление проверки наличия порта в файловой системе; - - Метод `libcport.install.check()` помечен как [DEPRECATED] ввиду наличия аналога `libcport.core.check()`; - - Оптимизация метода `libcport.core.CDatabase.create_initial_db()`. - -- 29.09.2022 cov_id111 - - Добавление поддержки опционального параметра `port.file` файла `port.toml` порта; - - Рефакторинг `cport_cl.install`, `cport_cli.info`. - -- 24.09.2022 cov_id111 - - Мелкие изменения сообщений в `cport_cli.{info.py,shared.sh}`. - -- 18.09.2022 cov_id111 - - Реорганизация аргументов командной строки; - - Удаление метода `libcport.core.CDatabase._close_db()`; - - Добавление операций по закрытию БД после её использования; - - Добавление констант `libcport.constants.PORT_TOML_PARAMS` и `libcport.constants.PORT_TOML_STATUSES`: - - первая содержит `dict` со списком необходимых параметров в `port.toml` порта; - - вторая содержит статусы секций `packages`, `deps` и `port` в этом файле: - - `True` - обязательный; - - `False` - необязательный. - -- 17.09.2022 cov_id111 - - Добавление пасхалки в `cport list -b`; - -## cport v1.0b1 - -- 17.09.2022 cov_id111 - - ***cport v1.0b1 released!*** - - [DOC] Обновление GIF в `README.md`; - - [DOC] Актуализация сведений об использовании; - - Реорганизация использования аргументов командной строки: - - добавление группы опций `list` для просмотра списка портов. - - Добавление сортировки списка портов: - - все порты, без сортировки. - - все порты, с сортировкой. - - все установленные порты. - - все НЕ установленные порты. - - все битые порты. - - Добавление класса `libcport.core.CList()`. \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..de47715 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,2033 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", +] + +[[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.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" + +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[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.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" + +[[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.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "time 0.1.45", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "colored" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" +dependencies = [ + "atty", + "lazy_static", + "winapi", +] + +[[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 = "cport_cli" +version = "2.0.0" +dependencies = [ + "anyhow", + "colored", + "cursive", + "log", + "log4rs", +] + +[[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 = "cursive" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5438eb16bdd8af51b31e74764fef5d0a9260227a5ec82ba75c9d11ce46595839" +dependencies = [ + "ahash", + "cfg-if", + "crossbeam-channel", + "cursive_core", + "lazy_static", + "libc", + "log", + "maplit", + "ncurses", + "signal-hook", + "term_size", + "unicode-segmentation", + "unicode-width", +] + +[[package]] +name = "cursive_core" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4db3b58161228d0dcb45c7968c5e74c3f03ad39e8983e58ad7d57061aa2cd94d" +dependencies = [ + "ahash", + "crossbeam-channel", + "enum-map", + "enumset", + "lazy_static", + "log", + "num", + "owning_ref", + "time 0.3.22", + "unicode-segmentation", + "unicode-width", + "xi-unicode", +] + +[[package]] +name = "darling" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[package]] +name = "darling_macro" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.22", +] + +[[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 = "destructure_traitobject" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-map" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "988f0d17a0fa38291e5f41f71ea8d46a5d5497b9054d5a759fae2cbb819f2356" +dependencies = [ + "enum-map-derive", +] + +[[package]] +name = "enum-map-derive" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4da76b3b6116d758c7ba93f7ec6a35d2e2cf24feda76c6e38a375f4d5c59f2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "enumset" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e875f1719c16de097dee81ed675e2d9bb63096823ed3f0ca827b7dea3028bbbb" +dependencies = [ + "enumset_derive", +] + +[[package]] +name = "enumset_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[package]] +name = "equivalent" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[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 = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "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.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" + +[[package]] +name = "h2" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[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 = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.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", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[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.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows", +] + +[[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 = "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 = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.1", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" + +[[package]] +name = "itoa" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[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 = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "libcport" +version = "2.0.0" +dependencies = [ + "anyhow", + "futures", + "futures-util", + "reqwest", + "serde", + "tokio", + "toml", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +dependencies = [ + "serde", +] + +[[package]] +name = "log-mdc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" + +[[package]] +name = "log4rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d36ca1786d9e79b8193a68d480a0907b612f109537115c6ff655a3a1967533fd" +dependencies = [ + "anyhow", + "arc-swap", + "chrono", + "derivative", + "fnv", + "humantime", + "libc", + "log", + "log-mdc", + "parking_lot", + "serde", + "serde-value", + "serde_json", + "serde_yaml", + "thiserror", + "thread-id", + "typemap-ors", + "winapi", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "mkport" +version = "0.1.0" +dependencies = [ + "anyhow", + "cursive", + "libcport", + "log", + "log4rs", + "serde", + "toml", + "walkdir", +] + +[[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 = "ncurses" +version = "5.101.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5d34d72657dc4b638a1c25d40aae81e4f1c699062f72f467237920752032" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "num" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" +dependencies = [ + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +dependencies = [ + "num-traits", +] + +[[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-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi 0.2.6", + "libc", +] + +[[package]] +name = "num_threads" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.30.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "openssl" +version = "0.10.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[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.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-float" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" +dependencies = [ + "num-traits", +] + +[[package]] +name = "owning_ref" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" +dependencies = [ + "stable_deref_trait", +] + +[[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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "proc-macro2" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "base64", + "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", + "tokio", + "tokio-native-tls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "winreg", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.37.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.164" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-value" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +dependencies = [ + "ordered-float", + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.164" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[package]] +name = "serde_json" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +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", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +dependencies = [ + "indexmap 1.9.3", + "ryu", + "serde", + "yaml-rust", +] + +[[package]] +name = "signal-hook" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[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.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +dependencies = [ + "autocfg", + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "term_size" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[package]] +name = "thread-id" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee93aa2b8331c0fec9091548843f2c90019571814057da3b783f9de09349d73" +dependencies = [ + "libc", + "redox_syscall 0.2.16", + "winapi", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +dependencies = [ + "itoa", + "libc", + "num_threads", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +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.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374442f06ee49c3a28a8fc9f01a2596fed7559c6b99b31279c3261778e77d84f" +dependencies = [ + "autocfg", + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.22", +] + +[[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-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" +dependencies = [ + "indexmap 2.0.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "typemap-ors" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" +dependencies = [ + "unsafe-any-ors", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unsafe-any-ors" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" +dependencies = [ + "destructure_traitobject", +] + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.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.22", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[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.22", + "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 = "wasm-streams" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winnow" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "xi-unicode" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..3a654d9 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,13 @@ +[workspace] +members = [ + "libcport", + "cport_cli", + "mkport", +] + +[profile.release] +lto = true +strip = true +debug = false +opt-level = "s" +panic = "abort" diff --git a/Makefile b/Makefile deleted file mode 100644 index 8b34d92..0000000 --- a/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -DESTDIR=/ -PYVERSION="3.10" - -binary: - python3 -m nuitka --low-memory --onefile src/cport.py - -install-binary: - mkdir -p ${DESTDIR}usr/bin - mkdir -p ${DESTDIR}usr/share/cport - mkdir -p ${DESTDIR}var/lib/Calmira - mkdir -p ${DESTDIR}var/cache/cport/downloads - cp -v cport.bin ${DESTDIR}usr/bin/cport - cp -v src/cport_cli/shared.sh ${DESTDIR}usr/share/cport - -remove-binary: - rm -v ${DESTDIR}usr/bin/cport - -clean: - rm -rf cport.{build,dist,onefile-build} cport.bin - -install: - mkdir -pv /usr/lib/python${PYVERSION}/site-packages - mkdir -p ${DESTDIR}usr/lib/python${PYVERSION}/site-packages - mkdir -p ${DESTDIR}usr/bin - mkdir -p ${DESTDIR}var/lib/Calmira - mkdir -p ${DESTDIR}usr/share/cport - mkdir -p ${DESTDIR}var/cache/cport/downloads - cp -rv src/{cport_cli,libcport} ${DESTDIR}usr/lib/python${PYVERSION}/site-packages/ - cp -rv src/cport_cli/shared.sh ${DESTDIR}usr/share/cport - cp -v src/cport.py ${DESTDIR}usr/bin/cport - -remove: - rm -rvf ${DESTDIR}/usr/{bin/cport,lib/python${PYVERSION}/site-packages/{cport_cli,libcport}} - rm -rvf ${DESTDIR}/var/{cache/cport,lib/Calmira} diff --git a/README.md b/README.md index 165da53..b0e8123 100644 --- a/README.md +++ b/README.md @@ -1,244 +1,31 @@ # cport - - -cport - менеджер системы портов дистрибутива Calmira GNU/Linux-libre, ставящий -перед собой задачу упрощения работы с программным обеспечением в этом -дистрибутиве. - -## Содержание - -[TOC] - -## Предназначение - -У cport несколько целей: - -1. **Демонстрационная** - программа предназначена для демонстрации моделей - управления программным обеспечением в операционных системах семейства - GNU/Linux. В данном случае она демонстрирует использование системы портов как - метода для автоматизации сборки ПО из исходного кода. -2. **Практическая** - помимо автоматизации процессов, связанных с управлением - ПО, собранным из исходного кода, cport является утилитой для упращения УПО в - дистрибутивах GNU/Linux, собранных по LFS. cport ведёт базу данных ПО, а - также умеет выполнять базовые задачи по обслуживанию ОС. - -## Сборка - -### Зависимости - -| Тип | Порт/пакет | -| ------------ | ------------------------------------------------------------------------------------------------------------------ | -| Необходимые |
base/pythonbase/pymo/wgetbase/pymo/tomlbase/gccgeneral/pymo/nuitkazGqHZg=LKi1wK#TPZd!k5)%vP!AmuJxetF+|?iw=Qm@CroWXn1|$$OuR??ars`wffZ zG@kcAcfPMFS7#BmT$xfAkgE*<11!NN01&x_M;-}K(U znrXu!shB5E_UWWEukLxhc{11zmmmwSEpL`u3om&3q;8YbVgokOo4k8AN!dItI}j>y zI|$;Al<)s^t24J<+AO^%b-UcpbsJcDZt_+by}r0<>$!VX?!ODS%mq2eBXH7W#kNS^ zLz`}Mhh;ErI3(tgvea%SYuq`u*uJK1bA0^uK^_m9lETwBM>cK7R0SPt#u-ie(wn3z zEN|a_>T@A=efnyHt^FXwPRu zIM|}bjBf}m?xnRrWSTpR6B;3 zwdtoV+puLdNU=xR(`z5>+-;L2ryKi4)?a5yXjSw$(S1PsaoNn;vNVlFn-7b+g8b6O zm0q<{=4)Q+x0^G6pM1B1VT}QcVC2f?z3sBQQ#SRkJ)ph$!I^8D l<4-@eVBsU%zTH1)yMs|!xwoM#LU;hl3g+lEK-9(p&6Va =^7r~AJ{0}eXpvBhm`(vCjNW4uq=XpePp+_Cc@bCq0Y z?p4tGdN)pCnjy#LsmB8=%VQYAZZzw=f3LjBJ;jLoSkURSJLc~FeTZk~6=$&dK{Iyl zEk6|(kgE8Z;Y^rZ_3NCghb4c?)$Dxso$qAjf$5PGo@(5UyD+tIZsToc1F#oQ#=Ls} z?8<{v_a+>=a{qp2^M)-tnU_32-#qG9RrbWBep}g$`$d;tKh3!2)ZANA-8lW=u_|%t z+dCIL@CMm {+H|5kNS$86hCw<^Cj`DfW5rrx)WkDPh;!cCLt#_4Of z^n9;a$`&bk+2~uF<_~a@P^go )tqU*!yjW&`H~Tv*u`u(c9ks{`rM}eti7uAf(wigIm*a zW@CMmQ8lB)ox1trcjQuTa__msR?zBJ_w8It>WPJG7q<2->)CFe>2~a4v)iTbWs(g- zS678*zk2-m^SX-}Yid3}^Ub@rr}Jjcv7B?Ka;AdqbDe%L;Xs1HgJ;j$X3v&ZoBZ<1 zRPFF%vi5Z~vJ(#2I}7{%x$K;ly<^eZ-^UN^)O>X^Wv=Z{p(Uc*;^wYlYyS4`^C^i5 zOJ$R0m@yQy?s;`(rEuJ;kd>V$PoA8*K4zy=Qj*filP9_Mykq))H+=fZ$^WA-TopK3 z>^sY3QOwRF)>vLaLCr^J(u_}@JgK6lR`m3g=%mS$wWn)^W+lzFDm}!gA5>Sr{IBi2 zU#Bc)={|n*SkgLfPUwm}R;`?a;uiN`r{+K6jkZn7Y+kp;HeU7J?)UpTk9Lc{mynnD z4+@%e*UL2HgF^mZQ=9H~ro(M}y s2YmYcIZ z^p}5hTsSfQV0fHd#j)x=Ms6o0tM>-I|NLo1@bYsO;o;ZS*TwE`JDGB-M185()Fqyi z-6GfBxwZB6OzZNxX`i3E{d;wF^~Z0wl{f8u-=t@+zGv^=A8$7McXZ6~Io!s-sp4bJ zukY`>XU~pqyrRDQx_@HW-l}`^|IewbpOgCjPs+CcudZ^R|0*waYwrE}`==fru794j z^XJunN=ilL#xs3lc9-#jT=443N@Knc3V(GSB&+uarOqj}*`L&96Fj48pN#LOiH57T zil!{}s{V9o-kB>Lx7S8(&GNOiv9VH7QF-$6!=bs> {OR$Z=U;wT*Z&?Lv94ZU-`~kO{=w{g zwc9@C5 1VneB37M73&b${D0e_hww-mj>oHH%C1)Z@pGowsI%N}A`{ z%r^VW_rPHP^y%u0-S#>kZsTVv`1r_G&G(o5>hSff4}QO2E+i1pcxkEk=9H66499vn z(_df9W%%;?db^zMF5~QL{VuMqmsf{tgsuuvGugsl{q4 h_u4J|6gU z-MV#q{{0G=SGS8dZSzd~|91}0FnoCA=uyk9|3fY>^IhoF%2o32POo T6erpcDZ9S`^xb3e1(P6E8g$Dcx~I+mp= ZG@;afdSyvYnKYwTQ|Ig-<7XnTh8Tt2WK9@2v&n|v) zB5+&&eaG9|6hqcX9N3iVohui!InDRw{d$3o8#jWYGd%8PKJPx6r|&O5c0Dy!+dCkj z+DA=zs&@DymrkK;UoKp*Gs(Nt@!`Y8E!o#!Zu=9w%tuvIv-8~C`KkB!?XP&ZGfyYV zqmBzxgk0f6uV{?c)`H7@2=vTyT(iOZN57BS&7hwDvw)+<(j{;XuOjZ}V4` zyu4IVU7c)__BN=uW5%&7D<`jr+RCLinRD^Q8B68g_uaZK=zhI_@wdV!|9-#z`1ASy zv>O{9u8H2>I7!vJ=zeYK<=o2~ldFGymp?JnI9<~45%017{}UcO=<|Df{~{!&XTJAO z+g0+?=Xl@Sm)F*^Z``<%N7ib_h7Ex{vcK3K{P<&Wt3EFN|GBt&JG*-&@9#}r7wdd^ zEkC!kYsr^NC#QJ_Gfa#sKV6rx`?KBDB4%5T<-voF*B-oHxqRM}CnqP%SQK1X`MCVc zcYha`BlDIlQRx!bk6RhFHOpVdzOF{~{~3=Nh1ZIr`D4^3KMl#0e>G>Cv17zM_N>;- z8;NOiUV5F$sYtq&ux7^e>EYjR+=xg@N@D2f?M?mtZEncgC{_>2WtX?*O7Ht$r`Fkd zeP`k0W4Zqy*Zle-sTa4$!^w%MonKy2QE_5Ri_4w6cjwxzFwMRuC@sx>;NxTU51&65 zTfM)z`T2^_)oO~02Y>whS@h~kCZC+mlahZS|Ni~!k^HP^o_8nVP>X+OR~K7QRo9!X z{l-=$91q*&(*)(`7um rW{q^hX`{cjBreq&ZG1{1XTu;iR;=(LB$(=J6EVw4YqxqkO zg>|c H|kwP?)=+*Pt3j0X<^WfHrZvVs~K~B z&1c@UidMgzVIuW +1HEy#8i0*Lr`!?SI>IZ#%xerh9Wop>bYb zo=N7Vj-}r98<*wZ-`BikiL}k96Nlg2-97zSue4#+mmM+Ib%KHu&)nHlDO_Iuz3NYK zbil21lX?zw8-J_289hC0p;Xq4utbi1MM6t&abE~}|J7@1-XY%RgAa@|FI_(~!*KG3 z4g4D;bXwZ`H|Ev6jbifj^sK0U{%*_Jow<*Xoz1zkLvr!O6E7~lH>~^9{^iBR>$CDU zTI_rFCRbR{@MPX^i{QGFFO`4(o{pIQ_wV105jsbX9I=XJD|pRVyY8C&iV2_gzk7VV zo@vRS4xj2X-~RmhyuL^3tJ&79t0h`Ln$Fxd-&|!~{MX{P-M2aR_4BwywJf&kI?OcE z{N2^Ncf!)Y>1A`y#l*9!T3NNtubXxL&d$$y-o_F9XO*6rXKQ}9PFyd>r=TGE&)?IVQcqvgxtp({q%=u5 zZL?(a!3T%!h4W^3+Q%4tE#I@YUFEsT2CWYZ))??xm!xeIa{v7E_NzlCJ9h1o`t#?H zMe#Eov2ND-`ucZ!x0}tIr};f(#@V!M>tg*qJPN!N*_d^sx1IPY_;k^P2??*Ru5Rw` z=4NX?_{`S#`MJ4=&!6vaXqY1ZGWGPd(p5Q&FM6cCeeCnITU>u>_4m9VKPn!-dUeWM z|7+UcU%fHAN;JKXTh{-R30wE4H)yF>s%Ct}4~eL4If;A2*MzQi=n~aFHqZ9=oKx>t z)au9eERM0PS6I5Ysp(e4 s3y^ zYQl+$$r5&dOxbv)4&2=Q{Ku!$>m`j+1lFxvr=qTIoOkDVkG%af%i_8Re|~;`bN|11 z>FaBSzY?OhWE|@d%ug_pVvN{jBGlkF*J|>N3ftp9b;Y=okGBQxtEpTUyZhKe=k}iu znm4{YWl{J@CBEjPsByaA@dSen&dmR>EGPFa=k70dW%s^K*K{}kU0(X|5NnsHwp-CB-{rUE60WV0 zmo$7-nst3$@9yftnwlC3lZ+K#?abU|w!U8zS^VS6Wlo=&pLjoh{P^eR^LHheE39|b z$!zUcwk~^ y7+c z^~?K%mU?Zh_*i3A_9o}Ey>LuS%!f~(p1itRp|CW4Ti#tOpIKi-54ZPkIk!SfNhxST zO>OPXjmhrH4~#T}x~I$HDU%V)KqCWX&yr>maTHof3wtz-ChS5Kzob?Zs#2g4KP z%3gFVj$3!-`xeKU2mR~>Ct5qj#K wN>yzNup_k~;#&a<#iU9vV#zdHEj?dW}rmo1!fXJh&Me@fS1vu>#T z{C ^XdP (^J2F&reHo?EwqFlPUlD{`+p#AG=ojPXdiicnFq<|GB4s z;=$>gY-cvVJ5=}g*N5Zsvw!~m{&h{nM{l$8$8*?t<({nF-j=R;zW(25$^HNL&C9)Q z_ObrIxnh5o+D}F6=kf_RHiUO}%$V`^?=zGA9UUDWj3-_{Y+@BVaaY$i{$`Si)X%5W z<1??k@Qm8VbLw*KRISiSYQ9pbn&(%q-{-d2&HvN;`ueunv!ms%`h0ROJ7<3Y+VkD^ zefH!(S67EWe!Ja0rTRW=>^_j;iN)${@si3{cW1q;pSY#$-JPTB_v>j-`1ADi^yQ_m z59GYxz2LOCpx{L7S;qT6zTa{G59{AK>wCC-nX4)*jk2y-o8 ~He0ncwZ=s;if8+8r~^o|b4JVKCE2ME~8nlatk7-ZH(i^6&LE zk !JXW;v6y=&k8|8-i7jG`K`yG*>N=`bXmnNhGU?=IUCo||tkF1FsB_SYjM#AI(( zE2!dfa{j#`{d`>e+s7+v+^ wvvBFkua_6b3+JTE)IG2C!m-(r-)O)&;!3JHm$uqy-uUC)#)xh{S z %&8g(=@ zFf9N6cEw+rx&NcKW?k4>Tt2VA~yPC3a`_pegXIIYHebDHnmb)cb=yu7^ae{c9b z&G>JgulD%av#x^^_O5qGd;9#%Py5 8K&Od+t%sDrE@@s3|`uh4~JwGQ%o97uM9$N0=>dJgBHhyN|x8I5R|5sX- zR?Rzbz-;HW#h?-PNy5M0Cs->fiwg=1JOBRnR>CaDfSpe!>CBA6Ikwg3665^O3sqF? z5SEqAEuXz9^|XL+@xfhlektF&f8YLcgX;E>wNb5hwN*j_0u4u#7KW{r(uvt| Pm<^BI1etnnEkX@JNKhsFFw71vyr{kLy|3X)VJiM~ VaCUKV zaUM2ix5b8cTUf>Qj|HxqV?V(twKgC?I(yd5oV2&MzP7ZmFl!#Z5Vb95;<`UayQg2; zTWwxbv!}4M^y$*+Rh#Sny6MI4nj(Gm{FI9sN6w$`H%>p7v@znt_wUc|RcAkbIrHDV zZEn4COMPYAwqd{4Y#M9H$ zpWoV=En`(OgWpaf+jqWcHsAa@t47V>eTsH=^X&iM@jW}sbj{1h$7;{~_?SG?_&NKz z`S$1k{jCq&o+q3A>&Z#MimEE3`hWcu6+1SUzLxKivDAw1JDXx8C}!67@Nj(cg$0ar zY^(e9_y3ut=*;%;)vGMoWuoHco$L4gnzJf&^@s2G>y49+*iUv#3H!gR^!?Jbvr;|M z=608>rf5Gu|LLhcv!-oe{+^H1f}Q#9SHI7lWs>Rg_Lgbo->(Z9MD*YJbqdMZ{HsWQ z^yrb%-Tmv=>)Teh8I`<{?vp;vmVWE}#h>L%T)WeHBtEjaEf#E8>aEQ9;>t?n&d%$_ zbM9aK%3JX0i08f^kF?Xy&FMRsknsNAUmiIdp3OIN=H^~FyqLv%noh!n1q J=N@%F9Ur@^ m&e(71{Lsw$l;_(%K0aRf;)3Ebzq#}B{?4(qH>mvdKVoN5>AZLGpcYrrvFq2T z%UYM2FzPX@DOjG}{qtIS@hniAwREP*=_QfV3vV{Pb lYP@=BYDm6UE$(Py6D(vm&LuJ+ls zugCjjA0O+LuH07-nlsz^`l;vnh&WcyzEip)w(&{v9w#o(v6nwRO*fi*mlkL`=j?;G z?_g^Iil*;muG%-p^SqI-slJ(R+@E5{a7U2ypR6ldezr^lq+Y4WJ?H~?GEr#~zer7I zM~6re^6bn>Mb>yFrN|HK>+c@^^wfTH&Cm01Zf`ff`}yx2PycLa3-NmBzT~~%@7+E# z>uYS^>C6ic9Pd?S|Hys)e#$rfz(dXb_Hyn0{pIVX&A$Bj{MygTN &mBGt5R(=+nWtKa0 zb)&cgbiO0}^qE!ANsywDwu1=^N?u;tl5 u2^=~K^)7u+?U&!)_NX=(Z2a__%Szy5S|-01~bS3c*%2SXQE*WiUtl{GarE5g=l zJwDc(etFsb#wqe^NSIe}IQ7?5*?nK<{Q3G~-L0b9VS;jYjFV4J(f(ThVqsg4w7Jyc ziyjURtgo)uTg2Y%>sz04a#D|!>7=NwS&yDS@9ysAULC%^^p~LE!-vThSlg`(J9h2* z^y{^A<*%1!GtQ>{`%}!He5^%ST%6rue_ibh-0i{FYp$-ozA5{9-t5fU-`^HRZ`YIH z(c6CYJjUeArKhD={`I|@fB9QsN$s+$o6|L<&2k>SxR`vcbmrW8e*W@n>ta3c@6(Sy zzkK&@>(|%UE17IDXXleS^W_IK^X$)eiqAiI_|R{u*VG^Hc1v!_yF01q=_$~ZRG*CH zt1CYR1qE-5)O4PZT^YG~*_ZeB9XD=7{QCO(u=e^d+u77@tM+*8EK23%%IZIvvZ&~( z*A$JwL$l0Hw($2#n=9GWn7qAJx@+wl=m33EQj$jSGM>$8wa4%6{T;a>A#vT6+TY(~ zx8zDY9qnS&iQZ;%`nb55S=WmfpIcgNnlEOge0s9pvgXHo9aeK$>ut;H|2NLDES@H) zd@te84}MO*cN_ YUlq*ErY&@4 z7Zx+?TIhVAA>qjhbIsUYB8`o?hBMFX`Tx)Q hN7< zyuRD-UHlo3K2m>8v8}Iff7n{7l6QCJKA&GdjZfAIG+i@0f1h7M!sn8M)AxQ>R#N&V zdh-D&^S`|H^=HZJe}9V2_4nI&yz~mMl3V_~4QYTq OOtnx9=;dFt!y zca^+6*DGy4!{A}?qD6~}YwnzT0Us8B7WQ{v>g8oyckJAmXf!k9_BP)9{kC04j=Xm8 z;y?TM`~B(Jzd?akUHk2g TmPR>ph6_rQt-o2|)7G2Qv@AtBjrP{Xn|Nrj4yi+7#=eA3+ zm)7{#n%{`<+uf_^yYI@=E7Lz-+x>d&`IYbY@k*QBDf#*7sg6uvhe%5!bNsV?zh4;^ zJeW}OI=KC5?a!yz9Zm(TydEb#Y2EZkACF64-dAfaSN%qiPsZZN48zA3)!*ir+HOr> zT>05-``hhVSGB&pyga#~fk8)%du!I!golSzYrfr_{&L&xoyFYe?eE`x=fcr WYe0IjN?6%R`o~PB7m77vev(2kq#?8(z zmvnvI+C6_hC2Y&NIZJPE^6_)ml3!k2Z0&FNljZNPy-CILGq>jZt&QB=^W#VMk>mf3 zZ#M6*kK9%E)-frG2{h)Ach~9WUhAdL)eSaSI=AsGa&CWqX=?KNzp_{D&2JsQ`1R%U z=cmux>n|yOF22UGNXz~C{i8=)@7F~i0`;!n-`l$;YHQE7T<0~1m5i mVc62 SS0m79NjyM6M`p32Fl+1CuKzun219=^;+k|8NspFu#jR<8cP(Y2EL`g$EPZbQS3 zFF&PTYn!?BX-G*4kNsbh`8$iB-<_6bAmQQVb?CNr`sGdOVgK)B$h%)pUms^1u`TCl zZlkz`-G8y})>dwDVVOH(_5U~J+}!ka+W~F+kTntw+qZAOD=At$E6?BYe{JxtOH<=E z{QoCj_Ufn5L?`Xtw(*LJ2W4!lru_ZQ|KQcDQ!@ ~T 5(>{wX5`X z%F5^3n}0puQY#ZXzpk$C&!1wI^EQ{Ku2`|+_9yG&f7;>ej=Z^P{Nwfd{WC0!`BsOm z-I+Uk&zqm0J`|+i-4!}T +1?%Tu8M0k&v@1*Kdx+N%8oaqi1GbHk9Cbb9eXrgU#)UMl(6Mr4N62 zxZW`10>im^w#TQ(*PWf9*j!Lrs%mL@GwRrm!pD{0?@k1ji)v(-RIGTicoT|J`kD?%dq v?BQ8g8DY)}*=2iRUZy&$- zRr7M`JFz2RG%#H%X z>z7?!-i5sSDI~bFdB=_&51u~FtlhEpV#X5W!Q_q^Gka{agDR$Ig?1h7etvmla{6rB z)}4j_TwS=D7v1{2v|XpW j_z({lP%lt zD$cU{ucTCN#%nDixU*SBEiV1bi^7_3H`RCS7C)Y|4YbNa&F9Ay+v;zYp~s$`-Cz8# zX3b+>)%%e;(@OY5&S{vR+uzY4A_LMcC@46wW@%zOxP`4WDP5#SwCL@>wdmi)ERiRHWy30RY*e-Qx-`~wL_H~OEtY$s1 zHJfuwrf}2h)fZQ?uTQ(O;$rf4ruDTYZ>46jo1U4utMqli<}_X#8=IVE&%gWtuaxAP ztW #M6fx9+q5{OoMn?QOm}x3;wX|M%T{RmjSmv*DXk zJV9#}N?(U<$i5yXra$j|w|?2-tEQ^+bi>w2D7)`FxvNzB$K(F9KJ)+CXWu+G!|reW zo7>wb$L`+t>A3vt%5OLQu5A%gwYjl9UtQX4&7#`hWosfnaz}5=NqBHz`sJw)A3o$e zFjYG|Py7Du+ua+J?Gqj!GtIfZt+P{j|Dvp`TGzhJwcfrV|GwWczqu}3vqEQ@zP2uV z{}0rsIsW70;~Trn*$=nvJ$0-%yW;m-L7&-Xt@rEW{R;}B+uw%o|MwT<6fxadj0QP3 zR$r^NEdJB?>V3}dipol( _6`RR|{O`Bf0$5mZYOvX=i68e|MZcL5QKPwfE7ZqZWJi z*hpG@NIf-OpZ|b-ea^GB+uN8w{CM1Zb9=t}?(+YMynOcm|J=9v?BgyZENof)jK|;Z zr^V&v|M~Ux{TY_|{+4U__4W1V`v2yQvrMy-Or$JpfAKKr>FJfcyd+uv{n4HuN#?6U zS9fjSE*`tv?)`?pdNDf=^xOYSk@ebsV_xJashY!o@>+4&UzdJTbmD{5DnU1J-7|VlRbGHv~HqWj2@vzP2ZwdRh z+}kbl=g&X<&ARxR&SLle$M*k!_H>CdN9-&z4PNF``s;`6)%us0=F4v5Kk)8uwMFG8 zk$wC2t%=-x?x7`Uj6m>Yr;>cl+4=IGFE1^v{B-iTr0uU-(7@5VyVab0e2<<^j|U}e ziC#B_rQ4TRd`wbNRo$3zQ7EpqR6&35mDzcBcWtQo$))Dsr=X|TSM~K3(}U;FkH5OQ zf9dUb2M33B*Z!ZFm>i)amUqYF(BZ?f&5BEni~s!a2lWW~?S3%0_sJxGc~N-HW^49! zrUzG6US49CQ+0pe-#f+rph?uq+jjf@eA4!tXXCm)?yp733xj^UUmOhA*Q*zPPBSvk zyQ8A{vTbWGL;Kt5!hNsyf0@r`vimJ)g zxUo_G!x>}Q%CA=)edbuSetc~I 9nUnIPr%RdK-BI{?+m^e#zb6^Zys_;q z|MF9yjy2zHef3RI|Ib9|Omi~+y%;prcIR%%`Rls-_U&^xr6S5JWz*2z&0YWhuleTm z|0g #=5_5%Y0`y9ZX0$KX31kpFa~#mie^TJvg8U%B!1FwLuFe z1qCPH+*vGcnsvwd ZCs9TuVI z+2v~vSe;J%{LH`b!vn?TpTMai#eL%YpH)8|wu5G|et-LW^u@);pm~ecVQUj_ZF#@5 z<|o(HRiUXjH;L}~k(B@K?eFfz?)`$o!iU}EYY*MroL>3kVH>D@ v6g2me-9mleSUTyw1DvX`sFtMpce4!ZRc$+PdwHuU%V^F{q6Luhlh^( z%(rXavBToj6wSl;_EvxV_>oaYe*fZM){pz`w{6b9AMfJox-sV_*YeL0U$z&=vh0js zx3*-u$?M?zyk^rb=Oueg)-SdEn!4xfyQ >(|udeX_m{ zryDpu{66RH`+9TEvsBN|Ua@LtjWVyL#%x>ibI!EI(*KKVlNyxnLv|P_O_B!>3U+jK zJYfcn1cEB6pAHA7gOYxShg|^b*da_=Wd>wqFyg{h(59P-P6xIw&{ilikKSEo%g!gG z^CAnR-$QZ11Mee@%?BM$PEyUh@PHB2LVkF--g<8N^K-G45#XH=J12|We4uSp!xI>I zF=R!6oV>jJs?gP^b`(Cox#eX!!z`1`BPS;2g9f#ZCM6#23T 5 z{QTuwp{tIR-#@#c^!2nU+TneS%xs`Fo(#Xfy>;E57i%C9^W*b*+a5__znGYqgR&)p zCb_pnv_e)mJU@4LN72(&mw$r#5-S3gSB9 GIW5 wd8|v+=4L6$!52bLsx9ZT0^de|?j6xV%ia^4rZkliXh_Z*OnkyzKg_(B|v$_1*L9 zX8E`CDSmlxKY>@;Oi1E}OoLvm6=-qiuF}_z2?+w~esffGazggWCkKY_D#_flcdwz; z=5POb5)&8iD0rx(sCfRun#gQEIh!L757%!leQhQrynb`e&7!8}<~6tNzh0R<$ENa< z)sX_|=+^o;{hK=XFMb6#P|D{k$=0lm+}wBLMg&8jynW;R`SVTRURvsX mt?TaW zT$pll(j5DGyYSa~-&EDrC(oHP=V{IDZEr#81hg*B+}s?Lwk|E*A8~nm{(Z-wOT2QG zPZGbqyX*b KW6AW?eFV*2x?K6 zzuRN8YN5s9vuAnD&BKL+gf>sf|MSCthIzi&{W|NJv(582rJc1(J3lYmcYB16PRx!O z4<2m$@q2pe>1k_s&G!dcVYKwYX|}}|JLb=qPd_*3Xwt?9@86%_`~4bd$?8iZF`WpH z_xEgXY)aKu_n)`OYwD>fI+2s?|KFM0ZaTf^+4=dP8FCK3cPEZ^i_bkLE^}v^{r@|M zHzXc@o3}aRqEOoTd5#VatZC=wOqRYX3hKG+25p}5!M%3toas$$oxs`0O{e$h#q4m{ zm~_;`Z{N(NHPPGu9pu(8N&Wrp?2NNwe)H|l`rDs<-Y%aOz1_0(m5F=5+|zs2*_-q3 zww3&h#$5CD{6z)G_fO6}eN-{oM)P{uF7H`iSH8zP!851z@We$&jvi&z*Y{r+*UKJM z<@Ea6+QUmc;|*(mc)Whh0Wwjg8oKgG_<>OZ)1=FLX6M(MEw7Bcv?pk~=VqT-rIOQi zGwqhAX2*tI+Puc&e3?d4_wMS#YwP1(-`?8VFlF9_A3rK|#CB9&{h8hhE?$>_I(w4% z`i!C_UqMzs;amE^`$!vTDOke6Lrv@2zzNvZ r^crB zOlCPZR=c?P=)B1CP@MW}4tNLE&d-^LdYQJBy{+Ptv52^Ebpj7)`QV3#>n|?xR6dht zyxec@v&H>t1;4&XF8{PW^Kus>^RI{R-=F{by0hm0U!P^ZzwJ(cm9Y6Cns;x{$@>4+ zns y5a4eovRnDRxsQ1=aYBH zihy~2veuL5%sKPm;CcZ$yEZx7Ush+L*F+eCdav8>*Yz{A^A(-9y*ktKvvr@0<*8p^ zrRT0|-o4v8c9)I&`FZ+xr-kh-QUwh*w)4p@i`iLpW{zd==JfNMQcmjoUA-R&-lKW4 z*0t!y!uEFS=